SMB Mounts Fail

I have a 48TB EMC NAS, model px12-450r that multiple machines use throughout my home network. From linux, to MacOS, to Windows, etc.

My primary laptop has been running Manjaro for a few months ago and I’m begun to settle on the distro as my primary. I have /etc/fstab entries in order to mount automatically. I have six shares that I mount off of directories based in /mnt. Here is an example of one of my lines from fstab:

\10.x.x.x/bill /mnt/bill cifs auto,user,uid=1000,gid=1000,rw,suid,username=,password= 0 0

All six lines are identical, except for share and mountpoints.

At some point in the last week or so I’ve applied an update that has completely broken my ability to mount cifs shares. Problem is I have no idea what specific update broke things. I’ve searched the internet and have tried multiple potential fixes, but none have worked for me. Here is a list:

vers=x.x on the options line of either the mount command or fstab.
nodfs on the options line of either the mount command or fstab.
Changing min client version, min server version and protocol in /etc/samba/smb.conf

Nothing seems to work. This morning, on a whim, I booted back to 5.4.101-1-MANJARO, which is the last LTS release, but still no go. I’ve verified by mhwd-kernel -li that 5.4.101-1 is what is running.

I’m running samba Version 4.13.4,

Nothing has changed on the EMC in months and everything functions except for my Manjaro machines.

Happy to provide any additional info as required. I’m really surprised that this hasn’t caused more of a ruckus than it has and that the issue hasn’t been pinned down. If the answer is out there, I’ve found nothing in about four days of searching and trying different things.

Thank you in advance.

Move your mounts to systemd mount units then add an automount unit.

The advantage is that system only mount the device on access and as such your system mounts are a lot easier to troubleshoot.

Another thing you should remember is the insecure SMBv1 has been disabled which is probably why your system won’t mount.

I will check out systemd, but in the meantime, I need to figure out how to re-enable SMB1. I understand the risks, and while I’m using enterprise gear, this is a home environment. And at the moment, I can’t even be sure the EMC supports newer SMB standards,

Given I’ve tried backing down the kernel and using various vers= values, where else can this be disabled?

Converted the mount to systemd and when I try to start via systemctl, I’m right back where I started:

[Wed Mar 10 10:19:23 2021] CIFS: Attempting to mount xxxxxxxxxsx
[Wed Mar 10 10:19:23 2021] No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
[Wed Mar 10 10:19:23 2021] CIFS VFS: cifs_mount failed w/return code = -2

Adding vers=1.0 to the options line does nothing.

I know that you stated you changed your smb.conf - just checking that you coded it as:

client min protocol = NT1

and not SMB1.

Tried that:

[linuxlt01 lanmounts]# cat /etc/samba/smb.conf | grep min
client min protocol = NT1

[Sat Mar 13 08:59:40 2021] CIFS: Attempting to mount \10.5.1.30\bill
[Sat Mar 13 08:59:40 2021] No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
[Sat Mar 13 08:59:40 2021] CIFS VFS: cifs_mount failed w/return code = -2

Now I should note, that prior to this breaking, my laptop did not even have an smb.conf, yet mounted via fstab just fine. During the process of troubleshooting, I created one based on another machine.

And none of the command line options for dropping back to 1.0 work either.

I had assumed that your NAS was some non-upgradable consumer box (like my defunct D-Link). However, I Googled px12-450r and found that it is a full-blown Xenon server.

So, if that is the case… what OS is it running? Does it not support anything above SMB1? If not, have you considered upgrading the OS?

Have you tried forcing it to SMB3 on your laptop as it might not be due to a Manjaro upgrade, but due to a NAS upgrade?

If that doesn’t work, what’s the output of:

smbclient --list=* --no-pass --debuglevel=2

from your laptop?

:thinking:

Latest patches from EMC have been applied. I cannot find any config options for SMB versioning,

I’m sure it’s running some sort of linux under the hood.

Until this issue, the NAS had not been updated in months. So definitely not a NAS change. This literally worked one day and did not a few days later.

[ba@linuxlt01 ~]$ smbclient --list=* --no-pass --debuglevel=2
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
added interface wlo1 ip=10.5.150.53 bcast=10.5.150.255 netmask=255.255.255.0
tdb(/var/cache/samba/gencache.tdb): tdb_open_ex: could not open file /var/cache/samba/gencache.tdb: Permission denied
do_connect: Connection to * failed (Error NT_STATUS_INVALID_PARAMETER)

[ba@linuxlt01 ~]$ sudo smbclient --list=* --no-pass --debuglevel=2
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
added interface wlo1 ip=10.5.150.53 bcast=10.5.150.255 netmask=255.255.255.0
do_connect: Connection to * failed (Error NT_STATUS_INVALID_PARAMETER)

(I.E. “Force” = min protocol = max protocol = SMB3)

:question: :thinking:

The Lenovo site mentions Windows 2008. If that is the case, then the config will be buried in the registry somewhere. But I would expect the SMB protocol to be configurable through the EMC menus.

I’ve seen other threads where people are suddenly having problems with SMB1, but I don’t see anything saying that support has been removed.

It has been a long time SMB1 is disabled.

If you need to force it use NT1.

you could search the archive too archived.forum.manjaro.org

Just in case, here one of my smb mount in my fstab, note the vers=3.1.1 at the end, before the double zero.

//looping/ironwolf /mnt/looping cifs dir_mode=0750,file_mode=0640,username=*********,password=********,gid=1000,iocharset=utf8,nosuid,nodev,noexec,vers=3.1.1 0 0

In the server min protocol = SMB3

Maybe you can give a try…

a smb.conf is not necessary at client side, i would not play with it.

Found an In Through The Out Door method to update the running SMB version on the EMC:

  1. Log into your appliance

  2. go to http(s):///manage/diagnostics.html (I’m on the latest firmware as of 8/29/18, so your path could differ)

  3. Enable SSH and enter a password

  4. SSH to the device using root as the username and “soho” for your password.

  5. vi /etc/samba/smb.conf
    a. Hit “i” for insert
    b. Add “min protocol= SMB2” under a new line under the [global] section
    c. Type “wq:” to write and exit the Samba configuration

  6. At the prompt type “service samba --full-restart” which will restart the samba service.

After doing this my fstab shares mount!

1 Like