EdiMAX EW-7108PCg PCMCIA i Livebox
Napisał: Patryk Krawaczyński
26/07/2009 w Debug, Techblog Brak komentarzy. (artykuł nr 109, ilość słów: 1058)
I
nstalację należy rozpocząć od kluczowej sprawy, czyli poprawnym zainstalowaniu obsługi PCMCIA (ang. Personal Computer Memory Card International Association) na laptopie. W tym celu niezbędne będzie zainstalowanie pakietu pcmciautils z sekcji A. Podczas instalacji, slot PCMCIA powinien pozostać pusty. Ponowne uruchomienie systemu, umożliwia nam już podgląd obsługi PCMCIA:
# lsmod |grep pcmcia pcmcia 36652 0 pcmcia_core 36628 3 pcmcia,yenta_socket,rsrc_nonstatic
Moduły i sterowniki obsługiwane przez skrypt /etc/rc.d/rc.pcmcia zostały poprawnie załadowane. Jeśli używamy systemu dla urządzeń udev należy nie wyłączać skryptu rc.pcmcia poprzez odebranie mu praw wykonawczych, nie koliduje on już z załadowanymi modułami przez system udev – wyświetli tylko informację o tym, że odpowiednie sterowniki zostały już załadowane; sam skrypt rc.pcmcia bardzo przydaje się podczas wyłączania laptopa, odcinając zasilanie od całej stacji PCMCIA – sam udev tego nie robi. Załadowanie odpowiednich modułów daje nam możliwość zorientowania się w posiadanym sprzęcie:
# lspci |grep Card 02:06.0 CardBus bridge: Texas Instruments PCI1410
Dodatkowo możemy użyć komend:
# pccardctl ls Socket 0 Bridge: [yenta_cardbus] (bus ID: 0000:02:06.0)
oraz
# pccardctl status Socket 0: 3.3V 32-bit PC Card
Po przygotowaniu slotu PCMCIA możemy w nim umieścić naszą kartę bezprzewodową. Powinna ona zostać automatycznie wykryta, w przeciwnym wypadku możemy powiadomić o tym fakcie nasz system poprzez komendę:
# pccardctl insert
Umożliwi nam to odczytanie chipsetu karty, oraz możliwość instalacji odpowiedniego sterownika do jego obsługi. Wydajemy podobne polecenie jak przy poszukiwaniu zwykłej karty Ethernet:
# lspci |grep controller Multimedia audio controller: Intel Corporation 82801CA/CAM AC'97 VGA compatible controller: ATI Technologies Inc Radeon Mobility M7 Communication controller: Agere Systems LT WinModem Ethernet controller: Intel Corporation 82801CAM (ICH3) PRO/100 VE Network controller: RaLink RT2561/RT61 802.11g PCI
Ostatnie dwie pozycje dotyczę kart sieciowych. Pierwszą z nich jest zwykła karta Ethernet na chipsecie Intel’a, którą można w prosty sposób obsłużyć dzięki załadowaniu modułu Intel EtherExpress PRO/100 PCI support – eepro100 lub e100. Drugą kartą jest nasza bezprzewodowa karta PCMCIA EdiMAX EW-7108PCg oparta na chipsecie RaLink RT2561. Posiadając już pełne informacje na temat sprzętu możemy zająć się jego instalacją. Wiele sterowników do kart opartych na chipsecie RaLink’a pod Linuksem możemy znaleźć na stronie projektu RT2x00. Nas będzie interesował sterownik RT61 w wersji repozytorium CVS z dzienną aktualizacją. Po jego ściągnięciu możemy przystąpić do instalacji (do instalacji sterownika wymagane są źródła naszego jądra systemu):
tar -xvzf rt61-cvs-daily.tar.gz cd ./rt61-cvs-[data]/Module make (*** Module rt61.ko built successfully) make install
Po poprawnej instalacji, sterownik karty zostanie zainstalowany w katalogu /lib/modules/[wersja jądra]/extra oraz załadowany do listy sterowników za pomocą komendy: depmod -a , w katalogu /etc/modprobe.d/ zostanie stworzony alias ralink, nazywający interfejs karty bezprzewodowej “wlan*” gdzie gwiazdką jest odpowiednie oznaczenie kolejnej karty np. wlan0, wlan1 oraz do katalogu /lib/firmware zostaną przegrane odpowiednie wersje firmware kart rt2561.bin (RT2561 –
nasza karta!), rt2561s.bin (RT2561 w wersji Turbo) i rt2661 (RT2661 – model wyższy). Aktualnie by uruchomić kartę pozostaje załadowanie jej sterownika poprzez komendę:
# modprobe rt61
Karta jest już w pełni obsługiwana przez system. Pozostaje jedynie sprawdzenie jej działania oraz konfiguracja pod kątem połączenia się jedną z dostępnych sieci. W tym wypadku należy podnieść interfejs oraz wyszukać dostępne sieci bezprzewodowe w pobliżu. Do tej czynności będzie potrzebny zainstalowany pakiet wireless-tools z sekcji N (by posiadać możliwość autoryzacji za pomocą WPA oraz WPA2 należy zainstalować także pakiet wpa_supplicant z tej samej sekcji):
# ifconfig wlan0 up # iwlist wlan0 scan wlan0 Scan completed : Cell 01 - Address: 00:1B:11:9B:84:28 ESSID:"dlink" Mode:Managed Channel:6 Encryption key:on Bit Rates:0 kb/s Quality:0/100 Signal level:-76 dBm Noise level:-256 dBm Cell 02 - Address: 00:16:41:A5:E3:32 ESSID:"neostrada_c3b0" Mode:Managed Channel:10 Encryption key:on Bit Rates:0 kb/s Quality:0/100 Signal level:-40 dBm Noise level:-256 dBm Cell 03 - Address: 00:1A:6B:1C:A6:42 ESSID:"neostrada_c3e4" Mode:Managed Channel:10 Encryption key:on Bit Rates:0 kb/s Quality:0/100 Signal level:-80 dBm Noise level:-256 dBm
Jak widać posiadamy w zasięgu trzy sieci bezprzewodowe, dwie z nich oparte o modemy Livebox Neostrady oraz jedna z nich to fabrycznie skonfigurowany router D-Linka. Każda z nich posiada włączone szyfrowanie transmisji oraz rozgłaszanie SSID. Naszym celem będzie połączenie się z siecią “neostrada_c3b0“, do której znamy pełne dane dostępowe. Aby tego dokonać edytujemy plik odpowiedzialny w Slackware za konfigurację sieci – /etc/rc.d/rc.inet1.conf – wpisując odpowiednie wartości w przewidziane do tego celu zmienne konfiguracyjne:
GATEWAY="192.168.1.1" IFNAME[4]="wlan0" USE_DHCP[4]="yes" DHCP_HOSTNAME[4]="neostrada" DHCP_KEEPRESOLV[4]="yes" DHCP_KEEPNTP[4]="yes" DHCP_KEEPGW[4]="yes" WLAN_ESSID[4]=neostrada_c3b0 WLAN_MODE[4]=Managed WLAN_RATE[4]="54M auto" WLAN_CHANNEL[4]="10" WLAN_KEY[4]="F6501430708FC75FF25C527C7A"
Co odpowiednio oznacza, skonfigurowanie domyślnego adresu bramy; podania nazwy interjesu za pomocą którego ma zostać zestawienie połączenie; połączenie ma zostać zestawione dynamicznie za pomocą klienta DHCP; klient DHCP nie ma wprowadzać zmian w uprzednio zapisanych adresach DNS, NTP oraz Bramy; sieć bezprzewodowa ma dany SSID oraz pracuje w trybie Managed (infrastruktury), o szybkości 54Mbps (standard G) na kanale 10 o szyfrowaniu WEP i kluczu 128 bitowym. Wszystkie te opcje możemy także, bez problemu zapisać w odpowiednich komendach, nie wpisując ich na stałe do systemu:
ifconfig wlan0 up iwconfig wlan0 essid "neostrada_c3b0" iwconfig wlan0 mode Managed iwconfig wlan0 channel 10 iwconfig wlan0 rate 54M auto iwconfig wlan0 key F6501430708FC75FF25C527C7A iwconfig wlan0 ap 00:16:41:A5:E3:32 dhcpcd wlan0
Wszystkie powyższe polecenia możemy w prosty sposób zamknąć, w skrypcie, który umożliwi nam mobilną pracę bez konieczności każdorazowej zmiany ustawień systemowych. Po instalacji sterownika rt2x00 posiadamy także dostęp do kilku innych, przydatnych opcji ułatwiających korzystanie z sieci np. ustawienie wybranego adresu MAC karcie:
# ifconfig wlan0 hw ether <ADRES_MAC>
Przełączyć interface karty w tryb nasłuchu:
# ifconfig wlan0 promisc
Przełączyć interface karty w tryb monitoringu nasłuchując latające dookoła ramki pakietów 802.11:
# iwconfig wlan0 mode monitor
Możemy także wstrzykiwać ramki pakietów 802.11 w locie:
# iwpriv wlan0 rfmontx 1
Więcej informacji: rt2x00, HostAPd, man iwconfig, iwlist oraz iwpriv