Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

udev et nommage persistant de modems USB

1 réponse
Avatar
Sylvain MEDEOT
Bonjour la liste,

Et bonne ann=E9e =E0 tous.

J'ai un serveur Debian Etch avec un noyau 2.6.18-3 et le serveur de fax=20
Hylafax. J'utilise des modems USB en remplacement des faxs traditionnels =

avec =E0 la cl=E9 l'envoi des faxs re=E7us par mail sous la forme de fich=
iers PDF.

Cel=E0 fonctionne tr=E8s bien. J'ai actuellement 7 modems USB ( des=20
multitech) qui sont reconnus en /dev/ttyACM0 =E0 ACM6.

Mon soucis vient du fait que lorsque je suis =E0 amen=E9 =E0 red=E9marrer=
ce=20
serveur, le nommage des modems diff=E8re =E0 chaque fois. Et comme=20
l'acheminement des faxs est bas=E9 sur le nom du p=E9riph=E9rique par leq=
uel=20
il entre, probl=E8me...

La commande udevinfo -ap /sys/class/tty/ttyACM0 donne :

looking at device '/class/tty/ttyACM0':
KERNEL=3D=3D"ttyACM0"
SUBSYSTEM=3D=3D"tty"
DRIVER=3D=3D""
ATTR{dev}=3D=3D"166:0"

looking at parent device=20
'/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1:2.0':
KERNELS=3D=3D"1-1:2.0"
SUBSYSTEMS=3D=3D"usb"
DRIVERS=3D=3D"cdc_acm"
ATTRS{interface}=3D=3D"Multi-Tech Win95 Modem USB"
ATTRS{modalias}=3D=3D"usb:v06E0pF107d0100dc02dsc00dp00ic02isc02ip01"
ATTRS{bInterfaceProtocol}=3D=3D"01"
ATTRS{bInterfaceSubClass}=3D=3D"02"
ATTRS{bInterfaceClass}=3D=3D"02"
ATTRS{bNumEndpoints}=3D=3D"01"
ATTRS{bAlternateSetting}=3D=3D" 0"
ATTRS{bInterfaceNumber}=3D=3D"00"

looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb1/1-1':
KERNELS=3D=3D"1-1"
SUBSYSTEMS=3D=3D"usb"
DRIVERS=3D=3D"usb"
ATTRS{configuration}=3D=3D"Data Interface"
ATTRS{product}=3D=3D"MultiModemUSB"
ATTRS{manufacturer}=3D=3D"Multi-Tech Systems, Inc."
ATTRS{maxchild}=3D=3D"0"
ATTRS{version}=3D=3D" 1.00"
ATTRS{devnum}=3D=3D"4"
ATTRS{speed}=3D=3D"12"
ATTRS{bMaxPacketSize0}=3D=3D"8"
ATTRS{bNumConfigurations}=3D=3D"2"
ATTRS{bDeviceProtocol}=3D=3D"00"
ATTRS{bDeviceSubClass}=3D=3D"00"
ATTRS{bDeviceClass}=3D=3D"02"
ATTRS{bcdDevice}=3D=3D"0100"
ATTRS{idProduct}=3D=3D"f107"
ATTRS{idVendor}=3D=3D"06e0"
ATTRS{bMaxPower}=3D=3D"400mA"
ATTRS{bmAttributes}=3D=3D"a0"
ATTRS{bConfigurationValue}=3D=3D"2"
ATTRS{bNumInterfaces}=3D=3D" 2"

looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb1':
KERNELS=3D=3D"usb1"
SUBSYSTEMS=3D=3D"usb"
DRIVERS=3D=3D"usb"
ATTRS{configuration}=3D=3D""
ATTRS{serial}=3D=3D"0000:00:1d.0"
ATTRS{product}=3D=3D"UHCI Host Controller"
ATTRS{manufacturer}=3D=3D"Linux 2.6.18-3-686 uhci_hcd"
ATTRS{maxchild}=3D=3D"2"
ATTRS{version}=3D=3D" 1.10"
ATTRS{devnum}=3D=3D"1"
ATTRS{speed}=3D=3D"12"
ATTRS{bMaxPacketSize0}=3D=3D"64"
ATTRS{bNumConfigurations}=3D=3D"1"
ATTRS{bDeviceProtocol}=3D=3D"00"
ATTRS{bDeviceSubClass}=3D=3D"00"
ATTRS{bDeviceClass}=3D=3D"09"
ATTRS{bcdDevice}=3D=3D"0206"
ATTRS{idProduct}=3D=3D"0000"
ATTRS{idVendor}=3D=3D"0000"
ATTRS{bMaxPower}=3D=3D" 0mA"
ATTRS{bmAttributes}=3D=3D"e0"
ATTRS{bConfigurationValue}=3D=3D"1"
ATTRS{bNumInterfaces}=3D=3D" 1"

