[solved] [8.1.1] Samba access from Linux: protocol negotiation failed

  • Hey all,

    after the update to 8.1.1 I got Samba problems as well. I read the announcement at least three times to understand how the LibreELEC Samba configuration works and also googled a lot, but I still can't figure it out.

    I run LibreELEC 8.1.1 on a Rpi3, minimum Samba version is set to 2, maximum to 3. I can access the Samba shares from Windows 10, however I can't access them from Linux (KDE neon user edition, based on Ubuntu 16.04). When trying to browse my shares with Dolphin (version 17.08.1), I only get an error that the connection timed out, so I tried it with smbclient.

    When running smbclient (version 4.3.11-Ubuntu), I get the following output:

    Code
    smbclient -L 192.168.5.200
    WARNING: The "syslog" option is deprecated
    Enter user's password: 
    protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE

    However, when I set the maximum client protocol Version, I get a proper response:

    This works both with setting the maximum client protocol version to "smb2" and "smb3". kio-smb

    I found a thread on LinuxQuestions.org, where the solution was to explicitly set the server protocol version to SMB3. I tried to set that in /storage/.config/samba.conf, which seemed to have no effect.

    I noticed that in /etc/samba/smb.conf no protocol options are set, so where is this done? Is it possible to set the server protocol version explicitly without the min/max settings?

    Regards

    Zapp!

  • The current Samba version in Ubuntu 16.04 defaults to making NT1 (SMB1) connections even though it supports SMB2 and SMB3 - hence it works when you specify the client version from the command line. The default is scheduled to change to SMB3 in Samba 4.7 (due for release soon) and already does this in LE because we backported the change to Samba 4.6 for our codebase. You have two options:

    a) Configure the system smb.conf in Ubuntu to have "client min protocol = smb2" and "client max protocol = smb3" so that smbclient connections are forced to use something higher than NT1 .. then you don't need to specify the protocol version manually.

    b) Configure the Samba server in LE to allow SMB1 connections. This can be done in the LE settings GUI.

  • Hi chewitt,

    thank you very much for your response, I didn't know that smbclient in Ubuntu 16.04 doesn't switch to higher protocol versions automatically.

    Adding

    Code
    client min protocol = smb2
    client max protocol = smb3

    to /etc/samba/smb.conf on my Ubuntu box fixes this. Browsing samba shares now works with smbclient and kio_smb.

    Regards

    Zapp!