Samba + NTFS + VLC (Question)

SMB v4

[global]
netbios name = |NAME|
interfaces = |INTERFACES|
server string = |DESCRIPTION|
unix charset = |CHARSET|
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/WAN options (IPTOS_LOWDELAY TCP_NODELAY) WAN (IPTOS_THROUGHPUT)
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)
## currently broken (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

################################################################

SMB v3

[global]
netbios name = |NAME|
display charset = |CHARSET|
interfaces = |INTERFACES|
server string = |DESCRIPTION|
unix charset = |CHARSET|
workgroup = |WORKGROUP|
bind interfaces only = yes
deadtime = 30
enable core files = no
invalid users = root
local master = no
map to guest = Bad User
max protocol = SMB2
min receivefile size = 16384
null passwords = yes
passdb backend = smbpasswd
security = user
smb passwd file = /etc/samba/smbpasswd
use sendfile = yes

Are you using both samba36 and samba4?
About samba36 I think you should declare who is the guest account:
guest account = nobody
And if you would use root (guest account = root) you should comment out #invalid users = root
And should add
guest ok = yes
If guest is nobody mount directory should have 777 attributes (chmod 777)

I added these two to the bottom of the template and keeps the same.

This prompt keeps appearing and does not allow me to go beyond /sda1

1 Like

It says SMB v1

Try to ad in global
min protocol = SMB2

Or better give a possibility to:
max protocol = SMB3
min protocol = SMB2

Let me know.

Ps. this problem is only with your phone?
Have you installed minidlna?

I use Samba v3 with my HDD and it works everywhere just fine. I mount the ntfs drive with some options because I need write access but no options should also be fine if you do not need write access. I can access the drive fine in my phone with VLC but I do use security with Samba shares.

Yes but I have the v3.6 installed. Will it be something from VLC?
Anyhow, there should be a way for bypassing this.

Will try later on. I cannot install minidlna because it's requesting like 8MB and I only have a few KB left. That's why I have to decide using one or the other.
On my bigger router, I installed SMBv4 because of Time Machine.

Ideally the client should use the highest version available by the server.

I don't know if your phone supports only v1, but I think a way to diagonse it would be to try a file manager (not necessarily a media player--just a file manager that supports SMB) and see if it will read the volume.

You probably should also try to set a higher minimum for your SMB server as mentioned by @stendahl and see what happens.


Is first prompt (v1) is cancelled, this one appears.

I downloaded another one and keeps prompting a user and password. I'm trying this on an iPhone XS. No problems with FAT32 whatsoever.

Please when samba server is running connect with ssh and post the results of:
cat /tmp/etc/smb.conf
According to your picture the sharing is sda1, it's true?

Can you confirm that the NTFS folder permission is set to "Everyone"?

Is samba asking for auth if permission in fs aren't provided should connect but unable to do nothing
But... yes the share in fs should have 777 permission that should be granted in mounting operation passing the option umask=0 for ntfs as vfat and the mount point foder automatically will grant 777 permission so really the question in mounting operation is if is passed umask=0... for ext3 o 4 is different but here we are about a ntfs partition.

I pass these options to ntfs mount point in /etc/config/fstab.
rw,async,noatime,hide_hid_files,big_writes,fmask=0000,dmask=0000,recover.
This makes it work quite well with reading and writing.

They are used to define permission too, umask sets them to both files and directories, while fmask only applies to files and dmask to directories


This is it when connecting the NTFS drive.

Just to be readable use text instead of picture ... and in order to debug try to to comment out all options not essential.

root@EA8500:~# cat /tmp/etc/smb.conf

[global]
        netbios name = EA8500
        interfaces = br-lan
        server string = Samba on OpenWrt
        unix charset = UTF-8
        workgroup = EA8500

        ## 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/WAN options (IPTOS_LOWDELAY TCP_NODELAY) WAN (IPTOS_THROUGHPUT)
        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)
        ## currently broken (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 #########

[USB]
        path = /mnt/
        create mask = 0666
        directory mask = 0777
        read only = yes
        guest ok = yes
        guest only = yes
        fruit:encoding = native
        fruit:metadata = stream
        fruit:veto_appledouble = no
        vfs objects = catia fruit streams_xattr

Reading this I'm of the idea that there is your problem affecting ntfs as in the reading...
Try commenting out:

fruit:encoding = native
fruit:metadata = stream
fruit:veto_appledouble = no
vfs objects = catia fruit streams_xattr