LINUX.ORG.RU

скрипт sh - подключение G3 модема


0

0

Преамбула: Есть модем ZTE MF100. Выход в интернет овеществляется так-> подключаю к usb модем, и дальше в консоли: $lsusb

Bus 001 Device 003: ID 19d2:2000 - (флип-флоп девайс, это ид устройства в режиме флешки)

$eject /dev/sr0

Жду пока по $lsusb не выдаст «Bus 001 Device 003: ID 19d2:0031» (тобишь переключит режим работы устройства.) Далее:

$modprobe usbserial vendor=0x19d2 product=0x0031 (это чтобы создало /dev/ttyUSB0-2)

$ls /dev | grep ttyUSB2 (проверяю есть ли модем)

$pon ternet2 (лезем в и-нет)

Вот нужно написать примерно такой скрипт:

#!/bin/sh
eject /dev/sr0
#<Здесь вставить ожидание смены product=0x2000 на 0х0031> 
modprobe usbserial vendor=0x19d2 product=0x0031
#<а здесь ожидание появления файла /dev/ttyUSB2 + вставить задержку 5 секунд>
pon ternet2
В програмировании скриптов не силен. Подскажите как реализовать нужное.

#!/bin/sh 
eject /dev/sr0 
while [ -z "$(lsusb -d 19d2:0031)" ]; do sleep 0.5; echo -n "."; done
modprobe usbserial vendor=0x19d2 product=0x0031 
while [ ! -c /dev/ttyUSB2 ]; do sleep 0.5; echo -n "."; done
sleep 5
pon ternet2 
pupok ★★ ()

#<Здесь вставить ожидание смены product=0x2000 на 0х0031>

while [ "1" == "1" ]
do
    lsusb | grep --text "0х0031" > /dev/null

    if [ "$?" == "0" ]
    then
        break
    fi

    sleep 1

done

#<а здесь ожидание появления файла /dev/ttyUSB2 + вставить задержку 5 секунд>

sleep 5

while [ "1" == "1" ]
do
    if [ -e /dev/ttyUSB2 ]
    then
        break
    fi

    sleep 1
done

anonymous ()
Ответ на: комментарий от anonymous

#<Здесь вставить ожидание смены product=0x2000 на 0х0031>

while [ "1" == "1" ] 
do 
    lsusb -d 19d2:0031 | grep --text "19d2:0031" > /dev/null  
 
    if [ "$?" == "0" ] 
    then 
        break 
    fi 
 
    sleep 0.5
    echo -n "."
 
done

echo

#<а здесь ожидание появления файла /dev/ttyUSB2 + вставить задержку 5 секунд>

while [ "1" == "1" ] 
do 
    if [ -e /dev/ttyUSB2 ] 
    then 
        break 
    fi 
 
    sleep 0.5
    echo -n "."
done 

echo
anonymous ()
Ответ на: комментарий от Deleted

Наглядный и свободный код. Удобный для чтения, восприятия и модернизации.

Чем более нагляден код тем он более стабилен, меньше ошибок.

anonymous ()

Всем спасибо. Очень интересовало как это реализовать скриптом. Сделал - стало удобнее.

Вот с удевами и хал проблема (рыл в нете, пробовал всё прописать, но /dev/ttyUSB* не появляется, или как вариант появляется сразу от 0 до 7 и не воркает). Ядро старое, модем нестандартный (usb_modeswitch не катит). Думаю апгрейд оси поправит ситуацию (в 2.6.30 исправлена ошибка в option модуле под этот модем).

Еще раз сенк.

FourEyes ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.