Optionstreiber stimmt mit der USB-ID überein und lädt den Treiber für dieses Gerät. Beispielsweise
# lsusb
Bus 001 Device 002: ID 19d2:0031 ONDA Communication S.p.A. ZTE MF636
Bus 001 Device 003: ID 12d1:14ac Huawei Technologies Co., Ltd.
Außerdem werden ttyUSBX-Geräte zur Verwaltung der Hardware erstellt
crw-rw---- 1 root uucp 188, 0 Jul 4 13:48 /dev/ttyUSB0
crw-rw---- 1 root uucp 188, 1 Jul 4 13:49 /dev/ttyUSB1
crw-rw---- 1 root uucp 188, 2 Jul 4 13:35 /dev/ttyUSB2
crw-rw---- 1 root uucp 188, 3 Jul 4 13:37 /dev/ttyUSB3
crw-rw---- 1 root uucp 188, 4 Jul 4 13:37 /dev/ttyUSB4
crw-rw---- 1 root uucp 188, 5 Jul 4 13:37 /dev/ttyUSB5
crw-rw---- 1 root uucp 188, 6 Jul 4 13:37 /dev/ttyUSB6
crw-rw---- 1 root uucp 188, 7 Jul 4 13:37 /dev/ttyUSB7
Ich habe jedoch mehr als ein serielles USB-Gerät und möchte wissen, welches TtyUSB für welche USBID geeignet ist. Ex. / dev / ttyUSB1 -> 19d2: 0031
Kennen Sie einen Punkt, an dem ich diese Informationen erhalten kann?
Antworten:
Schauen Sie sich das sysfs-Dateisystem an. Ein Beispiel für meine USB-Serie:
Wie Sie sehen können,
ttyUSB0
Karten067b:2303
auf meinem Computer. Weitere Orte, die eine Erkundung wert sind, sind/sys/class/tty/
. Achten Sie auf Symlinks.quelle
cat
dieuevent
Datei aus dem Ergebnis vonfind /sys -name ttyACM0
zum Beispiel. Ersetzen Sie den Knotennamen Ihres seriellen Geräts.Sie können versuchen, festzustellen, ob Ihre Geräte unter / dev / serial / by-id / registriert sind.
Diese Namen sollten konsistent sein und auf das richtige ttyUSBx verweisen (Symlink)
quelle
ls -l /dev/serial/by-id
Gibt nur einen Adapter zurück../../ttyUSB1
,ls -l /sys/bus/usb-serial/devices
zeigt mir aber beide. Ich denke also nicht, dass dies eine gute Antwort ist.Ich hatte ein ähnliches Problem .
Schreiben Sie dies an /etc/udev/rules.d/50-usb.rules
bis zum Ende. Starten Sie neu.
Jetzt können Sie
/dev/ONDA
mit zu Ihrem ONDA-Gerät gelangen.Wenn Sie möchten, dass Benutzer ohne Rootberechtigung diese verwenden können, fügen Sie hinzu
bis zum Ende jeder Zeile.
quelle
udevadm info --name=/dev/ttyACM0
Ich würde udev verwenden und einige Regeln schreiben, die Symlinks für die Geräte erstellen.
Um genügend Informationen zur Unterscheidung der Geräte zu erhalten, versuchen Sie Folgendes für alle Geräte:
quelle
Die folgenden Befehle zeigen eine Liste der mit 19d2: 0016 verknüpften ttyUSB-Gerätenamen an (dies ist die "Modemmodus" -ID eines ZTE MF831-LTE-Sticks. Ihre ID kann davon abweichen.):
Dies durchläuft eine Liste von Dateien mit dem Dateinamen ttyUSB *, einschließlich Symlinks, in / sys / bus / usb / devices. In den Ergebnissen suchen wir nach einer Datei mit dem Namen modalias und suchen nach einer Zeichenfolge, die die Hersteller-ID "v" "19d2" und die Produkt-ID "p" 0016 enthält. Wenn die Ausgabe übereinstimmt, geben wir eine Zeichenfolge mit dem Präfix "/ dev / "vor dem USB? Name. Afaik die erste oder in der Regel die letzte (höchste Nummer) ist der Modem-Port für ZTE-Geräte. Sie können die Ergebnisse in einer Datei in / tmp / ausgeben und die Zeilen entsprechend mit head -n1 oder tail -n1 versehen. Wenn Sie über Hubs verfügen, müssen Sie möglicherweise die maximale Tiefe erhöhen.
Dies ist nicht die eleganteste Art, aber sie funktioniert auf fast jeder Linux-Variante.
quelle