looking at parent device '/devices/pci0000:00/0000:00:1d.0':
KERNELS=3D=3D"0000:00:1d.0"
SUBSYSTEMS=3D=3D"pci"
DRIVERS=3D=3D"uhci_hcd"
ATTRS{broken_parity_status}=3D=3D"0"
ATTRS{enable}=3D=3D"1"
ATTRS{modalias}=3D=3D"pci:v00008086d000027C8sv00001019sd00002141bc0Cs=
c03i00"
ATTRS{local_cpus}=3D=3D"ff"
ATTRS{irq}=3D=3D"201"
ATTRS{class}=3D=3D"0x0c0300"
ATTRS{subsystem_device}=3D=3D"0x2141"
ATTRS{subsystem_vendor}=3D=3D"0x1019"
ATTRS{device}=3D=3D"0x27c8"
ATTRS{vendor}=3D=3D"0x8086"

looking at parent device '/devices/pci0000:00':
KERNELS=3D=3D"pci0000:00"
SUBSYSTEMS=3D=3D""
DRIVERS=3D=3D""

La commande udevinfo -ap /sys/class/tty/ttyACM2 donne :
looking at device '/class/tty/ttyACM2':
KERNEL=3D=3D"ttyACM2"
SUBSYSTEM=3D=3D"tty"
DRIVER=3D=3D""
ATTR{dev}=3D=3D"166:2"

looking at parent device=20
'/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:2.0':
KERNELS=3D=3D"2-1:2.0"
SUBSYSTEMS=3D=3D"usb"
DRIVERS=3D=3D"cdc_acm"
ATTRS{interface}=3D=3D"Multi-Tech Win95 Modem USB"
ATTRS{modalias}=3D=3D"usb:v06E0pF107d0100dc02dsc00dp00ic02isc02ip01"
ATTRS{bInterfaceProtocol}=3D=3D"01"
ATTRS{bInterfaceSubClass}=3D=3D"02"
ATTRS{bInterfaceClass}=3D=3D"02"
ATTRS{bNumEndpoints}=3D=3D"01"
ATTRS{bAlternateSetting}=3D=3D" 0"
ATTRS{bInterfaceNumber}=3D=3D"00"

looking at parent device '/devices/pci0000:00/0000:00:1d.1/usb2/2-1':
KERNELS=3D=3D"2-1"
SUBSYSTEMS=3D=3D"usb"
DRIVERS=3D=3D"usb"
ATTRS{configuration}=3D=3D"Data Interface"
ATTRS{product}=3D=3D"MultiModemUSB"
ATTRS{manufacturer}=3D=3D"Multi-Tech Systems, Inc."
ATTRS{maxchild}=3D=3D"0"
ATTRS{version}=3D=3D" 1.00"
ATTRS{devnum}=3D=3D"3"
ATTRS{speed}=3D=3D"12"
ATTRS{bMaxPacketSize0}=3D=3D"8"
ATTRS{bNumConfigurations}=3D=3D"2"
ATTRS{bDeviceProtocol}=3D=3D"00"
ATTRS{bDeviceSubClass}=3D=3D"00"
ATTRS{bDeviceClass}=3D=3D"02"
ATTRS{bcdDevice}=3D=3D"0100"
ATTRS{idProduct}=3D=3D"f107"
ATTRS{idVendor}=3D=3D"06e0"
ATTRS{bMaxPower}=3D=3D"400mA"
ATTRS{bmAttributes}=3D=3D"a0"
ATTRS{bConfigurationValue}=3D=3D"2"
ATTRS{bNumInterfaces}=3D=3D" 2"

