[Samba] Failed to mount CIFS from Windows Vista/7 with sec=ntlmv2 on Linux

Kai-Chieh Ku kjackie at gmail.com
Thu May 6 01:25:43 MDT 2010

Hello :-),

I have some problem with the cifs client of linux.
I can't mount a volume from a Windows 7 machine with NTLMv2 authentication. e.g.

# mount -t cifs //win7-box/C\$ mount-point --verbose -o
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

#dmesg | tail
Status code returned 0xc000000d NT_STATUS_INVALID_PARAMETER
 fs/cifs/netmisc.c: Mapping smb error code 87 to POSIX err -22
 fs/cifs/misc.c: Null buffer passed to cifs_small_buf_release
 fs/cifs/sess.c: ssetup rc from sendrecv2 is -22
 fs/cifs/sess.c: ssetup freeing small buf ffff8800437a6000
 CIFS VFS: Send error in SessSetup = -22
 fs/cifs/connect.c: CIFS VFS: leaving cifs_mount (xid = 132325) rc = -22
 CIFS VFS: cifs_mount failed w/return code = -22

I'm pretty sure NTLMv2 is enabled on the Windows 7 machine and it is
the only allowed authentication method. I was able to mount a volume
from a XP machine (configured to authenticated by NTLMv2 only) with
the same parameters.

However, smbclient works just fine. (the below command works)
# smbclient //win7-box/C\$ -A smb-passwd

The kernel is linux 2.6.33, I'm using the cifs driver bundled with it.
# cat /proc/fs/cifs/DebugData
Display Internal CIFS Data Structures for Debugging
CIFS Version 1.62
Active VFS Requests: 40

I saw many people on the web suggest to configure Windows 7 to use
other authentication methods such as NTLM or LANMAN, but it actually
fixed nothing. (https doesn't work, so you should use http?)
There is no domain, it is mounted by peer to peer method.

Do I miss something? How can I use sec=ntlmv2 with Win7?

I'm sorry for my poor English...

Kai-Chieh Ku

More information about the samba mailing list