627 bulles
J'ai un dongle USB <-> Ethernet
https://plugable.com/products/usb3-e1000
Quand on débranche/re.branche il n'est pas reconnu...
Comment faire pour que linux le reconnecte (sans redémarrer) ??
Après installation (Make) de https://github.com/jerome-pouiller/ioctl
Automating the reset {cf. lien_bulle} is working !!!!
( reconnu dès que re.branché )
....
Sinon on peut faire :
- On récupère le DBUS de l'adaptateur ( AX88179 )
- On le reconnecte
- On récupère le DBUS de l'adaptateur ( AX88179 )
À la main
lsusb | grep AX88179
# ==> GET ... 0XX ... 0YY
Pseudo-automatisation :
J'utilise une fonction "regex1" trouvée sur internet
https://stackoverflow.com/a/14229597
pour récupérer le...
AX88179_BUS et AX88179_DEV : 0XX ... 0YY
function regex1 { gawk 'match($0,/'$1'/, ary) {print ary['${2:-'1'}']}'; }
!/bin/bash
AX88179_BUS=$(lsusb | grep AX88179 | gawk 'match($0,/Bus (0(.*))\s/, ary) {print ary['${2:-'1'}']}' | cut -c -3)
AX88179_DEV=$(lsusb | grep AX88179 | gawk 'match($0,/Device (0(.*))\s/, ary) {print ary['${2:-'1'}']}' | cut -c -3)
# NEED Admin
pkexec $(python3 /usr/bin/ioctl /dev/bus/usb/$AX88179_BUS/$AX88179_DEV)
- On le reconnecte
Exécution Python
sudo python3 /usr/bin/ioctl.py /dev/bus/usb/$AX88179_BUS/$AX88179_DEV
Script Python
\#!/usr/bin/python3
# SOURCE :: https://scarff.id.au/blog/2021/resetting-usb-ethernet-linux/
print("\n\nFIRST DO :: \nlsusb | grep AX88179")
print("==> GET ... 0XX ... 0YY")
print("\nEXEC :: \nsudo python3 ioctl.py /dev/bus/usb/0XX/0YY\n\n")
#
# in ioctl.py
import fcntl, sys
# defined in linux/usbdevice_fs.h
USBDEVFS_RESET = 21780
with open(sys.argv[1], "wb") as fd:
fcntl.ioctl(fd, USBDEVFS_RESET, 0)
Resetting USB / Ethernet Adapters from Linux – Defective Semantics
Vous pouvez mettre en forme vos commentaires avec Markdown !
Replier
Replier tout
Déplier
Déplier tout
Êtes-vous sûr de vouloir supprimer ce lien ?
Le gestionnaire de marque-pages personnel, minimaliste, et sans base de données par la communauté Shaarli