looking at parent device '/devices/pci0000:00/0000:00:1d.1/usb2':
KERNELS=3D=3D"usb2"
SUBSYSTEMS=3D=3D"usb"
DRIVERS=3D=3D"usb"
ATTRS{configuration}=3D=3D""
ATTRS{serial}=3D=3D"0000:00:1d.1"
ATTRS{product}=3D=3D"UHCI Host Controller"
ATTRS{manufacturer}=3D=3D"Linux 2.6.18-3-686 uhci_hcd"
ATTRS{maxchild}=3D=3D"2"
ATTRS{version}=3D=3D" 1.10"
ATTRS{devnum}=3D=3D"1"
ATTRS{speed}=3D=3D"12"
ATTRS{bMaxPacketSize0}=3D=3D"64"
ATTRS{bNumConfigurations}=3D=3D"1"
ATTRS{bDeviceProtocol}=3D=3D"00"
ATTRS{bDeviceSubClass}=3D=3D"00"
ATTRS{bDeviceClass}=3D=3D"09"
ATTRS{bcdDevice}=3D=3D"0206"
ATTRS{idProduct}=3D=3D"0000"
ATTRS{idVendor}=3D=3D"0000"
ATTRS{bMaxPower}=3D=3D" 0mA"
ATTRS{bmAttributes}=3D=3D"e0"
ATTRS{bConfigurationValue}=3D=3D"1"
ATTRS{bNumInterfaces}=3D=3D" 1"

looking at parent device '/devices/pci0000:00/0000:00:1d.1':
KERNELS=3D=3D"0000:00:1d.1"
SUBSYSTEMS=3D=3D"pci"
DRIVERS=3D=3D"uhci_hcd"
ATTRS{broken_parity_status}=3D=3D"0"
ATTRS{enable}=3D=3D"1"
ATTRS{modalias}=3D=3D"pci:v00008086d000027C9sv00001019sd00002141bc0Cs=
c03i00"
ATTRS{local_cpus}=3D=3D"ff"
ATTRS{irq}=3D=3D"209"
ATTRS{class}=3D=3D"0x0c0300"
ATTRS{subsystem_device}=3D=3D"0x2141"
ATTRS{subsystem_vendor}=3D=3D"0x1019"
ATTRS{device}=3D=3D"0x27c9"
ATTRS{vendor}=3D=3D"0x8086"

looking at parent device '/devices/pci0000:00':
KERNELS=3D=3D"pci0000:00"
SUBSYSTEMS=3D=3D""
DRIVERS=3D=3D""

Et ainsi de suite...

Je cherche donc =E0 garder un nommage persistant en attachant le nommage =

du modem =E0 sa position sur le bus USB.

J'ai cherch=E9 sur google et j'ai trouv=E9 des pistes pour le renommage d=
es=20
cartes r=E9seau via udev par exemple mais rien pour ce qui m'int=E9resse =
ici.

Si quelqu'un a une piste, je suis tr=E8s preneur,

Merci d'avance,

Sylvain






___________________________________________________________________________
Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions !
Profitez des connaissances, des opinions et des expériences des internautes sur Yahoo! Questions/Réponses
http://fr.answers.yahoo.com

1 réponse

Avatar
franck
Sylvain MEDEOT wrote:
Bonjour la liste,

Et bonne année à tous.

J'ai un serveur Debian Etch avec un noyau 2.6.18-3 et le serveur de fax
Hylafax. J'utilise des modems USB en remplacement des faxs traditionnels
avec à la clé l'envoi des faxs reçus par mail sous la forme de fichiers
PDF.

Celà fonctionne très bien. J'ai actuellement 7 modems USB ( des
multitech) qui sont reconnus en /dev/ttyACM0 à ACM6.

Mon soucis vient du fait que lorsque je suis à amené à redémarrer ce
serveur, le nommage des modems diffère à chaque fois. Et comme
l'acheminement des faxs est basé sur le nom du périphérique par lequel
il entre, problème...

La commande udevinfo -ap /sys/class/tty/ttyACM0 donne :

