TOS3 to TOS5 Upgrade on Omnia lost NAS

I had an NTFS USB SSD (sda1) shared on /nas under TOS3 that worked fine for years on my original IGG Turris Omnia. It was no longer present after the upgrade to TOS5. Foris/Luci shows no errors (that I’ve found).

/dev/sda1 is present locally as /mnt/sda1. Edit: It was mounted read-only! Added new mount point on /mnt/nas, now have full local access. No access from Win10.

/dev/sda1 on /mnt/nas type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)

What am I missing? Where is the TOS5 NAS setup guide?

Try enabling “Force Root”. It worked in my case. I dont have legacy SMB enabled due to security reasons.

On my Turris Omnia router, I also lost my NAS shares with the upgrade to Turris OS 5.3.1, but my issue was slightly different. I am posting what I did to rectify the solution; it may help someone.

For me the Turris upgrade caused the UUIDs of my SDDs to change. As a consequence, my mount points were no longer functional. Notice how the devices are marked as Not present.

To solve the issue, I had to edit the mount points, select the correct (changed) UUID, save and reboot.

Although my problem is solved, I’d be interested in hearing from a Turris developer why the UUIDs changed with Turris 5.

Check whether “Turris Omnia” or “OpenWRT” should be the correct description. The upgrade from TOS3 to TOS5 changes this description and at least in my case I initally missed it and terefore the mount under Windows did not work.

Legacy was enabled only for testing. It’s disabled now.

Edit: The SSD was the second drive on my old Win10 desktop system that was publicly shared (mainly as a place for everyone to dump their photos). It was pulled and moved to the Omnia when I retired the desktop and moved to a laptop.

On the Startup page (why isn’t this called “Services”?), I noticed the “samba4” service wasn’t active, but “nas” was. Both are enabled now, but nothing changed.

Here’s my samba configuration:

