Other [Solved]cannot obtain lock on /media/.hal-mtab

When I to access a fat32 formatted USB drive I get the "Cannot mount the volume" error message with the title of this post under "Details". I looked around on these forums and found a few others with the same error message, specifically:

this one

this one

this one

And a few others but to no avail. The errors either weren't the same or the solutions didn't work for me.

I gathered some information. My /etc/rc.conf


Code:
hostname="redacted"
zfs_enable="YES"
kld_list="sysctlinfo"
wlans_iwm0="wlan0"
ifconfig_wlan0="WPA DHCP"
linux_enable="YES"
dbus_enable="YES"
dsbdriverd_enable="YES"
lightdm_enable="YES"
autofs_enable="YES"
ntpd_sync_on_start="YES"
ntpd_enable="YES"
hald_enable="YES"
moused_enable="YES"
mouse_type="auto"

Contents of tail -F /var/log/messages while plugging in USB:

Code:
Feb  3 20:49:44 furybsd kernel: da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
Feb  3 20:49:44 furybsd kernel: da0: <SanDisk' Cruzer Fit 1.00> Removable Direct Access SPC-4 SCSI device
Feb  3 20:49:44 furybsd kernel: da0: Serial Number 4C530000021116118032
Feb  3 20:49:44 furybsd kernel: da0: 40.000MB/s transfers
Feb  3 20:49:44 furybsd kernel: da0: 29340MB (60088320 512 byte sectors)
Feb  3 20:49:44 furybsd kernel: da0: quirks=0x2<NO_6_BYTE>

Output of dmesg:

Code:
da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
da0: <SanDisk' Cruzer Fit 1.00>  s/n 4C530000021116118032 detached
(da0:umass-sim0:0:0:0): Periph destroyed
umass0: detached
ugen0.5: <SanDisk Cruzer Fit> at usbus0
umass0 on uhub0
umass0: <SanDisk Cruzer Fit, class 0/0, rev 2.00/1.00, addr 5> on usbus0
umass0:  SCSI over Bulk-Only; quirks = 0xc100
umass0:1:0: Attached to scbus1
da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
da0: <SanDisk' Cruzer Fit 1.00> Removable Direct Access SPC-4 SCSI device
da0: Serial Number 4C530000021116118032
da0: 40.000MB/s transfers
da0: 29340MB (60088320 512 byte sectors)
da0: quirks=0x2<NO_6_BYTE>

And camcontrol devlist:

Code:
<SanDisk' Cruzer Fit 1.00>         at scbus1 target 0 lun 0 (da0,pass1)

And dbus-launch lshal | grep da0:


block.device = '/dev/ada0' (string)
freebsd.device_file = '/dev/ada0' (string)
block.device = '/dev/ada0p2' (string)
block.device = '/dev/ada0p3' (string)
block.device = '/dev/ada0p4' (string)
block.device = '/dev/da0' (string)
freebsd.device_file = '/dev/da0' (string)
block.device = '/dev/da0s1' (string)

Not sure what the heck I'm doing wrong. Sorry in advance if this is the wrong forum and/or bad formatting.
 
Can you show what mount command you used, and the output of gpart show /dev/da0. Maybe even glabel status | grep da0, to see the file system.
 
Code:
gpart show /dev/da0

=>      63  60088257  da0  MBR  (29G)
        63  60088257    1  fat32  (29G)
Code:
glabel status | grep da0
  gpt/efiboot0     N/A  ada0p1
msdosfs/EFISYS     N/A  ada0p1
  gpt/gptboot0     N/A  ada0p2
msdosfs/SDCARD     N/A  da0s1
 
what happen when you try to mount it ?
mount_msdosfs /dev/da0s1 /mnt
can you access it under /mnt after that or you receive some error?
 
  • Thanks
Reactions: JDD
mount_msdosfs /dev/da0s1 /mnt worked. I can read/write to the USB drive and verified on another laptop. I may be the dumbest person alive.

As an aside, desktop icon for the drive still throws the error message in the title but that's no concern.

Thank you all and forgive this poor potato.

edit: worth noting, I had tried mounting it to various locations and using other mount commands. Apparently I chose the wrong one.
 
you can use and mount command but you need to specify the type of the file system using "-t"
mount -t msdosfs
is equivalent to
mount_msdosfs
most common mistake is to try to mount the device itself rather than the partition so it's better first to identify the type of the file system and partition scheme of the device using gpart show then to mount the correct partition.
mount /dev/da0 /mnt (This won't work becase /dev/da0 is the actual direct access device 0" not the partition
mount /dev/da0s1 /mnt (this will mount partition 1 of /dev/da0)

i haven't use the GUI for years but if i remember correctly when you use GUI the mount is done by the user without root access so the user need to have correct permission to do this or insted of modify the devfs.rules you can change the entire sysctl and allow all users to mount using vfs.usermount
 
Back
Top