Настройка модема Huawei E1550/E1552 (МТС и МегаФон)

Началось всё с приобретения моего первого собственного ноутбука (Lenovo B590) и благополучной установки на него арча. Дома у меня есть вайфай, но покупалась эта машинка в основном для хождения на работу, где с интернетом туго - нельзя сказать что его нет, он есть, но не для нашей кафедры. Таким образом возникла острая необходимость снабдить себя средством выхода в сеть.

С давних пор валяются у меня два модема означенной в заголовке модели - один от МТС, другой - от МегаФона. Прочтя ряд howto как здесь на форуме, так и погуглив, засучил рукава и темной ночкой засел поднимать железяки из небытия.

Подлость этих железок состоит в том, что они не только модем, у них на борту имеются CD-ROM и microSD-картридер, посему в линуксе они определяются как CD-ROM и дальше этого дело не идет. В винде специальная прога, поставляемая на означенном CD-ROM утанавливает драйвера и сервисный софт, осуществляющий переключение железки в модемный режим. Чтобы модем появился в линуксе, его нужно вручную перевести в требуемый режим.

Сделать это можно и в винде, собственно первый раз я так это и решил, ибо по глупости своей вставил модем в синий разъем USB 3.0, не знав что синим цветом красят USB именно этого стандарта. И под линуксом процесс переключения просто не происходил. Додумался я до своей ошибки уже проделав через винду подключение к модему через putty и переведя его оттуда в нужный режим.

Однако на МегаФоне я откатал этот процесс и в арче, алгоритм которого и излагаю в данной статье

Прежде всего нам потребуются некоторые утилиты, доступные из официальных репозиториев

1. usb_modeswitch - переключалка режимов
2. minicom - терминал
3. wvdial - звонилка

Установив эти пакеты, приступим

1. Встявляем модем. Ждем пока он поморгает нам чуть-чуть и выполняем

# lsusb

Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 005: ID 105b:e065
Bus 003 Device 004: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 003 Device 023: ID 12d1:1446 Huawei Technologies Co., Ltd. E1552/E1800/E173 (HSPA modem)
Bus 003 Device 003: ID 5986:0295 Acer, Inc
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Устройство с ID 12d1:1446 и есть наш пациент. Фраза HSPA modem предательски обрамлена скобками - это означает, что система хоть и види модем, но в данном режиме устройство пока не находится. Переключим его

2. Создадим файл /etc/usb_modeswitch.conf следующего содержания
DefaultVendor= 0x12d1
DefaultProduct= 0x1446
MessageContent="55534243123456780000000000000011062000000100000000000000000000"

после чего выполняем

# usb_modeswitch -c /etc/usb_modeswitch.conf

и видим такой вывод

Look for default devices ...
   product ID matched
 Found devices in default mode (1)
Access device 023 on bus 003
Get the current device configuration ...
 OK, got current device configuration (1)
Use interface number 0
Use endpoints 0x01 (out) and 0x81 (in)
Inquire device details; driver will be detached ...
Looking for active driver ...
 OK, driver detached
SCSI inquiry data (for identification)
-------------------------
  Vendor String: HUAWEI
   Model String: Mass Storage
Revision String: 2.31
-------------------------
USB description data (for identification)
-------------------------
Manufacturer: HUAWEI Technology
     Product: HUAWEI Mobile
  Serial No.: not provided
-------------------------
Set up interface 0
Use endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
 OK, message successfully sent
Reset response endpoint 0x81
Reset message endpoint 0x01
 Could not reset endpoint (probably harmless): -99
 Device is gone, skip any further commands
-> Run lsusb to note any changes. Bye!

Теперь, выполнив

# ls /dev/ttyUSB*

мы увидим несколько устройств ttyUSB0 - ttyUSB2 и это означает, что наша система увидела модем. Список устройств на шине USB теперь выглядит так

Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 005: ID 105b:e065
Bus 003 Device 004: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 003 Device 023: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem
Bus 003 Device 003: ID 5986:0295 Acer, Inc
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Теперь арч видит железяку как модем ) Но этого мало

3. Мы должны переключить модем в такой режим на постоянку. Для этого запускаем терминал

# minicom -D /dev/ttyUSB0

И в этом терминале вводим команду

AT^U2DIAG=0

которая переведет наш модем в режим "только модем". Теперь при втыкании/вытыкании он всегда будет определятся как модем

4. Настраиваем соединение. В случае с МТС сознаем такой файл

/etc/wvdial.conf
[Dialer Defaults]
Init1 = ATZ
Init2 = AT+CGDCONT=1,"IP","internet.mts.ru"
Modem Type = USB modem
Baud = 57600
New PPPD = yes
Phone = *99***1#
Password = mts
Username = mts
Modem = /dev/ttyUSB0
Stupid Mode = yes

где задаем параметры соединения.

5. В терминале выполняем

# wvdial

и в консоль посыпется следующее

