artykuły
Powrót do listy artykułów

Temat artykułu: Neostrada plus na Linux
Tekst napisał tokarz dnia 14-01-2005

Pamiętam niepamiętne czasy, gdy ludzie wchodzili na kanały irc i pytali jak uruchomić neo+, bo monterzy z tpsa powiedzieli im, że na Linuksie nie da się tego uruchomić :) Wydawało mi się to tak niepotrzebne, że nawet się w to nie zagłębiałem. Teraz z pewnych powodów zaczęłem się interesować neo+. Instalacja jest banalna, więc zaczynamy.

Naturalnie opis tyczy się slacka :)

Zaczniemy od konfiguracji karty sieciowej. Jeśli posiadasz już takową, to musisz wiedziec na jakim chipsecie pracuje.

Ja mam jakąś z chipsetem rtl8139, z czego wynika, że muszę załadować moduł 8139too.

Jeśli posiadasz slacka 9.0 i rtl8139 to przy bootowaniu systemu może wystąpić problem, skrypt startowy rc.hotplug wykryje Twoją kartę jako 8139plus, i będzie chciał ładować moduł 8139cp. Dopiero po nieudanej próbie załaduje 8139too, niby nic strasznego, ale taki proces zaśmieca strasznie ekran startowy komunikatami o błędach.

Ja wyrzuciłem paczkę hotplug i już nie mam problemu, polecam zrobić tak samo, no chyba, że jesteś początkujący i chcesz zrobić z Slacka coś w rodzaju Mandrake ;-)

Oks, teraz czas przejść do automatycznego ładowania modułu na starcie, robisz to w /etc/rc.d/rc.modules, po prostu musisz odhashować linijkę /sbin/modprobe 8139too. Żeby sprawdzić czy wszystko poszło tak jak chcieliśmy, rebootnij kompa.

Wpisz lsmod |grep 8139, powinieneś mieć mniej więcej taki wpis:
8139too 15208 0 (unused)
mii 2432 0 [8139too]

Jeśli tak masz to jest wporządku. Przechodzimy do konfiguracji neo+.

Z www.roaringpenguin.com musisz sciągnąć pakiet klienta PPPoE. Nim jednak to zrobisz sprawdź czy już nie masz odpowiedniego oprogramowania, po prostu wpisz adsl-setup, jeśli nic nie wyskoczy to znaczy, że musisz ściągnąć ten pakiecik, jeśli zaś uruchomi się program to nie musisz. Zakładam że nie masz tego pakietu, więc ściągasz go i rozpakowujesz. Konfigurację zaczynasz przez wpisanie ./go, po kolei wypełniasz odpowiednie pola, najważniejszymi są:

Enter your PPPoE user name - wpisujesz nazwę jaka dostałeś od tpsa (jeśli pierwsze bootnięcie neo+ to wpisz rejestracja@neostrada.pl)

Interface - tutaj podajesz nazwę karty sieciowej, eth0 jeśli masz jedną

Enter the demand value: no

DNS Information: 194.204.159.1
Secondary DNS: 194.204.152.34
- w razie jeśli pierwszy by zawiódł

PPPoE password: tutaj podajesz hasło, które dostałeś od tpsa

Re-enter password: powtarzasz hasło (jeśli pierwsze bootnięcie neo+ wpisz rejestracja)

Choose a type of firewall: podaj 0

Accept these settings - y jeśli wszystko wypełniłeś w porządku


Teraz wpisz adsl-start i wejdź na stronę http://rejestracja.neostrada.pl, jeśli to pierwsze uruchomienie neo+, jeśli już kiedyś aktywowałeś neo+, możesz już się cieszyć internetem. Po rejestracji dostajesz dwa parametry, zapisz je sobie i od nowa uruchom adsl-setup, poprawnie wpisując odpowiednie info.

A teraz muszę dodać małe sprostowanie, a raczej uzupełnienie do tego artu. Od niedawna, w życie weszła samoinstalacja neostrady plus. Bardzo burzliwym tematem jest jej podłączenie. Zmiana polega na tym, że do tej pory neo+ działała pod eth, a teraz pod USB. Cały problem polega na instalacji sterowników dostarczonych przez Francuzików. Nie ma opcji, żeby dobrze działały :). Dlatego my skożystamy z wersji opensource sterów do Sagema. Oks, zabieramy się, bo się podjarałem, że już mi działa all :)

Na sam początek trzba zacząć od rekompilacji jajka. Wpisujesz:

cd /usr/src/linux

make menuconfig
i w sekcji General Setup wybierasz:
[*] Support for hot-pluggable devices
W sekcji Network Device Support:
<M> PPP (point-to-point protocol) support
<M> PPP support for async serial ports
<M> PPP deflate compression
<M> PPP BSD-compress compression

