# 14.04 CIFS mounting windows 8 share 'input output' error

I have tried hundreds of combinations of the following.

mount -t cifs //alpha/raid_1 /media/alpha/raid_1 -v -o rw,_netdev,username=data,password=data,domain=alpha,gid=users,iocharset=utf8,file_mode=0777,dir_mode=0777,sec=ntlm
mount.cifs kernel mount options: ip=10.0.0.107,unc=\\alpha\raid_1,iocharset=utf8,file_mode=0777,dir_mode=0777,sec=ntlm,gid=100,user=data,,domain=alpha,pass=********
mount error(5): Input/output error
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)


The server is windows 8.1. I have given full sharing and security permissions for testing to the user 'data' and 'everyone'. I have edited the local security policy to send lm & ntlm responses, and no minimum session security.

smbclient test;

root@lubuntu-ws:~# smbclient -U data -L alpha -D
Domain=[ALPHA] OS=[Windows 8.1 9600] Server=[Windows 8.1 6.3]

Sharename       Type      Comment
---------       ----      -------
ADMIN$Disk Remote Admin C Disk C$              Disk      Default share
D               Disk
D$Disk Default share E Disk E$              Disk      Default share
IPC$IPC Remote IPC print$          Disk      Printer Drivers
raid_1          Disk
raid_2          Disk
Users           Disk
Domain=[ALPHA] OS=[Windows 8.1 9600] Server=[Windows 8.1 6.3]

Server               Comment
---------            -------

Workgroup            Master
---------            -------


Kernel details;

Linux lubuntu-ws 3.13.0-53-generic #89-Ubuntu SMP Wed May 20 10:34:28 UTC 2015 i686 i686 i686 GNU/Linux


I am quite sure this is a bug but cannot seem to find anyone else having the same problem.

Any suggestions otherwise?

I just had the same issue with a Windows 8.1 host (Asus TF100TA), when I tried to access a public share from my Ubuntu 14.04.2 LTS host (kernel 3.13.0-53-generic - might be a bit outdated).

Solution for me: Upgrade SMB version from 1.0 (Windows 9x) to 2.0 (Vista).

root@thor:/mnt# mount -t cifs -o guest,vers=2.0 \\192.168.1.115\cam /mnt/network

Possible values for "vers" (from the manpage):

vers= SMB protocol version. Allowed values are:

       ·   1.0 - The classic CIFS/SMBv1 protocol. **This is the default.**

·   2.0 - The SMBv2.002 protocol. This was initially introduced in Windows Vista Service
Pack 1, and Windows Server 2008. Note that the initial release version of Windows Vista
spoke a slightly different dialect (2.000) that is not supported.

·   2.1 - The SMBv2.1 protocol that was introduced in Microsoft Windows 7 and Windows Server
2008R2.

·   3.0 - The SMBv3.0 protocol that was introduced in Microsoft Windows 8 and Windows Server
2012.


2.1 did NOT work for me, but 2.0 did. Just test with the different versions.

• Downgrading to 2.0 worked for me too, for a Windows 7 host. – Vladimir Panteleev Feb 7 '16 at 10:28
• How is specifying 2.0 a downgrade when the default is 1.0? – Jürgen A. Erhard Jun 21 '16 at 21:48
• Oh, @JürgenA.Erhard is right... I simply assumed the client would try the server's version first, when in fact it defaults to 1.0 - as specified in the manpage I posted. Whoops. I believe some Windows version started to default to SMB shares "incompatible with older versions of Windows" (MS wording) -> they default to 2.0 or newer. With the decline of Windows XP and 9x, it seems safe for the client to default to to 2.0 or newer. Anyway, I'll adapt the answer. Thanks for the hint :) – ArchimedesMP Jun 22 '16 at 10:49