Данная статья НЕактуальна для ядер начиная 2.6.32, usb-modeswitch 1.1.0 и udev 151-2. Если у вас они присуствуют, то модем должен опознаваться сразу и без передергивания из/в порт USB. Также будет автоматически запускаться программа Megafon Internet, если она у вас установлена.
Настройка МегаФон 3G Модем E1750 и E1550
Для активации модемной части, поддержки USSD-запросов, статистики и самого сетевого подключения можно использовать собственную программу Mobile Partner, которая находится в самом устройстве, определяемый как cdrom:
...
[ 4622.053797] scsi 53:0:0:0: CD-ROM HUAWEI Mass Storage 2.31 PQ: 0 ANSI: 2
...
Устанавливаем программу. Точка монтирования по метке устройства в KDE:
/media/MegaFon Internet$ ./install_linux
Ждём - 10-30 секунд.
Далее всплывает терминальное окно установщика программы и вводим:
/usr/local
Далее вытащите модем из порта и снова вставьте его.
Запуститься программа "Megafon Internet", теперь модем работает. Осталось только позвонить.
Особенности работы
Если программа запустилась, но не нашла модем, то нужно выполнить пункты 1-5 "варианта 2", после этого она в обязательном порядке запуститься.
Разъяснение почему так бывает: в /etc/udev/usb_modeswitch.rules и /etc/usb_modeswitch.conf нет правил активации для данных модемов, к тому же
сами модемы активируются только при вставке в работающий компьютер с загруженной ОС (как это сказано в "Руководстве пользователя модемом") и
usb_modeswitch отработает только после этого.
Вариант 2:
1. Установить пакет usb-modeswitch
2. Добавить следующее содержание в /etc/usb_modeswitch.conf:
########################################################
# Мegafon 3G Modem E1750
# Use device /dev/ttyUSB0 for connecting
DefaultVendor=0x12d1
DefaultProduct=0x1446
MessageContent="55534243000000000000000000000011060000000000000000000000000000"
3. Как сказано в "Руководстве пользователя" данного устройства на стр.9 E1750 нужно подключать к уже работающему компьютеру, иначе процедура установки может быть нарушена, так и следуем совету -- вытаскиваем модем и снова вставляем в usb-порт. Если этого не сделать, то usb_modeswitch не сработает и выведет ошибку.
4. Выполнить:
# usb_modeswitch
5. Через пару секунд usb_modeswitch выведёт что сообщение (та самая злополучная MessageContent) успешно отправлено.
6. Проверяем активацию модемной части устройства и создание последовательных портов ttyUSB0-2:
$ lsusb
...
Bus 003 Device 006: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
...
$ dmesg
...
[ 354.709219] USB Serial support registered for GSM modem (1-port)
[ 354.709317] option 3-1:1.0: GSM modem (1-port) converter detected
[ 354.709442] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 354.709461] option 3-1:1.1: GSM modem (1-port) converter detected
[ 354.709537] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB1
[ 354.709553] option 3-1:1.2: GSM modem (1-port) converter detected
[ 354.709643] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB2
[ 354.709677] usbcore: registered new interface driver option
[ 354.709681] option: v0.7.2:USB Driver for GSM modems
...
7. Теперь вбиваете в KPPP порт модема -- ttyUSB0, скорость порта на самый максимум, номер "телефона" -- *99#
Также вместо KPPP или GNOME-PPP, можно использовать network-manager 0.7.999 и выше (и его плагин для работы с ppp, и рекомендуемый к нему modem-manager) + его графическую оболочку.
По поводу работы Мegafon 3G Modem E1550 -- он отличается лишь следующим:
########################################################
# Мegafon 3G Modem E1550
# Use device /dev/ttyUSB0 for connecting
DefaultVendor=0x12d1
DefaultProduct=0x1446
MessageContent="55534243123456780000000000000011060000000000000000000000000000"
Можно попробовать автоматизировать весь процесс опознания и переключения модема при его вставке с загруженной ОС:
Для E1750:
1. Ничего не добавлять в /etc/usb_modeswitch.conf
2. Вставить в /etc/udev/rules.d/usb_modeswitch.rules одной строкой следующее:
ACTION=="add" SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", SYSFS{idProduct}=="1446", RUN+="/usr/sbin/usb_modeswitch --default-vendor 0x12d1 --default-product 0x1446 --message-content
55534243000000000000000000000011060000000000000000000000000000"
3. Перегрузиться и вставить модем при работающей ОС. Должен определиться и появиться порты ttyUSB0-2.
Также справедливо и для E1550, только --message-content поменять на свой.
Предположение:
Возможно в тех дистрибутивах или в новых, где такой модем определяется и работает даже, если он был вставлен в порт до включения компьютера в сеть питания, используется какой-то системный вызов для перезапуска внутренней прошивки модема -- имитация подключения модема к работающему компьютеру, и поэтому udev используя свою базу правил, где прописан данный модем, спокойно запускает usb_modeswitch и она выполняется без ошибок.
А данный способ это исключение из правил, пока не появится полная поддержка такого устройства в дистрибутиве.
PS.
Модем вставлять надо после загрузки операционной системы.
ЭПИЛОГ
Я думаю всё это можно спокойно перенести и на любой другой модем от этой компании, вопрос стоит лишь в правильной строке инициализиции MessageCоntent, коде разработчика DefaultVendor и DefaultProduct -- устройстве, которое упознаётся по-умолчанию при вставке модема в порт, два последних можно найти в выводе [lsusb]
...
Bus 003 Device 019: ID 12d1:1446 Huawei Tech.
...
0x12d1 и 0x1446 -- это они
MessageCоntent можно поискать в англоязычной части Интернет.