ZTE MF620 настройка под линукс - мануал

Паук

Пивовар
Команда форуму
Реєстрація
27.10.07
Місто
Полтава
Телефон
(M) forever
Всем привет!
Думаю, комуто будет полезен мой опыт, учитывая тот факт, что русскоязычной инфы по этому модему просто нет.

[ПРОЛОГ]Итак. Приобрел себе я модем ZTE MF620, который предлагает life:) с giga-годом в нагрузку. Ну и естественно, жутко захотелось его заставить работать в линуксе.
Под виндой софт настолько кривой - что хочется выть и лезть на потолок. А так же оторвать китаёзам все выступающие части тела. Немного обьясню: при подключении модем определяется как usb-cd (видимо для экономии компакт-диска с дровами в комплекте). Приходится ставить родной софт, который переключает модем с режима накопителя в режим модема.
Но если бы переключением все ограничивалось... Дело в том, что симка регистрируется в сети только этим дебильным софтом. Тоесть - даже если винда видит модем, подключится к сети не выйдет. А если програму закрыть - это равноценно отключению модема - установленное соединение разрывается и симка вываливается с сети. Маразм и идиотизм полнейший.
[/ПРОЛОГ]

При подключении девайс определяется как сьемный накопитель. Для переключения в режим модема необходимо использовать usb_modeswitch:
закачиваем исходники
$ wget http://www.draisberghof.de/usb_modeswitch/usb_modeswitch-0.9.2.tar.bz2
распаковываем их
$ tar -xvf usb_modeswitch-0.9.2.tar.bz2
заходим в папку
$ cd usb_modeswitch-0.9.2
собираем
$ /compile.sh
и копируем собранный бинарник
$ sudo cp usb_modeswitch /usr/sbin/

Для сборки в системе должа быть либа libusb

Создаем для usb_modeswitch под рутом конфиг /etc/usb_modeswitch.conf с содержанием:
Код:
########################################################
# ZTE MF620 (Experimental)
# Message string taken from a sniffer log. Untested!
# Contributor: Flávio Moringa
#
DefaultVendor=0x19d2
DefaultProduct=0x2000
#
TargetVendor=0x19d2
TargetProduct=0x0001
#
MessageEndpoint=0x04
MessageContent="5553424308a0b7870000000000000600000000000000000000000000000000"

И создаем для udev под рутом конфиг /etc/udev/rules.d/15-zte-mf620.rules с содержанием:
Код:
# ZTE MF620 rules
# Is this the ZTE ZeroCD device?
SYSFS{idProduct}=="2000", SYSFS{idVendor}=="19d2", RUN+="/usr/bin/usb_modeswitch -d 1 -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0001"
# Is this the ZTE actual modem?
SYSFS{idProduct}=="0001", SYSFS{idVendor}=="19d2", RUN+="/sbin/modprobe usbserial vendor=0x19d2 product=0x0001", MODE="660", GROUP="dialout"
Внимание! все, что начинается с SYSFS{idProduct} - это ОДНА строка.

Для того, чтобы при переключении модема udev создавал необходимые устройства - обязательно должен быть в ядре модуль usbserial. Причем собран он должен быть именно модулем, а не в ядре. Я на эти грабли наступил и долго не мог понять, в чем же дело.
Если модуля нет - придется пересобрать ядро с опциями в конфиге:
Код:
Device Drivers --->
  USB support --->
    USB Serial Converter support --->
      <M> USB Serial Converter support
      [*]   USB Generic Serial Driver
Теперь, при подключении модема он вначале определяется как накопитель, а затем - как модем - создаются файлы устройств /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2
Зачем так много - без понятия, но имхо ttyUSB0 используется непосредственно для канала данных, ttyUSB1 - хз, ttyUSB2 - для мониторинга за состоянием модема - уровень сигнала и прочее. Что интересно - в винде при подключенном инете софт показывает уровень сигнала, наличие edge, заряд батареи, можно работать с смс (отправлять-принимать) и справочником симки. Скорее всего, это достигается использованием нескольких юсб-каналов - ведь при подключении обычного телефона в системе появляется всего лишь одно устройство (модем), и при подключенном инете оно недоступно.

Вот здесь я наступил на вторые грабли - переключение в режим модема не включает симку. Для того, чтобы симка зарегистрировалась в сети, требуется утилитка comgt:
закачиваем исходники
$ wget http://kent.dl.sourceforge.net/sourceforge/comgt/comgt.0.32.tgz
распаковываем их
$ tar -xvf comgt.0.32.tgz2
заходим в папку
$ cd comgt.0.32
собираем
$ make all
и устанавливаем
$ sudo make install

У кого софт ставится не в /usr/local/ - правим Makefile, указывая нужные пути (у меня например все ставится в /usr/)

Ну а дальше - все просто.
Подключаем модем, ждем пока он переключится в режим модема (занимает секунд 10), командой comgt -d /dev/ttyUSB0 регистрируем симку в сети.
Дальше - настраиваем любимый kppp (указываем в нем модем /dev/ttyUSB0, если требуется - логин/пароль) и подключаемся к сети.
comgt имеет кучу интересных параметров - выбор диапазона (900-1800/850-1900), режима работы (2G/3G)

