Slave of the Lamp

3G модем в Arch Linux

Началась вся эта история с того, что нормальный проводной интернет, который я настраивал в одной из предыдущих статей, приказал долго жить. Провайдер неделю кормил завтраками, а потом выяснилось, что «вот-вот, но не знаем, когда сделаем».

Так как продолжаться это может бесконечно, а без интернета красноглазики долго жить не могут, пришлось разориться на вот такую штуковину — 3G модем Huawei E173. Это, конечно, не предел мечтаний, да и «хитрости» операторов сотовой связи тоже всем известны, но деваться некуда.

Как заставить 3G модем работать под Linux?

Довольно просто, как оказалось. Способов насчиталось три:

  1. Установить «родную» программу для управления — как в Убогой.
  2. Использовать автоматическую звонилку — NetworkManager, например.
  3. Создать Ъ-подключение через ppp.

Пройдёмся по способам по порядку.

Установка «родной» программы для управления

Задача сводится к тому, чтобы скопировать эту самую программу с модема и установить. Сложность может возникнуть там, где модем не сможет примонтироваться автоматически.

Что делать? Втыкать модем, открывать терминал и красноглазить.

Красноглазим следующим образом:

# Показываем пингвину, кто в доме хозяин.
sudo -i
# Смотрим, увидел ли наш пингвин их модем.
# Если в списке есть Huawei - всё в порядке, мы ещё ничего не сломали.
lsusb
# Модем состоит из 2х частей - флешки и сидирома.
# Нам нужен сидиром. Имя девайса для сидирома обычно начинается с sr.
# В моём случае это usb-HUAWEI_Mass_Storage-0:0 -> ../../sr1.
ls -l /dev/disk/by-id/
# Монтируем сидиром.
mount /dev/sr1 /mnt
# Открываем его, осматриваемся, идём в папку с "дровами".
cd /mnt
ls
cd Linux
ls
# Запускаем установку. Она наверняка будет ругаться на то,
# что не сможет поставить NDIS, но нам эта приблуда без надобности.
./install
# Прибираемся.
cd /
umount /dev/sr1
# Удаляем последнюю строку в настройках sudo, если она совпадает с
# с ALL ALL=(ALL) ALL. Китайцы (или индусы), видимо, не понимают,
# что не совсем адекватная настройка в плане безопасности, особенно, если
# указывать её автоматически и никак об этом не предупреждать.
visudo

Запускать эту радость лучше не через меню (вероятно, прав не хватит), а командой sudo /usr/local/MegaFon_Modem/MobilePartner (путь может отличаться, проверьте). Можно также сделать .desktop файл с этой командой.

Чтобы не вводить пароль каждый раз, достаточно настроить нужным образом sudo. Запустите редактирование настроек ещё раз и в конце файла пропишите username ALL=(ALL) NOPASSWD: /usr/local/MegaFon_Modem/MobilePartner.

3G модем через NetworkManager

Тут всё неимоверно просто. NetworkManager сам определит модем и покажет его в своём меню. С мастером настройки разберётся любая блондинка, тем более, что там всего-то и нужно, что выбрать страну, провайдера и APN (точку доступа).

APN лучше уточнить в техподдержке или посмотреть в «родной» программе управления: Справка — Диагностика, кажется. Разрешить вопрос с APN нужно обязательно, потому что при неправильной настройке можно потерять деньги.

Ещё для подключения можно использовать звонилку wvdial. За настройками обращайтесь к Гуглу. Хотя, может быть достаточно будет вот этой статьи.

Ъ-подключение через ppp

Суть метода подробнейшим образом изложена в вике.

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

Итак, создаём файл /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

/dev/ttyUSB0 — это имя девайса, к которому будет обращаться демон ppp. Имя может отличаться, подробности в Гугле и в вике, ссылка выше.

Создаём файл /etc/ppp/peers/megafon.
Пишем туда следующее:

file /etc/ppp/options-mobile
connect "/usr/sbin/chat -v -t15 -f /etc/ppp/chatscripts/megafon.chat"

Создаём папку /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***1#'
TIMEOUT 30
CONNECT

В данном случае проверка PIN кода не производится, модем переведён в режим предпочтения 3G, а точка доступа (APN) — internet. Не забудьте уточнить этот параметр у оператора или в стандартной программе управления.

Подключается эта радость просто: sudo pon megafon. Выключается аналогично, только вместо pon нужно писать poff. Можно сделать .sh скрипт или .desktop файл с этой командой и настроить sudo, чтобы не вводить пароль каждый раз.

Запускать соединение при загрузке системы тоже можно, но там придётся ещё немного повозиться с настройками, а мне, честно говоря, не очень хочется с этим возиться.

На этом всё. Подключайтесь быстрее и пишите комментарии :)

Комментарии

Добавить комментарий