7018804: Can’t mount a Windows share using the mount.cifs vers= option on SLES 11

This document (7018804) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 11 Service Pack 4 (SLES 11 SP4)

SUSE Linux Enterprise Server 11 Service Pack 3 (SLES 11 SP3)

SUSE Linux Enterprise Server 11 Service Pack 2 (SLES 11 SP2)

SUSE Linux Enterprise Server 11 Service Pack 1 (SLES 11 SP1)

Situation

Unable to mount a Windows share using the mount command on SLES11 with thevers=2.0 option.

The Windows server has been configured to onlyallow SMBv2.

If the Windows server is configured to allow SMBv1 the mountcommand works regardless of the presence of the vers= option.

Resolution

Use a version of SLES with a 3.5 or later kernel or configure the Windows server to allowSMBv1.

SLES12 would be an example of a version that has a kernel version that is later than 3.5 which does have the vers= option.

Cause

On SLES 11 (all versions use kernel 3.0.*) the kernel’s cifs client code does not have supportfor the vers= option.

The vers= option was added in the 3.5 kernel.

The kernel’s mount command doesn’t actually error out on its own when this option isused but simply ignores the option and sends SMBv1 headers. When the Windows server is configured to not allow SMBv1 theWindows server will send a TCP RST to the Negotiate ProtocolRequest sent from the SLES server with an SMBv1 header. This TCP RST results in anerror like this being seen at the console:

mount error (112): Host is down

Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Disclaimer

This Support Knowledgebase provides a valuable tool for NetIQ/Novell/SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented “AS IS” WITHOUT WARRANTY OF ANY KIND.

Related:

Leave a Reply