Ключевые слова:pppoe, modem, xdsl, linux, usb, (найти похожие документы)
From: garbagepile [At] narod.ru
Newsgroups: http://garbagepile.narod.ru/
Date: Mon, 20 Sep 2004 18:21:07 +0000 (UTC)
Subject: Настройка ADSL модема SpeedTouch 330 с USB интерфейсом под Linux
Оригинал: http://garbagepile.narod.ru/speedtouch330-howto.txt
SpeedTouch 330 + PPPoE + Линукс mini how-to
Этот документ есть плод двухдневного пляса с бубном вокруг SpeedTouch 330.
"SpeedTouch 330, несомненно является отвратительнейшим из новомодных изобретений
шайтана (после Windows 95(R) ), ибо подключается к компьютеру мерзким и
противоестественным путем, а именно через USB порт."
"Железный бестиарий"
Документ расчитан на опытных пользователей Линукс, автор ленив и не описывал
процесс сборки программ.
Автор не несет ответственности за возможные последствия применения или не
применения советов почерпнутых из данного how-to. Я не ответственнен за увечья
нанесённые Вашей системе в процессе настройки. Если Вы хотите сообщить об
ошибках или дополнить документ, пишите на garbagepile [At] narod.ru. Пожалуйста
не присылайте вопросы типа: "Как ядро собрать", я очень занят и не могу отвечать
на все письма. На http://google.com, http://www.tldp.org и opennet.ru можно найти
всю необходимую информацию по настройке ядра. В процессе настройки я использовал
материалы с сайтов:
http://linux-atm.sourceforge.nethttp://linux-usb.sourceforge.nethttp://home.sch.bme.hu/~cell/br2684http://www.roaringpenguin.com/products/rp-pppoehttp://google.com ;)
Моя радость по поводу покупки DSL линии была сильно омрачена отсутствием linux
-драйвера на инсталляционном диске. Инженер из службы поддержки сказал что под
Win, всё работает без проблем. Спросил у Google. Google отправил меня на сайт
http://speedtouch.sourceforge.net.
* Самые крутые админы могут закончить чтение здесь, ленивые могут читать дальше.
Нарыл множество howto объясняющих настройку соединения через PPPoATM и ни одного
толкового для PPPoE (Это, я имею в виду понятного даже такой бестолочи как я).
Для начала, неплохо бы позвонить в службу поддержки провайдера и выпытать
параметры соединения:
VPI - virtual path id,
VCI - virtual circuit id, ENCAPSULATION.
Когда Вас пошлют, найдите компьютер с установленной на нём Windows (R) ,
подсадите драйвер и загляните в программу диагностики (она в трее), увидите все
необходимые параметры. Выяснили?
Мой родной ISP, провайдит по: PPPoE, vpi= 8, vci= 35, encapsulation= LLC.
Моя машина это Mandrake 9.0 с ядром 2.4.25-pre7 (лучше конечно использовать
последнее стабильное, а не пререлиз).
Переходим к ядру.
В ядре необходимо включить поддержку
+ USB:
<*> Support for USB
[*] Preliminary USB device filesystem
<M> EHCI HCD (USB 2.0) support (EXPERIMENTAL)
<М > UHCI (Intel PIIX4, VIA, ...) support
<M> UHCI Alternate Driver (JE) support
<M> OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support
<M> Alcatel Speedtouch USB support (эта опция появится после того как влкючите
ATM и HDLC line discipline support )
+ PPP:
<M> PPP (point-to-point protocol) support (CONFIG_PPP)
<M> PPP support for sync tty ports (CONFIG_PPP_SYNC_TTY)
Я подключил всё что было под PPP и SLIP, на всякий случай.
+ Character devices
[*] Non-standard serial port support
<M> HDLC line discipline support *
[*]Unix98 PTY support
* HDLC line discipline support, компилируется только в виде модуля.
+ Networking Options
<*> Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
<*> Classical IP over ATM
[*] Do NOT send ICMP if no neighbour
<*> LAN Emulation (LANE) support
<*> Multi-Protocol Over ATM (MPOA) support
<*> RFC1483/2684 Bridged protocols
[ ] Per-VC IP filter kludge
+ Network device support
<M> Universal TUN/TAP device driver support
TUN device, может понадобиться, если Вы будете использовать pppoa3 демон
Вот это записываем в modules.conf:
alias char-major-108 ppp_generic
alias /dev/ppp ppp_generic
alias tty-ldisc-3 ppp_async
alias tty-ldisc-13 n_hdlc
alias tty-ldisc-14 ppp_synctty
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
Собираем ядро и перезагружаемся. Подгружаем USB, в моём случае это uhci
#modprobe uhci
Монтируем usb device file system, если она ещё не смонтирована.
#mount -t usbdevfs none /proc/bus/usb
В дальнейшем загрузку usbdevfs можно поместить в fstab:
none /proc/bus/usb usbdevfs defaults 0 0
Подгружаем: ppp_generic, ppp_synctty, n_hdlc, speedtch. Делаем lsmod и любуемся
видом подгруженных модулей. В девайсах должно появиться /dev/ppp.
Качаем firmware с сайта производителя, виндовый файл alcaudsl.sys в качестве
фирмваре не рекоммендую, у меня не заработал. Качните драйвер с утилитами
(http://speedtouch.sourceforge.net), поддержку АТМ (http://linux-atm.sourceforge.net),
последний pppd (http://www.samba.org/ppp) и PPPoE клиент (http://www.roaringpenguin.com) ,
соберите и установите по вкусу.
С сайта http://home.sch.bme.hu/~cell/br2684/ качаем утилиту-демон br2684ctl, она
создаст нам bridge интерфейс nas0. Для сборки программы нужен linux-atm, его мы
уже установили ;)
#gcc -o br2684ctl -latm br2684ctl.c
#cp ./br2684ctl /usr/sbin/br2684ctl
Настраиваем rp-pppoe. В файле /etc/ppp/pppoe.conf меняем интерфейс с eth0 на
nas0:
# Ethernet card connected to ADSL modem
ETH='nas0'
Готово!
Модем у нас хитрый, прошивку держит в ОЗУ. Сразу же после включения оба диода
светятся зелёным, это значит что модем прошёл тест, но прошивка не загружена.
Грузим:
#/usr/sbin/modem_run -k -f /usr/lib/speedtouch/firmware.bin
Лампочки немного помигают и позеленеют.
#cat /proc/net/atm/speedtch\:0
.....
Line up, firmware loaded
После этого запускаем br2684ctl с параметрами vpi & vci:
#br2684ctl -c 0 -e 0 -a 8.35 -b
Должен появится интерфейс nas0
#ifconfig nas0
nas0 Link encap:Ethernet HWaddr 00:90:DX:XX:XX:XX
....
Если интерфейс не хочет появляться и br2684ctl падает с ошибкой, проверьте есть
ли у Вас в ядре поддержка "RFC1483/2684 Bridged protocols", попробуйте:
#insmod br2684
Запускаем adsl-start
#ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:217.64.24.121 P-t-P:217.64.16.70 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
"This is the end", как говорил Джим Моррисон.
Этот скрипт вызывается у меня из /etc/rc.d/rc.local:
#!/bin/bash
echo running modem_run
/usr/sbin/modem_run -k -f /usr/lib/speedtouch/firmware.bin
sleep 5;
echo starting 2684 bridge
br2684ctl -c 0 -e 0 -a 8.35 -b
sleep 5;
echo starting pppd
adsl-start
sleep 1;
echo starting NAT
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Искренне Ваш КучаМусора
garbagepile [At] narod.ru