Cisco Systems PCI Wireless LAN Adapter (perhaps ndis ?)

Marius M. Rex marius at malkav.snowmoon.com
Wed Oct 18 22:09:28 UTC 2006


I have a Cisco Aironet 350 wireless MiniPCI adapter on an IBM thinkpad 
T30.  Has anyone had good luck using one of these adapters on a recent
version of FreeBSD?

My work laptop runs MS-Windows, FreeBSD 6.x stable, and Gentoo linux.
Previously the card had worked under all operating systems.  But when the
company decided I should upgrade to Windows XP a while back, the firmware 
on the card got updated and the native FreeBSD drivers stopped being 
dependable. (That may have been 5.x stable back then, I cannot be sure as 
it was a while back.)  When I updated to FreeBSD 6.x I tried the drivers 
again, and still I would often lose my connection to the base station.  It 
was frustrating.  I ended up letting this issue lie idle for a while, as 
it worked in the other two OSs, and have not touched it for almost a year
now.

Recently I decided to give it another shot.  So over the weekend I turned 
to Project Evil to see if I could get ndis to work.    I grabbed the 
drivers I needed and the kernel modules were generated without a problem. 
So now I can load the module by hand.  (So far so good.)

# kldload PCX504_sys
ndis0: <Cisco Systems PCI Wireless LAN Adapter> port 0x8000-0x80ff mem
0xd0200000-0xd0203fff,0xd0400000-0xd07fffff irq 11 at device 2.0 on pci2
ndis0: NDIS API version: 5.0
ndis0: Ethernet address: 00:02:8a:ef:34:84

I then proceed to bring up the interface by hand with ifconfig.  But this
always fails when I try to set the attributes I need to connect to my 
access point.

# /sbin/ifconfig ndis0 channel 1 10.0.0.60 netmask 255.255.255.0 ssid
# "mywireless" up
ndis0: couldn't retrieve channel info: 19
ndis0: setting BSSID failed: 19
ndis0: set ssid failed: 19
ndis0: link state changed to UP
# ifconfig ndis0
ndis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         inet 10.0.0.60 netmask 0xffffff00 broadcast 10.0.0.255
         ether 00:02:8a:ef:e4:83
         media: IEEE 802.11 Wireless Ethernet autoselect
         status: associated
         ssid "" channel 1
         authmode OPEN privacy OFF txpowmax 100

As you can see the IP address gets assigned, and the interface even 
considers itself 'associated.'  Looking at the routing tables, they also 
got set up. But I cannot actually connect to anything else on my network. 
It seems pretty clear to me that I am not actually associated with my 
access point.  In this instance I control the access point, and have
disabled encryption to take it out of the mix.

# netstat -rn
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
10/24              link#4             UC          0        0  ndis0
127.0.0.1          127.0.0.1          UH          0       83    lo0
Malkuth# ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1): 56 data bytes
ping: sendto: Host is down
ping: sendto: Host is down
ping: sendto: Host is down
^C
--- 10.0.0.1 ping statistics ---
8 packets transmitted, 0 packets received, 100% packet loss
#
ndis0: watchdog timeout


10.0.0.1 would be my gateway, and should return my pings.  Can anyone 
suggest what I might do to get this working?  So far I have seen nothing 
recent in the archives.  It seems like ndis is working fine, but ifconfig
just cannot set the attributes with my card.  Anyone have a pointer that
could help me out?

I am subscribed to this list via another email account so I can read all 
replies even if they do nto come to this address directly.

-------------------------------------------------------------------------
Marius M. Rex
marius at malkav.snowmoon.com


More information about the freebsd-mobile mailing list