ZTE MF825A (МТС 830FT) - настройка в Arch Linux

Как-то я уже плакался тут, что в моем городе нет 4G-сети. Однако, я ошибался - сегодня стукнуло полгода как МТС запустил в Новочеркасске 4G-сервисы и стал продавать девайсы и тарифные планы для работы в них. Реализуя мечту о скоростном мобильном интернете, буквально позавчера такой модем купил себе и я.

Устройство представляет собой не просто модем, а вполне себе роутер с ОС Linux на борту. При установке в USB-порт оно определяется в системе как сетевая карта, с именем интерфейса вида /dev/enp*. И методы работы с ним необходимо использовать соответсвующие.

1. Проверка связи

Итак, распаковываем девайс, вставляем в него SIM-карту и устанавливаем в свободный USB-порт. Через пару тройку секунд даем команду

$ ip link
получая

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 3c:97:0e:c2:9e:ae brd ff:ff:ff:ff:ff:ff
3: enp0s26u1u2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 36:4b:50:b7:ef:2e brd ff:ff:ff:ff:ff:ff
Последний интерфейс - это наш модем. Запускае dhcpcd-сервис

# systemctl start dhcpcd@enp0s26u1u2
и проверяем связь с модемом

$ ping 192.168.99.1
Если пинг пошел - ок, модем подключен к системе.

Теперь необходимо подключится к сети оператора. К сожалению, в отличие от Мегафона и Билайна на девайсе от МТС по умолчанию не предусмотрен web-интерфейс (но его можно и установить), поэтому общение с устройством сводится к передаче CGI-команд из адресной строки барузера. Для подключения к сети открываем браузер и вбиваем такое

http://192.168.99.1/goform/goform_set_cmd_process?goformId=CONNECT_NETWORK
то есть даем команду для подключения. Индикатор на модеме должен заморгать синим при подключении к 3G, и зеленым - при подключении 4G.



Настройка модема может быть произведена путем посылки команд в формате

http://192.168.99.1/goform/goform_set_cmd_process?goformId=<КОМАНДА>
Список команд, взят отсюда

Выбор режимов работы

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

Управление подключением

  • CONNECT_NETWORK (подключиться к сети)
  • DISCONNECT_NETWORK (отключиться от сети)
  • SET_CONNECTION_MODE&ConnectionMode=auto_dial (переключить модем в режим "автодозвона")
  • SET_CONNECTION_MODE&ConnectionMode=manual_dial (переключить модем в режим подключения "вручную")

Переключение в диагностический режим

  • MODE_SWITCH&switchCmd=FACTORY

2. Немного автоматизации

Девайс необходим мне как 4G-модем, покрытие сети вроде неплохое, поэтому я переключил устройство в режим "только 4G" с автоматическим подключением

http://192.168.99.1/goform/goform_set_cmd_process?goformId=SET_BEARER_PREFERENCE&BearerPreference=Only_LTE
http://192.168.99.1/goform/goform_set_cmd_process?goformId=SET_CONNECTION_MODE&ConnectionMode=auto_dial

Теперь, дабы не запускать каждый раз DHCP-сервис, пишем правило udev

/etc/rules.d/70-modem-attach.rules

# Даем устройству фиксированное имя
SUBSYSTEM=="net" ACTION="add" ATTR{address}="xx:xx:xx:xx:xx:xx" NAME="modem0"
# Запуск и остановка сервиса DHCP
SUBSYSTEM=="net" ACTION="move" KERNEL=="modem0" RUN+="/bin/systemctl start dhcpcd@modem0"
SUBSYSTEM=="net" ACTION="remove" KERNEL=="modem0" RUN+="/bin/systemctl stop dhcpcd@modem0"
где xx:xx:xx:xx:xx:xx - MAC-адрес устройства, смотрится в выхлопе ip link

И сразу после установки модема и индикации подключения к сети можно использовать подключение. Другой вариант правила


SUBSYSTEM=="net" ACTION=="add" ATTR{address}=="xx:xx:xx:xx:xx:xx" RUN+="/bin/systemctl start dhcpcd@%k"
SUBSYSTEM=="net" ACTION=="remove" ATTR{address}=="xx:xx:xx:xx:xx:xx" RUN+="/bin/systemctl stop dhcpcd@%k"

работает, но с существенной задержкой. Так что я выбрал вариант первый.

P.S.:

После запуска dhcpcd Доступно для использования telnet-подключение на порту 23

