%20est%C3%A1%20relacionado%20con%20una%20interfaz%20en%20particular%20(wwan0)%3F.png)
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.