SpeedTouch 330
| Poniższy artykuł należy zintegrować z artykułem Neostrada. |
SpeedTouch 330 to modem działający w technologii ADSL produkowany przez Thomson/Alcatel. Na polskim rynku wykorzystują go takie firmy jak TPSA (Neostrada), Multimedia (Emil), Netia (Net24), MNI (InterNeo). Istnieje kilka wersji tego modemu, co jest przyczyną drobnych, acz irytujących pomyłek podczas korzystania z niego. Dodatkowo dochodzą różne parametry ADSL dla różnych dostawców tej usługi, które są mylone przez mniej doświadczonych użytkowników.
Powstało do tego modemu kilka automatycznych narzędzi konfiguracyjnych. Jednak ze względu na niejasną licencję firmware, który zawierały, nigdy nie trafiły do żadnej dystrybucji. Powstały też programy, które pozwalają półautomatycznie skonfigurować usługę ADSL po dostarczeniu firmware. W openSUSE równie dobrze można ten modem skonfigurować za pomocą YaST.
Jednak dla osób, które wolą mieć pełną kontrolę nad tym modemem, warto skorzystać z poniższego opisu:
Wskazówka: Mniej doświadczeni użytkownicy openSUSE również mogą skorzystać z poniższego opisu. Wymaga on rozumienia następujących pojęć, poleceń i sposobu poruszania się w trybie tekstowym (konsoli):
stefan@d400:~$ cd /home/stefan/Desktop/ stefan@d400:~/Desktop$ ls przyklad1 przyklad2 SpeedTouch330_firmware_3012 SpeedTouch330_firmware_3012.zip stefan@d400:~/Desktop$ cd SpeedTouch330_firmware_3012/ stefan@d400:~/Desktop/SpeedTouch330_firmware_3012$ ls firmware-extractor speedtch-1.bin speedtch-2.bin ZZZL_3.012
stefan@d400:~/Desktop$ ls przyklad1 przyklad2 SpeedTouch330_firmware_3012 SpeedTouch330_firmware_3012.zip stefan@d400:~/Desktop$ cd ./Spee[naciśnij tab] stefan@d400:~/Desktop$ cd SpeedTouch330_firmware_3012/ stefan@d400:~/Desktop/SpeedTouch330_firmware_3012$ ls firmware-extractor speedtch-1.bin speedtch-2.bin ZZZL_3.012 stefan@d400:~/Desktop/SpeedTouch330_firmware_3012$ cd /home/stefan stefan@d400:~/Desktop/SpeedTouch330_firmware_3012$ cd /home/stefan/ stefan@d400:~$
touch /home/stefan/pusty_plik
chmod +x /home/stefan/plik |
Spis treści |
Identyfikacja wersji modemu
W Polsce dostępne są następujące wersje modemu SpeedTouch 330 tzw. "Revision 2.00" i "Revision 4.00". Niestety na obudowie nie ma żadnych informacji o wersji modemu, który posiadamy. Na szczęście narzędzia zawarte w openSUSE pozwolą nam sprawnie wszystko ustalić. Można w tym celu wykorzystać poniższe polecenie - proszę zwrócić uwagę na wersję modemu (Revision), w przykładzie zarte są informacje o obu modelach:
hwinfo --usb
06: USB 00.0: 0000 Unclassified device [Created at usb.122] UDI: /org/freedesktop/Hal/devices/usb_device_6b9_4061_000E501DD3BE_if0 Unique ID: mZxt.3kyR12RqrY5 Parent ID: uIhY.9NZE2m2BCy9 SysFS ID: /devices/pci0000:00/0000:00:1d.2/usb3/3-2/3-2:1.0 SysFS BusID: 3-2:1.0 Hardware Class: unknown Model: "Alcatel Telecom Speed Touch ISDN" Hotplug: USB Vendor: usb 0x06b9 "Alcatel Telecom" Device: usb 0x4061 "Speed Touch ISDN" Revision: "4.00" Serial ID: "000E501DD3BE" Driver: "usbfs" Speed: 12 Mbps Module Alias: "usb:v06B9p4061d0400dcFFdsc00dp00icFFisc00ip00" Driver Info #0: Driver Status: speedtch is not active Driver Activation Cmd: "modprobe speedtch" Config Status: cfg=new, avail=yes, need=no, active=unknown Attached to: #5 (Hub)
05: USB 00.0: 0000 Unclassified device [Created at usb.122] UDI: /org/freedesktop/Hal/devices/usb_device_6b9_4061_0090D0A94DC2_if0 Unique ID: FKGF.2+3YSbLEt_1 Parent ID: pBe4.w1fIgtrDwD5 SysFS ID: /devices/pci0000:00/0000:00:0a.1/usb2/2-1/2-1:1.0 SysFS BusID: 2-1:1.0 Hardware Class: unknown Model: "Alcatel Telecom Speed Touch ISDN" Hotplug: USB Vendor: usb 0x06b9 "Alcatel Telecom" Device: usb 0x4061 "Speed Touch ISDN" Revision: "2.00" Serial ID: "0090D0A94DC2" Driver: "speedtch" Speed: 12 Mbps Module Alias: "usb:v06B9p4061d0200dcFFdsc00dp00icFFisc00ip00" Driver Info #0: Driver Status: speedtch is active Driver Activation Cmd: "modprobe speedtch" Config Status: cfg=new, avail=yes, need=no, active=unknown Attached to: #4 (Hub)
W krytycznych sytuacjach można skorzystać z lsusb - proszę zwrócić uwagę na wiersz zawierający bcdDevice, będzie on oznaczać wersję (Revision) naszego modemu:
lsusb -v
Bus 002 Device 002: ID 06b9:4061 Alcatel Telecom SpeedTouch ISDN or ADSL Modem Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x06b9 Alcatel Telecom idProduct 0x4061 SpeedTouch ISDN or ADSL Modem bcdDevice 2.00 iManufacturer 1 iProduct 2 iSerial 3 bNumConfigurations 1
Bus 001 Device 002: ID 06b9:4061 Alcatel Telecom SpeedTouch ISDN or ADSL Modem Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x06b9 Alcatel Telecom idProduct 0x4061 SpeedTouch ISDN or ADSL Modem bcdDevice 4.00 iManufacturer 1 THOMSON iProduct 2 Speed Touch 330 iSerial 3 0018F66BD0E5 bNumConfigurations 1
Wersję (Revision) modemu jest troszeczkę trudniej rozpoznać w tym wypadku, ale jest to możliwe.
Wybór firmware
Archiwum z firmware najlepiej pobrać ze strony producenta:
Archiwum należy rozpakować. Procedura w konsoli będzie wyglądać tak:
stefan@d400:~/Desktop$ unzip SpeedTouch330_firmware_3012.zip Archive: SpeedTouch330_firmware_3012.zip inflating: KQD6_3.012 inflating: ZZZL_3.012
Jak widać w katalogu, w którym wykonaliśmy polecenie, zostały wypakowane dwa pliki:
- KQD6_3.012 dla Revision 2.00
- ZZZL_3.012 dla Revision 4.00
Przygotowanie firmware
Sterownik, który obecny w jądrze openSUSE, wymaga, aby firmware został podzielony na dwie części. Najprostszym sposobem podzielenia firmware jest skorzystanie z narzędzia firmware-extractor:
Wskazówka: W większości przeglądarek firmware-extractor prawdopodobnie się wyświetli. Nie ma to znaczenia i należy go zapisać. Można oczywiście do pobrania firmware-extractor wykorzystać wget wpisując w konsoli:
wget http://www.linux-usb.org/SpeedTouch/firmware/firmware-extractor |
Dzielenie firmware nie jest jest trudne. Nasze pliki, czyli odpowieni dla naszego modemu firmware i firmware-extractor najwygodniej umieścić w jednym katalogu. Należy nadać prawa do uruchomienia plikowi firmware-extractor i podzielić plik firmware. Przykładowa sesja w konsoli będzie wyglądać w następujący sposób:
- Dla modemu SpeedTouch 330 Revision 2.00
stefan@d400:~/Desktop/przyklad1$ ls firmware-extractor KQD6_3.012 stefan@d400:~/Desktop/przyklad1$ chmod +x ./firmware-extractor stefan@d400:~/Desktop/przyklad1$ ./firmware-extractor ./KQD6_3.012 ** Boot block from ./KQD6_3.012: CRC: 0xd80bf9f7 Length: 991 ** Firmware block from ./KQD6_3.012: CRC: 0x78039fed Length: 762650 stefan@d400:~/Desktop/przyklad1$ ls firmware-extractor KQD6_3.012 speedtch-1.bin speedtch-2.bin
- Dla modemu SpeedTouch 330 Revision 4.00
stefan@d400:~/Desktop/przyklad2$ ls firmware-extractor ZZZL_3.012 stefan@d400:~/Desktop/przyklad2$ chmod +x ./firmware-extractor stefan@d400:~/Desktop/przyklad2$ ./firmware-extractor ./ZZZL_3.012 ** Boot block from ./ZZZL_3.012: CRC: 0x69636579 Length: 935 ** Firmware block from ./ZZZL_3.012: CRC: 0x41d4143c Length: 775545 stefan@d400:~/Desktop/przyklad2$ ls firmware-extractor speedtch-1.bin speedtch-2.bin ZZZL_3.012
Przygotowany firmware należy skopiować do katalogu /lib/firmware. W konsoli będzie wyglądać to tak:
stefan@d400:~/Desktop/przyklad2$ su Hasło: d400:/home/stefan/Desktop/przyklad2# ls firmware-extractor speedtch-1.bin speedtch-2.bin ZZZL_3.012 d400:/home/stefan/Desktop/przyklad2# cp ./speedtch-1.bin /lib/firmware/ d400:/home/stefan/Desktop/przyklad2# cp ./speedtch-2.bin /lib/firmware/ d400:/home/stefan/Desktop/przyklad2# cd /lib/firmware/ d400:/lib/firmware# ls ipw2200-bss.fw ipw2200-ibss.fw ipw2200-sniffer.fw LICENSE.ipw2200-fw speedtch-1.bin speedtch-2.bin
Alternetywny sposób podziału firmware
Firmware do SpeedTouch można również podzielić przy pomocy polecenia dd.
| Uwaga: Mniej zaawansowanym użytkownikom zalecam jednak powyższy sposób - jest prostszy. Poniższy sposób mogą zignorować i przejść do następnej części tego artykułu.. |
- Dla KQD6_3.012:
dd bs=1 count=991 skip=36 if=./KQD6_3.012 of=./speedtouch-1.bin dd bs=1 count=763677 skip=1027 if=./KQD6_3.012 of=speedtouch-2.bin
Dla porządku sprawdzamy sumy kontrolne sha1
sha1sum speedtouch-* 06dfb9c0be97204d8dffa7f8966127dbc57d5eba speedtouch-1.bin 11647de2b71b7c28ad55af0efe5834c8cdeff025 speedtouch-2.bin
- Dla ZZZL_3.012:
dd bs=1 count=935 skip=32 if=./ZZZL_3.012 of=./speedtouch-1.bin dd bs=1 count=775545 skip=967 if=./ZZZL_3.012 of=speedtouch-2.bin
Dla porządku sprawdzamy sumy kontrolne sha1
sha1sum speedtouch-* a7e4b7038dd266dea69e7fb4230b11cca3aa78e2 speedtouch-1.bin 717e366a8051f30a3ab0becb4f90130710e54609 speedtouch-2.bin
Więcej informacji:
Testowanie firmware
Po przekopiowaniu firmware najprostszym sposobem sprawdzenia poprawności firmware jest ponowne uruchomienie komputera z podłączonym do niego modemem SpeedTouch 330. Należy obserwować umieszczone na nim diody. Pozwoli to ustalić, czy modem synchronizuje się poprawnie. Podczas uruchamiania openSUSE sygnalizacja diód powinna wyglądać podobnie do poniższej (podaję w kolejności):
| Sygnał diód | Opis | Uwagi |
|
|
|
|
|
|
|
|
|
|
|
Rozwiązywanie problemów
| Sygnał diód | Opis | Uwagi |
|
|
|
|
|
|
|
|
ADSL w Polsce
| Uwaga: Wiele innych opisów usługi ADSL, np. do konfiguracji routerów, określają PPPoE i PPPoA jako protokół, a typy enkapsulacji, które są wykorzystywane VC-MUX i LLC, nazywają enkapsulacją. |
| Uwaga: Niektóre narzędzia do konfiguracji i opisy do nich, np. graficzne, określają PPPoE jako PPP przez Ethernet (PPP over Ethernet), a PPPoA jako PPPoATM, PPP przez ATM (PPP over ATM). |
Z punktu widzenia konfiguracji modemu SpeedTouch 330 ważne są następujące dane o usłudze:
- protokół enkapsulacji (PPPoE lub PPPoA)
- wartości Virtual Path Identifier (VPI) i Virtual Circuit Identifier (VCI)
Charakterystyka usługi ADSL polskich dostawców:
| Dostawca | Nazwa usługi | Protokół enkapsulacji | VPI | VCI | Uwagi |
| TPSA | Neostrada | PPPoA | 0 | 35 | ST 330 działa 100% poprawnie. |
| Netia | Net24 na łączach TPSA | PPPoA | 0 | 35 | ST 330 działa 100% poprawnie. |
| Netia | Net24 na łączach Netii | PPPoE | 8 | 35 | ST 330 działa 100% poprawnie. |
| Multimedia Polska | PPPoE | 0 | 33 | ST 330 działa 100% poprawnie. | |
| GTS Energis | Multimo | PPPoE | 0 | 35 | Nie sprawdzono. Źródło |
| COIG SA (Katowice) | |||||
| Telekomunikacja Kolejowa | |||||
| eTOP | eTLINK | PPPoA | 0 | 35 | Nie sprawdzono. Źródło |
| Okręgowa Spółdzielnia Telefoniczna (Tyczynie) | |||||
| Polska Telefonia Cyfrowa | |||||
| Telefony Podlaskie S.A. (Sokołow Podlaski i okolice) | |||||
| Telefonia Dialog S.A. | DialNet | RFC1483 | 1 | 32 |
|
Obsługa modemu przy pomocy skryptów
Obsługa modemu SpeedTouch będzie wymagac zainstalowania następujących pakietów linux-atm, ppp, pppoa. Najłatwiej zainstalować je wydając w konsoli polecenie:
yast -i linux-atm ppp
| Wskazówka: Warto do instalacji wykorzystywać menedżery pakietów takie jak YaST, czy zypper, gdyż jeżeli będzie to konieczne automatycznie doinstalują brakujące pakiety |
| Uwaga: By załadować moduły po instalacji pakietów mniej doświedczeni użytkownicy mogą po prostu uruchomić komputer ponownie. Więcej informacji dostępne w części Rozwiązywanie problemów |
Należy przygotować nasze login i hasło do usługi ADSL.
| Uwaga: Dostawcy tacy jak TPSA, czy Netia umieścili w loginie domenę, natomiast Multimedia Polska podaje sam login (bez domeny). |
| Wskazówka: Jak edytować pliki. |
Należy wpisać IP serwerów nazw (servery DNS, name server). W tym celu edytujemy plik /etc/resolv.conf.
Jego zawartość powinna zawierać:
# Moje serwery nazw (DNS) nameserver 213.241.79.37 nameserver 83.238.255.76
| Uwaga: # w pliku oznacza komentarze dla użytkowników. Informacje po znaku # nie będą odczytywane przez system. |
Następnie edytujemy zawartość plików:
/etc/ppp/chap-secrets /etc/ppp/pap-secrets
Oba powinny zawierać linie z naszym loginem i hasłem, które powinny wyglądają tak:
"TU_WPISZ_SWÓJ_LOGIN" "*" "TU_WPISZ_SWOJE_HASŁO" "*"
Jeżeli mamy PPPoA
Tworzymy plik najpierw pusty plik:
touch /etc/ppp/peers/speedtch
Edytujemy jego zawartość podając nasze login i wartości VPI i VCI:
noipdefault defaultroute user 'TU_WPISZ_LOGIN' noauth updetach usepeerdns plugin pppoatm.so VPI.VPC ### If the firmware loads and pppd won't ### connect uncomment this option to make ### pppd be more verbose in the system log # debug ### For more details (and more options) ### read man pppd
Linia z z wartościami powinna wyglądać w podobny sposób, oczywiście należy wpisać wartości tej usługi, którą posiadamy. Przykładowo dla Net24 na łączu TPSA wpis będzie wyglądać tak:
0.35
a dla Neostrady (te same wartości):
0.35
Teraz nadajemy skryptowi prawa do wykonania i uruchamiamy go:
chmod +x /etc/ppp/peers/speedtch /etc/ppp/peers/speedtch
Usługę uruchamiamy wydając polecenie:
pppd call speedtch
Jeżeli mamy PPPoE
W wypadku PPPoE potrzebny będzie jeszcze jeden pakiet, który należy zainstalować wydając polecenie:
yast -i rp-pppoe
Tworzymy pusty plik:
touch /etc/ppp/peers/speedtch
Edytujemy jego zawartość podając nasze login i wartości VPI i VCI:
noipdefault defaultroute user "TU_WPISZ_LOGIN" noauth updetach usepeerdns plugin rp-pppoe.so nas0 ### If the firmware loads and pppd won't ### connect uncomment this option to make ### pppd be more verbose in the system log # debug ### For more details (and more options) ### read man pppd
Tworzymy drugi pusty plik:
touch /home/_TWÓJ_KATALOG_DOMOWY_/runadsl.sh
I edytujemy jego zawartość wpisujuąc wartości VPI i VCI dla swojej usługi:
#!/bin/bash
modprobe pppoatm
modprobe br2684
count=0
while [ $count -lt 40 ]
do
sync=$(dmesg | grep "ADSL line is up")
if [ ! -z "$sync" ]
then
br2684ctl -b -c 0 -a VPI.VCI
sleep 3
ifconfig nas0 192.168.0.1 netmask 255.255.255.0
sleep 10
pppd call speedtch
exit 0
fi
sleep 1
count=$((1+$count))
done
echo "The Speedtouch firmware didn"t load"
Wyedytowana linia może wyglądać w następujący sposób np. dla Multimedia Polska:
br2684ctl -b -c 0 -a 0.33
a dla Net24 na łaczach Netii:
br2684ctl -b -c 0 -a 8.35
Nadajemy mu prawa do wykonania:
chmod +x /home/_TWÓJ_KATALOG_DOMOWY_/runadsl.sh
I uruchamiamy go:
/home/_TWÓJ_KATALOG_DOMOWY_/runadsl.sh
Dodatkowe informacje
Rozwiązywanie problemów
Podczas rozwiązywania problemów pomocne okażą się informacje zawarte w /var/log/messages - wpisy utwórzone przez pppd. Dodatkowo można uzyskać więcej informacji usuwając w skrypcie /etc/ppp/peers/speedtch znak komentarza # przed debug.
Warto sprawdzić, czy po instalacji pakietów potrzebne moduły się zainstalowały poprawnie i są obecne w systemie:
lsmod | grep ppp
Polecenie powinno zwrócić informację podobną do poniższej:
linux-mjia:/home/koles # lsmod | grep ppp pppoe 30400 0 pppox 20492 1 pppoe pppoatm 22144 0 ppp_generic 43932 3 pppoe,pppox,pppoatm slhc 22144 1 ppp_generic atm 59804 3 br2684,pppoatm,usbatm
Uwaga! moduł br2684 będzie potrzebny, jeżeli korzystamy z protokołu enkapsulacji PPPoE. Jeżeli będzie brakować modułów można je załadować za pomocą polecenia modprobe.