$ telnet 192.168.99.1

login: root
password: zte9x15

что дает возможность тонкой обработки устройства надфилем. Но подробной информации о системе я пока не нашел, есть только некоторые достаточно туманные представления о расположении конфигов (они не в /etc)
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb
http://rusrailsim.org
Залил на сабж web-интерфейс


Делается просто. Качаем архив отсюда. Берем microSD-карточку, распаковываем в нее содержимое архива - каталог web. Вставляем эсдишку в модем.

Втыкаем модем в usb-порт. Даем команду

ip link
смотрим имя сетевого интерфейса, после чего запускаем dhcpcd

# systemctl start dhcpcd@<имя интерфейса>

Логинимся по telnet

$ telnet 192.168.99.1

login: root
password: zte9x15

В консоли модема выполняем

# blkid
/dev/mmcblk0: UUID="0000-306A"
чтобы посмотреть имя устройства, присвоенное карте памяти

Монтируем карту

# mount /dev/mmcblk0 /mnt

Копируем содержимое папки web

# cd /mnt/web
# cp -R * /usr/zte_web/web/
Отмонтируем карту и покидаем шелл модема

# umount /mnt
# exit

Всё!
В браузере набираем 192.168.99.1 и получаем вышеприведенный скрин ). Юзаем модем )

Более полная и красивая версия статьи доступна тут
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb
http://rusrailsim.org
круто, добавил в избранное, и сразу как-то захотелось приобрести, а как узнать в Воронеже есть 4G?
Арчи ~]$ ...as always want ready-made solutions that would make even tastier
palpalych
а как узнать в Воронеже есть 4G?
Можно посмотреть на сайте оператора зону покрытия

Карта


говорит что есть, хотя по цвету больше похоже на 3G (легенда вверху) так что хрен его знает )

Нужен более надёжный источник, канеш. Ко мне приезжал по делу знакомый, он своим айфоном поймал во дворе 4G. Я купил модем, а в квартире - не ловит. На работе, где он мне нужен, всё ок, ну я и успокоился. А вчера вышел на балкон с ноутом - порядок, 80% уровень сигнала. Видимо стены как-то влияют, от моего стола до зоны уверенного приема 3-4 метра
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb
http://rusrailsim.org
maisvendoo
Видимо стены как-то влияют
Дык конечно влияют. По крайней мере, если сигнал со спутника идет, то точно. Попробуйте поймать GPS в квартире))
GitHub, ArchWiki, AUR
GPS тоже только на балконе ловит.
Вообще данный девайс хорошо подходит для установки системы - раз он поддерживается ядром и видится как сетевой интерфейс, то делать нечего завести его с установочного CD
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb
http://rusrailsim.org

Премного вам благодарен за ваш блог !
Было бы не плохо так же , если это вам не трудно , написать здесь инструцию и по этому вопросу -

maisvendoo
Вообще данный девайс хорошо подходит для установки системы - раз он поддерживается ядром и видится как сетевой интерфейс, то делать нечего завести его с установочного CD
teplovoz
Было бы не плохо так же , если это вам не трудно , написать здесь инструцию и по этому вопросу

Да собственно, а что тут писать то. Вот только что попробовал на виртуальной машине.

1. Создал виртуальную машину без сетевого адаптера.
2. Загрузился с установочного CD от 01.06.2014
3. Воткнул модем.
4. Даем команду


# ip link

Получаем


5. Пока что сети нет


Запускаем dhcpcd

# systemctl start dhcpcd@enp0s6u2

И сеть есть


Вуаля, можно ставить.

P.S.: Модем должен быть предварительно настроен как описано в предыдущих статьях, то есть подключатся автоматом при подаче питания.

P.P.S: Устройство оправдало мои ожидания и нравится мне гораздо больше старенького huawei e1550.
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb
http://rusrailsim.org
maisvendoo
P.P.S: Устройство оправдало мои ожидания и нравится мне гораздо больше старенького huawei e1550

Вообще то модемы из серии ZTE не сильно хвалят , но этот действительно хорош ! И еще раз благодарю .
maisvendoo
Карта
говорит что есть, хотя по цвету больше похоже на 3G (легенда вверху) так что хрен его знает )
как не пытался найти Воронеж так я его и не нашел, можешь ссылку дать...
Арчи ~]$ ...as always want ready-made solutions that would make even tastier
 
Зарегистрироваться или войдите чтобы оставить сообщение.