konfiguracja ndiswrapper + bcm43xx

Wszystko związane z jądrem systemowym, sterownikami, sprzętem itp.
alteriks
Posty: 16
Rejestracja: 07 listopada 2007, 15:28

Post autor: alteriks »

No wiec chyba juz wiem w czym problem, sterownik ze strony hp działają pod tym laptopem. Piszę posta dla siebie i potomności :) choć wiem że jeszcze nie znam rozwiązania ale póki co nie restartuje kompa - bo to co chciałem działa. A doszedłem do tego tak: zainstalowałem jajko z repo lenny'ego i przeniosłem dotychczasowy katalog z modułami z /lib/modules/2.6.22 na 2.6.22_bak sądząc, że linux-image-2.6.22-2-686 zrobiłem to na wyrost bo przecież ten pakiet zainstalował się do /lib/modules/2.6.22-2. Po kilku próbach z nowym jajkiem i dodawaniu różnych opcji w trakcie rozruchu systemu postanowiłem uruchomić to które samodzielnie skompilowałem i używałem do tej pory. No i oczywiście nie zaladował się żaden moduł poza tymi, które są w /boot/initrd. Zarzuciłem okiem na lspci, które pokazało mi że system wykrył sieciówkę przewodową i bezprzewodową. Następnie wywołałem

Kod: Zaznacz cały

# cat /proc/interrupts 
           CPU0       CPU1       
  0:    2056911          0  local-APIC-edge-fasteoi   timer
  1:       5257          1   IO-APIC-edge      i8042
  9:        927         21   IO-APIC-fasteoi   acpi
 12:     166269          2   IO-APIC-edge      i8042
 14:      18418          1   IO-APIC-edge      ide0
 17:       8225          1   IO-APIC-fasteoi   ahci, eth0
 18:         67          1   IO-APIC-fasteoi   ohci_hcd:usb1, ehci_hcd:usb2
 19:          0          0   IO-APIC-fasteoi   ohci_hcd:usb3, ohci_hcd:usb4, ohci_hcd:usb5, ohci_hcd:usb6
 20:      35839          1   IO-APIC-fasteoi   ndiswrapper
NMI:          0          0 
LOC:          0    2056727 
ERR:         11
MIS:          0

No i właśnie, nie wiem co jest tego zasługą - czy ten brak modułów na początku?!? ale sprzęt pozmieniał sobie numery przerwań wcześniej co rusz ahci, eth0, część ohci*, ati, snd_intel i jeśli zaszczyciła mnie obecnością karta wifi - wszystko to było na przerwaniu 10. (właściwie to nie zdziwiło mnie to bardzo bo na moim ibm t42, było identycznie) Nigdy nie miałem dwurdzeniowego procesora, ani nie interesowałem się zbytnio irq - pewnie dlatego, że wszystko mi działało :) ale czy ktoś wie dlaczego drugi rdzeń nie obsługuje przerwań?

Znów też pojawia się komunikat w dmesg

Kod: Zaznacz cały

APIC error on CPU0: 40(40)
, który pojawiał się gdy próbowałem użyć modułu bcm43xx. Czyli fragment z /cat/interrupts

Kod: Zaznacz cały

ERR:         12
świadczy o tylu ww komunikatach w dmesg :) A przy okazji laptop ten ma złą tablicę dsdt i fadt w acpi (ACPI Error (tbfadt-0453): 32/64X address mismatch in "Pm2ControlBlock": [00008800] [0000000000008100], using 64X [20070126]) miodzio :) aż dziw że w poprzednim pavillonie wszystko działało, a postanowiłem go wymienić bo miał fabrikfeler w postaci dysku, który po 10 minutach korzystania z kompa osiągał temperaturę 50 C
... koniec tego offtopicu, tak tylko chciałem wskazać bolączki hpków :)

