HOWTO Linksys WPC54G with PC-BSD 1.3 based FreeBSD 6.1
Hello,
Here how I setuped my PCMCIA Linksys WPC54G card in my Laptop Compaq 2810EA, based on Richard article, with some modifications suites my needs.
I downloaded PC-BSD 1.3 Beta cd and burned it using Nero.
Then I installed the PC-BSD 1.3 without any signle problem.
Now, I need to make PC-BSD 1.3 Which is based on FreeBSD 6.1 to know my PCMCIA Linksys WPC54G card, so I was connected via wire with my Intel ethernet card fxp0.
First I updated my FreeBSD 6.1 source tree because ndis wont work without having the kernel source in my system.
Since I live in State of Qatar, Arab world, I choosed cvsup1.KW.FreeBSD.Org since it’s hosted in Kems ISP in the State of Kuwait, and my ISP has direct link to it.
# traceroute cvsup1.kw.FreeBSD.Org
traceroute to cvsup1.kw.FreeBSD.Org (168.187.5.244), 64 hops max, 40 byte packets
1 192.168.1.1 (192.168.1.1) 1.898 ms 1.526 ms 1.467 ms
2 89.211.192.1 (89.211.192.1) 16.287 ms 17.327 ms 16.940 ms
3 89.211.0.117 (89.211.0.117) 23.545 ms 16.339 ms 17.075 ms
4 89.211.0.73 (89.211.0.73) 16.981 ms * *
5 89.211.0.42 (89.211.0.42) 17.045 ms 422.017 ms 442.963 ms
6 195.229.27.17 (195.229.27.17) 485.118 ms 476.282 ms 485.688 ms
7 195.229.27.14 (195.229.27.14) 496.190 ms 484.944 ms 495.585 ms
8 168.187.0.39 (168.187.0.39) 485.116 ms 485.797 ms 495.300 ms
9 168.187.5.1 (168.187.5.1) 495.525 ms 496.208 ms 484.907 ms
10 mirrors.kems.net (168.187.5.244) 495.338 ms 495.574 ms 548.376 ms
Thank you Kems ISP for hosting a FreeBSD cvsup mirror in your facilities.
Now I went to linksys download site and I downloaded the windows driver
WPC54Gv5.zip which is the latest windows driver.
Then I extracted the unzipped it as WPC54Gv5 folder.
I looked into the files I need they were lsbcmnds.inf and bcml5.sys
Then I started the ndisgen
PCBSD# ndisgen lsbcmnds.inf bcml5.sys
Then I got this screen
==================================================================
------------------ Windows(r) driver converter -------------------
==================================================================
Kernel module generation
The script will now try to generate the kernel driver module.
This is the last step. Once this module is generated, you should
be able to load it just like any other FreeBSD driver module.
Press enter to compile the stub module and generate the driver
module now:
Generating Makefile… done.
Building kernel module… done.
Cleaning up… done.
The file bcmwl5_sys.ko has been successfully generated.
You can kldload this module to get started.
Press return to exit.
Aww nice, I got the kernel module I need
bcmwl5_sys.ko
so I typed
kldload ./bcmwl5_sys.ko
Then I typed
dmesg | grep ndis
ndis0: mem 0×88000000-0×88001fff irq 11 at device 0.0 on cardbus0
ndis0: NDIS API version: 5.1
ndis0: Ethernet address: 00:14:bf:22:be:12
Bingo. I have a ndis0 interface. Let’s see it.
ifconfig ndis0
ndis0: flags=8802 mtu 1500
ether 00:14:bf:22:be:12
media: IEEE 802.11 Wireless Ethernet autoselect
status: no carrier
ssid “” channel 11
authmode OPEN privacy OFF txpowmax 100 protmode CTS
A look at the loaded kernel modules shows my custom kernel module, if_ndis, and ndis are loaded.
# kldstat Id Refs Address Size Name 1 18 0xc0400000 63072c kernel 2 2 0xc0a31000 74b0 snd_csa.ko 3 3 0xc0a39000 1d408 sound.ko 4 2 0xc0a64000 eeec drm.ko 5 16 0xc0a73000 568dc acpi.ko 6 1 0xc2003000 69000 bcmwl5_sys.ko 7 1 0xc206c000 b000 if_ndis.ko 8 2 0xc2077000 13000 ndis.ko
Now I’m ready to bring up the card.
# ifconfig ndis0 inet 192.168.1.5 netmask 255.255.255.0 ssid WeArab.Net
No errors — let’s check ndis0
# ifconfig ndis0
ndis0: flags=8843 mtu 1500
inet 192.168.1.5 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::214:bfff:fe22:be12%ndis0 prefixlen 64 scopeid 0×4
ether 00:14:bf:22:be:12
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
status: associated
ssid WeArab.Net channel 11 bssid 00:13:10:65:2f:ad
authmode OPEN
Looks good — I’ll add a default route and ping Google.
# route add default 192.168.1.1 add net default: gateway 192.168.1.1 orr:/home/richard/tmp$ ping -c 1 www.google.com PING www.google.com (72.14.203.104): 56 data bytes 64 bytes from 72.14.203.104: icmp_seq=0 ttl=233 time=270.746 ms — www.google.com ping statistics — 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/stddev = 270.746/270.746/270.746/0.000 ms
Awesome. To make life easier, I copied the module in /boot/modules/ instead of /boot/kernel so that it will survive my next upgrade or make installkernel.
# cp bcmwl5_sys.ko /boot/modules/
Everything works; in fact, I’m posting while using the card now. Then I adjusted my /boot/loader.conf
# WiFi
wlan_tkip_load=”YES”
wlan_ccmp_load=”YES”
wlan_xauth_load=”YES”
wlan_acl_load=”YES”
# Linksys WPC54G WifiNIC
bcmwl5_sys_load=”YES”
So next reboot my WiFI pcmcia card should work for me
Regards,
Arab Portal Network
Posted by By: Abdullah Ibn Hamad Al-Marri |