
Zapewne wielu z Was boryka się do dnia dzisiejszego z problemem instalacji modemu pod Debianem. Ponieważ mi się udało, a nie uważam się za guru, wierzę że i Wy uporacie się z nim raz na zawsze.
Cały proces instalacji przeprowadziłem na następującej konfiguracji systemowo-sprzętowej:
Linux: Debian Lenny amd64
Kernel: 2.6.18-4-amd64
Modem: Sagem F@st 800 E4
Łącze: Neostrada 6mbit/ TPSA
Sterowniki: ueagle4-atm, ueagle4-data
Na początku upewnijmy się czy rzeczywiście mamy do czynienia z modelem E4.
# lsusb
Oczekujemy jednego z poniższych wyników.
ID 1110:9041 Analog Devices Canada, Ltd (Allied Telesyn)
ID 1110:9042 Analog Devices Canada, Ltd (Allied Telesyn)
Upewnijmy się jeszcze, czy podczas podłączenia modemu nie ładuje nam się stary moduł eagle-usb.
# modprobe eagle-atm
Jeżeli wcześniej nie instalowaliśmy starszych sterowników to uzyskamy komunikat:
FATAL: Module eagle_atm not found.
Przygotujmy teraz nasz system do obsługi sterowników niezbędnych do pracy naszego modemu. W pierwszej kolejności musimy zaopatrzyć nasz system w następujące pliki. Wkładamy pierwszą płytę instalacyjną i wydajemy polecenia:
# apt-cdrom add
# apt-get install linux-headers-$(uname -r) gcc g++ cpp binutils m4 libncurses5-dev libc6 udev usbutils ppp
Następnie sciągamy sterowniki do modemu. Ja zrobiłem to pod Windowsem i podmątowałem partycję. Zakładam, że potraficie to zrobić.
firmware:
ueagle4-data-1.0.tar.gz
firmware:
ueagle4-data-1.0.tar.gz - mirror
driver:
ueagle4-atm.tar.gz
driver:
ueagle4-atm.tar.gz - mirror
Kopiujemy sterowniki do wcześniej stworzonego katalogu /tmp/ueagle4
$ mkdir /tmp/ueagle4
$ cp /mnt/winxp/d/ueagle4/* /tmp/ueagle4
$ cd /tmp/ueagle4
Rozpakowujemy i kompilujemy koniecznie z opcją nodebug. Jeśli tego nie zrobisz, twoja konsowa będzie się wypełniała błędami generowanymi przez kernel.
$ tar -xf ueagle4-atm.tar.gz
$ cd /tmp/ueagle4/ueagle4-atm
$ make nodebug
# make install
Jeśli proces kompilacji przebiegał bezbłędnie to szukamy lokalizacji naszego skompilowanego modułu.
# find /lib/modules/ -name "ueagle-atm*
Najprawdopodobniej znajdziecie go w katalogu:
/lib/modules/2.6.18-4-amd64/extra/ueagle-atm.ko
Przenosimy nowe moduły (ueagle-atm.ko, usbatm.ko) z wyżej podanej lokalizacji do nowego katalogu, który musimy stworzyć. Upewnij się czy wyżej wymieniony katalog jest pusty po przeniesieniu plików. Sprawa jest o tyle istotna, gdyż w przeciwnym wypadku moduły będą ładowane niewłaściwie!
# mkdir /lib/modules/2.6.18-4-amd64/ueagle4
# mv /lib/modules/2.6.18-4-amd64/extra/*.ko /lib/modules/2.6.18-4-amd64/ueagle4
Usuwamy stary moduł, ładujemy nowy oraz sprawdzamy czy został poprawnie załadowany.
# rmmod ueagle-atm
# depmod -ae
# modprobe ueagle-atm
# modprobe usbatm
# lsmod |grep ueagle
Powinniśmy ujrzeć coś na podobieństwo tego:
ueagle_atm 49700 0
firmware_class 15616 1 ueagle_atm
usbatm 27776 2 ueagle_atm
Wydając polecenie modinfo ueagle-atm przekonamy się, że nasza wersja modemu jest obsługiwana przez kernel.
# modinfo ueagle-atm
Naszym oczom ukaże się kilka wierszy, wśród których powinny znajdować się również te najbardziej istotne (wytłuszczone).
filename: /lib/modules/2.6.18-4-amd64/ueagle4/ueagle-atm.ko
license: Dual BSD/GPL
description: ADI 930/Eagle USB ADSL Modem driver
author: Damien Bergamini/Matthieu Castet/Stanislaw W. Gruszka
vermagic: 2.6.18-4-amd64 SMP mod_unload gcc-4.1
depends: usbatm,firmware_class
alias: usb:v0BAFp00F7d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BAFp00F8d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BAFp00F5d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BAFp00F6d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BAFp00F9d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BAFp00FAd*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BAFp00F1d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BAFp00F2d*dc*dsc*dp*ic*isc*ip*
alias: usb:v05CCp3350d*dc*dsc*dp*ic*isc*ip*
alias: usb:v05CCp3351d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1039p2120d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1039p2121d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1039p2130d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1039p2131d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1039p2100d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1039p2101d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1039p2110d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1039p2111d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1110p9041d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1110p9042d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1110p9031d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1110p9032d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1110p9023d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1110p9024d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1110p9021d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1110p9022d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1110p900Fd*dc*dsc*dp*ic*isc*ip*
alias: usb:v1110p9010d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1110p9000d*dc*dsc*dp*ic*isc*ip*
alias: usb:v1110p9001d*dc*dsc*dp*ic*isc*ip*
parm: debug:module debug level (0=off,1=on,2=verbose) (uint)
parm: altsetting:alternate setting for incoming traffic: 0=bulk, 1=isoc slowest, ... , 8=isoc fastest (default) (array of uint)
parm: sync_wait:wait the synchronisation before starting ATM (array of bool)
parm: cmv_file:file name with configuration and management variables (array of charp)
parm: annex:manually set annex a/b (0=auto, 1=annex a, 2=annex b) (array of uint)
Od tej pory nasz system rozpoznaje nasz model modemu. Następnie możemy spokojnie przejść do etapu instalacji firmware.
$ cd /tmp/ueagle4
$ tar -xf ueagle4-data.tar.gz
# mkdir /lib/firmware/ueagle-atm
# cp /tmp/ueagle4/ueagla4-data/* /lib/firmware/ueagle-atm
W katalogu /lib/firmware/ueagle-atm powinny znajdować się następujące pliki:
CMV4p.bin.v2
DSP4p.bin
e4_dsp_pots.bin
eagleIV.fw
Podłączamy kolejny raz modem i komendą dmesg sprawdzamy czy firmware został poprawnie załadowany. Oto oczekiwane wyniki:
[ueagle-atm] pre-firmware device, uploading firmware
[ueagle-atm] loading firmware ueagle-atm/eagleIV.fw
[ueagle-atm] firmware uploaded
Oznacza to, że nasz modem został poprawnie zainstalowany. Wystarczy teraz odpowiednio go skonfigurować. W tym celu tworzymy nowe pliki i wypełniamy je niezbędnym tesktem.
# touch /etc/ppp/peers/neo
debug
kdebug 1
user rejestracja@neostrada.pl
name rejestracja@neostrada.pl
asyncmap 0
lcp-echo-interval 2
lcp-echo-failure 7
plugin pppoatm.so
0.35
noauth
usepeerdns
noipdefault
defaultroute
holdoff 4
persist
maxfail 25
# touch /etc/ppp/pap-secrets
"rejestracja@neostrada.pl" * "hasło" *
W miejsce rejestraca@neostrada.pl należy podać otrzymaną nazwę użytkownika. W pliku chap-secrets wartosci są w cudzysłowiach. Dopisujemy jeszcze adresy DNS do pliku /etc/resolf.conf.
# vim /etc/resolf.conf
nameserver 194.204.152.34
nameserver 194.204.159.1
Pozostaje nam tylko uruchomić neostradę. W tym celu skorzystamy z komendy:
# pppd call neo
Powinien wyświetlić się poniższy tekst:
Plugin pppoatm.so loaded.
Na koniec upewnijmy się, czy został stworzony protokół ppp0.
# ifconfig
eth0
Link encap:Ethernet HWaddr 03:A1:B2:01:1E:EE
inet addr:192.168.0.1 Bcast:192.168.0.63 Mask:255.255.255.0
inet6 addr: fe80::2a1:b0ff:fe01:2eea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1492 Metric:1
RX packets:32 errors:0 dropped:0 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2568 (2.5 KiB) TX bytes:3435 (3.3 KiB)
Interrupt:233 Base address:0xec00
loopback
Link encap:Local Loopback
net addr:127.0.0.1 Mask:255.0.0.0
net6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
Collisions:0 txqueuelen:0
RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)
ppp0
Link encap:Point-to-Point Protocol
inet addr:83.27.62.12 P-t-P:213.25.2.110 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:1279 (1.2 KiB) TX bytes:1307 (1.2 KiB)
Życzę owocnej współpracy z Sagem`em. Czekam również na wasze komentarze.