root@turris:/mnt/nas# cat /etc/samba/smb.conf
[global]
        netbios name = turris
        interfaces = br-lan
        server string = Turris Omnia
        unix charset = UTF-8
        workgroup = WORKGROUP

        ## This global parameter allows the Samba admin to limit what interfaces on a machine will serve SMB requests.
        bind interfaces only = yes

        ## time for inactive connections to-be closed in minutes
        deadtime = 15

        ## disable core dumps
        enable core files = no

        ## set security (auto, user, domain, ads)
        security = user

        ## This parameter controls whether a remote client is allowed or required to use SMB encryption.
        ## It has different effects depending on whether the connection uses SMB1 or SMB2 and newer:
    ## If the connection uses SMB1, then this option controls the use of a Samba-specific extension to the SMB protocol introduced in Samba 3.2 that makes use of the Unix extensions.
        ## If the connection uses SMB2 or newer, then this option controls the use of the SMB-level encryption that is supported in SMB version 3.0 and above and available in Windows 8 and newer.
        ## (default/auto,desired,required,off)
        #smb encrypt = default

        ## set invalid users
        invalid users = root

        ## map unknow users to guest
        map to guest = Bad User

        ## allow client access to accounts that have null passwords.
        null passwords = yes

        ## The old plaintext passdb backend. Some Samba features will not work if this passdb backend is used. (NOTE: enabled for size reasons)
        ## (tdbsam,smbpasswd,ldapsam)
        passdb backend = smbpasswd

        ## Set location of smbpasswd ('smbd -b' will show default compiled location)
        #smb passwd file = /etc/samba/smbpasswd

        ## LAN (IPTOS_LOWDELAY TCP_NODELAY) WAN (IPTOS_THROUGHPUT) WiFi (SO_KEEPALIVE) try&error for buffer sizes (SO_RCVBUF=65536 SO_SNDBUF=65536)
        socket options = IPTOS_LOWDELAY TCP_NODELAY

        ## If this integer parameter is set to a non-zero value, Samba will read from files asynchronously when the request size is bigger than this value.
        ## Note that it happens only for non-chained and non-chaining reads and when not using write cache.
        ## The only reasonable values for this parameter are 0 (no async I/O) and 1 (always do async I/O).
        ## (1/0)
        #aio read size = 0
        #aio write size = 0

        ## If Samba has been built with asynchronous I/O support, Samba will not wait until write requests are finished before returning the result to the client for files listed in this parameter.
        ## Instead, Samba will immediately return that the write request has been finished successfully, no matter if the operation will succeed or not.
        ## This might speed up clients without aio support, but is really dangerous, because data could be lost and files could be damaged.
        #aio write behind = /*.tmp/

        ## lower CPU useage if supported and aio is disabled (aio read size = 0 ; aio write size = 0)
        ## is this still broken? issue is from 2019 (NOTE: see https://bugzilla.samba.org/show_bug.cgi?id=14095 )
        ## (no, yes)
        #use sendfile = yes

        ## samba will behave as previous versions of Samba would and will fail the lock request immediately if the lock range cannot be obtained.
        #blocking locks = No

        ## disable loading of all printcap printers by default (iprint, cups, lpstat)
        load printers = No
        printcap name = /dev/null

        ## Enabling this parameter will disable Samba's support for the SPOOLSS set of MS-RPC's.
        disable spoolss = yes

        ## This parameters controls how printer status information is interpreted on your system.
        ## (BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX, SOFTQ)
        printing = bsd

        ## Disable that nmbd is acting as a WINS server for unknow netbios names
        #dns proxy = No

        ## win/unix user mapping backend
        #idmap config * : backend = tdb

        ## Allows the server name that is advertised through MDNS to be set to the hostname rather than the Samba NETBIOS name.
        ## This allows an administrator to make Samba registered MDNS records match the case of the hostname rather than being in all capitals.
        ## (netbios, mdns)
        mdns name = mdns

        ## Clients that only support netbios won't be able to see your samba server when netbios support is disabled.
        #disable netbios = Yes

        ## Setting this value to no will cause nmbd never to become a local master browser.
        #local master = no

        ## (auto, yes) If this is set to yes, on startup, nmbd will force an election, and it will have a slight advantage in winning the election. It is recommended that this parameter is used in conjunction with domain master = yes, so that nmbd can guarantee becoming a domain master.
        #preferred master = yes

        ## (445 139) Specifies which ports the server should listen on for SMB traffic.
        ## 139 is netbios/nmbd
        #smb ports = 445 139

        ## This is a list of files and directories that are neither visible nor accessible.
        ## Each entry in the list must be separated by a '/', which allows spaces to be included in the entry. '*' and '?' can be used to specify multiple files or directories as in DOS wildcards.
        veto files = /Thumbs.db/.DS_Store/._.DS_Store/.apdisk/

        ## If a directory that is to be deleted contains nothing but veto files this deletion will fail unless you also set the delete veto files parameter to yes.
        delete veto files = yes

################ Filesystem and creation rules ################
        ## reported filesystem type (NTFS,Samba,FAT)
        #fstype = FAT

        ## Allows a user who has write access to the file (by whatever means, including an ACL permission) to modify the permissions (including ACL) on it.
        #dos filemode = Yes

        ## file/dir creating rules
        #create mask = 0666
        #directory mask = 0777
        #force group = root
        #force user = root
        #inherit owner = windows and unix
################################################################

######### Dynamic written config options #########

[nas]
        path = /mnt/nas
        create mask = 0644
        directory mask = 0755
        read only = no
        guest ok = yes

I’m not familiar with the “nas” service and could find no documentation for it. How does it differ from “samba4”? Are both needed if all I want is Windows 10 SMB client support?

Edit: IT WORKS! Thanks to all for the help!

Sigh. I went back to Windows, deleted the old mount and recreated it with the same location as before (“\\192.168.1.1\nas”), and now it works. I had done this multiple times as part of my testing, but must have forgotten after a recent change. So I’m not sure which change fixed things! My guess would be starting samba4.

I did my last bit of troubleshooting using the nmb tools under a WSL2 Ubuntu 20.10 instance. But when I fired it up the instance had no networking! Went down that rabbit hole to find that I had enabled full-drive compression on my laptop and needed to decompress C:\Users\[user]\AppData\Local\Temp.

Once I got that straightened out, this showed me the drive: nmblookup -A 192.168.1.1 -N, and then the remount worked.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.