I had the SMB connection issue to my USB storage that was attached, and shared from, a Billion Bipac 8800AXL R2 modem/router. This share was available as a Network share on my iMac when it was running Mojave. After I upgraded to Catalina, and enabled Netbios support, it was not accessible.
I then purchased a Raspberry Pi 4 and attached my USB storage to it and enabled SMB sharing on the Pi. Now, both guest and user access via my iMac works. This implies to me that the issue is with Catalina not supporting the same SMB server configurations, versions, etc. as Mojave does.
FWIW - my SMB configuration on the Pi is as follows :
root@raspberrypi:~# smbstatus -d 4 -v
using configfile = /etc/samba/smb.conf
lp_load_ex: refreshing parameters
Initialising global parameters
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[global]"
doing parameter workgroup = WORKGROUP
doing parameter log file = /var/log/samba/log.%m
doing parameter max log size = 1000
doing parameter logging = file
doing parameter panic action = /usr/share/samba/panic-action %d
doing parameter server role = standalone server
doing parameter obey pam restrictions = yes
doing parameter unix password sync = yes
doing parameter passwd program = /usr/bin/passwd %u
doing parameter passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
doing parameter pam password change = yes
doing parameter map to guest = bad user
doing parameter usershare allow guests = yes
pm_process() returned Yes
Registered MSG_REQ_POOL_USAGE
Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
lp_load_ex: refreshing parameters
Initialising global parameters
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[global]"
doing parameter workgroup = WORKGROUP
doing parameter log file = /var/log/samba/log.%m
doing parameter max log size = 1000
doing parameter logging = file
doing parameter panic action = /usr/share/samba/panic-action %d
doing parameter server role = standalone server
doing parameter obey pam restrictions = yes
doing parameter unix password sync = yes
doing parameter passwd program = /usr/bin/passwd %u
doing parameter passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
doing parameter pam password change = yes
doing parameter map to guest = bad user
doing parameter usershare allow guests = yes
pm_process() returned Yes
Samba version 4.9.5-Debian
PID Username Group Machine Protocol Version Encryption Signing
----------------------------------------------------------------------------------------------------------------------------------------
990 nobody nogroup 192.168.1.100 (ipv4:192.168.1.100:55921) SMB3_02 - -
Service pid Machine Connected at Encryption Signing
---------------------------------------------------------------------------------------------
PiDisk 990 192.168.1.100 Thu Oct 17 10:20:17 AM 2019 BST - -
Locked files:
Pid Uid DenyMode Access R/W Oplock SharePath Name Time
--------------------------------------------------------------------------------------------------
990 65534 DENY_NONE 0x100081 RDONLY NONE /media/pi External HDD/amr Thu Oct 17 10:25:58 2019
990 65534 DENY_NONE 0x100081 RDONLY NONE /media/pi External HDD/amr Fri Oct 18 10:12:46 2019
990 65534 DENY_NONE 0x100081 RDONLY NONE /media/pi . Thu Oct 17 10:25:30 2019
990 65534 DENY_NONE 0x100081 RDONLY NONE /media/pi External HDD Thu Oct 17 10:25:53 2019
990 65534 DENY_NONE 0x100081 RDONLY NONE /media/pi External HDD Fri Oct 18 10:12:44 2019