Gibt es eine Möglichkeit herauszufinden, welche USB-Gerätedatei (/dev/ttyUSB0) zu einer bestimmten Schnittstelle (wwan0) gehört?

Gibt es eine Möglichkeit herauszufinden, welche USB-Gerätedatei (/dev/ttyUSB0) zu einer bestimmten Schnittstelle (wwan0) gehört?

Der Titel sagt eigentlich schon alles, aber hier ist mein Szenario, falls es relevant ist:

Ich versuche, das Onlineschalten eines USB-Modems zu automatisieren, wenn es zum ersten Mal angeschlossen wird. Mit meiner Hardware und meinem Mobilfunkdienst hat die wwan0-Schnittstelle beim ersten Verbinden die Adresse 169.254.xx (nicht verbunden). Das entsprechende Modem muss über seine Gerätedatei einen Befehl „AT^NDISDUP=1,1“ empfangen, bevor es online geht. Ich habe einen if-up-Hook geschrieben, mit dem ich Zugriff auf die Schnittstellennamen neuer Verbindungen habe, aber ich weiß nicht, wie ich sie mit den entsprechenden Gerätedateien verknüpfen kann.

Ich bin auch offen für andere Ideen, wenn dies unmöglich ist oder einfach keine gute Vorgehensweise darstellt. Vielen Dank.

AKTUALISIEREN

Gemäß Kamils ​​Vorschlag habe ich mich in sysfs vertieft. Ich habe verschiedene gerätebezogene Einträge (/sys/devices/platform/.../.../ttyUSB0) und schnittstellenbezogene Einträge (/sys/class/net/wwan0) gefunden, aber ich finde immer noch keine Möglichkeit, mit einem der Einträge den anderen abzurufen. Ich verwende udevadm, um Informationen aus verschiedenen Einträgen abzurufen, aber ich verstehe die meiste Zeit nicht wirklich, was ich mir da ansehe.

Antwort1

Ich verwende Picocom v3, um dies mit dem folgenden Skript zu erreichen:

#!/usr/bin/env bash

for tty in $(ls /dev/ttyUSB*); do
    echo "Checking $tty"
    picocom -qrX -b 9600 $tty
    sleep 1
    result=$(echo "AT&F" | picocom -qrix 1000 $tty)
    if [ "$result" = "AT&F" ]; then
        echo "Found AT compatible modem at $tty"
    else
        echo "No AT compatible modem at $tty"
    fi
done

Sie können es /dev/ttyUSB*durch alles ersetzen, was zu Ihrem Modemgerät passt, aber dieses ist ziemlich allgemein und sollte funktionieren.

verwandte Informationen