Karty sieciowe WLAN mają zwykle postać albo kart PCI, albo kart PCMCIA (w przypadku notebooków), albo modułów podłączanych przez USB. Większość producentów dołącza sterowniki tylko dla różnych wersji Windows. Niemniej większość obecnie produkowanych kart można zmusić do współpracy z Linuksem.
Producentów i modeli urządzeń jest bardzo dużo, natomiast wiele urządzeń opartych jest na tym samym chipsecie (układzie). Sterowniki pisane są nie dla konkretnych modeli urządzeń, ale dla poszczególnych chipsetów. Stąd też podstawową informacją jaką musimy uzyskać o karcie, to na jakim chipsecie jest ona oparta. Następnie należy ustalić, czy dla danego chipsetu istnieją sterowniki pod Linuksa.
Pomocne mogą to być następujące strony internetowe:
Jean Tourrilhes Linux Wireless HOWTO - zawiera obszerną listę urządzeń, wraz z uwagami o ich współpracy z Linuksem.
http://www.linux-wlan.org - strona domowa projektu Linux WLAN, w ramach którego rozwijane są linuksowe sterowniki do urządzeń WLAN. W szczególności na stronie znajduje się także link do podobnej jak wyżej listy urządzeń i ich chipsetów wraz z informacją, czy są wspierane przez sterowniki tworzone w ramach projektu.
W ustaleniu chipsetu karty mogą być pomocne polecenia lspci i lsusb (dla urządzeń USB). Polecenia te wypisują informacje o zainstalowanych w komputerze urządzeniach. Szczególnie interesujący może być identyfikator PCI/USB (w postaci dwóch czterocyfrowych liczb szesnastkowych, oddzielonych dwukropkiem, np. 8086:1050, gdzie pierwsza liczba jest identyfikatorem producenta, w tym przykładzie jest to Intel, a druga - konkretnego urządzenia). Aby uzyskać identyfikator w postaci numerycznej (a nie tekstowego opisu, wyświetlanego w przypadku znanych urządzeń), należy do wyżej wymienionych poleceń dać parametr -n.
Po ustaleniu chipsetu należy ściągnąć odpowiednie sterowniki. Może się zdarzyć, że sterowniki będą od razu obecne w używanym przez nas jądrze, ale obecnie raczej trudno na to liczyć. Jeżeli nie znajdziemy wersji sterowników przystosowanej dokładnie do używanej dystrybucji i jądra, trzeba ściągnąć najlepiej źródła sterowników (gdyż sterowniki mają postać modułu do jądra i może być problem z ich użyciem z konkretną używaną przez nas wersją jądra) i próbować załadować moduł zgodnie z dokumentacją dołączoną do sterowników. Ten etap może różnie wyglądać zależnie od konkretnego modelu karty i sterowników. W szczególności urządzenia USB wymagają także działającego wsparcia dla USB, podobnie jest z PCMCIA. Problemy związane z ładowaniem modułu najlepiej śledzić analizując logi, a więc plik /var/log/messages (pod RedHat'em) lub /var/log/kern.log (pod Debianem). Na przykład używając sterowników z projektu linux-wlan należy zwrócić uwagę, jakie wersje modułów są naprawdę ładowane - zdarza się, że niektóre jądra zawierają już starsze wersje używanych sterowników i są one ładowane zamiast zainstalowanych przez nas nowych (w takim przypadku należy nadpisać pliki ze starymi wersjami).
Oczywiście w przypadku zmian czy dodawania modułów warto wykonać komendę depmod -a (pod Debianem update-modules). Zakładam przy tym, że używamy dość nowej wersji jądra (wsparcie dla urządzeń WLAN pojawiło się w jądrach 2.4). W RedHat i dystrybucjach pochodnych warto utworzyć alias dla ładowanego modułu z nazwą używanego urządzenia sieciowego, dodając do pliku /etc/modules.conf wpis typu:
alias eth1 8211czy
alias wlan0 prism2_usbUmożliwi to automatyczne ładowanie modułu przez skrypty konfigurujące sieć. Pod Debianem moduł należy dodać do pliku /etc/modules.
Ostatecznym testem na poprawność załadowania modułu powinno być uruchomienie programu iwconfig z pakietu wireless-tools (obecny w nowszych dystrybucjach, w razie czego należy doinstalować z http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html). Program ten jest podobny do programu ifconfig, pozwala na ustawienie parametrów dotyczących interfejsów bezprzewodowych, a także wyświetla informację o nich. Po wywołaniu bez parametrów powinien wyświetlić informację o wszystkich dostępnych interfejsach sieciowych, sprawdzając czy są to interfejsy WLAN. Wyświetlana przez program informacja może mieć np. postać:
lo no wireless extensions. wlan0 IEEE 802.11-b ESSID:"SSID" Nickname:"" Mode:Managed Frequency:2.437GHz Access Point: 00:02:B3:93:28:9C Bit Rate:11Mb/s Tx-Power:2346 dBm Retry min limit:8 RTS thr:off Fragment thr:off Encryption key:off Link Quality:32/92 Signal level:-81 dBm Noise level:-100 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 eth0 no wireless extensions.
Poszczególne parametry można ustawić za pomocą odpowiednich wywołań ifconfig:
# iwconfig wlan0 essid "MOJ_INDENTYFIKATOR" # iwconfig wlan0 mode ad-hoc # iwconfig wlan0 channel 2
Oddzielną sprawą jest automatyczne uruchamianie interfejsu podczas startu systemu. Sposób uzyskania tego różni się zależnie od dystrybucji. Dokładna instrukcja opisująca większość obecnych dystrybucji jest zawarta w pliku DISTRIBUITIONS.txt wchodzącym w skład pakietu wireless-tools. Dla RedHata w wersji 7.3 zaleca się po prostu uruchomienie narzędzia redhat-config-network, które posiada wsparcie dla urządzeń WLAN. Narzędzie to dodaje odpowiedni wpis do /etc/modules.conf oraz tworzy odpowiedni plik, np. /etc/sysconfig/network-scripts/ifcfg-wlan0 o zawartości:
DEVICE=wlan0 BOOTPROTO=static NETMASK=255.255.255.0 ONBOOT=yes MODE=Ad-Hoc ESSID=NAZWA CHANNEL=2 IPADDR=192.168.2.101
W Debianie interfejs konfiguruje się w pliku /etc/network/interfaces tak jak każdy inny, z tym że należy dodać wpisy specyficzne dla sieci WLAN. Przykładowo cała sekcja może wyglądać następująco:
auto wlan0 iface wlan0 inet static address 10.4.0.26 netmask 255.255.255.0 wireless-essid IDENTYFIKATOR_SIECI wireless-mode Managed gateway 10.4.0.1
Do diagnostyki połączenia do sieci bezprzewodowej przydatny może się okazać program wavemon, który można ściągnąć z http://www.janmorgenstern.de/projects-software.html. Dostarcza on na bieżąco informacji o poziome sygnału i szumu dla połączenia. Przydatne może też być narzędzie iwlist z pakietu wireless-tools, które potrafi wyświetlić listę widocznych punktów dostępowych:
# iwlist wlan0 scanning wlan0 Scan completed : Cell 01 - Address: 00:06:25:BC:88:3B ESSID:"IDENTYFIKATOR_SIECI" Protocol:IEEE 802.11b Mode:Managed Frequency:2.412 GHz (Channel 1) Quality:0/100 Signal level:-47 dBm Noise level:-256 dBm Encryption key:off Bit Rate:1 Mb/s Bit Rate:2 Mb/s Bit Rate:5.5 Mb/s Bit Rate:11 Mb/s #
Poprzedni | Spis treści | Następny |
Konfiguracja sieci bezprzewodowych WLAN | Początek rozdziału | Instalacja i konfiguracja karty OvisLink AirLive 1120PCI |