Merry Christmas!
Here is the smb.conf.template file that I set up and works on my GL-AR300M16-Ext, with the 3 lines changed:
[global]
netbios name = |NAME|
display charset = |CHARSET|
interfaces = |INTERFACES|
server string = |DESCRIPTION|
unix charset = |CHARSET|
workgroup = |WORKGROUP|
browseable = yes
deadtime = 30
domain master = yes
encrypt passwords = true
enable core files = no
guest account = nobody
guest ok = yes
invalid users = root
local master = yes
load printers = no
map to guest = Bad User
min protocol = SMB2
max protocol = SMB2
min receivefile size = 16384
null passwords = yes
obey pam restrictions = yes
os level = 20
passdb backend = smbpasswd
preferred master = yes
printable = no
security = user
smb encrypt = disabled
smb passwd file = /etc/samba/smbpasswd
socket options = TCP_NODELAY IPTOS_LOWDELAY
syslog = 2
use sendfile = yes
writeable = yes
I don’t think min protocol = SMB2 is critical and I set it to avoid accidentally using SMB1 on a client.
The “security = user” is critical and SMB2 did not work when it was the original “share” value.
I forgot that I switched from ES File Explorer to the Solid Explorer app some time ago. Android Solid Explorer lets you choose SMB1 or SMB2 when you first map the file share and I always choose SMB2, which the app recommends.
With the modified smb.conf.template, both Solid Explorer and Ubuntu accessed the GL-Samba file share on my GL-AR300M16-Ext.
EDIT:
If you do NOT set min protocol = SMB2, then ES File Explorer and Linux may work. However, SMB1 is not recommended.