ZTE MF 823 (Megafon M100-3) 4G Modem (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи ZTE MF 823 (Megafon M100-3) 4G Modem. Дата последней синхронизации: 18 декабря 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Подготовка

Скорее всего пригодится usb_modeswitch; установите его.

Определение устройства

Проверьте вывод lsusb. Когда устройство переключено в 1405 product code, должно получиться:

$ Bus 002 Device 018: ID 19d2:1405 ZTE WCDMA Technologies MSM 

В России модем поставляется Мегафоном (модель М100-3, без веб-интерфеса, устанавливается дополнительный софт) и Билайном (имеется веб-интерфейс).

Возможные режимы модема:

1225
Режим "по умолчанию". Доступен USB Mass Storage Device с CD-ROM и кардридером. Соответствует AT+ZCDRUN=9+AT+ZCDRUN=F
1403
Рабочий режим. Доступны адаптер RNDIS и Mass Storage Device. Не рекомендуемый модуль ядра rndis_host может обрабатывать такой интерфейс. Соответствует AT+ZCDRUN=8+AT+ZCDRUN=F
1405
Рабочий режим с интерфейсом USB communications device class и кардридером. CDC ethernet mode — это то, что нам необходимо. Требуется модуль ядра cdc_ether. Этот режим будет тем режимом, в который usb_modeswitch переключит устройство.
0016
Диагностический режим (download mode). Режим, в котором доступны диагностический порт и две команды (порт аналогового модема и пользовательский интерфейс ПК устройств Huawei). Соответствует AT+ZCDRUN=E
0076
"Реальный" download mode. Включает стандарт для устройств, использующих методы QC.

Если модем не определяется как 19d2:1405 (или 1403), обратитесь к этой статье: USB 3G Modem#Mode switching

Соединение

Если модем определяется как интерфейс Ethernet (проводное соединение), то с ним должна нормально работать обычная настройка сети. Лампочка на модеме (синяя при 2G/3G режиме или зеленая при 4G) не мигает. Для подключения к сети необходимо вставить ссылку (CGI команду) в браузер.

http://192.168.0.1/goform/goform_set_cmd_process?goformId=CONNECT_NETWORK

Чтобы не вводить эту команду каждый раз после выключения модема, переключите модем в режим "автодозвона"

http://192.168.0.1/goform/goform_set_cmd_process?goformId=SET_CONNECTION_MODE&ConnectionMode=auto_dial

Если вы подключаетесь из командной оболочки, нужно указать HTTP-заголовок Referer:

curl --header "Referer: http://192.168.0.1/index.html" http://192.168.0.1/goform/goform_set_cmd_process?goformId=CONNECT_NETWORK

Без него вы в ответ получите {"result":"faulure"}

Команды

CGI команда для выбора режимов 2G/3G/4G:

http://192.168.0.1/goform/goform_set_cmd_process?goformId=SET_BEARER_PREFERENCE&BearerPreference=

Добавьте необходимый параметр после знака "=" (чувствительны к регистру)

NETWORK_auto (автоматический режим)
WCDMA_preferred (предпочитать 3G)
GSM_preferred (предпочитать 2G)
Only_GSM (только 2G)
Only_WCDMA (только 3G)
Only_LTE (только 4G)
WCDMA_AND_GSM (3G+2G)
WCDMA_AND_LTE (3G+4G)
GSM_AND_LTE (2G+4G)

После выбора режима необходимо вновь набрать команду NETWORK CONNECT для подключения к сети.

Для перевода модема в диагностический режим (ВНИМАНИЕ! Прием дальнейших CGI команд будет невозможен, соединение прервано!), используйте следующую ссылку:

http://192.168.0.1/goform/goform_process?goformId=MODE_SWITCH&switchCmd=FACTORY

Может потребоваться выполнить следующую команду (как root), чтобы получить доступ к последовательному порту AT-команд:

# echo 0x19d2 0x16 > /sys/module/usbserial/drivers/usb-serial:generic/new_id

Порт должен появиться как /dev/ttyUSBn, например /dev/ttyUSB1. С ним вы можете использовать свою любимую программу эмуляции последовательного терминала для управления устройством. Приведённые ниже команды могут быть особенно полезны (в примерах используется modem-cmd):

# modem-cmd /dev/ttyUSB1 AT+ZCDRUN=8     # установить режим 1403 (RNDIS)
# modem-cmd /dev/ttyUSB1 AT+ZCDRUN=9     # установить режим 1225 (по умолчанию)
# modem-cmd /dev/ttyUSB1 AT+ZCDRUN=F     # выйти из диагностического режима и перейти в выбранный режим (RNDIS или по умолчанию)

Telnet соединение

К модему можно подключиться по telnet

telnet 192.168.0.1
login: root
password: zte9x15

Как видите, внутри модема установлен Линукс. Вы можете установить дополнительные программы для ARM-машин (например mc, nano...) или изменить что-то в веб-интерфейсе. Исследуйте модем с осторожностью!

Возможное использование с кодом 1403

По какой-то причине это устройство может зависнуть в режиме 0016 и не переключиться в любой другой режим. Может не удасться переключить режимы с помощью usb_modeswitch или отправить AT-команды на /dev/ttyUSB0. Получалось сменить режим с 0016 на 1403 с помощью Mac OSX, после чего модем начинал работать в Linux.

В режиме 0016 OSX предоставит следующие интерфейсы:

/dev/tty.ZTEUSBATPort_
/dev/tty.ZTEUSBModem_
/dev/tty.ZTEUSBDIAGPort_

Переключиться в режим 1403 можно отправкой AT-команд:

screen /dev/tty.ZTEUSBModem_ 9600

>>ATI
Manufacturer: ZTE CORPORATION
Model: MF823
Revision: MF823_T03
IMEI: 866948013728723
+GCAP: +CGSM

>>AT+CREG?
+CREG: 0,1
OK

>>AT+COPS?
+COPS: 0,0,"Telstra Mobile",7
OK

>>AT+ZCDRUN=8+AT+ZCDRUN=F
exit download mode result(0:FAIL 1:SUCCESS):1
OK

Теперь устройство должно работать как Ethernet-интерфейс независимо от того, к какой системе вы его подключаете.

Смотрите также

whirlpool.net.au - Linux & Serial Diags

Gsmforum.ru - Обсуждение ZTE MF823, в №7 посте инструкция по разлочке