--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: AT+CGDCONT=1,"IP","internet.mts.ru"
AT+CGDCONT=1,"IP","internet.mts.ru"
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Thu Jan  9 04:30:10 2014
--> Pid of pppd: 1673
--> Using interface ppp0
--> pppd: ;[7f]
--> pppd: ;[7f]
--> pppd: ;[7f]
--> pppd: ;[7f]
--> pppd: ;[7f]
--> pppd: ;[7f]
--> local  IP address 10.117.36.21
--> pppd: ;[7f]
--> remote IP address 10.64.64.64
--> pppd: ;[7f]
--> primary   DNS address 217.74.244.2
--> pppd: ;[7f]
--> secondary DNS address 217.74.244.3
--> pppd: ;[7f]

означающее то, что мы достигли цели и можем использовать интернет )

P.S.: Эта статья отправлена с модема МТС )
Да пребудет с нами Сила...!
CPU Intel Core i7 2600K/RAM DDR3 16 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb
http://maisvendoo.org
1550й год назад заводился без этих плясок с переключением режима.
И
maisvendoo
1. usb_modeswitch - устанавливается из АУРа
community/usb_modeswitch 2.0.1-1
Lupus pilum mutat, non mentem.
jim945
1550й год назад заводился без этих плясок с переключением режима.
Год назад - допускаю, ибо Мегафон, купленный в 2011 году уже имел на борту ПО для работы в Linux. Однако МТС-модем, купленный в октябре 2009 года такового ПО на борту не имел. Так что изложенный подход имеет свои преимущества )

Насчет репозиториев поправился, перепутал переключалку с утилитой huawei-ussd - её ставил из аура
Да пребудет с нами Сила...!
CPU Intel Core i7 2600K/RAM DDR3 16 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb
http://maisvendoo.org
мой способ
$ sudo pacman -S usb_modeswitch net-tools wireless_tools
$ sudo gedit /etc/ppp/options-mobile
/dev/ttyUSB0
921600
defaultroute
usepeerdns
crtscts
lock
noauth
local
persist
modem
nopcomp
novjccomp
nobsdcomp
nodeflate
noaccomp
ipcp-accept-local
ipcp-accept-remote
noipdefault
$ sudo mkdir /etc/ppp/chatscripts
$ sudo gedit /etc/ppp/chatscripts/megafon.chat
ABORT 'BUSY'
ABORT 'NO CARRIER'
ABORT 'VOICE'
ABORT 'NO DIALTONE'
ABORT 'NO DIAL TONE'
ABORT 'NO ANSWER'
ABORT 'DELAYED'
REPORT CONNECT
TIMEOUT 6
'' 'ATQ0'
'OK-AT-OK' 'ATZ'
TIMEOUT 3
'OK-AT-OK' 'ATI'
'OK' 'ATZ'
'OK' 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0'
'OK' 'AT\^SYSCFG=2,2,3fffffff,0,1'
'OK-AT-OK' 'AT+CGDCONT=1,"IP","Internet"'
'OK' 'ATDT*99#'
TIMEOUT 30
CONNECT
$ sudo gedit /etc/ppp/peers/provider
file /etc/ppp/options-mobile
connect "/usr/sbin/chat -v -t15 -f /etc/ppp/chatscripts/megafon.chat"
$ sudo systemctl enable ppp@provider.service
Арчи ~]$ ...as always want ready-made solutions that would make even tastier
palpalych
мой способ
.
.
.

У себя тоже через pppd настроил. Намного более Ъ-способ )
Да пребудет с нами Сила...!
CPU Intel Core i7 2600K/RAM DDR3 16 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb
http://maisvendoo.org
maisvendoo
palpalych

Ну вот , тема хорошая , но это устаревшие модели
Huawei E1550/E1552

Проблем вооще не было с ними :)
maisvendoo
такового ПО на борту не имел
Да какая разница что там на "борту", оно все равно не используется.
Lupus pilum mutat, non mentem.
palpalych
мой способ

Извеняюсь , модель модема ?
jim945
maisvendoo
такового ПО на борту не имел
Да какая разница что там на "борту", оно все равно не используется.

Абсолютно согласен, неважно какой dashboard на нем. Недавно заводил этот свисток так:
- установил usb_modeswitch (ничего в нем не настраивал)
- воткнул модем
- настроил подключение через netctl используя профиль /etc/netctl/examples/mobile_ppp
Все работает!
casper
jim945
maisvendoo
такового ПО на борту не имел
Да какая разница что там на "борту", оно все равно не используется.

Абсолютно согласен, неважно какой dashboard на нем. Недавно заводил этот свисток так:
- установил usb_modeswitch (ничего в нем не настраивал)
- воткнул модем
- настроил подключение через netctl используя профиль /etc/netctl/examples/mobile_ppp
Все работает!
Имеются в виду правила udev, идущие в комплекте с usb_modeswitch? При их использовании модем переводится в нужный режим при каждом "втыкании".

Не спорю, всё так и было бы, если бы я воткнул модем в USB 2.0. Однако я вставлял его в USB 3.0 а там, почему-то, usb_modeswitch не работал ). Видимо потому, что моя железяка изготовлена до появления этого стандарта.

Собственно я через винду (putty) перевел его в модемный режим, а уж потом догадался что тыкал его не туда. В любом случае, блог писался как изложения собственного решения проблемы, и, уверен, будет со всех сторон полезен
Да пребудет с нами Сила...!
CPU Intel Core i7 2600K/RAM DDR3 16 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb
http://maisvendoo.org
 
Зарегистрироваться или войдите чтобы оставить сообщение.