Настройка 3G и GPRS модемов от мобильных операторов

Многие уезжают на дачи (как ваш покорный слуга) или просто в период отпусков отправляются в поездки, но все так привыкли к интернету, что без него просто не мыслят своего существования. Как быть? Где найти этот самый интернет. Выходов несколько, но я хочу остановиться на мобильном интернете.
Там где у вас ловится мобильная связь - там вполне возможно будет и возможность подключиться к интеренту через GPRS или HSUPA (в простонародье 3G :-)). Не буду углубляться в технические подробности - я преследую другие цели: опишу возможность подключить ubs-модем от операторов МТС, Билайн или Мегафона и тд.

У меня модем от МТС ZTE MF 192 - по сему пишу для него, но думаю, что настройки других операторов не будут сильно отличаться (читайте доки к модему вашего мобильного оператора).

Сразу оговорюсь, что НИКАКИХ драйверов под линукс на самом устройстве НЕТ!

ZTE MF192 -представляет собой составное устройство, это “типа” CD-ROM + modem.
Вкратце опишу, как переключить его в режим модема, что бы не было лишнего флейма в треде.
Для этого не нужно никаких модем_свитчеров (и AT-команды НЕ работают до переключения его в режим модема) - достаточно в командной строке написать:
$ sudo eject /dev/sr0 (/dev/sr1, /dev/sr2 … и т.д у кого как)
После этой команды получаем устройство модема
/dev/ttyACM0
/dev/ttyACM1
/dev/ttyACM2
/dev/ttyACM3
(почему их так много? хз - не разбирался)
Теперь получили модем и осталось его настроить.
Кто выбирает и считает “тру” настройку через ppp. Я же не стал заморачиваться и сделал дозвон через wvdial.
Опять же - настройка сделала таким образом, что бы вставив модем в usb порт, вы через 15-20 сек уже были подключены к интернету автоматически, без каких либо ручных действий с вашей стороны.
Для особо ретивых - настройка и установка делается до подключения модема в ваш ноут или стационарный комп ;-) лишь потому что нужен wvdial

И так приступим:
$ sudo pacman -S wvdial
Далее прописываем конфиг для дозвона к мобильному провайдеру.
/etc/wvdial.conf
[Dialer zte]
Auto Reconnect = on
Init2 = AT+CGDCONT=1,"IP","internet.mts.ru"
Baud = 115200
Init1 = ATZ
Modem = /dev/ttyACM0
Phone = *99#
Username = mts
Abort on Busy = on
Password = mts
Stupid Mode = on

Пишем небольшое правило udev для модема ZTE MF192
/etc/udev/rules.d/92-zte-modem-mts.rules
# udev rules for  ZTE MF*
ATTR{idVendor}!="19d2", GOTO="zte_rules_end"
#ATTRS{product}!="MF192", GOTO="zte_rules_end"
# Execute pairing program when appropriate
SUBSYSTEM=="block", KERNEL=="sr0", ACTION=="add", RUN+="/usr/local/bin/zte-dial"
LABEL="zte_rules_end"

Примечание ATTR{idVendor}!=“19d2” проще определить по
$ sudo lsusb
...
Bus 001 Device 026: ID 19d2:1218 ONDA Communication S.p.A.

Ну и собственно сам скрипт
/usr/local/bin/zte-dial

#!/bin/sh
sleep 2
eject /dev/sr0
sleep 15
wvdial zte
Всё, теперь в тот момент, как вы вставите модем в один из юсб портов - он будет автоматически определен и запущен прозвон.
В зависимости какую сеть вы поймали модем будет гореть или зелёным(GPRS) или синим (3G) цветом.
Появится интерфейс ppp0 с ip что то типа
$ ip a
21: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp 
    inet 10.36.217.247 peer 10.0.0.1/32 scope global ppp0
Что не понятно - спрашивайте.

ps. Редакция для “недовольных” ;-)
Если никто не против, я немножко обнаглею и дам ссылку на свою статейку с другими способами подключения - http://lampslave.ru/3g-modem-archlinux/
mango
$ sudo pacman -S wvdial
И жестоко обламываемся, поскольку интернета еще у нас нет, модем ведь еще не настроен. :). Правильно настраивать модем нужно через ppp. Тем более, что это ни разу не сложнее, чем использование wvdial. А чтобы не выносить себе мозк из-за отсутствия ttyUSBx, отключить остальные компоненты составного устройства с помощью АТ-команд.
Ну скажите, я прав же :)
А чтобы не выносить себе мозк из-за отсутствия ttyUSBx, отключить остальные компоненты составного устройства с помощью АТ-команд.
Чего почитать? А он вообще определяться не перестанет?
Конечно не перестанет :)))) Будет работать, аки пчела.
Например, для того,чтобы перевести хуавей в режим только модема
echo "AT^U2DIAG=0" > /dev/ttyUSB0

Вот такие режимы есть у хуавеев
AT^U2DIAG=0 (режим: только модем)
AT^U2DIAG=1 (режим: модем + CD-ROM)
AT^U2DIAG=255 (режим: модем + CD-ROM + Card Reader)
AT^U2DIAG=256 (режим: модем + Card Reader)
Аналогично работать с другими модемами; их АТ-команды гуглите АТ-команды + ваш_модем
Эээ, а как на /dev/ttyUSB0 отправить команду, если он не определился? А если определился, то и отправлять ничего не надо. Или я чего-то не понимаю?
:D Точно )). Это я вчера спать, видимо, хотел. Сам-то я делала с бука, где он определялся. Как вариант, из-под винды из Hyper Terminal сделать, по аналогии с нашим minicom
Лучше примонтировать /dev/sr1 (или как он там определится, см. по месту) и поставить центр управления целиком или только драйвер. Я драйвер поставил, модем теперь всегда определяется.
Ну да, это тоже неплохой вариант. Просто мне удобнее всего было отключить сидюк нафиг с бука с убунтой, а потом воткнуть в комп, настроить ppp, обновить систему и поставить иксы.
Мегафон модемы уже давно поддерживают линукс, других операторов думаю это тоже, уже, касается.

Т.е. для мегафона установка - не более чем зайти на модем, как на флешку и запустить соответствующий файл :-)

Мой E173 - в декабре был самым дешёвым..
https://fastenv.ru
 
Зарегистрироваться или войдите чтобы оставить сообщение.