looking at device '/class/tty/ttyACM0':
KERNEL=="ttyACM0"
SUBSYSTEM=="tty"
DRIVER==""
ATTR{dev}=="166:0"

looking at parent device
'/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1:2.0':
KERNELS=="1-1:2.0"
SUBSYSTEMS=="usb"
DRIVERS=="cdc_acm"
ATTRS{interface}=="Multi-Tech Win95 Modem USB"
ATTRS{modalias}=="usb:v06E0pF107d0100dc02dsc00dp00ic02isc02ip01"
ATTRS{bInterfaceProtocol}=="01"
ATTRS{bInterfaceSubClass}=="02"
ATTRS{bInterfaceClass}=="02"
ATTRS{bNumEndpoints}=="01"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceNumber}=="00"

looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb1/1-1':
KERNELS=="1-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}=="Data Interface"
ATTRS{product}=="MultiModemUSB"
ATTRS{manufacturer}=="Multi-Tech Systems, Inc."
ATTRS{maxchild}=="0"
ATTRS{version}==" 1.00"
ATTRS{devnum}=="4"
ATTRS{speed}=="12"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{bNumConfigurations}=="2"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceClass}=="02"
ATTRS{bcdDevice}=="0100"
ATTRS{idProduct}=="f107"
ATTRS{idVendor}=="06e0"
ATTRS{bMaxPower}=="400mA"
ATTRS{bmAttributes}=="a0"
ATTRS{bConfigurationValue}=="2"
ATTRS{bNumInterfaces}==" 2"

looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb1':
KERNELS=="usb1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{serial}=="0000:00:1d.0"
ATTRS{product}=="UHCI Host Controller"
ATTRS{manufacturer}=="Linux 2.6.18-3-686 uhci_hcd"
ATTRS{maxchild}=="2"
ATTRS{version}==" 1.10"
ATTRS{devnum}=="1"
ATTRS{speed}=="12"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bNumConfigurations}=="1"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceClass}=="09"
ATTRS{bcdDevice}=="0206"
ATTRS{idProduct}=="0000"
ATTRS{idVendor}=="0000"
ATTRS{bMaxPower}==" 0mA"
ATTRS{bmAttributes}=="e0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bNumInterfaces}==" 1"

looking at parent device '/devices/pci0000:00/0000:00:1d.0':
KERNELS=="0000:00:1d.0"
SUBSYSTEMS=="pci"
DRIVERS=="uhci_hcd"
ATTRS{broken_parity_status}=="0"
ATTRS{enable}=="1"
ATTRS{modalias}=="pci:v00008086d000027C8sv00001019sd00002141bc0Csc03i00"
ATTRS{local_cpus}=="ff"
ATTRS{irq}=="201"
ATTRS{class}=="0x0c0300"
ATTRS{subsystem_device}=="0x2141"
ATTRS{subsystem_vendor}=="0x1019"
ATTRS{device}=="0x27c8"
ATTRS{vendor}=="0x8086"

looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""

La commande udevinfo -ap /sys/class/tty/ttyACM2 donne :
looking at device '/class/tty/ttyACM2':
KERNEL=="ttyACM2"
SUBSYSTEM=="tty"
DRIVER==""
ATTR{dev}=="166:2"

looking at parent device
'/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:2.0':
KERNELS=="2-1:2.0"
SUBSYSTEMS=="usb"
DRIVERS=="cdc_acm"
ATTRS{interface}=="Multi-Tech Win95 Modem USB"
ATTRS{modalias}=="usb:v06E0pF107d0100dc02dsc00dp00ic02isc02ip01"
ATTRS{bInterfaceProtocol}=="01"
ATTRS{bInterfaceSubClass}=="02"
ATTRS{bInterfaceClass}=="02"
ATTRS{bNumEndpoints}=="01"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceNumber}=="00"

looking at parent device '/devices/pci0000:00/0000:00:1d.1/usb2/2-1':
KERNELS=="2-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}=="Data Interface"
ATTRS{product}=="MultiModemUSB"
ATTRS{manufacturer}=="Multi-Tech Systems, Inc."
ATTRS{maxchild}=="0"
ATTRS{version}==" 1.00"
ATTRS{devnum}=="3"
ATTRS{speed}=="12"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{bNumConfigurations}=="2"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceClass}=="02"
ATTRS{bcdDevice}=="0100"
ATTRS{idProduct}=="f107"
ATTRS{idVendor}=="06e0"
ATTRS{bMaxPower}=="400mA"
ATTRS{bmAttributes}=="a0"
ATTRS{bConfigurationValue}=="2"
ATTRS{bNumInterfaces}==" 2"