Ostatnie dwa moduły są nieużyteczne, zaznaczasz je tylko po to, żeby żadne błędy (przez pppd )nie były zgłaszane, kiedy modem jest podłączony pod komputer.
W Character devices:
[*] Unix98 PTY support
W USB Support:
<M> Support for USB [*] Preliminary USB device filesystem
<M> USB Modem (CDC ACM) support

Podobnie jak wcześniej, ostatni moduł nie jestpotrzebny, zaznacz go, aby kernel nie wyświetlał żadnych błędów, gdy modem jest podłączony pod komputer.
Wybierz jeszcze:
<M> EHCI HCD (USB 2.0) support (EXPERIMENTAL) /USB 2.0/
<M> UHCI (Intel PIIX4, VIA, ...) support
<M> UHCI Alternate Driver (JE) support

lub
<M> OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support /USB 1.1/ w zależności od Twojego USB. Jeśli nie wiesz co masz, zaznacz wszystkie te moduły.

Teraz czas zainstalować nowe stery do neo+. Ściągnij je stąd.
Wszystko ładnie kompilujesz (make clean, make, make install). W czasie kroku make install wystąpi Ci jakiś francuski komunikat. W tym momencie podajesz nazwę użytkownika. Poźniej hasło i na koniec 'n' wpisujesz (pytenie te dotyczy, czy neo+ ma być automatycznie uruchamiana wraz z systemem. Nie polecam tego kroku, dopóki nie sprawdzę sam co i jak. U mnie system oszalał, gdy wybrałem 'tak'. Na pierwszej konsoli wyświetlały mi się setki linijek logów na temat pracy modemu, ale nad tym popracuję.

W /etc/analog/adiusbadsl.conf kasujesz wszystko co jest i wklejasz poniższe:

#################################
######### ADSL F@st800
#########
######### SAGEM Company #########
#################################

#POTS FOR EAGLE
OPTN0=80020066
OPTN4=00000000
#Enable OPTN16 for WT-062 testing only
#OPTN16=80818040
VPI=00000000
VCI=00000023
#Note that the following value for encapsulation is in hex and define
#values in Konst.h are decimal. For example value for PPPOA_VC in
#header file is 6 decimal which is 6 in Hex, therefore if we want to use
#PPPOA_VC then we should put 6 in the following line for Encapsulation
#The following values are valid for encapsulation :
#MPOA_MODE_BRIDGED_ETH_LLC ----> 1
#MPOA_MODE_BRIDGED_ETH_VC ----> 2
#MPOA_MODE_ROUTED_IP_LLC ----> 3
#MPOA_MODE_ROUTED_IP_VC ----> 4
#MPOA_MODE_PPPOA_LLC ----> 5
#MPOA_MODE_PPPOA_VC ----> 6
Encapsulation=00000006
Linetype=00000001
RatePollFreq=00000009

Teraz musisz załadować moduł do modemu. Nosi on nazwę adiusbadsl /moduł ładujesz poleceniem insmod adiusbadsl/. Zgodnie z plikiem readme.txt zamieszczonym w źródłach sterów musi zamotować wirtualny system plików usbdevfs. Wpisz:
mount -t usbdevfs none /proc/bus/usb
Nom, niemal koniec. Wpisz adictrl -w. Po tym kroku do modemu zostanie wysłany plik konfiguracyjny, modem zostanie zsynchronizowany itp. Możesz już wpisać startadsl, żeby nawiązać połączenie.

Ja miałem na początku problem z nawiązaniem połączenia na dns. Do resolv.conf wpisz:
nameserver 194.204.152.34
nameserver 217.98.63.164

A teraz czas na automatyzację połączenia (niestety ta, którą można uruchomić ze sterowników nie działa zbyt dobrze - kilka linijek wcześniej jest o tym napisane).
Do skryptu /etc/rc.d/rc.modules dodaj na samym dole taką linijkę:
/sbin/modprobe adiusbadsl - dzięki temu moduł do modemu będzie ładowany co uruchomienie systemu
Do /etc/rc.d/rc.local dopisz (też gdzieś na dole):
mount -t usbdevfs none /proc/bus/usb - automatycznie montuje wirtualny system plików
adictrl -w - wysyła plik conf, synchronizuje modem, itp.
startadsl - nawiązuje połączenie

Przed uruchomieniem komputera proponuję ręczne nawiązanie połączenia, w celu weryfikcaji czy wszystko skonfigurowałeś(aś) prawidłowo.

Informacje od czytających:

W przypadku, gdy posiadasz sieć, może wystąpić problem z MTU. Strony takie jak www.tucows.com czy poczta.interia.pl nie chcą działać. Wystarczy wpisać:
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu