Why this flash drive not detected in devd?

Roland Smith rsmith at xs4all.nl
Thu Jul 9 16:59:31 UTC 2009

On Thu, Jul 09, 2009 at 11:22:16PM +0800, Sagara Wijetunga wrote:
> Hi FreeBSD community
> This is FreeBSD 7.2 on i386.
> sysctl -a | grep dev.umass
> dev.umass.1.%desc: Imation Flash Drive, class 0/0, rev 2.00/1.03, addr 3
> dev.umass.1.%driver: umass
> dev.umass.1.%location: port=6 interface=0
> dev.umass.1.%pnpinfo: vendor=0x0718 product=0x0081 devclass=0x00 
> devsubclass=0x00 release=0x0103 sernum="14925B00" intclass=0x08 
> intsubclass=0x06
> dev.umass.1.%parent: uhub4
> Following added to /etc/devd.conf:
> # Imation Flash Drive, class 0/0, rev 2.00/1.03, addr 3
> attach 200 {
>     match "vendor"  "0x0718";
>     match "product" "0x0081";
>     match "serial"  "14925B00";
>     action "touch /tmp/Imation-Flash-Drive-detected";
> };
> Could I know why the flash drive is not detected on attach?

The USB subsystem isn't currently equipped to notify devd (technically,
the devctl_notify function isn't used in the USB stack). So the only
notification you'll get is when devfs creates a device. Since there is
no predictable link between a USB device and a disk device, info from
the USB stack would be less then usefull.

You can check this by reading from /dev/devctrl (when devd is not
running, since this device can only be opened by one program at a time)
just after you plugged in the device. For my usb thumbdrive I get:

cat /dev/devctl
!system=DEVFS subsystem=CDEV type=CREATE cdev=pass2
!system=DEVFS subsystem=CDEV type=CREATE cdev=da0
!system=DEVFS subsystem=CDEV type=CREATE cdev=da0s1
!system=DEVFS subsystem=CDEV type=CREATE cdev=msdosfs/RFS1

While sysctl gives:

dev.umass.0.%desc: vendor 0x3538 USB Mass Storage Device, class 0/0, rev 2.00/1.00, addr 2
dev.umass.0.%driver: umass
dev.umass.0.%location: port=4 interface=0
dev.umass.0.%pnpinfo: vendor=0x3538 product=0x0042 devclass=0x00 devsubclass=0x00 release=0x0100 sernum="000000000004E1" intclass=0x08 intsubclass=0x06
dev.umass.0.%parent: uhub4

So for now, you'll have to match on the creation of da* devices, or
labels if you use those.

R.F.Smith                                   http://www.xs4all.nl/~rsmith/
[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914  B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20090709/f2752a85/attachment.pgp

More information about the freebsd-questions mailing list