Aquesta és la targeta mini-PCI que va integrada al meu DELL X300, de fet fins ara no havia pogut configurar-la de cap manera. Però ahir les coses per fi van canviar. Així que per si algú té la targeta que sapigue que amb les noves versions de kernel i del ndiswrapper es pot fer funcionar amb el driver de Win sota Linux.
Finalment la cosa no ha estat gaire difícil, tot i que en els interiors intents vaig suar lo meu. El primer de tot que us recomano és assegurar-vos que no teniu un kernel amb la opicó “CONFIG_4KSTACKS” marcada i si sou usuaris de Gentoo que la variable USE no té el flag “4kstacks”. També cal que el codi font del kernel compilat estigui a /usr/src ja que és necessari per poder fer l’emerge de l’ndiswrapper sense problemes.
Suposem que ja em fet l’emerge de net-wireless/ndiswrapper, concretament jo m’he instal·lat el paquet ndiswrapper-1.0_rc4. Després he posat el driver de windows al directori /etc/ndiswrapper, concretament els fintxers bcmwl5.inf i bcmwl5.sys. Aquest dos fitxers els tindreu al Windows si he configurat la targeta wi-fi allà. Si no és així us adjunto un paquet que conté el driver de Windows: SP23107A.tar.gz podeu descomprimir-lo i copiar els fitxers que us comento a /etc/ndiswrapper.
Ara podeu fer un: ndiswrapper -l i vuere si teniu el driver carregat:
# ndiswrapper -l Installed ndis drivers: bcmwl5 driver present, hardware present
si no és així podeu carregar-lo amb:
ndiswrapper -i /etc/ndiswrapper/bcmwl5.inf
Ara cal carregar el mòdul del kernel per tal de que la targeta es carregui al linux:
modprobe ndiswrapper
Si mireu al /var/log/messages o feu un dmesg podreu veure algo semblant a això:
ndiswrapper version 1.0rc4 loaded (preempt=yes,smp=no) ndiswrapper: driver bcmwl5 (Broadcom,10/28/2003, 3.40.25.3) added ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 5 PCI: setting IRQ 5 as level-triggered ACPI: PCI interrupt 0000:02:04.0[A] -> GSI 5 (level, low) -> IRQ 5 ndiswrapper: using irq 5 wlan0: ndiswrapper ethernet device 00:90:96:a3:65:ec using driver bcmwl5 wlan0: encryption modes supported: WEP, WPA with TKIP, WPA with AES/CCMP mtrr: base(0xe8020000) is not aligned on a size(0x300000) boundary
Com ens indica el log ja tenim la interficie wlan0 creada:
# iwconfig lo no wireless extensions. eth0 no wireless extensions. wlan0 IEEE 802.11g ESSID:off/any Mode:Managed Frequency:2.462 GHz Access Point: 00:00:00:00:00:00 Bit Rate:54 Mb/s Tx-Power:25 dBm RTS thr:2347 B Fragment thr:2346 B Encryption key:off Power Management:off Link Quality:99/100 Signal level:-66 dBm Noise level:-256 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:1956 Invalid misc:47992 Missed beacon:0
Cal recordar però que heu de fer un ifconfig wlan0 up perquè sinó al llistat d’interficies del kernel no veureu la interficie, ja que per defecte esta baixada. Ara només queda configurar la interfice wifi amb el iwconfig, per exemple:
iwconfig wlan0 essid nomxarxa
Amb això si la xarxa no té WEP ni cap sistema de seguretat ja en tindrem prou perquè la resta de coses, com el canal es configurin sols. Si voleu veure quines xarxes tenim disponibles podem usar la comanda:
iwlist wlan0 scan
Aquesta comanda la podeu trobar dins el paquet net-wireless/wireless-tools.
Per configurar la nostre targeta de xarxa com a client de WPA podeu instal·lar el paquet: net-wireless/wpa_supplicant, concretament jo he instal·lat la versió 0.3.6. La configuració la comenta el pof en un comentari de l’article: Xarxa Wifi Segura: freeRadius + WRT54G = 802.1x (WPA-radius EAP/TLS). Però us ho resumeixo aquí. Després d’instal·lar el paquet comentat només cal configurar el fitxer /etc/wpa_supplicant.conf, per exemple seguint la configuració del post comentat quedaria així:
network={ ssid="druvs" proto=WPA key_mgmt=WPA-EAP pairwise=TKIP group=TKIP eap=TLS identity="exemple@exemple.com" ca_cert="/etc/cert/root.pem" client_cert="/etc/cert/root.pem" private_key="/etc/cert/root.p12" private_key_passwd="whatever" }
Per llençar el client només cal posar:
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dndiswrapper
Si voleu llençar-lo en mode depuració d’errors:
wpa_supplicant -dd -iwlan0 -c/etc/wpa_supplicant.conf -Dndiswrapper
No us oblideu que si heu d’obtenir la direcció IP de l’AP heu de llençar el client de DHCP o si useu IPs estàtiques heu de configurar la interficie wlan0 amb el ifconfig.
0 thoughts on “Ndiswrapper: Broadcom BCM4306 802.11b/g WLAN amb Linux i WPA supplicant (EAP/TLS)”
Thank you guy,
it works fine !!
My broadcom bcm4306 on a dell latitude laptop works fine now !
thank a lot
B2K
And me to, but I don't use WPA for this time, I can't connect with it. I don't know why.
But Wifi works fine now.
Thanks a lot.
driver