Показаны сообщения с ярлыком 3g. Показать все сообщения
Показаны сообщения с ярлыком 3g. Показать все сообщения

2009-10-27

3G от Мегафона

Недавно поставил брату Arch, но, так как у него ожидается переезд, не стали подключать кабельный интернет, а решили обойтись 3G-модемом с его работы. Три дня рыл по вечерам инет, т.к. модем нужно было возвращать, пробовал разные варианты, но все никак не ладилось. Нужно сказать, что информации по настройке в российских сотовых сетях маловато, IMHO. Вроде пишут, что в Ubuntu все делается легко, т.к. в NetworkManager есть настройки для всех сотовых операторов, но в Arch'е подобная перспектива не улыбается, да и не хочется ставить NM. Но в итоге, собрав отрывочные сведения в онлайне и оффлайне, заставил работать 3G-интернет.
Итак, имеется 3G-модем Huawei E220, залоченный под Мегафон и, собственно, мой любимый Arch :). Собственно, проблема в том, что модем сначала подключается как дисковое устройство, что препятствует его нормальной работе как модема. И все из-за Windows, под которую написано все ПО модема. Проблема решается установкой usb_modeswitch, но и его установка не столь тривиальна, как кажется. Бинарник уже скомпилирован, но только для 32-разрядной системы, поэтому сначала придется пересобрать его под x86_64 (описано в README):
gcc -l usb -o usb_modeswitch usb_modeswitch.c

далее стандартно:
# make install

вроде можно радоваться, ан нет. Еще вручную надо раскидать файлы:
usb_modeswitch.sh и usb_modeswitch.tcltcl установлен?) в /usr/sbin
80-usb_modeswitch.rules в /etc/udev/rules.d
каталог usb_modeswitch.d в /etc
и еще взять с этого же сайта последний usb_modeswitch.conf и закинуть его в /etc.

Ну теперь вроде все. Остается настроить в /etc/usb_modeswitch.conf секцию соответствующего модема (по умолчанию все секции закомментированы):

########################################################
# Huawei E220 (aka "Vodafone EasyBox II", aka "T-Mobile wnw Box Micro")
# Huawei E230
# Huawei E270
# Huawei E870
# and probably most other Huawei devices (just adapt product ID)
#
# Two options: 1. removal of "usb-storage" 2. the special control
# message found by Miroslav Bobovsky
#
# Contributor: Hans Kurent, Denis Sutter, Vincent Teoh

DefaultVendor= 0x12d1;
DefaultProduct= 0x1003

# choose one of these:
;DetachStorageOnly=1
HuaweiMode=1


и после можно втыкать модем :)
Теперь настраиваем соединение через pppd. Описывать мучения с настройкой не буду, а приведу готовые конфиги (некоторые опции здесь наверняка лишние, как-нибудь надо будет подчистить):

/etc/ppp/peers/megafon-h3g

# /etc/ppp/peers/huawei-e220 pppd script
# pppd call huawei-e220

/dev/ttyUSB0
460800
modem
crtscts
user megafon
password megafon
noccp
nopcomp
noaccomp
nobsdcomp
nodeflate
novj
novjccomp
debug
dump

noipdefault
defaultroute
persist
nodetach
usepeerdns
connect "/usr/sbin/chat -v -f /etc/ppp/megafon-h3g.chat"
noauth

/etc/ppp/megafon-h3g.chat

TIMEOUT 3
ABORT BUSY
ABORT 'NO CARRIER'
ABORT VOICE
ABORT 'NO DIALTONE'
ABORT 'NO DIAL TONE'
ABORT 'NO ANSWER'
ABORT DELAYED
'' ATZ
OK 'AT+CGDCONT=1,"IP","internet"'
OK ATQ0V1E1S0=0&C1&D2+FCLASS=0
OK ATDT*99#
CONNECT ''

/etc/ppp/options
закомментировал все опции


После всех настроек ppp0 поднимается командой:
# pon megafon-h3g

Конечно, для нормального использования (после окончательной шлифовки) нужно закомментировать опции nodetach, dump и debug.
Тестил скорость через speedtest.net, показало download 0,51 Mb/s, upload 0,28 Mb/s, ping 208 ms на сервер в Воскресенске. EDGE нервно курит в сторонке :)
Теперь претензии. Иногда (а большей частью тестил вечером) не удается получить адрес от DHCP-сервера. На выходных тестил, иногда адрес получает с 1-2 попытки. Наверно, зависит от загрузки сети и станций. Другая проблема в том, что выданные DNS-сервера не отвечают, поэтому лучше, скорее всего, завести в /etc/resolv.conf свои, закомментировав опцию usepeerdns в /etc/ppp/peers/megafon-h3g.

