Other dsbmd and mount.exfat-fuse fails with unknown option user

andersbo87

Member

Reaction score: 4
Messages: 66

Hello, everyone!
For quite a while now, I've had a problem mounting a USB exFAT partition via sysutils/dsbmd as a normal user.
Whenever I type in dsbmc-cli -m /dev/da1p3, exectution of dsbmc-cli simply freezes, and while pressing ctrl+c gets me back to the shell, the mount process is still running.
When I take a look at the log file, located at /var/log/dsbmd.log, I see the following:

Code:
dsbmd: Client with UID 1001 connected on Fri Dec 20 20:38:03 2019
FUSE exfat 1.3.0
fuse: unknown option `user=a-bol'

If it is needed to help solve the problem, here is the content of /usr/local/etc/dsbmd.conf:
Code:
ntfs_mount_cmd = "/usr/local/bin/ntfs-3g -o \"uid=${DSBMD_UID},gid=${DSBMD_GID}\" ${DSBMD_DEVICE} \"${DSBMD_MNTPT}\""
mtpfs_mount_cmd = "/usr/local/bin/simple-mtpfs -o \"uid=${DSBMD_UID},gid=${DSBMD_GID},allow_other\" ${DSBMD_DEVICE} \"${DSBMD_MNTPT}\""
ptpfs_mount_cmd = "/usr/local/bin/gphotofs --port=${DSBMD_GPHOTO_USB_PORT} -o allow_other \"${DSBMD_MNTPT}\""
exfat_mount_cmd = "/usr/local/sbin/mount.exfat -o \"uid=${DSBMD_UID},gid=${DSBMD_GID}\" ${DSBMD_DEVICE} \"${DSBMD_MNTPT}\""
hfsp_mount_cmd = "/usr/local/bin/hfsfuse -o \"uid=${DSBMD_UID},gid=${DSBMD_GID}\" ${DSBMD_DEVICE} \"${DSBMD_MNTPT}\""
xfs_mount_cmd = "/sbin/mount_fusefs auto \"${DSBMD_MNTPT}\" lklfuse -o \"uid=${DSBMD_UID},gid=${DSBMD_GID},type=xfs\" ${DSBMD_DEVICE} \"${DSBMD_MNTPT}\""
btrfs_mount_cmd = "/sbin/mount_fusefs auto \"${DSBMD_MNTPT}\" lklfuse -o \"uid=${DSBMD_UID},gid=${DSBMD_GID},type=btrfs\" ${DSBMD_DEVICE} \"${DSBMD_MNTPT}\""

# Commands for user mode mounting.
ntfs_mount_cmd_usr = "/sbin/mount_fusefs auto \"${DSBMD_MNTPT}\" ntfs-3g ${DSBMD_DEVICE} \"${DSBMD_MNTPT}\""
mtpfs_mount_cmd_usr = "/usr/local/bin/simple-mtpfs ${DSBMD_DEVICE} \"${DSBMD_MNTPT}\""
ptpfs_mount_cmd_usr = "/usr/local/bin/gphotofs --port=${DSBMD_GPHOTO_USB_PORT} \"${DSBMD_MNTPT}\""
exfat_mount_cmd_usr = "/sbin/mount_fusefs auto \"${DSBMD_MNTPT}\" mount.exfat-fuse ${DSBMD_DEVICE} \"${DSBMD_MNTPT}\""
ext4_mount_cmd_usr = "/sbin/mount_fusefs auto \"${DSBMD_MNTPT}\" fuse-ext2 -o 'rw+' ${DSBMD_DEVICE} \"${DSBMD_MNTPT}\""
hfsp_mount_cmd_usr = "/sbin/mount_fusefs auto \"${DSBMD_MNTPT}\" hfsfuse ${DSBMD_DEVICE} \"${DSBMD_MNTPT}\""
xfs_mount_cmd_usr = "/sbin/mount_fusefs auto \"${DSBMD_MNTPT}\" lklfuse -o type=xfs ${DSBMD_DEVICE} \"${DSBMD_MNTPT}\""
btrfs_mount_cmd_usr = "/sbin/mount_fusefs auto \"${DSBMD_MNTPT}\" lklfuse -o type=btrfs ${DSBMD_DEVICE} \"${DSBMD_MNTPT}\""

# allow_users - Comma separated list of users who are allowed to connect.
# allow_users = jondoe, janedoe
allow_users = a-bol

# allow_groups - Comma separated list of groups whose members are allowed
# to connect.
allow_groups = operator, wheel

I've added myself to the following groups:
Code:
a-bol wheel operator vboxusers

Output from sysctl -a | grep usermount:
Code:
vfs.usermount=1

And finally, uname -a:
Code:
FreeBSD freebsd-hp.local 12.1-RELEASE-p1 FreeBSD 12.1-RELEASE-p1 GENERIC  amd64

I CAN of course work around the problem by mounting as root and then change permission, but the point of using dsbmd is to be able to mount external file systems via dsbmd in a nice and simple way as a regular user.

If anyone can help, it would be much appreciated.
 

bjs

Active Member

Reaction score: 48
Messages: 106

Just a shot in the dark but it might not like the dash in the user name... Maybe you could try a different user name and see what happens...
 
OP
andersbo87

andersbo87

Member

Reaction score: 4
Messages: 66

I created a second user with the name someuser, added it to wheel and operator, and it still didn't work.
I got the same output as I did before.
Scrolling through the man page for mount_fusefs, I see no mention of user mode (or uid) at all, so maybe it isn't supposed to be mounted as a normal user after all? 🤔
 
OP
andersbo87

andersbo87

Member

Reaction score: 4
Messages: 66

According to the projects documentation, to mount as user, usermount = true needs to be set in /usr/local/etc/dsbmd.conf.

Thank you.

I just checked my /usr/local/etc/dsbmd.conf, and it has
Code:
usermount = true

Now I tried to mount an NTFS partition using that same sysutils/dsbmc-cli as a normal user, as well as a regular FAT32 filesystem on another USB drive, and both of them worked perfectly.

I am starting to suspect that exFAT may not support normal user mode, and that sysutils/dsbmc-cli may not be at fault after all.

Thanks for all of your help, guys.
 

T-Daemon

Daemon

Reaction score: 829
Messages: 1,692

If package, package sysutils/dsbmd doesn't support exfat. For exfat support the port has to be build with the option enabled.

From sysutils/dsbmd
Code:
Configuration Options
....
EXFAT=off: exFAT filesystem support
....
 
Top