CEL: Wielu użytkowników posiada karty radiowe oparte na chipsecie RTL8180 firmy Realtek. Celem tego FAQ jest opisanie procesu instalacji takich kart w systemie Slackware Linux.
---------------------------------------------------------------------
SPIS TREŚCI:
Kod: Zaznacz cały
1. Wstęp.
2. Instalacja z wykorzystaniem ndiswrappera.
3. Instalacja z wykorzystaniem otwartych sterowników.
4. Zestawianie połączenia.
1. Wstęp.
Do konfiguracji łącza poprzez kartę radiową potrzebne będzie pakiet wireless_tools w możliwie jak najnowszej wersji. Ponadto w jądrze musimy zaznaczyć opcję Wireless LAN drivers (non-hamradio) & Wireless Extensions - użytkownicy dystrybucyjnego jądra mają tę opcję na pewno zaznaczoną.
UWAGA: Karty z RTL8180 potrafią się blokowaę, tj. mają czasem problemy z połączeniem się z Access Pointem i wtedy trzeba jeszcze raz powtórzyć sekwencję czynności konfiguracji łącza (iwconfig)!
2. Instalacja z wykorzystaniem ndiswrappera.
Ndiswrappera można pobrać z tej strony. Nie musi to być koniecznie ostatnia wersja, gdyż wsparcie dla tej karty istnieje już we wcześniejszych. Nowsze wersje powinni pobrać posiadacze ostatnich jąder, gdyż znajdują się tam poprawki adaptacyjne do zmian w jądrach. Z kolei jeśli będziemy używać zbyt starej wersji, to mogą pojawić sie konflikty z ACPI. Rozwiązaniem może być podanie do jądra przy bootowaniu opcji acpi=ht.
Wszystkie czynności wykonujemy jako użytkownik root:
*) Rozpakowujemy pobrane źródła.
**) Instalujemy ndiswrappera komendą
Kod: Zaznacz cały
make install
Kod: Zaznacz cały
make install DISABLE_USB=1
***) Ściągamy sterowniki dla systemu MS Windows XP stąd.
****) Po ich rozpakowaniu wydajemy komendę, która zainstaluje sterowniki:
Kod: Zaznacz cały
ndiswrapper -i NET8180.INF
Kod: Zaznacz cały
ndiswrapper -l
Kod: Zaznacz cały
net8180 driver installed, hardware present
Kod: Zaznacz cały
modprobe ndiswrapper
UWAGA!!! Istnieją karty robione na chipsecie RTL8180, do których trzeba przerabiać sterowniki podane w tym HOWTO, np. DWL-510 firmy D-Link. Więcej informacji na ten temat można znaleźć na stronie domowej projektu.
3. Instalacja z wykorzystaniem otwartych sterowników.
Strona domowa dla tych sterowników, to: http://sourceforge.net/projects/rtl8180-sa2400
*) Sterowniki pobieramy z CVS
Kod: Zaznacz cały
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/rtl8180-sa2400 co -P rtl8180-sa2400-dev
Kod: Zaznacz cały
cd rtl8180-sa2400-dev
make
a) Patch na Makefile
Kod: Zaznacz cały
--- Makefile.orig 2006-07-25 14:01:23.000000000 +0200
+++ Makefile 2006-07-25 14:01:32.000000000 +0200
@@ -59,7 +59,7 @@
make -C $(KSRC) SUBDIRS=$(PWD) modules
2.6:
- $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) MODVERDIR=$(PWD) modules
+ $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) modules
clean:
rm -f *.mod.c *.mod *.o .*.cmd *.ko .*.flags
- Nakładanie:
Kod: Zaznacz cały
cd rtl8180-sa2400-dev
patch -p0 < mk_patch.diff
Kod: Zaznacz cały
--- r8180_core.c.orig 2006-07-25 13:57:51.000000000 +0200
+++ r8180_core.c 2006-07-25 13:59:55.000000000 +0200
@@ -134,16 +134,20 @@
MODULE_AUTHOR("Andrea Merello <andreamrl@tiscali.it>");
MODULE_DESCRIPTION("Linux driver for Realtek RTL8180 / RTL8185 WiFi cards");
-MODULE_PARM(ifname,"s");
+/*MODULE_PARM(ifname,"s");*/
+module_param(ifname, charp, 0400);
MODULE_PARM_DESC(devname," Net interface name, wlan%d=default");
-MODULE_PARM(hwseqnum,"i");
+/*MODULE_PARM(hwseqnum,"i");*/
+module_param(hwseqnum, int, 0400);
MODULE_PARM_DESC(hwseqnum," Try to use hardware 802.11 header sequence numbers. Zero=default");
-MODULE_PARM(hwwep,"i");
+/*MODULE_PARM(hwwep,"i");*/
+module_param(hwwep, int, 0400);
MODULE_PARM_DESC(hwwep," Try to use hardware WEP support. Still broken and not available on all cards");
-MODULE_PARM(channels,"i");
+/*MODULE_PARM(channels,"i");*/
+module_param(channels, int, 0400);
MODULE_PARM_DESC(channels," Channel bitmask for specific locales. NYI");
- Nakładanie:
Kod: Zaznacz cały
patch -p0 < r81_patch.diff
Kod: Zaznacz cały
./module_load
Kod: Zaznacz cały
#!/bin/env
****) Weryfikacja:
Po wydaniu komendy lsmod w wyniku powinny znaleźć się następujące moduły:
- r8180
- ieee80211_r8180
- ieee80211_crypt_wep_r8180
- ieee80211_crypt_r8180
Natomiast w dmesg powinny znaleźć się podobne komunikaty jądra
Kod: Zaznacz cały
Linux kernel driver for RTL8180 / RTL8185 based WLAN cards
Copyright (c) 2004-2005, Andrea Merello
rtl8180: Initializing module
rtl8180: Wireless extensions version 19
rtl8180: Initializing proc filesystem
rtl8180: Configuring chip resources
ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LNKB] -> GSI 10 (level, low) -> IRQ 10
rtl8180: Memory mapped space @ 0xe7001000
rtl8180: Hardware frame sequence numbers disabled
rtl8180: MAC controller is a RTL8180
rtl8180: This is a PCI NIC
rtl8180: Reported EEPROM chip is a 93c46 (1Kbit)
rtl8180: Card MAC address is 00:50:fc:f1:c2:25
rtl8180: EEPROM version 103
rtl8180: RfParam: 16
rtl8180: WW:Card reports RF frontend by GCT.
rtl8180: WW:This driver has EXPERIMENTAL support for this chipset.
rtl8180: WW:use it with care and at your own risk and
rtl8180: WW:**PLEASE** REPORT SUCCESS/INSUCCESS TO andreamrl@tiscali.it
rtl8180: Energy threshold: 2
rtl8180: PAPE from CONFIG2: 6
rtl8180: Antenna B is default antenna
rtl8180: Antenna diversity is disabled
rtl8180: Carrier sense 1
rtl8180: 40-bit WEP is NOT supported in hardware
rtl8180: 104-bit WEP is NOT supported in hardware
rtl8180: IRQ 10
rtl8180: Driver probe completed
rtl8180: Bringing up iface
rtl8180: Card successfully reset
a) ustwiamy tryb połączenia
Kod: Zaznacz cały
iwconfig wlan0 mode Managed
b) Ustawiane essid
Kod: Zaznacz cały
iwconfig wlan0 essid ESSID_SIECI
Kod: Zaznacz cały
ifconfig wlan0 up
Kod: Zaznacz cały
ifconfig wlan0 NR_IP netmask MASKA
Kod: Zaznacz cały
dhcpcd wlan0
Kod: Zaznacz cały
route add default gw ADRES_IP_GW
AUTOR: difrost
Fragment dotyczący natywnych sterowników (moduły, modyfikacje module_[load,unload] i informacje wyrzucane przez jądro) zaczerpnięte z postu kB_a