How-To Asmax PCI 411g(rtl8185)
Z suncezem przygotowaliśmy opis kompilacji i konfiguracji rtl8185
dla karty Asmax PCI 411g (rtl8185)
na Mandriva 2007.
Dla kompilacji drivera wymagane są :
kernel-source
gcc
glibc-devel
libncurses5-devel
make
Polecam zapoznać się z opisem How-To
Sprawdzamy w konsoli na jakim kernelu pracujemy
Na przykład
Kod:
[user@localhost]$ uname -r
2.6.17-5mdv
Sprawdzamy w konsoli czy mamy zainstalowane potrzebne do kompilacji pakiety
Kod:
rpm -qa kernel* gcc glibc-devel libncurses5-devel make
Przykład poprawnego wyniku
Kod:
[user@localhost]$ rpm -qa kernel* gcc glibc-devel libncurses5-devel make
kernel-source-2.6.17.5mdv-1-1mdv2007.0
make-3.81-1mdv2007.0
libncurses5-devel-5.5-1.20051029.4mdv2007.0
kernel-2.6.17.5mdv-1-1mdv2007.0
glibc-devel-2.4-4mdk
gcc-4.1.1-3mdk
W przykładach widać, że zainstalowany i używany jest kernel-2.6.17.5mdv-1-1mdv2007.0 i są zainstalowane inne potrzebne do kompilacji pliki, w tym kernel-source zgodny z wersją używanego kernela (zgodny numer wersji) - jest bezwzględnie wymagane.
kernel-2.6.17.5mdv-1-1mdv2007.0
kernel-source-2.6.17.5mdv-1-1mdv2007.0
Jeżeli właściwy plik kernel-source nie jest zainstalowany musimy go doinstalować, w konsoli jako root (su i Enter, hasło_roota /niewidoczne podczas wpisywania/ i Enter).
Mając poprawnie skonfigurowane urpmi w ten sposób
Kod:
urpmi kernel-source-`rpm -qa | grep "kernel-$(uname -r | sed 's/\-.*//')" | sed 's/kernel\-//'`
Można też wyszukać i pobrać pakiet z http://rpm.pbone.net/ lub z serwera ftp dystrybucji Mandriva. Zapisać go na dysku i następnie zainstalować za pomocą polecenia urpmi z poziomu katalogu z pobranym plikiem.
Kod:
urpmi kernel-source-2.6.17.5mdv
Pozostałe pakiety powinny zostać doinstalowane automatycznie jako zależne, jeśli to nie nastąpi trzeba je doinstalować przez urpmi lub na wzór kernel-source pobrać, zapisać na dysku i zainstalować przez rpm.
Kod:
urpmi gcc glibc-devel libncurses5-devel make
Dla pracy karty radiowej wymagany jest wireless-tools
Instalujemy, jeśli będą juz zainstalowane urpmi nas o tym poinformuje
Kod:
urpmi wireless-tools
Gdy już mamy powyższe paczki zainstalowane przechodzimy do kompilacji drivera dla rtl8185
========================================
Jeszcze raz podkreślam :
Ten opis i drivery są dla RTL8185
##############################
dla chipsetu RTL8185L i dla RTL8187L
driver dla linuksa do popbrania ze strony Realtek
========================================
Z wyniku zapytania powinien być wynik dla RTL-8185
Kod:
lspci
01:08.0 Ethernet controller: Realtek Semiconductor Co,. Ltd. RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller (rev 20)
lspci -n
01:08,0 0200: 10ec:8185 (rev 20)
Z adresu Download forum /nowszy może być do pobrania na Realtek / pobieramy plik ze źródłami sterownika. Umieszczamy go w katalogu /tmp w systemie plików Mandrivy (nie w /home/user/tmp).
Jeżeli mamy dostęp do internetu w Mandrivie możemy do pobrania pliku wykorzystać wget.
Uruchamiamy konsolę i przechodzimy do katalogu /tmp (nie /home/user/tmp)
Rozpoczynamy pobieranie pliku
Kod:
wget http://67.23.226.11/~mandriva/download/linux/drivers/rtl8185_linux_26.1010.0531.2006.tar.gz
Z poziomu katalogu /tmp rozpakowujemy pobrany plik
Kod:
tar xvf rtl8185_linux_26.1010.0531.2006.tar.gz
niczego więcej nie rozpakowuj.
Wydaj z poziomu tego katalogu polecenie uruchamiające skrypt kompilacyjny
gdy wszystko przebiegnie prawidłowo to kompilacja powinna zakończyć się podobnym wynikiem :
Kod:
Building modules, stage 2.
MODPOST
CC /home/user/Desktop/rtl8185_linux_26.1010.0531.2006/rtl818x-0.1/r8180.mod.o
LD [M] /home/user/Desktop/rtl8185_linux_26.1010.0531.2006/rtl818x-0.1/r8180.ko
make[1]: Opuszczenie katalogu `/usr/src/linux-2.6.17-5mdv'
[user@localhost rtl8185_linux_26.1010.0531.2006]$
Gdyby jednak zakończyło się błędem, to realizacja dalszej część opisu nie ma sensu. Należy poszukać co powoduje błąd.
Zakładamy, że jednak zakończy się poprawnie.
Przechodzimy do dalszej części.
W konsoli przechodzimy do uprawnień roota wpisując su i Enter i hasło_roota i Enter.
Obniżamy poziom bezpieczeństwa poleceniem Czas utworzyć brakujący plik ifcfg-wlan0
Kod:
touch /etc/sysconfig/network-scripts/ifcfg-wlan0
================================================== ====
Nie wykonujemy żadnych innych skryptów tam podanych
./wlan0up
./wlan0dhcp
================================================== =====
================================================== ================================================== ========
Nie kopiujemy wszystkich modułów ieee80211
uzyskanych przy kompilacji.
Prawdopodobnie jest w nich błąd.
Skorzystamy z modułów systemowych
Czyli nie wykonujemy
Kod:
cp ieee80211/*.ko /lib/modules/`uname -r`/rtl8185
Gdybyś jednak wcześnie skopiował pliki :
ieee80211_crypt_ccmp-rtl.ko
ieee80211_crypt_tkip-rtl.ko
ieee80211-rtl.ko
ieee80211_crypt-rtl.ko
ieee80211_crypt_wep-rtl.ko
do jakiegoś katalogu to je usuń.
Przykładowo gdybyś skopiował je do /lib/modules/`uname -r`/rtl8185
To możesz je usunąć poleceniem
Kod:
rm /lib/modules/`uname -r`/rtl8185/ieee80211*.ko
następnie na wszystkie pytania odpowiadasz "y" i Enter
================================================== ================================================== =====
Moduł należy przenieść na stałe do katalogu gdzie powinien być i to należy zrobić ręcznie jako root
Tworzymy wymagany katalog
Kod:
mkdir /lib/modules/`uname -r`/rtl8185
kopiujemy
Kod:
cp /tmp/rtl8185_linux_*/rtl818x-0.1/*.ko /lib/modules/`uname -r`/rtl8185
Kod:
cp /tmp/rtl8185_linux_*/ieee80211/ieee80211-rtl.ko /lib/modules/`uname -r`/rtl8185
Dopisujemy moduły do pliku modprobe.preload
Kod:
printf "\nieee80211_crypt_ccmp\nieee80211_crypt\nieee80211_crypt_tkip\nieee80211_crypt_wep\nieee80211-rtl\nr8180\n" >> /etc/modprobe.preload
Teraz
Kod:
modprobe ieee80211_crypt
modprobe ieee80211_crypt_wep
modprobe ieee80211_crypt_ccmp
modprobe ieee80211_crypt_tkip
modprobe ieee80211-rtl
modprobe r8180
Gdyby w konsoli pojawił się teraz błąd nie wykonujemy dalszej części instrukcji.
Mam nadzieję, że jednak wszystko poszło dobrze.
Przyszedł czas na konfigurację interfejsu wlan0.
Dodajemy wpis do modprobe.conf
Kod:
echo "alias wlan0 r8180" >> /etc/modprobe.conf
Jeżeli nadawanie IP jest automatyczne przez DHCP to w konsoli jako root dodajemy zawartość pliku ifcfg-wlan0
Kod:
printf "\nDEVICE=wlan0\nBOOTPROTO=dhcp\nDHCP_CLIENT=dhclient\nONBOOT=yes\nUSERCTL=no\nWIRELESS_MODE=auto\nWIRELESS_ESSID=any\nPEERDNS=yes\n" >> /etc/sysconfig/network-scripts/ifcfg-wlan0
w wyniku sprawdzenia poleceniem
Kod:
cat /etc/sysconfig/network-scripts/ifcfg-wlan0
powinniśmy uzyskać wynik
Kod:
DEVICE=wlan0
BOOTPROTO=dhcp
DHCP_CLIENT=dhclient
ONBOOT=yes
USERCTL=no
WIRELESS_MODE=auto
WIRELESS_ESSID=any
PEERDNS=yes
Do pliku network dodajemy wpis
Kod:
printf "\nGATEWAYDEV=wlan0\n" >> /etc/sysconfig/network
Podniesienie interfejsu poleceniem
Kod:
/etc/rc.d/init.d/network restart
Jak wszystko będzie bez błędu to sprawdzamy działanie połączenia z internetem
Kod:
ping -c5 66.249.93.104
================================================== ==========================================
Gdyby nie udało się połączenie wydaj w konsoli jako root następujące polecenia i podaj wynik na forum
Kod:
cat /etc/sysconfig/network-scripts/ifcfg-wlan0
Kod:
cat /etc/sysconfig/network
Kod:
cat /etc/resolv.conf
Jeżeli w systemie jest zainstalowany shorewall (zapora sieciowa) nalezy wyłączyć jego start na czas konfiguracji połączenia sieciowego. Nieskonfigurowany shorewall może skutecznie blokować próby połączenia z internetem. Zaporę można załączyc i skonfigurować po ustanowieniu połączenia.
Wyłączanie zapory firewall (shorewall)
Kod:
service shorewall stop
Kod:
service shorewall clear
To jest wyłączenie zapory do następnego restartu komputera.
Można dodać jeszcze
Kod:
chkconfig --level 12345 shorewall off
aby wyłączyć na stałe start zapory w czasie prób.
Wcześniejsze zatrzymanie i kasacja reguł jest potrzebne.
W niektórych przypadkach zbawiennym okazuje się wyłączenie net_applet
================================================== ====
Opis przewiduje konfigurację przy automatycznym nadawaniu IP przez DHCP
Przy statycznym IP należy zmodyfikować pliki konfiguracyjne.
Opis również nie porusza spraw związanych z kluczem wymaganym przy łączeniu się w niektórych sieciach.
================================================== =============================================
Konfigurację kończymy wpisaniem poprawnej nazwy ESSID i trybu pracy AP w pliku ifcfg-wlan0 (to są dane podawane przez dostawcę usług internetowych.
.