2009-08-05

Приключения в селе

Все происходило как по закону подлости. Мы давно наметили отправиться летом в свое высокогорное село. Естественно, я забирал с собой ноутбук. Хотел было взять, на всякий случай, диски с установочным Arch Linux и Windows Vista, да жена отговорила. Все зудела, зачем, мол, все это лишнее барахло. Позже это еще сыграет свою роковую роль.
Приехали, распаковались. К моей радости, обнаружилось, что теперь мобильный телефон ловит сигнал внутри дома. Еще 3 года назад было совсем хреново. Приходилось залезать на гору, чтобы нормально поймать сигнал. Огорчило лишь, что интернет пойдет только через GPRS, наверно, закинули сюда старую БСку с города. Как потом проверил, на горе ловилась БС с EDGE. О 3G тут и не мечтать нечего. Хотя я говорю про Beeline, возможно, у других операторов дело с этим получше. Ну да, по делу...
В первый день все было вроде нормально, поковырялся в инете, посмотрел фильм. Выключил комп. Правда, выключался он как-то долго, но такое иногда с ним бывает (мало ли, какой процесс завис).
На второй день при включении он остановился на какой-то ошибке с inode на корневом разделе на этапе загрузки модулей. Перезагружал еще несколько раз ноут, но это не помогло. Оставил загружаться дальше. Пока загрузка продолжалась, сыпались еще такие же ошибки. Не выдержал, запустил проверку корневого раздела fsck c live-cd NimbleX. Честно говоря, не совсем понимал, что мне предлагают исправить, но по выводимым пояснениям понял, что системе пришел конец, ибо что-то там не найдено. Перезагрузив систему, убедился в этом окончательно. Windows также загрузить не удалось, ибо странным образом при проверке был поврежден загрузчик Windows Vista. Как я уже писал, загрузочного диск
72; с Windows у меня не было. Я оказался в тупике. Среди этих провинциалов даже в райцентре не найти не то что (Arch) Linux, но даже Windows Vista. Сидеть без компа, на котором была куча фильмов и музыки, скрашивающих пребывание в этой глуши, мне никак не улыбалось, и я принял решение вернуться на следующий день в город.
В городе я незамедлительно занялся решением своих проблем. Попытка исправить загрузку Windows с загрузочного диска ничего не дала, ибо он не видел установленную систему. Восстановил командой dd со сделанного еще в январе образа раздела:

dd bs=1024 if=/mnt/data/winvista.img of=/dev/sda1


Естественно, все патчи за этот период, включая SP2, канули в лету. Часть из них я поставил, но еще многое предстоит доставить. В принципе мне этого хватало для пользования ноутом на время пребывания в селе, а вернуться туда я собирался на следующее утро. Но оставалось еще время, и я решил все же попытаться поставить Arch Linux заново. Забэкапил каталоги /etc и /var/cache/pacman/pkg. Поставил систему начисто, примонтировав существующие разделы /home, /data. Правда, после этого чисто машинально снес все свои настройки командой rm вместо mv, а бэкапа не было. Но это не проблема, на рабочем компе практически те же настройки, кои я потом и забрал по SSH через инет. Создал нового пользователя. Обновил дерево пакетов. Запихнул сохраненные пакеты обратно. Поставил Gnome. На большее времени не было, надо было ложиться спать и утром на автостанцию.
По приезде начал потихоньку восстанавливать установленные ранее программы. Выявились некоторые странности. Вроде все необходимые пакеты Gnome установлены, но не устанавливаются обои на рабочий стол, хотя background-color под обоиной устанавливается. Очевидно, не хватает какой-то библиотеки, т.к. настройки такого рода в gconf-editor я не нашел. Другой проблемой стало отсутствие икон
86;к в главном меню Gnome. Позже прочитал, что разработчики Gnome планируют по дефолту убрать иконки. Очевидно, они оперативно внедрили свои планы в жизнь, ибо в чистой установке Gnome показ иконок (Система-Параметры-Внешний вид-Интерфейс) был отключен.