Необходимо при подключении USB модема Мегафон Huawei E392 устанавливать связь, для этого сделано следующее:
/etc/udev/rules.d/20-usb.rules
Код: Выделить всё
# rules for HUAWEI E392
ACTION=="add",SUBSYSTEM=="usb",ATTRS{idVendor}=="12d1",ATTRS{idProduct}=="1505",RUN+="/usr/sbin/usb_modeswitch --quiet --config-file /etc/usb_modeswitch.conf"
ACTION=="add",SUBSYSTEM=="usb",ATTRS{idVendor}=="12d1",ATTRS{idProduct}=="1506",RUN+="/usr/sbin/usb.sh start"
ACTION=="remove",SUBSYSTEM=="usb",ATTRS{idVendor}=="12d1",ATTRS{idProduct}=="1506",RUN+="/usr/sbin/usb.sh stopВ скрипте /usr/sbin/usb.sh вызывается скрипт /etc/init.d/network.sh для конфигурирования сетевого интерфейса.
/etc/init.d/network.sh
Код: Выделить всё
............
start()
{
MOD_DIR=/lib/modules/network
if [ $IFACE = "usb0" ]; then
.....................
elif [ $IFACE = "ppp0" ]; then
grep -q ppp_generic /proc/modules
if [ $? -ne 0 ]; then
insmod $MOD_DIR/usbserial.ko vendor=0x12d1 product=0x1506
insmod $MOD_DIR/slhc.ko
insmod $MOD_DIR/crc-ccitt.ko
insmod $MOD_DIR/ppp_generic.ko
insmod $MOD_DIR/ppp_deflate.ko
insmod $MOD_DIR/ppp_async.ko
fi
fi
$IP address add 127.0.0.1/8 dev lo
$IP link set dev lo up
if [ $IFACE = "usb0" ]; then
...................
elif [ $IFACE = "ppp0" ]; then
$PPPD call huawei
fi
while [ -z `$IP route | cut -d' ' -f1 | head -n1` ]; do
sleep 3
done
}..../etc/ppp/huawei
Код: Выделить всё
TIMEOUT 35
ECHO ON
ABORT '\nBUSY\r'
ABORT '\nERROR\r'
ABORT '\nNO ANSWER\r'
ABORT '\nNO CARRIER\r'
ABORT '\nNO DIALTONE\r'
ABORT '\nRINGING\r\n\r\nRINGING\r'
ABORT '\nUsername/pASSWORD Incorrect\r'
'' \rAT
OK 'AT+CGDCONT=1,"IP","internet"'
OK ATD*99#CONNECT ""/etc/ppp/peers/huawei
Код: Выделить всё
connect "/sbin/chat -Vs -r /tmp/ppp -f /etc/ppp/huawei"
460800
crtscts
modem
ttyUSB0
noauth
usepeerdns
defaultroute
user ""
password ""
logfile /tmp/pppВсе скрипты и конфигурационные файлы корректны, проверялось отключением правила udev и ручным запуском /etc/init.d/network.sh, соединение устанавливается и лог пишется.
Но стоит активировать запуск /etc/init.d/network.sh из udev, как соединение не устанавливается и лог ppp не пишется.
Изменение строки запуска pppd на $PPPD call huawei /tmp/zzz 2>&1 дало следующее /sbin/pppd: In file /etc/ppp/peers/huawei: unrecognized option 'ttyUSB0'
Вопрос - как решить эту проблему?
Спасибо.