umass to /dev/da* mapping
freebsd at edvax.de
Mon Dec 5 17:25:11 UTC 2011
On Mon, 5 Dec 2011 17:08:15 +0000, Mike Clarke wrote:
> I have a fairly simple perl script which is run by devd when I plug in a
> USB memory stick. The script sets up some permissions and a link to
> make life easy for a user to mount the memory stick.
> This normally works fine but there are problems if the memory stick is
> already inserted before booting.
> Normally my internal 4 slot memory card reader is detected as umass0
> with devices da[0-3] and when the USB memory stick is inserted it comes
> up as umass1 with device da4 and my script works on that assumption. If
> the USB stick is present on booting then it appears as da0 on umass0
> and the card reader is da[1-4] on umass1 so the script fails.
> Is there any convenient way for my script to determine which da* devices
> correspond to the umass device name?
Maybe you could use a matching against
match "bus" "0x????";
match "vendor" "0x????";
match "product" "0x????";
match "release" "0x????";
to determine which device you're currently accessing.
As the USB IDs stay the same for at least the card
reader, it should be easy to conclude. :-)
USB devices are usually "enumerated" in the order they
appear to the system.
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
More information about the freebsd-questions