
Собираюсь в долгую поездку и в преддверии этого решил подготовиться ибо что там будет с интернетом неведомо. Взял мегафоновский модем попользовать на время поездки и пошел в бой. Как оказалось он залочен на симки от мегафона, а у меня не было мегафоновской симки для теста модема в linux — пришлось разлочивать. Разлочить оказалось в разы сложнее чем настроить сам модем, ибо в сети Уйма (да-да, именно с большой буквы) предложений разлочить за денюжку, но мудрый гугл спустя часик поиска навел на генератор кодов разлочки и прошивки на основе IMEI (аж целых два, и оба работают под вайном). Правда писал я код разлочки из под windows, не подумав о том что можно было использовать в linux comgt или MobilePartner который в комплекте с модемом — кстати, через MobilePartner можно не пугаться страшных слов и действий(компилций,настройка,wvdial,ppp), а просто использовать модем через интерфейс схожий с программой управления модемом от мегафона, но он на яве и даже в трей не умеет сворачиваться — так что это не наш метод.
Чуток конкретики
Оказалось что всё до наивности просто — модем видиться как /dev/ttyUSB{0,1}
Правда почему-то на следующий день он отказался так делать и пришлось поставить из AUR usb_modeswitch после которого всё вновь стало замечательно и без каких-либо манипуляций. Возможно первый раз всё определилось славно именно из-за того что до этого он разлочивался под виндою и сразу после этого сунулся в компьютер с ArchLinux.
NetworkManager я не пользую, но там по слухам всё до банальности просто — указываем устройство прописываем точку доступа и прочее после чего радуемся. wvdial на который в большинстве своем расчитаны все виденные мною хелпы пользовать не хотелось ибо в системе уже наличиствует ppp и что самое главное его можно использовать с помощью netcfg, т.е. переключать сеть можно так же легко как и в networkmanager (в том числе и с помощью dmenu — dnetcfg). Так что наш метод это ppp и netcfg
Huawei E1550 и ppp
Для начала нам надо будет установить comgt (он в community) и usb_modeswitch (он в AUR) и после этого выполнить
comgt -d /dev/ttyUSB0
который попросит ввести пинкод от симки (и предположительно код для разлочки, если симка не та — но так как я уже разлочил под виндой, то подтвердить этого не могу), напишет информацию о регистрации в сети и прочее...
После этого создаем файл /etc/ppp/peers/3g в котором пишем
connect "/usr/sbin/chat -f /etc/ppp/3g"
/dev/ttyUSB0
115200
#460800
crtscts
noauth
#novj
#novjccomp
#nobsdcomp
#nopcomp
#noaccomp
usepeerdns
defaultroute
user "beeline"
password beeline
и файл который указан в параметрах к в первой строке, т.е. в нашем случае /etc/ppp/3gTIMEOUT 35
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'
ABORT '\nUsername/Password Incorrect\r'
'' \rAT
OK 'AT+CGDCONT=1,"IP","internet.beeline.ru"'
OK ATD*99***1#
CONNECT ""
Ну или что бы не было двух файлов создаем только только первый и заменяем в нем строкуconnect "/usr/sbin/chat -f /etc/ppp/3g"
наconnect "/usr/sbin/chat -v \
TIMEOUT 35 \
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' \
ABORT '\nUsername/Password Incorrect\r' \
'' \rAT \
OK 'AT+CGDCONT=1,\"IP\",\"internet.beeline.ru\"' \
OK ATD*99***1# \
CONNECT \c \
"
Естественно что логин, пароль, точка доступа и номер телефона для набора зависят от вашего оператора.
Так же обратите внимание что некоторые строки в /etc/ppp/peers/3g у меня закомментированы — я их показал лишь для примера. Если у вас не будет работать то поиграйтесь с расскомментированием отдельных строк и заменой скорости. У меня заработало именно с такими настройками (скорость 460800 это для 3g насколько я понимаю, но 3g покрытия у меня тут нету).
Для запуска соеденения запускаем pon 3g (не забываем о правах).
В отличии от используемого мною до этого Motorola a1200 в качестве gprs модема, dns устанавливается нормально.
Huawei E1550, но уже через netcfg
Собственно тут нам достаточно создать профиль netcfg(файл в каталоге /etc/network.d/ — имя файла есть имя профиля) в котором записано
CONNECTION='ppp'
INTERFACE='ignore'
PEER='3g' #это имя файла в /etc/ppp/peers/
PPP_TIMEOUT=10
Вот, собственно, и готов профиль. Осталось лишь его использовать (netcfg имя_файла или любой фронтенд для netcfg).
Приятного использования!
PS. программы для генерации кодов разлочки и кодов для прошивки модема Huawei E1550 тут