Небольшая заметка по настройке телефона ZTE Evolution под Linux как модема.
Настройку ZTE Evolution в качестве модема под линукс можно разделить на несколько этапов – устройство должно определится ядром и ему должен быть присвоен файл устройства, необходимо сконфигурировать подключение в ppp, vwdial или другой утилите. Для начала необходимо подключить соединить ПК и телефон USB-кабелем который идет в комплекте. Затем нужно получить информачию об устройстве, для этого нужно выполнить в консоли команду lsusb.
sasha:/home/sasha# lsusb
Bus 005 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 001 Device 004: ID 045e:0040 Microsoft Corp. Wheel Mouse Optical
Bus 001 Device 005: ID 04e8:326c Samsung Electronics Co., Ltd
Bus 001 Device 001: ID 0000:0000
Bus 003 Device 009: ID 05c6:3900 Qualcomm, Inc.
Bus 003 Device 001: ID 0000:0000
sasha:/home/sasha#
Необходимые данные о модеме находятся в строке
Bus 003 Device 009: ID 05c6:3900 Qualcomm, Inc. – в ней указаны VendorID=05c6 ProductID=3900
Теперь в файле /etc/modprobe.conf нужно добавить строку(для этого может понадобится войти в режим суперпользователя):
options usbserial vendor=0?05c6 product=0?3900
после этого нужно перезапустить модуль ядра usbserial
sasha:/home/sasha# rmmod usbserial
sasha:/home/sasha# modprobe usbserial
Теперь в папке /dev появились файлы ttyUSB0 и ttyUSB1. Для того чтоб это происходило автоматически нужно добавить загрузку модуля usbserial в ядро. Список модулей загружаемых при запуске ядра находится в файле /etc/modules
Необходимо создать три файла: два конфига pppd и дозвонный скрипт для chat.
Файл первый: конфиг с дозвоном. /etc/ppp/peers/people:
connect «/usr/sbin/chat -v -f /etc/chatscripts/cdma»
usepeerdns
defaultroute
/dev/ttyUSB0
921600
noauth
user «80922000000@@people.net.ua»
password «XXX»
Файл второй: конфиг без дозвона. /etc/ppp/peers/people-noinit:
usepeerdns
defaultroute
/dev/ttyUSB0
921600
noauth
user «80922000000@@people.net.ua»
password «XXX»
Файл третий: скрипт дозвона. /etc/chatscripts/cdma:
» ‘ATZ’
SAY «ATZ sentn»
‘OK’ ‘ATE0V1&F&D&D2&C1&C2S0=0?
SAY «Init 1 sentn»
‘OK’ ‘ATE0V1?
SAY «Init 2 sentn»
‘OK’ ‘ATS7=60?
SAY «Init 3 sentn»
‘OK’ ‘ATD#777?
SAY «Dialingn»
‘CONNECT’ »
SAY «n connected»
Естественно, в обоих файлах необходимо 80922000000 заменить на ваш номер (если у вас не people.net – узнайте у оператора, что использовать в качестве логина и пароля), и XXX на ваш пароль.
Подключение
Теперь можно подключаться с помощью команды
% pppd call people
Если соединение оборвалось (pppd упал, интерфейс ppp0 исчез), а значек подключения к инету остался – подкчлючаться нужно другой командой:
% pppd call people-noinit
Команды нужно давать либо от имени root (через su, sudo или как вам нравится), либо установив SUID бит на бинарник pppd командой
% chmod +s $(which pppd)
После установления подключения в файле /etc/resolv.conf должен быть указан использующийся DNS сервер. У People.net – это 77.109.1.8:
% cat /etc/resolv.conf
nameserver 77.109.1.8
Проверка счета из консоли
Пишем в стартовый скрипт оболочки(~/.bashrc):
alias people_money=’wget http://my.people.net.ua/TSU/WWW/ACCOUNT_INFO
–post-data «X_Username=380922000000&X_Password=xxx» -O – -q |
grep «span class=.(gray|red).» | sed «s#^.*»>##;s%г.*$%%» ‘
естественно, не забываем подставить свой номер и пароль
Теперь проверить остаток на счету можно командой people_money
Отсоединение.
killall pppd
Что бы не выполнять эту команду sudo modprobe usbserial vendor=0x05c6 product=0x3900 при каждом запуске системы вручную, допишите в файл /etc/modules строку: usbserial vendor=0?05c6 product=0?3900