4g модем E3272 и Network manager

В связи с распространением 3g/4g сетей и оборудования, а так же необходимостью «допиливания» модема, для работы в linux, без использования программ поставляемых вместе с ним, не буду говорить о них и почему они не используются, вместо этого опишу собственный опыт настройки 4g модема huawei e3272 (или megafon m100-4) для арча.

Что же мы должны получить в итоге — модем, который будет работать в арче(я думаю и в любом другом дистрибутиве) под управлением Network Manager'а(мой DE - KDE).

Начнем.
ПО:
minicom, usb_modeswitch, NetworkManager(NM), ModemManager

Сначала необходимо перевести модем в режим - модема/сетевой карты, это делает usb_modeswitch. Делает он это единоразово пока модем в гнезде, если вы достанете модем и вставите обратно — режим будет стандартным (cd-rom, sd card, ndis).

Для перевода необходимо сделать следующее:

Узнать код производителя (vendor) и код продукта(product). В терминале вводим lsusb и получаем вывод подключённых usb устройств, если модем был подключен, то он будет в списке устройств. Мой вывод выглядит так:
Bus 001 Device 007: ID 12d1:14fe Huawei Technologies Co.
Число 0x12d1 — код производителя(Vendor), 0x14fe — код устройства(product).
Числа находятся в шестнадцатеричной системе счисления(HEX) и 0x перед числом обязательно.

В дальнейшем многие команды потребуют root привилегии, помните что su имеет суперсилу.
Все изменения вы делаете на свой страх и риск.

Имея эти коды мы можем пойти двумя путями:
1. захардкодить их(коды) в usb_modeswitch.conf, и при каждом запуске usb_modeswitch они будут браться из конфигурационного файла.
nano /etc/usb_modeswitch.conf
в файл добавим:
DefaultVendor = 0x12d1
DefaultProduct = 0x14fe
Сохраняем и запускаем в терминале usb_modeswitch -c /etc/usb_modeswitch.conf
После в /dev должны появиться устройства ttyUSB, у меня появились ttyUSB0 - ttyUSB2

2. в терминале ввести usb_modeswitch -V 0x12d1 -P 0x14fe. Так же в /dev должны появиться устройства ttyUSB

после перевода в режим модема можно пользоваться wvdial или pon, или любым другим методом ppp соединения.

Но цели мы не добились, каждый раз пользоваться usb_modeswitch и поднимать соединение, например, из консоли не самый удобный способ.
Итак, избавимся от постоянной смены режимов и сделаем свисток постоянным модемом/сетевой картой.

В консоли minicom -D /dev/ttyUSB0
команды я брал отсюда — http://www.hub.ru/wiki/Huawei_E3276.
команда AT^SETPORT? - выведет текущий режим работы
Команда AT^SETPORT=? - выведет возможные режимы работы.
Для перевода моего модема в режим сетевой карты я использовал следующую команду: AT^SETPORT= «FF;10,12,13,16».
Вывод AT^SETPORT=?
^SETPORT:1: 3G MODEM
^SETPORT:2: 3G PCUI
^SETPORT:3: 3G DIAG
^SETPORT:5: 3G GPS
^SETPORT:A: BLUE TOOTH
^SETPORT:16: NCM
^SETPORT:A1: CDROM
^SETPORT:A2: SD
^SETPORT:10: 4G MODEM
^SETPORT:12: 4G PCUI
^SETPORT:13: 4G DIAG
^SETPORT:14: 4G GPS
Первые пару запусков модем команды не воспринимал, каждый раз выдавая ошибку, возможно был занят, но затем все пошло согласно плану.

Если все сделано правильно теперь модем будет всегда в режиме сетевой карты.
И можно пользоваться ppp dialer'ами.

Но моей целью было запуск через NM, но он не определял мой модем.
Все дело в том что даже скачав пакет ModemManager, он не включен(сервис systemd) по умолчанию, у меня так. И вообще он — демон. :)
systemctl status ModemManager — проверяем статус сервиса.
Если выключен -
systemctl start ModemManager — запускаем сервис
systemctl enable ModemManager — автозагрузка сервиса.

