Persistent USB serial?

From: Milan Obuch <freebsd-hackers_at_dino.sk>
Date: Fri, 08 Oct 2021 06:00:16 UTC
Hi,

I'd like to solicit opinions/hints for following scenario, which is
quite common currently.

There are some development and evaluation boards designed with USB port
as power source and serial console at the same time (sometimes even
more ports or JTAG as well). When board has power on switch, usually no
activity is present on USB wire without board being powered - there is
some USB-to-UART circuitry powered from board power source. So serial
port device /dev/cuaUn et al. get created only after power on of the
board.

Problem: port number can be different depending on USB port enumeration
or connection order. Another one: it is easy to miss first characters
sent from the board if you are not able to write required command like
'cu -l /dev/cuaU9 -s 115200' quickly.

Maybe it is possible to write some devd config file snippet which
ensures consistent device naming without need of maintaining correct
(everytime the same) order of cable connecting, but even that, this
does not solve second problem, starting up some terminal or terminal
like program in time.

Has anybody some experience in this area who can share it? Some hints
what to test? Do we have some pseudo serial device, which can be used
as device argument for cu command, which can just grab the real USB
serial when it appears on connecting the board under test?

Regards,
Milan