ttyUSBが動作するUSB​​モデムを検出する方法

ttyUSBが動作するUSB​​モデムを検出する方法

OpenWRTを使用しており、USB 3Gモデムを設定する必要があります。 USBモデムを接続すると、システムが4つのttyUSBを生成するというログが表示されます。なぜ4つですか?

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

その後、私はモデムが動作していることがわかりました。したがって、ネットワークインターフェイスを設定し、利用可能なttyUSBを選択する必要があります。しかし、どのttyUSBが動作しているのか、どうすればわかりますか?私が運営するすべてのポートについて

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

動作するポートを見つけるために使用されます。しかし、このアプローチは遅くて構文解析が難しいため、それはうまくいきません。モデムが動作するttyUSBを検出し、それをネットワーク構成に入れるためにbashスクリプトを作成する必要があります。どうすればいいですか?

私のルーターにはUSBポートが1つしかありません。各USB 3Gモデムは異なるttyUSBポートを使用します。

PS。各ポートにデータを送信して結果を確認できることをどのように想像できますか?結果が良い場合は、このttyUSBを使用してください。

ベストアンサー1

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

おすすめ記事