Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- В связи с распространением 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 соединение.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement