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 포트가 하나만 있습니다. 각 USB 3G 모뎀은 서로 다른 ttyUSB 포트를 사용합니다.

추신. 각 포트에 데이터를 보내고 결과를 확인할 수 있다는 것을 어떻게 상상할 수 있습니까? 결과가 좋으면 이 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

관련 정보