Dê uma olhada no sistema de arquivos sysfs. Um exemplo para minha serial USB:
$ lsusb
Bus 003 Device 016: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
$ ls -l /sys/bus/usb-serial/devices
lrwxrwxrwx 1 root root 0 Jul 4 17:37 ttyUSB0 -> ../../../devices/pci0000:00/0000:00:1c.0/0000:02:00.0/usb3/3-1/3-1:1.0/ttyUSB0
$ $ grep PRODUCT= /sys/bus/usb-serial/devices/ttyUSB0/../uevent
PRODUCT=67b/2303/300
Como você pode ver, ttyUSB0
mapeia para 067b:2303
no meu computador. Outros locais que merecem ser explorados são /sys/class/tty/
. Preste atenção nos links simbólicos.