Вот, решил поделиться с народом как настроить СТРИМ под Linux через USB ADSL модем Huawei MT810. Просто очень удивила реакция многих Гуру на вопросы относительно вообще всех USB ADSL-модемов и оного в частности. Согласен, не все очевидно и безглючно, но ведь когда на халяву дают, нельзя же отказываться! =)
Недавно прошла акция "СТРИМ-Субботник" по которой раздавали при подключении в комплекте оборудования HUAWEI SmartAX MT810 ADSL USB Modem бесплатно (с оговоркой в контракте потом вернуть). Итак досталось мне сие чудо китайской инженерной мысли номинальной стоимостью 49 у.е совершенно на халяву. Это присказка, проблемы дальше будут. В офисе подключения на мой вопрос заведется ли железо под Linux на меня посмотрели как на душевнобольного идиота (не знаю, может так и есть ;). Пришёл домой и обнаружил что действительно, дровов-то только под Win, и то не раньше W2K. Самое интересное, что дома под WinXP так и не завелось. Ну да ладно. Решил порыться в Нете. Одни вопросы и ни одного ответа про эту железку (что собственно и подвигло к написанию мануала). Итак, поехали.
На странице http://www.mtustream.ru/01/index.php?productID=106 (справа) есть драйвер http://www.mtustream.ru/huawei-mt-810-linux.zip. От него нам понадобится только PPPoE редиректор для ppp от Analog Devices Inc (производитель чипа): PPPOE_351.rpm.
Еще там был EAGLE_USB_LINUX.tar, но прочитав в readme что "This driver has only been verified with RedHat 7.2", решил поискать поновее.
В процессе дальнейших поисков наткнулся на http://faq.eagle-usb.org/wakka.php?wiki=ModemSupport и вычитал, что эта штука (MT810) основана на чипе Eagle USB II. Сходил на http://www.eagle-usb.org/ и взял Eagle-usb-2.1.1.Stable:
http://baud123.free.fr/eagle-usb/eagle-usb-2.1.0/eagle-usb-2.1.1.tar.bz2
http://prdownloads.sourceforge.net/eagle-usb/eagle-usb-2.1.1.tar.bz2?download
Этот драйвер работает на Mandrake, RedHat, Fedora Core, Slackware, SuSE, Debian, Gentoo... По крайней мере так заявлено на странице разарботчика http://dev.eagle-usb.org/wakka.php?wiki=EagleUsb211
Под рутом устанавливаем PPPoE:
# rpm -i PPPOE_351.rpm
Далее обычным юзером компилим модуль драйвера и генерим утилиты:
> tar -xzvf eagle-usb-2.1.1.tar.bz2
> cd eagle-usb-2.1.1
> ./configure
> make
Рутом
# make install
После чего говорим eagleconfig и выбираем RU01 (RU01 : Russia MTU-Intel 01 50 01 PPPoE LLC). Далее на приглашение "Enter your login for connecting to the ISP (given by your ISP):" вводим наш pppXXXXXXX@mtu. "Enter your password (given by your ISP):" - вводим пасс. Отвечаем 'n' на вопросы "Does your ISP support password encryption? [y]/n" и "Do you want the connection to automaticaly be started at boot? y/[n]".
Далее скрипт может подвиснуь, если модем все еще не установил соединение с линией, либо может предложить запустить startadsl. Забиваем на это. В принципе это нужно было только для генерации файла /etc/eagle-usb/eagle-usb.conf. Но там ошиблись. Параметр VCI пишется в 10-тичной системе считления, а должен переводиться в 16-тиричную.
У меня модем устанавливал соединение с линией, я видел что он определил выделенную ему провайдером скорость (eaglestat), но adsl-start вываливался по таймауту, либо модем вообще не мог установить соединение с линией. Я это заметил когда запустил eaglestat и обнаружил, что VCI=80 (это как раз 50 в 16-тиричной).
Идем в /etc/eagle-usb/eagle-usb.conf, находим
# VPI / VCI are in hexa (8, 23) is 8,35 in decimal
VPI=00000001
VCI=00000050
и правим VCI на значение 50 в 16-ричной системе счисления, т.е. 32:
VCI=00000032
После чего запускаем adsl-setup и настраиваем подключение.
DNS-сервера СТРИМ'а: 212.188.4.10 (primary) и 195.34.32.116 (secondary).
После чего можно смело запускать adsl-start. Все должно работать. Возможно startadsl тоже получится. Должен появиться ppp0. Маршрут по умолчанию должен проходить через IP ppp-сервера на стороне провайдера. Еще возможно нужно будет скопировать настройки из /etc/ppp/resolv.conf в /etc/resolv.conf.
ПРОБЛЕМЫ.
-----------------------------------------
Возможно нужно будет перезагрузиться. Либо поможет eaglectrl -d.
Необходимо дождаться когда будет гореть не только светодиод "Power" но и "Link". Это значит что VPI и VCI выставлены правильно и он установил соединение с линией (eaglestat, eaglediag).
Необходимо чтобы модуль ядра был подгружен и модем "be operational" (т.е. power+link, диагностика при помощи eaglediag).
Если все в порядке, то запустив ifconfig можно увидеть новый eth-интерфейс без ip и с MAC-адресом модема (eaglectrl -i). Это значит, что USB-драйвер подхватил железку. Так бывает не всегда, посмотреть определилась ли железка можно через lsusb. Возможно eth-интерфейс нужно будет поднять вручную: ifconfig eth1 up (мне пришлось иак сделать на другом компьютере).
У меня еще был глюк с USB. Железка отваливалась сама при загрузке ОС. Т.е. определялась, пыталась установить соединение с линией, а потом отваливалась от USB. Убрал USB удлинитель, поменял USB-мышь с железкой портами - заработало после ребута.
В общем вариантов масса. Я настраивал на ноутбуке и на обычном компе. На обоих Linux SuSE 9.1. Глюки были разные, но везде в конце-концов заводилось. Даже с исходным ядром 2.6.4-52-default.
Необходимые материалы для этого N-е количество времени на RTFM, "напильник" и пониание происходящего благодаря RTFM'у. У меня все заработало на третий вечер.
Don't Give Up! Все в Ваших руках.
P.S. Прошу за мануал не пинать. Как выяснилось, написать хороший мануал почти так же трудно, как решить проблему им описываемую.
ivan sobaka domonet dot ru
aka boatman on LOR