EDIT: W pewnym momencie ndiswrapper podał mi sam rozwiązanie, bo urządzenie niby było - na tyle że moduł się ładował ale komputer nie przyznawał mu irq, więc żeby mu dopomóc należy dodać do linii kernela pci=biosirq no i wszystko działa (póki co 3 restart)

@beretakk: Sprawdzałeś może stronę ndiswrappera (http://tnij.org/agje), na niej oprócz listy sprzętu, który działa są też linki do sterowników jeśli wszystko gra to powinieneś mieć coś podobnego do mnie:

Kod: Zaznacz cały

# ndiswrapper -l 
bcmwl5 : driver installed 
        device (14E4:4311) present (alternate driver: bcm43xx)
A jeśli zależy Ci na graficznym konfiguratorze to zainstaluj sobie wlassasistant(pod kde, polska produkcja o ile pamięć mnie nie myli :D ) wifi-radar(gtk), musisz jeszcze edytować plik /etc/sudoers, wystarczy polecenie visudo i wprowadź linijkę

Kod: Zaznacz cały

alteriks      IBM_T42 = NOPASSWD: /usr/sbin/wifi-radar, /usr/bin/wlassasistant
zmieniając tylko użytkownika i maszynę. Później możesz uruchamiać np. sudo /usr/sbin/wifi-radar

EDIT2: Ciąg dalszy epopei...
Sposób pci=biosirq okazał się nie skuteczny, za każdym razem żeby ta opcja zadziałała trzeba było przywracać domyślne ustawienia biosu?!?! bo inaczej system nie wykrywał wlanu...
Dzięki lekturze HOWTO_Fix_Common_ACPI_Problems i rozkompilowaniu tablicy dsdt zmieniłem

Kod: Zaznacz cały

acpi_os_name="Microsoft Windows XP"
, które według tego HOWTO jest domyślnie kierowane do jądra podczas rozruchu na

Kod: Zaznacz cały

acpi_os_name="Microsoft Windows NT"
Bodajże 8 restartów, wyłączania + wyjmowania baterii i ku mojej uciesze system ciągle rusza z kartą wifi. Parę godzin później padł zasilacz :) Więc koniec testowania wifi :D Ku Waszej uciesze lub przestrodze przesyłam li nk do forum, gdzie w ciągu miesiąca chyba 15 ludziom zasilacze padły http://forum.purepc.pl/ :D

PS Mam nadzieję że już nie będę musiał edytować tego posta i mój problem został rozwiązany :)
Maciorra
Beginner
Posty: 105
Rejestracja: 07 lutego 2007, 23:56
Lokalizacja: Kraków

Post autor: Maciorra »

berettakk pisze:Coś jeszcze nie działa. Moje /etc/network/interfaces wygląda teraz tak:
<ciach>
Potrafi ktoś pomóc? Co zrobić, żeby uruchomić kartę?
Spróbuj zrobić coś takiego:
Stwórz plik wpa_supplicant.conf z konfiguracją WPA umieszczony w /etc/wpa_supplicant, dla przykładu zamieszczam mój:

Kod: Zaznacz cały

# WPA-PSK/TKIP

ctrl_interface=/var/run/wpa_supplicant

network={
	ssid="Twój_essid"
	key_mgmt=WPA-PSK
	proto=WPA
	pairwise=TKIP
	group=TKIP
	psk="Twoje_hasło"
}
I odpowiednio zmodyfikowany plik interfaces w /etc/network/, mój wygląda tak:

Kod: Zaznacz cały

auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0

# The home wireless lan interface
auto wlan0
iface wlan0 inet manual
wpa_conf /etc/wpa_supplicant/wpa_supplicant.conf
pre-up /sbin/ifconfig wlan0 up # line maintained by pppoeconf


auto dsl-provider
iface dsl-provider inet ppp
provider dsl-provider
Oczywiście pomiń wszystko co dotyczy pppoe jeśli nie jest potrzebne w Twojej sieci i dodaj wpisy dotyczące IP, bramy itp przy odpowiednim interfejsie. Powodzenia :)
ODPOWIEDZ