Установка и настройка модемов 3G USB
В большинстве случаев ничего настраивать не надо — достаточно установить пакет usb-modeswitch и зависимые от него (например, usb-modeswitch-data ), в некоторых дистрибутивах также udev-extras .
Чаще всего и их устанавливать не надо, т.к. всё необходимое уже установлено и работает из коробки. Достаточно настроить работу модема через NetworkManager.
В данной статье описаны примеры настройки на случай, если что-то не работает — или если требуется более тонкая настройка/автоматизация при помощи etcnet .
Megafon M150-1 (он же Huawei E3276)
Данный модем является 4g модемом со встроенной сетевой картой. Но данная сетевая карта хоть и видится в системе, но не живёт. После подключения модема в системе определяется как Bus 002 Device 006: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
При этом появляется интерфейс wwp0s29u1u2i1
Но попытка сделать его up ни к чему не приводит — после ip link set up dev wwp0s29u1u2i1 он всё равно остаётся wwp0s29u1u2i1: mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
Что бы всё таки заставить данный девайс работать, надо отключить в нём сетевую карту и включить режим обычного модема с кучкой ком-портов.
Отключить сетевую карту и включить режим обычного модема
Не помогает ли в режиме сетевой карты внести
echo -en 'AT^NDISDUP=1,1,"internet"\r\n' > /dev/ttyUSB0 dhclient wwan0
Huawei E1550
Для Пятой платформы нам потребуется установить два пакета (оба присутствуют в репозитариях Пятой платформы):
После установки пакетов в Пятой платформе смотрим файл /etc/usb_modeswitch.conf . Добавляем, если ещё нет:
######################################################## # Huawei E1550 # # Contributor: Bogomips DefaultVendor= 0x12d1 DefaultProduct= 0x1446 MessageContent="55534243000000000000000000000011060000000000000000000000000000" MessageEndpoint=0x01 CheckSuccess=5
Здесь DefaultVendor= 0x12d1 и DefaultProduct= 0x1446 должны соответствовать выдаваемым командой lsusb
Все другие подобные строки необходимо закомментировать, используя символ «;»
Добавляем правило udev, создавая файл /etc/udev/rules.d/45-huawei-e1550.rules с таким содержимым:
ACTION=="add" SUBSYSTEM=="usb", SYSFS=="1446", SYSFS=="12d1", RUN+="/usr/sbin/usb_modeswitch"
После этого модем определяется lsusb как:
Bus 005 Device 002: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
Для Шестой и выше платформы, ваш модем должен присутствовать в файле /lib/udev/rules.d/40-modeswitch.rules
Важно! В строке определения должно быть именно 1001 — это код собственно модема, а не виртуального CD с софтом под Win&Mac OS
Huawei E1750
touch /etc/udev/rules.d/45-huawei-e1750.rules
ACTION=="add" SUBSYSTEM=="usb", SYSFS=="1446", SYSFS=="12d1", RUN+="/usr/sbin/usb_modeswitch"
######################################################## 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, можно использывать как обычную флешку, отказавшись от установки драйверов модема)
ZTE MF-112
Это модем от МТС, возможно у других компаний тоже есть эта модель Особенности — бывают двух видов: определяющиеся как
Первый — спокойно обрабатывается modeswitch и спокойно работает Второй — приходится отключать CD и картридер
Вот некоторые команды, первые 4 проверены на 19d2:2000
- ATE1 # просмотр статуса выполненных команд
- AT+ZCDRUN=8 # отключаем автозагрузку USB CD-ROM
- AT+ZCDRUN=9 # включит автозагрузку USB CD-ROM
- AT+ZCDRUN=E # только модем, отключить картридер и автозагрузку USB CD-ROM
- AT+ZCDRUN=F # модем + кардридер + USB CD-ROM
- AT+cfun=0 # выключить модем
- AT+cfun=1 # включить
- AT+CSQ # уровень сигнала сети
- AT+CGMR # версия ПО
- AT+CGSN # IMEI
- AT+CNUM # ваш номер сим
- AT+zsnt? # текущий режим поиска сети
- AT+zsnt=0,0,0 # установить режим поиска сети «автоматически, GSM+WCDMA»
- AT+zsnt=0,0,1 # установить «автоматически, GSM+WCDMA, предпочтительно GSM»
- AT+zsnt=0,0,2 # установить «автоматически, GSM+WCDMA, предпочтительно WCDMA»
- AT+zsnt=1,0,0 # установить «автоматически, только GSM»
- AT+zsnt=2,0,0 # установить «автоматически, только WCDMA»
- AT+zsnt=0,1,0 # установить «вручную, GSM+WCDMA»
- AT+zsnt=1,1,0 # установить «вручную. только GSM»
- AT+zsnt=2,1,0 # установить «вручную, только WCDMA»
- AT+COPS=? # сканируется сеть и выводит список операторов связи
- AT+CPIN? # узнаём, требуется ли вводить пин-код для разблокировки доступа к мобильной сети.
- AT+CPIN=0000 # пример, ввод PIN кода
Настройки для etcnet
в каталоге /etc/net/ifaces/ppp1/ : (цифра может меняться в зависимостри от номера интерфейса):
TYPE=ppp ONBOOT=yes PPPTYPE=dialup RESTORE_DEFAULTROUTE=yes
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"
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
Известные баги
Их всегда можно посмотреть на packages.altlinux.org
Наиболее неприятная на сегодня :
Примечания
- Рецепт годен и для 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. Причем на Slinux 6.0 и KDesktop 6.0 все заработало «из коробки».
Ссылки
USB modeswitch • Модемы • Настройка USB ADSL • Установка и настройка модемов 3G USB