looking at parent device '/devices/pci0000:00/0000:00:1d.1/usb2':
KERNELS=="usb2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{serial}=="0000:00:1d.1"
ATTRS{product}=="UHCI Host Controller"
ATTRS{manufacturer}=="Linux 2.6.18-3-686 uhci_hcd"
ATTRS{maxchild}=="2"
ATTRS{version}==" 1.10"
ATTRS{devnum}=="1"
ATTRS{speed}=="12"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bNumConfigurations}=="1"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceClass}=="09"
ATTRS{bcdDevice}=="0206"
ATTRS{idProduct}=="0000"
ATTRS{idVendor}=="0000"
ATTRS{bMaxPower}==" 0mA"
ATTRS{bmAttributes}=="e0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bNumInterfaces}==" 1"

looking at parent device '/devices/pci0000:00/0000:00:1d.1':
KERNELS=="0000:00:1d.1"
SUBSYSTEMS=="pci"
DRIVERS=="uhci_hcd"
ATTRS{broken_parity_status}=="0"
ATTRS{enable}=="1"
ATTRS{modalias}=="pci:v00008086d000027C9sv00001019sd00002141bc0Csc03i00"
ATTRS{local_cpus}=="ff"
ATTRS{irq}=="209"
ATTRS{class}=="0x0c0300"
ATTRS{subsystem_device}=="0x2141"
ATTRS{subsystem_vendor}=="0x1019"
ATTRS{device}=="0x27c9"
ATTRS{vendor}=="0x8086"

looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""

Et ainsi de suite...

Je cherche donc à garder un nommage persistant en attachant le nommage
du modem à sa position sur le bus USB.

J'ai cherché sur google et j'ai trouvé des pistes pour le renommage des
cartes réseau via udev par exemple mais rien pour ce qui m'intéresse ici.

Si quelqu'un a une piste, je suis très preneur,

Merci d'avance,

Sylvain




Bonsoir,

Dans mon cas, il s agissait d'un rack usb pour lequel udev changeait le
nom a chaque fois que je l'eteignais puis le rallumais. Du coup, a la
premiere detection, je me trouvais avec un 'dev'sda1' puis a la seconde
detection (turn off puis turn on) j obtenais un '/dev/sdb1'. Plutot
genant au final, car j'avais place la ligne de montage dans /etc/fstab
en fonction de '/dev/sda1'.

Finalement, j ai trouve une solution qui consiste a creer une regle qui
match l'identite de mon rack et qui l'associe ensuite a un nom fixe
grace a un lien symbolique.

Pour ce faire, j ai cree un fichier hd.rules dans le repertoire
/etc/udev/ et contenant la regle suivante :

KERNEL=="sd*", SYSFS{vendor}=="Initio", SYSFS{model}=="6L200R0",
NAME="maxtor_rack"

Ensuite j ai fait un lien symbolique (010_hd.rules) sur ce meme fichier
dans le
repertoire rules.d.

Pour finir j'ai modifie mon fichier /etc/fstab pour prendre en compte le
device /dev/maxtor_rack et ca marche au poil.

Il faudrait reussir a identifier chacun des modems, il est peut etre
possible de recuperer le numero de serie !! Je ne sais pas.

En effectuant la commande:

udevinfo -ap /sys/class/tty/"device"

sur chacun de tes modems je le critere serial devrait etre different ;
du coup, tu ajoutes dans ta regle un SYSFS{serial}=
Je penses que cela devrait faire l'affaire. (A verifier :p!)

- --
Franck Joncourt
http://www.debian.org
http://smhteam.info/wiki/
GPG server : pgpkeys.mit.edu
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE


___________________________________________________________
All New Yahoo! Mail – Tired of @! come-ons? Let our SpamGuard protect you. http://uk.docs.yahoo.com/nowyoucan.html


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact