Установка и настройка модемов 3G USB
Общее
Есть несколько путей:
- использовать штатные средства NetworkManager
- настраивать дозвон через wvdial, kppp или что вам нравится самостоятельно
- использовать программу, поставляемую Мегафоном со своими модемами. Использование этого пути позволяет избежать ненужных телодвижений для проверки баланса счета. Решение тестировалось на Simply Linux
- использовать /etc/net
В большинстве случаев ничего настраивать не надо — достаточно установить пакет usb-modeswitch и зависимые от него, в некоторых дистрибутивах также udev-extras.
Чаще всего и их устанавливать не надо, т.к. всё необходимое уже установлено и работает из коробки. Достаточно настроить работу модема через NetworkManager.
В данной статье описаны примеры настройки на случай, если что-то не работает — или если требуется более тонкая настройка/автоматизация при помощи etcnet.
Huawei E1550
Нам потребуется установить два пакета (оба присутствуют в репозитариях Пятой платформы):
- udev-extras
- usb-modeswitch
После установки пакетов правим файл /etc/usb_modeswitch.conf. Добавляем, если ещё нет:
######################################################## # Huawei E1550 # # Contributor: Bogomips DefaultVendor= 0x12d1 DefaultProduct= 0x1446 MessageContent="55534243000000000000000000000011060000000000000000000000000000" MessageEndpoint=0x01 CheckSuccess=5
Все другие подобные строки необходимо закомментировать, используя символ «;»
Добавляем правило udev, создавая файл /etc/udev/rules.d/45-huawei-e1550.rules с таким содержимым:
ACTION=="add" SUBSYSTEM=="usb", SYSFS{idProduct}=="1446", SYSFS{idVendor}=="12d1", RUN+="/usr/sbin/usb_modeswitch"
Модем определяется lsusb как:
Bus 005 Device 002: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
Важно! В строке определения должно быть именно 1001 — это код собственно модема, а не виртуального CD с софтом под Win&Mac OS
Huawei E1750
- создаем файл 45-huawei-e1750.rules
touch /etc/udev/rules.d/45-huawei-e1750.rules
- добавляем в него:
ACTION=="add" SUBSYSTEM=="usb", SYSFS{idProduct}=="1446", SYSFS{idVendor}=="12d1", RUN+="/usr/sbin/usb_modeswitch"
- добавляем данные в файл /etc/usb_modeswitch.conf:
######################################################## DefaultVendor=0x12d1 DefaultProduct=0x1446 TargetVendor=0x12d1 TargetProduct=0x1001 DetachStorageOnly=30 HuaweiMode=3 MessageContent="55534243000000000000000000000011060000000000000000000000000000"
ZTE MF-180
Применительно к модему ZTE mf-180 от Билайн: прежде всего надо отучить устройство представляться как CD-ROM — например, с помощью minicom (от имени root):
- minicom -s
- выбираем из списка: Настройка последовательного порта, далее жмём A и прописываем /dev/ttyUSB0 (может быть на USB1, USB2)
- модем должен инициализироваться, затем командой at+zcdrun=8 выключаем сидиром
- если нужно вернуть всё как было, то at+zcdrun=9 включает сидиром
Ну а после можно воспользоваться kppp для подключения собственно модема.
Настройки соединения:
- имя: beeline
- номер: _*99#_
- ip: динамический
- шлюз: по умолчанию
- DNS-серверы: автоматически
Настройки модема:
- имя модема: zte
- устройство модема: скорее всего будет /dev/ttyUSB2
- управление потоком: аппаратное
- окончание строки: CR/LF
- команды модема: в строке инициализации 1 пишем AT+CGDCONT=1,"ip","internet.beeline.ru"
Примечание: возможно, так же будет работать ZTE mf-170.
Также для разных модемов от ZTE могут использоваться AT-команды (не проверено):
- AT^U2DIAG=0 (девайс в режиме только модем)
- AT^U2DIAG=1 (девайс в режиме модем + CD-ROM)
- AT^U2DIAG=255 (девайс в режиме модем + CD-ROM + Card Reader)
- AT^U2DIAG=256 (девайс в режиме модем + Card Reader, можно использывать как обычную флешку, отказавшись от установки драйверов модема)
Настройки для etcnet
в каталоге /etc/net/ifaces/ppp1/: (цифра может меняться в зависимостри от номера интерфейса):
options
TYPE=ppp ONBOOT=yes PPPTYPE=dialup RESTORE_DEFAULTROUTE=yes
pppconnect
TIMEOUT 5 #ECHO ON ABORT '\nBUSY\r' ABORT '\nERROR\r' ABORT '\nNO ANSWER\r' ABORT '\nNO CARRIER\r' ABORT '\nNO DIALTONE\r' ABORT '\nRINGING\r\n\r\nRINGING\r' '' \rAT TIMEOUT 12 SAY "Press CTRL-C to close the connection at any stage!" SAY "\nSetting up...\n" OK ATE1 SAY "\ndefining PDP context...\n" OK 'AT+CGDCONT=1,"IP","internet.mts.ru"' OK ATD*99# TIMEOUT 22 SAY "\nwaiting for connect...\n" CONNECT "" SAY "\nConnected." SAY "\nIf the following ppp negotiations fail,\n" SAY "try restarting the phone.\n"
pppoptions
lcp-echo-failure 0 lcp-echo-interval 0 /dev/ttyUSB0 debug noipdefault ipcp-accept-local defaultroute usepeerdns novj nobsdcomp novjccomp nopcomp noaccomp nodeflate noauth user "mts" password "mts" receive-all nolog
Примечания
- Рецепт годен и для Huawei E150. Эти модели различаются только тем, что у модели E150 нет слота для Micro SD, а у E1550 есть. В остальном модемы аналогичны.
- Так же работает модем huawei e173 (ID 12d1:1436 Huawei Technologies Co., Ltd.). В network manager заработал из коробки сразу после втыкания модема без шаманств (usb_modeswitch установлен)
- Рецепт годен и для аналогичных модемов от MTC и Билайна.
- С большой вероятностью этот же рецепт годен и для модемов других операторов этих же и близких к ним моделей — например, Huawei E1552, E1750 и т.п.
- Решение тестировалось на модеме Huawei E150 от МТС и E1550 от Мегафон на дистрибутивах Пятой платформы.
- Решение тестировалось на модеме ZTE MF112 от МТС на дистрибутивах Пятой и Шестой платформы. Особенности на Centaurus и Школьном сервере - не срабатывает usb-modeswitch для модели, которая определяется как 19d2:2000. приходится отключать CD и CardReader.
Ссылки
- http://www.openclass.ru/wiki-pages/71852
- http://ru.gentoo-wiki.com/wiki/Модем_Flyer_U12
- http://www.draisberghof.de/usb_modeswitch/
- http://lists.altlinux.org/pipermail/hardware/2011-July/016241.html
- http://forum.altlinux.org/index.php/topic,4749.0.html
- http://forum.altlinux.org/index.php/topic,136.msg106617.html#msg106617