USB serial ports by serial number
Oleksandr Rybalko
ray at ddteam.net
Thu Oct 3 06:43:10 UTC 2019
Hi,
Looks like you are lucky guy :)
Most of USB-serial devices have "very stable" serial number :)
more than 50% have S/N "0123456789".
So, sometime you change will do it's job.
IMO, better to track hub/port.
Thanks.
чт, 3 жовт. 2019 о 05:56 O'Connor, Daniel <darius at dons.net.au> пише:
> Hi,
> I have several USB serial ports on a machine and I don't want to rely on
> attach order to get various programs to talk to the correct serial port.
>
> I wrote the following devd script and shell script to create symlinks from
> cu.${sernum}/tty.${sernum} to the real device nodes.
>
> I post it here in the hope other people find it useful.
>
> [maarsytest 2:49] ~> cat /usr/local/etc/devd/usbserialsn.conf
> attach 100 {
> device-name ".*";
> match "ttyname" ".+";
> match "ugen" ".+";
> match "sernum" ".+";
> action "/usr/local/libexec/usbserialsn attach $device-name $sernum
> $ttyname";
> };
>
> detach 100 {
> device-name ".*";
> action "/usr/local/libexec/usbserialsn detach $device-name";
> };
> [maarsytest 2:49] ~> cat /usr/local/libexec/usbserialsn
> #!/bin/sh
>
> if [ $# -lt 2 ]; then
> echo "Bad usage"
> exit 1
> fi
>
> mode=$1
> devname=$2
> sernum=$3
> ttyname=$4
>
> case "$mode" in
> attach)
> if [ $# -ne 4 ]; then
> echo "Bad usage"
> exit 1
> fi
> ln -sf cua${ttyname} /dev/cu.${sernum}
> ln -sf tty${ttyname} /dev/tty.${sernum}
> echo ${sernum} >/var/run/usbserialsn.${devname}
> ;;
>
> detach)
> if [ $# -ne 2 ]; then
> echo "Bad usage"
> exit 1
> fi
> if [ ! -e /var/run/usbserialsn.${devname} ]; then
> exit 0
> fi
> sernum=$(cat /var/run/usbserialsn.${devname})
> rm -f /dev/cu.${sernum} /dev/tty.${sernum}
> /var/run/usbserialsn.${devname}
> ;;
>
> *)
> echo "Unknown mode"
> exit 1
> ;;
> esac
>
> It would be a lot simpler if devd reported the same things on detach as it
> does on attach but I am not sure how difficult that would be to achieve
> (presumably it would require caching them).
>
> --
> Daniel O'Connor
> "The nice thing about standards is that there
> are so many of them to choose from."
> -- Andrew Tanenbaum
>
>
> _______________________________________________
> freebsd-usb at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-usb
> To unsubscribe, send any mail to "freebsd-usb-unsubscribe at freebsd.org"
>
--
WBW
-------
Rybalko Aleksandr <ray at ddteam.net>
More information about the freebsd-usb
mailing list