Re: New device wiring option
- Reply: Poul-Henning Kamp: "Re: New device wiring option"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 17 May 2021 17:56:01 UTC
Daniel O'Connor via freebsd-arch wrote this message on Fri, Apr 16, 2021 at 21:05 +0930: > > On 15 Apr 2021, at 14:47, Poul-Henning Kamp <phk@phk.freebsd.dk> wrote: > > > > -------- > > Bjoern A. Zeeb writes: > > > >> Probably USB as well? Having 10 serial consoles on USB Hubs and unplugging > >> one ???early??? one it is easy to end up re-numbering the entire chain after a > >> reboot. Not sure if this really fits into your problem/implementation domain. > > > > My solution to that specific problem is the following entry in /etc/devd: > > > > attach 500 { > > match "device-name" "uftdi[0-9]*"; > > match "vendor" "0x0403"; > > match "product" "(0x6001|0x6015)"; > > action "ln -fs /dev/cua$ttyname /dev/cua_$sernum"; > > }; > > > > notify 500 { > > match "system" "USB"; > > match "subsystem" "DEVICE"; > > match "type" "DETACH"; > > match "vendor" "0x0403"; > > match "product" "(0x6001|0x6015)"; > > action "rm -f /dev/cua_$sernum"; > > }; > > I wrote a more general version of this, although when I did testing the serial number was not available so I had to store it for deletion later. Yeah, and I did a slight improvement here: https://reviews.freebsd.org/D21886#554613 https://www.funkthat.com/~jmg/FreeBSD/usbserialsn Which supports devices that don't have serial numbers by addressing them via a path of hub port numbers which does not change... One issue is that it isn't atomic, so there's always a slight race between devd running and removing the link, and a new device appearing at the old one's name. -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."