usbd: Executing umount: Device not configured

Alexander Anderson a.anderson at utoronto.ca
Wed Jan 19 18:41:23 PST 2005


Greetings all,

I have a Sony DSC-P32 digital camera with a USB interface. I can't get
usbd to unmount the camera when it's disconnected, powered off, or
detached.

I have to remember to execute umount(8) manually before the camera is
physically disconnected, or else it stays mounted to a stale device forever
(which makes it impossible to use the camera again until a reboot), and an
attempt to forcibly unmount the stale device causes the kernel to panic.

The relevant entry in /etc/usbd.conf:

device "Sony DSC"
        vendor  0x054c
        product 0x0010
        attach "sleep 1 ; /sbin/mount_msdosfs /dev/da0s1 /mnt/camera"
        detach "/sbin/umount /dev/da0s1"

It mounts without problems. But when I disconnect the camera, here's what
I see (the output was obtained from usbd -dvv):

umass0: at uhub1 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
umass0: detached
usbd: processing event queue on /dev/usb
usbd: device-detach event at 1106184871.250725000, DSC cameras, Sony:
  vndr=0x054c prdct=0x0010 rlse=0x0450 clss=0x0000 subclss=0x0000 prtcl=0x0000
usbd: Found action 'Sony DSC' for DSC cameras, Sony
usbd: action 0: Sony DSC
  vndr=0x054c prdct=0x0010
  attach='sleep 1 ; /sbin/mount_msdosfs /dev/da0s1 /mnt/camera'
  detach='/sbin/umount /dev/da0s1'
usbd: Executing '/sbin/umount /dev/da0s1'
umount: unmount of /mnt/camera failed: Device not configured
usbd: '/sbin/umount /dev/da0s1' returned 1

Not so long ago upgraded from 4.9-RELEASE to 5.3-RELEASE, and this
configuration used to work before, but not now.

I'm wondering if usbd can execute the detach command before the special
device has disappeared, not after the fact, as it seems to be.

And I'm also wondering, why does "/sbin/umount -f /dev/da0s1" when
/dev/da0s1 does not exist cause a kernel panic? Though, I wouldn't care
about it if all worked without this hitch.


More information about the freebsd-questions mailing list