После этих манипуляций в апплете NM появится пункт мобильная сеть, но к сожалению не все так гладко в нем. При попытке добавления нового соединения mobile broadband, происходит, внезапно… Ничего, поговаривают что это проблема текущего NM, а соединения созданные при помощи старых версий работают без нареканий. Тут я вижу два выхода: первый — поставить старый NM, ходят слухи что таковой можно найти в aur'е, и второй — создать конфигурацию подключения вручную.

Я выбрал 2 способ, интересно знать что да как там у network manager'a. Порыскав по интернетам нашёл где NM хранит свои конфигурации и как они выглядят изнутри.

Место хранения подключений - /etc/NetworkManager/system-connections/
Там хранятся, в моем случае, подключения, которые уже были созданы NM. Поэтому недолго размышляя я поместил в ту же папку файл с названием моего оператора и со следующим содержанием:

[connection]
id=megafon
uuid=04331ad3-a2aa-4196-875d-6a8fcea3f063
type=gsm
autoconnect = true

[gsm]
number=*99#
password-flags=4
apn=internet
network-type=4
pin-flags=4

[ipv4]
method=auto

uuid вы можете сгенерировать(uuidgen) любой, который ещё не используется в вашей системе. Остальное, думаю, понятно, и можно будет изменить с помошью gui но об этом дальше.

После создания и сохранения, необходимо выставить права иначе файл не подхватиться NM.
chmod 0600 <file> - меняем права, перезагружаем сервис NM
systemctl restart NetworkManager

Если все было проделано правильно, то после наших действий в апплете должно появится новое подключение, которое, внезапно, можно редактировать через GUI.

Автоконнект мобильного соединения баг NM, некоторые люди пишут скрыпты что бы оно таки поднималось, ну а мне оно показалось лишним.
Но все же вот один из способов решения:
создается скрипт(демон) который проверяет активно ли подключение и пытается поднять соединение все время. Если есть желание вот несколько команд которые помогут:
nmcli c up id <id> - поднимает соединение с указанным id
nmcli c down id <id> - отключит соединение <id>
Я не мастер баш скриптов и все же
двойной греп:
nmcli d| grep gsm| grep отключено — позволяет определить есть ли отключённое gsm соединение.

Ссылки на источники:
http://mehulved.com/2012/02/connecting-gsm-modem-via-cli-using-networkmanager/
http://www.linux.org.ru/forum/general/8237696
http://archlinux.org.ru/forum/topic/12882/ - вдохновлён этим постом :)

P.S. гнев и милость принимаются в комментариях.
Круто. Только вот 4g в моем городе пока нет ) Хотя весьма заманчиво, ибо активно юзаю на работе 3g-модем
Да пребудет с нами Сила...!
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
Кстати, сама связь, 4 поколения, меня радует, и скоростью и откликом, возможно это потому что частоты пока свободны.
Ps
возможно это потому что частоты пока свободны.
Или потому что БС пока не загружена.
Aivar
Ps
возможно это потому что частоты пока свободны.
Или потому что БС пока не загружена.
Малое количество абонентов, я думаю, мы оба имели ввиду. Касательно этого, к вечеру у меня проседает трафик, но не так сильно как в 3g сети, так что нагрузка есть, остается под вопросом будет ли трафик проседать сильнее со временем, а это известно только оператору :)
Если будет расти абонентский парк, а оператор не будет наращивать свои мощности - обязательно сядет. У меня так было с 3G: пока пользовались единицы - была сказка, как только хлынули массы - сеть легла на обе лопатки.
Именно из-за нокаута 3г по вечерам, перешел на 4г, и пока рад, надеюсь моя радость продлится долго, чего и всем желаю :)
Скорее бы у нас в Новочеке появилось. Да, думаю скоро появится, ввиду близости Ростова. Теперь и арче-мануал есть, будет куда глянуть если что )

P.S.: 3g тоже ничего себе работает, много лучше чем под виндой и родной тулзой мтс-конект. На работе с инетом со своего ноута ). Но хотелось бы скоростей побольше
Да пребудет с нами Сила...!
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
 
Зарегистрироваться или войдите чтобы оставить сообщение.