Como detectar um ttyUSB funcional para o meu modem usb

2

Estou trabalhando com o OpenWRT e preciso configurar o Modem USB 3G. Quando eu conecto o modem USB eu vejo em logs que o sistema cria quatro ttyUSB. Por que quatro?

Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.220000] usbserial_generic 1-1:1.0: The "generic" usb-serial driver is only for testing and one-off prototypes.
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.230000] usbserial_generic 1-1:1.0: Tell [email protected] to add your device to a proper driver.
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.240000] usbserial_generic 1-1:1.0: generic converter detected
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.280000] usb 1-1: generic converter now attached to ttyUSB0
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.280000] usbserial_generic 1-1:1.1: The "generic" usb-serial driver is only for testing and one-off prototypes.
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.290000] usbserial_generic 1-1:1.1: Tell [email protected] to add your device to a proper driver.
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.300000] usbserial_generic 1-1:1.1: generic converter detected
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.340000] usb 1-1: generic converter now attached to ttyUSB1
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.340000] usbserial_generic 1-1:1.2: The "generic" usb-serial driver is only for testing and one-off prototypes.
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.350000] usbserial_generic 1-1:1.2: Tell [email protected] to add your device to a proper driver.
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.360000] usbserial_generic 1-1:1.2: generic converter detected
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.440000] usb 1-1: generic converter now attached to ttyUSB2
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.450000] usbserial_generic 1-1:1.3: The "generic" usb-serial driver is only for testing and one-off prototypes.
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.450000] usbserial_generic 1-1:1.3: Tell [email protected] to add your device to a proper driver.
Tue Jul 29 07:45:23 2014 kern.info kernel: [  580.460000] usbserial_generic 1-1:1.3: generic converter detected
Tue Jul 29 07:45:24 2014 kern.info kernel: [  580.500000] usb 1-1: generic converter now attached to ttyUSB3

Depois disso, eu sei que o modem está funcionando. Portanto, eu configuro a interface de rede onde devo selecionar um ttyUSB de trabalho. Mas como posso saber qual ttyUSB é o trabalho? Para cada porta eu corro

gcom -d /dev/ttyUSB0 info
gcom -d /dev/ttyUSB1 info
etc...

Para encontrar a porta de trabalho. Mas esse método não é bom porque é lento e difícil de analisar. Eu deveria escrever um script bash para detectar o trabalho ttyUSB para o meu modem e colocar na configuração de rede. Como posso fazer isso?

Meu roteador tem apenas uma porta USB. Cada modem 3G USB usa uma porta ttyUSB diferente.

PS. Como posso imaginar que posso enviar alguns dados para cada porta e verificar o resultado. Se resultar bom, então use este ttyUSB.

    
por Ilya Manyahin 29.07.2014 / 09:58

1 resposta

1

Não achei melhor o resultado do comando parse gcom.

## Search for a working USB port (/dev/ttyUSB)

work=false
for port in /dev/ttyUSB*
do
    [[ -e $port ]] || continue
    gcom -d $port info &> /tmp/testusb
    testUSB='cat /tmp/testusb | grep "Error\|Can't"'
    if [ -z "$testUSB" ]; then 
        work=$port
        break
    fi
done
rm -rf /tmp/testusb

if [ $work != false ]; then
    echo "$work is working!"
else 
    echo 'Not found a working USB port'
fi
    
por 30.07.2014 / 10:18

Tags