[rozwiazanie] Ndiswrapper dziwny problem

Stacho Pal stacho w venco.com.pl
Sob, 3 Mar 2007, 14:50:12 CET


Hubert Ciepluch napisał(a):
> Witam,
>> mam dziwny problem ze sterownikami do karty wifi. Dokładnie jest to:
>> 30:00.0 Network controller: Broadcom Corporation BCM4310 UART (rev 01), 
>> [0280: 14e4:4312 (rev 01)], laptop jest na Turionie (HP nx6325), ale 
>> postawiłem teraz architekturę i686. Skompilowałem sobie kernel z 
>> kernel-desktop.spec i do tego ndiswrapper.spec.
>> Linux gremlin 2.6.18.6_laptop-1smp #1 SMP PREEMPT Fri Feb 16 22:06:29 
>> CET 2007 i686 AMD_Turion(tm)_64_X2_Mobile_Technology_TL-52 unknown PLD Linux
>>
>> [root w gremlin windrivers]# ndiswrapper -v
>> utils version: 1.8
>> driver version:
>> vermagic:       2.6.18.6_laptop-1smp SMP preempt mod_unload 686 gcc-3.3
>>
>> Ściągam sterowniki zgodnie z 
>> http://ndiswrapper.sourceforge.net/mediawiki/index.php/List#B 
>> rozpakowuję i instaluję ndiswrapper -i bcmwl5.inf.
>> Niby wszystko instaluje się poprawnie ale nie działa poprawnie. Po 
>> załadowaniu modułu w logu mam:
>> Feb 27 20:20:56 gremlin kernel: ndiswrapper version  loaded 
>> (preempt=yes,smp=yes)
>> Feb 27 20:20:56 gremlin kernel: ndiswrapper (check_nt_hdr:155): Windows 
>> driver is not 32-bit; bad magic: 020B
>> Feb 27 20:20:56 gremlin kernel: ndiswrapper (load_sys_files:213): 
>> couldn't prepare driver 'bcmwl5'
>> Feb 27 20:20:56 gremlin loadndisdriver: loadndisdriver: 
>> load_driver(361): couldn't load driver bcmwl5
>> Feb 27 20:20:56 gremlin kernel: ndiswrapper (load_wrap_driver:111): 
>> loadndiswrapper failed (65280); check system log for messages from 
>> 'loadndisdriver'
>>
>> i rzeczywiście jak sprawdzam w /etc/ndiswrapper/bcmwl5 to tam jest plik 
>> bcmwl564.sys czyli sterownik dla 64bit. Nie mam zielonego pojęcia 
>> dlaczego zamiast wersji 32bit instaluje mi wersję 64 bitową. Co mogę 
>> jeszcze pokombinować?
>>   
> 
> Rozwiązałem swój problem opiszę może innym się przyda. Trochę na około 
> ale WiFi zaczęło mi działać. Cała sprawa rozeszła się o to, że do mojej 
> karty potrzeba ndiwrappera w wersji >= 1.28 co jest zresztą jak byk 
> napisane na stronie ndiswrapper'a :). U nas w specu dla AC jest 1.15 
> więc trochę za stara. Te nowsze z kolei się nie kompilują na gcc 3.3 bo 
> wymagają co najmniej 3.4. Skompilowałem więc sobie gcc 4.0.2 i 
> zainstalowałem gcc i lib'y z force nodeps. Po tym ndiswrapper 
> skompilował i zainstalował się już bez kłopotów. Teraz tylko muszę moduł 
> ładować z force bo inczej wyrzuca błąd
> Mar  3 00:42:58 gremlin kernel: ndiswrapper: version magic 
> '2.6.18.6_laptop-1smp SMP preempt mod_unload 686 gcc-4.0' should be 
> '2.6.18.6_laptop-1smp SMP preempt mod_unload 686 gcc-3.3'
> Mam z kolei pytanie czy da się jakoś w pliku /etc/modules dodać to force 
> żeby przy starcie też mi się ten moduł ładował poprawnie?

Nie mam takiej karty, ale w kernelu-2.6.19.1 jest moduł bcm43xx.
Może to będzie prostszy sposób użycia Twojej karty wifi?
=======================
>  modinfo bcm43xx
> filename:       /lib/modules/2.6.19.1-0.5smp/kernel/drivers/net/wireless/bcm43xx/bcm43xx.ko.gz
> description:    Broadcom BCM43xx wireless driver
> author:         Martin Langer
> author:         Stefano Brivio
> author:         Michael Buesch
> license:        GPL
> vermagic:       2.6.19.1-0.5smp SMP mod_unload 686 GRSECURITY 
> depends:        ieee80211,ieee80211softmac,firmware_class
> alias:          pci:v000014E4d00004301sv*sd*bc*sc*i*
> alias:          pci:v000014E4d00004307sv*sd*bc*sc*i*
> alias:          pci:v000014E4d00004311sv*sd*bc*sc*i*
> alias:          pci:v000014E4d00004312sv*sd*bc*sc*i*
> alias:          pci:v000014E4d00004318sv*sd*bc*sc*i*
> alias:          pci:v000014E4d00004319sv*sd*bc*sc*i*
> alias:          pci:v000014E4d00004320sv*sd*bc*sc*i*
> alias:          pci:v000014E4d00004324sv*sd*bc*sc*i*
> alias:          pci:v000014E4d00004325sv*sd*bc*sc*i*
> parm:           fwpostfix:Postfix for .fw files. Useful for debugging. (string)
> parm:           noleds:Turn off all LED activity (int)
> parm:           country:Select LocaleCode 0-11 (For travelers)
> parm:           locale:int
> parm:           long_retry:Long-Retry-Limit (0 - 15) (int)
> parm:           short_retry:Short-Retry-Limit (0 - 15) (int)
> parm:           bad_frames_preempt:enable(1) / disable(0) Bad Frames Preemption (int)
> parm:           pio:enable(1) / disable(0) PIO mode (int)

-- 
pzdr
Stacho



Więcej informacji o liście dyskusyjnej pld-users-pl