¿Hay alguna manera de saber qué archivo de dispositivo USB (/dev/ttyUSB0) está relacionado con una interfaz en particular (wwan0)?

¿Hay alguna manera de saber qué archivo de dispositivo USB (/dev/ttyUSB0) está relacionado con una interfaz en particular (wwan0)?

El título lo dice todo, pero aquí está mi escenario en caso de que sea relevante:

Estoy intentando automatizar la conexión en línea de un módem USB cuando se conecta por primera vez. Con mi hardware y servicio celular, cuando la interfaz wwan0 se conecta por primera vez, tendrá una dirección 169.254.xx (desconectada). El módem correspondiente debe recibir un comando "AT^NDISDUP=1,1" a través de su archivo de dispositivo antes de que entre en funcionamiento. Escribí un enlace if-up donde tengo acceso a los nombres de interfaz de conexiones nuevas, pero no sé cómo vincularlos a sus archivos de dispositivo correspondientes.

También estoy abierto a escuchar otras ideas si esto es imposible o simplemente no es una buena manera de hacer las cosas. Muchas gracias.

ACTUALIZAR

Según la sugerencia de Kamil, investigué sysfs. Encontré varias entradas relacionadas con dispositivos (/sys/devices/platform/.../.../ttyUSB0) y entradas relacionadas con interfaces (/sys/class/net/wwan0) pero todavía no puedo encontrar una forma de utilizar uno para obtener el otro. Estoy usando udevadm para extraer información de diferentes entradas, pero la mayor parte del tiempo no entiendo realmente lo que estoy viendo.

Respuesta1

Estoy usando picocom v3 para lograr esto usando el siguiente script:

#!/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

Puedes reemplazarlo /dev/ttyUSB*con cualquier cosa que se ajuste a tu dispositivo módem, pero este es bastante genérico y debería funcionar.

información relacionada