Pages : 1
#1 Le 27/03/2016, à 01:18
- zosk
problème usb et règle udev
Bonjour,
Je rencontre actuellement un soucis de connexion usb avec mon imprimante 3d via le logiciel qui permet l'impression. Lorsque je connecte l'imprimante pour la première fois, elle est bien reconnue par le logiciel sur le port USB0 (par exemple), jusque là pas de soucis. Par contre lorsque je quitte le logiciel et que j'y revient par la suite, la connexion est impossible car le port est occupé. Le logiciel ne prenant an compte pour l'USB0 visiblement car même configuré en AUTO ça ne connecte pas.
En faisant un lsusb, je me rends compte que l'imprimante est cette fois-ci sur l'USB3 qui est déjà occupé pour un autre périférique. La seule solution étant à ce moment de redémarrer le pc pour libérer un port, ce qui commence à être lourd.
Je pense qu'une règle udev afin d'assigner un ID persistant pourrait être une solution et en se sens mes compétences affichent leur limites.
lsusb
Bus 002 Device 004: ID 04f2:b1d8 Chicony Electronics Co., Ltd
Bus 002 Device 005: ID 046d:082c Logitech, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 046d:c045 Logitech, Inc. Optical Mouse
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[color=#4112ff]Bus 003 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter[/color]
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Bus 002 Device 004: ID 04f2:b1d8 Chicony Electronics Co., Ltd
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
bDeviceClass 239 Miscellaneous Device
bDeviceProtocol 1 Interface Association
iProduct 1
(Bus Powered)
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Bus 002 Device 005: ID 046d:082c Logitech, Inc.
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
bDeviceClass 239 Miscellaneous Device
bDeviceProtocol 1 Interface Association
iProduct 2
(Bus Powered)
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
bDeviceClass 9 Hub
bDeviceProtocol 0 Full speed (or root) hub
iProduct 2
Bus 004 Device 002: ID 046d:c045 Logitech, Inc. Optical Mouse
bDeviceClass 0 (Defined at Interface level)
bDeviceProtocol 0
iProduct 2
(Bus Powered)
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
bDeviceClass 9 Hub
bDeviceProtocol 0 Full speed (or root) hub
iProduct 2
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
bDeviceClass 9 Hub
bDeviceProtocol 0 Full speed (or root) hub
iProduct 2
[color=#4112ff]Bus 003 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
bDeviceClass 255 Vendor Specific Class
bDeviceProtocol 0
iProduct 2
(Bus Powered)[/color]
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
bDeviceClass 9 Hub
bDeviceProtocol 0 Full speed (or root) hub
iProduct 2
Bien sûr, s'il y a une autres solution, je suis preneur ;-)
Modération : Pour les retours de commandes, c'est la balise code qui est recommandée, et non la balises quote (citation). Merci
Dernière modification par Ayral (Le 27/03/2016, à 10:49)
Hors ligne
#2 Le 27/03/2016, à 15:50
- LeoMajor
Re : problème usb et règle udev
bonjour,
pour uniquement les périphériques usb connectés (mais pas les contrôleurs usb)
for i in $(find /sys/devices -regex "\/sys\/devices\/.*\/usb[0-9]+\/[0-9]-[0-9]"); do echo "$i"; udevadm info -q all -p "${i}"; done
par exemple, à chaud, pour retirer untel
....
/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-1
P: /devices/pci0000:00/0000:00:1d.7/usb1/1-1
N: bus/usb/001/007
E: BUSNUM=001
E: DEVNAME=/dev/bus/usb/001/007
E: DEVNUM=007
E: DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-1
E: DEVTYPE=usb_device
E: DRIVER=usb
E: ID_BUS=usb
E: ID_MODEL=ASUS_USB2.0_Webcam
E: ID_MODEL_ENC=ASUS\x20USB2.0\x20Webcam
E: ID_MODEL_ID=705a
E: ID_REVISION=0100
E: ID_SERIAL=ASUSTeK_Computer_Inc._ASUS_USB2.0_Webcam
E: ID_USB_INTERFACES=:0e0100:0e0200:010100:010200:
E: ID_VENDOR=ASUSTeK_Computer_Inc.
E: ID_VENDOR_ENC=ASUSTeK\x20Computer\x20Inc.
E: ID_VENDOR_ID=0458
E: MAJOR=189
E: MINOR=6
E: PRODUCT=458/705a/100
E: SUBSYSTEM=usb
E: TYPE=239/2/1
E: UDEV_LOG=3
E: USEC_INITIALIZED=10130113822
...
echo 'remove' | sudo tee /sys/devices/pci0000:00/0000:00:1d.7/usb1/1-1/remove
Hors ligne
#3 Le 27/03/2016, à 23:11
- zosk
Re : problème usb et règle udev
Bonjour,
Pourrais-tu développer là parce que j'ai pas vraiment saisi la manip, merci.
Ce que je recherche c'est quelque chose de permanent, dans le sens où mon périphérique usb aura toujours le même port d'attribué et en l’occurrence, USB0
Hors ligne
#4 Le 28/03/2016, à 15:54
- LeoMajor
Re : problème usb et règle udev
Si tu veux créer une règle udev, cela va ressembler à quelque chose comme ci-dessous, selon les infos de la première commande.
udevadm info -a -n /dev/bus/usb/003/004 | awk '/looking at device/,/looking at parent device/'
à tester
sudo nano /etc/udev/rules.d/95-3dprinter.rules
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="1a86" , ATTRS{idProduct}=="7523", SYMLINK+="3dprinter"
et renseigner /dev/3dprinter dans la configuration de ton logiciel
Hors ligne