wpa_supplicant causes panic in ieee80211_newstate

Brian Candler B.Candler at pobox.com
Mon May 9 09:09:32 PDT 2005


On Fri, Apr 29, 2005 at 04:18:11PM +0100, Brian Candler wrote:
[regarding Netgear WG311 (v2) card]
> I have given the NDIS driver a try, but haven't been able to make it work.

I see there have been several commits regarding NDIS over the weekend, so
I've done a cvsup as of around 08:30 UTC 2005-05-09, and a
complete buildworld/buildkernel cycle. My kernel has:

device		ndis
options		NDISAPI

The good news is that ndisgen and kldload now don't panic the system. The
bad news is that it still doesn't work with the WG311 drivers.

Here's what I did to convert the Win2K drivers:

------------------------
# ndisgen
3] convert driver
> wg311v2.inf
This .INF file appears to be ASCII.
> netwg311_2K.sys
This .SYS file appears to be in Windows(r) PE format.
Firmware file conversion
> FwRad16.bin
> FwRad17.bin
> FW1130.BIN
List of files converted firmware files:
FwRad16.bin.o
FwRad17.bin.o
FW1130.BIN.o
The file netwg311_2K_sys.ko has been successfully generated.
4] exit
------------------------

And here's what happened when I tried to load it:

# sync
# kldload ./netwg311_2K_sys.ko
# tail -5 /var/log/messages
May  9 16:45:00 foo kernel: ndis0: <NETGEAR WG311v2 802.11g Wireless PCI Adapter> mem 0xfaffc000-0xfaffdfff,0xfafc0000-0xfafdffff irq 11 at device 11.0 on pci2
May  9 16:45:00 foo kernel: ndis0: [GIANT-LOCKED]
May  9 16:45:00 foo kernel: ndis0: NDIS API version: 5.0
May  9 16:45:00 foo kernel: ndis0: init handler failed
May  9 16:45:00 foo kernel: device_attach: ndis0 attach returned 6

I also tried:

# cp FW1130.BIN* FwRad1* /compat/ndis/

to copy all the .ko and .o files into that location, then did a kldunload
and kldload of the module. The response in /var/log/messages was exactly the
same. sysctl shows:

hw.ndis_filepath: /compat/ndis

All I can deduce from the source is that ndis_init_nic() failed, code 6
being ENXIO. Is there anything else I can try, or any way to get more useful
debugging output?

The other strange thing is the FW1130.BIN file: I can't find a reference to
that filename anywhere.

# strings netwg311_2K_sys.ko | grep -i fwrad
fwrad16_bin_start
fwrad16_bin_end
fwrad17_bin_start
fwrad17_bin_end
FwRadNN.bin          <<<< OK, this looks like a filename template
# strings netwg311_2K_sys.ko | grep 1130 
fw1130_bin_start
fw1130_bin_end
TNET1130
.\Release_1130\tnet1130.sys
S:\sta_dk\pform\win\win2k\make\Release_1130\tnet1130.pdb
# grep 1130 wg311v2.inf 
# strings FwRad16.bin | grep 1130
# strings FwRad17.bin | grep 1130

However, it looks like NdisOpenFile should log an error if the file open
fails, so I don't think that's the problem.

I was going to look on the CD to see if there were any more references to
FW1130, but I have now been bitten by the acd0 bug in -CURRENT which has
been reported by a couple of other people :-(

May  9 17:06:10 foo kernel: acd0: FAILURE - TEST_UNIT_READY ABORTED COMMAND asc=0x4e ascq=0x00 error=4<ABORTED>
May  9 17:06:10 foo kernel: acd0: WARNING - READ_BIG UDMA ICRC error (retrying request)
May  9 17:06:10 foo kernel: acd0: FAILURE - TEST_UNIT_READY ABORTED COMMAND asc=0x4e ascq=0x00 error=4<ABORTED>

Regards,

Brian.


More information about the freebsd-current mailing list