Мне больше по душе стандартный консольный pppd:
$ sudo su
удаляем нафик все содердание /etc/ppp/
# cd /etc/ppp
# rm -rf /etc/ppp/*
создаем там пустой файл options:
# touch options
файлы pap-secrets и chap-secrets:
# echo "life life life" > pap-secrets
# chmod 600 pap-secrets
# ln -s pap-secrets chap-secrets
создаем папку peers/
# mkdir peers
и в ней любым текстовым редактором файл life с содержимым:
Код:
lock
/dev/ttyUSB0
modem
921600
crtscts
defaultroute
unit 0
updetach
usepeerdns
name life
remotename life
connect '/usr/sbin/chat -v \
"" "at" \
"" "at+cgdcont\=1\,\"IP\"\,\"internet\"" \
OK "atd\*99\*\*\*1#" \
'

После этого подключаемся к сети командой pppd call life
(c) Паук, 2008


ЗЫ: Вся инфа по крупинкам собрана из гугля, переработана и проверена лично.
ЗЫЫ: При указании автора и ссылки на источник на благо общества данная статья подлежит обязательной публикации в различных местах интернета.
 
Останнє редагування:

therost

Звичайний користувач
Реєстрація
26.10.07
Місто
Кременчук, Київ
Ответ: ZTE MF620 и линукс - мой опыт

Спасибо, хоть сейчас и не надо, но инфа очень полезная, респект!
 
Реєстрація
06.12.07
Місто
Zürich
Телефон
IPhone 13 Pro
Ответ: ZTE MF620 и линукс - мой опыт

Мда...А для Сиерры 875/875U дрова прямые, да и под никсами он ставится с полутыка...
 

EricX

Morpheus
Реєстрація
26.10.07
Місто
Івано-Франківськ
Ответ: ZTE MF620 и линукс - мой опыт

Паук,спасибо,руководство практически пошаговое. Только зачем скорость модема выставлять в 921600? Вроде как излишество.
 

Паук

Пивовар
Команда форуму
Реєстрація
27.10.07
Місто
Полтава
Телефон
(M) forever
Ответ: ZTE MF620 и линукс - мой опыт

EricX, дык эта... Моделька то 3G с HSPDA... А вдруг опсос включит 3Г - нада же быть готовым :))
Кроме того, работает - и ладно. В винде это максимальная скорость порта.
panatar, хорошо сделать железяку - пол дела. Кривой софт способен загубить отличное железо.
Как под линуксом сиерра работает? Через usbserial, АСМ или через другой модуль?
 

Disabled

FCDK
Команда форуму
Реєстрація
26.10.07
Місто
Киев
Телефон
SM-A525FZKI
Ответ: ZTE MF620 и линукс - мой опыт

Спасибо за инструкцию!
 

plebis

why so serious?
Команда форуму
Реєстрація
26.10.07
Місто
Київ
Телефон
OnePlus 10 pro
Ответ: ZTE MF620 и линукс - мой опыт

Паук, мущина!
надо ссылку техсаппорту 5433 показать, чтобы знали, если че, куда абонентов отправлять.
Тему перекинул в ликбез и немного переименовал для будущих поколений , если ты не против
 

De Marco

ExUNDERDOG
Реєстрація
27.10.07
Місто
Киев, Украина
Телефон
Meizu M3 Note в кредит
Ответ: ZTE MF620 настройка под линукс - мануал

Паук,
пасиба, с меня красное
 

Паук

Пивовар
Команда форуму
Реєстрація
27.10.07
Місто
Полтава
Телефон
(M) forever
Ответ: ZTE MF620 настройка под линукс - мануал

Я вот что думаю...
Можно ли собрать usb_modeswitch и comgt для венды?
Тогда можно бы было выбросить родной софт на помойку...

ЗЫ: один человек (кто сталкивался с моторами, наверняка хоть краем уха слышал о Vilko) собрал по моей просьбе comgt и usb_modeswitch для винды.
Дома потестирую - отпишусь.


Итак... Мучения usb_modeswitch пока ни к чему не привели, опыты продолжаются.
Зато! Отследив общение софта с портами, и вооружившись монуалом по АТ-командам, понял - как инициировать симку в сети))) Пока только в ручном режиме с терминалки, но уже прогресс.
Вобщем. При переключении девайса из режима модема в режим накопителя появляются 3 устройства (3 СОМ-порта): на 1й вешается драйвер модема, второй - хз что, и третий СОМ-порт - для управления.
Так вот, сим-карта регистрируется в сети по команде at+cfun=1, отключение от сети - командой at+cfun=0.
Но! Модем постоянно выдает в терминал +ZUSIMR:2 (видимо тип воткнутой сим-карты)
И перестает выдавать эту инфу только после команд at+cpbs="sm" (выбор области памяти для тел.книги) и at+cpms="sm","sm","" (где будут хранится сообщения)
Вот здесь я уже нифига не понимаю - зачем они нужны...
 
Останнє редагування:

Паук

Пивовар
Команда форуму
Реєстрація
27.10.07
Місто
Полтава
Телефон
(M) forever
Ответ: ZTE MF620 настройка под линукс - мануал

Так...
Чем симку регить в сети нашел.
Как ни странно, это putty.
Добью скрипт - останется только разобраться с переключением модема.
 

Паук

Пивовар
Команда форуму
Реєстрація
27.10.07
Місто
Полтава
Телефон
(M) forever
Да, вот только мануал еще не собрал в кучу. Часть мыслей высказывал здесь, часть - в своем блоге.
 
Зверху