Ho avuto la necessità di installare 4 adattatori usb-seriale su un pc ubuntu 8.04.
Il device creato da udev all’inserimento dell’adattatore doveva puntare link simbolico che fosse sempre lo stesso in corrispondenza dell’adattatore, in modo da riconosce univocamente la seriale.
Questo è quanto ho inserito in /etc/udev/rules.d/10-local.rules
#
# Regole udev per assegnare un link simbolico
# al device in base alla porta usb dove viene
# collegato il cavo usb-seriale
# La regola discriminante è il parametro KERNELS
# (Es.: KERNELS=="1-2:1.0")
#
# Per ricavare il valore KERNELS assegnato alla porta usb
# che ci interessa proseguire come segue
# 1. collegare alla porta usb il convertitore usb-seriale
# in modo che venga creato il device /dev/ttyUSB0
# 2. eseguire il comando udevinfo -p /sys/class/tty/ttyUSB0 -a
# 3. a vide verrà presentato un output simile al seguente,
# il valore che ci interessa è quello riportato alla voce KERNELS:
#
# looking at device '/class/tty/ttyUSB0':
# KERNEL=="ttyUSB0"
# SUBSYSTEM=="tty"
# DRIVER==""
# ATTR{dev}=="188:0"
#
# looking at parent device '/devices/pci0000:00/0000:00:02.0/usb1/1-3/1-3:1.0/ttyUSB0':
# KERNELS=="ttyUSB0"
# SUBSYSTEMS=="usb-serial"
# DRIVERS=="pl2303"
#
# looking at parent device '/devices/pci0000:00/0000:00:02.0/usb1/1-3/1-3:1.0':
#
# KERNELS=="1-3:1.0" <=== QUESTO E' IL VALORE CHE CI INTERESSA
#
# SUBSYSTEMS=="usb"
# DRIVERS=="pl2303"
# ATTRS{modalias}=="usb:v067Bp2303d0400dc00dsc00dp00icFFisc00ip00"
# ATTRS{bInterfaceProtocol}=="00"
# ATTRS{bInterfaceSubClass}=="00"
# ATTRS{bInterfaceClass}=="ff"
# ATTRS{bNumEndpoints}=="03"
# ATTRS{bAlternateSetting}==" 0"
# ATTRS{bInterfaceNumber}=="00"
#
#
KERNEL==”ttyUSB[0-9]*”, KERNELS==”1-1:1.0″, NAME=”%k”, SYMLINK=”seriale1″, GROUP=”dialout”, OPTIONS=”last_rule”
KERNEL==”ttyUSB[0-9]*”, KERNELS==”1-2:1.0″, NAME=”%k”, SYMLINK=”seriale2″, GROUP=”dialout”, OPTIONS=”last_rule”
KERNEL==”ttyUSB[0-9]*”, KERNELS==”1-3:1.0″, NAME=”%k”, SYMLINK=”seriale3″, GROUP=”dialout”, OPTIONS=”last_rule”
KERNEL==”ttyUSB[0-9]*”, KERNELS==”1-4:1.0″, NAME=”%k”, SYMLINK=”seriale4″, GROUP=”dialout”, OPTIONS=”last_rule”
David Bigagli