Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Oct 2007 18:32:11 +0200
From:      Marcin Simonides <marcin@studio4plus.com>
To:        freebsd-drivers@freebsd.org
Subject:   Re: NDIS: intel 4965 panic
Message-ID:  <47178A8B.1050205@studio4plus.com>
In-Reply-To: <471284EF.2010009@studio4plus.com>
References:  <471284EF.2010009@studio4plus.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Marcin Simonides wrote:
> I've tried using an XP ndis wrapper for my intel 4965 wifi adapter. 
> After loading the driver the device is recognized and then kernel panics 
> during driver attachement.
[...]

Previously I didn't mention that there are some functions missing from 
the FreeBSD's NDIS api. These are:

NdisIMCopySendPerPacketInfo
strncat
KeQuerySystemTime
KeBugCheckEx
KeTickCount

With the help of NDIS reference and Linux ndiswrapper I have been able 
to implement all but KeBugCheckEx (they are all rather simple but I 
can't be 100% sure they're correct and exported appropriately).

Now I'm able to load the driver and don't get any of the "ntoskrnl dummy 
called..." messages which probably means that there are no missing 
functions the driver tries to call.

Unfortunately I'm still left with the:
ndis0: NDIS ERROR: 40001b7c (unknown error)
error message and the device doesn't work.

ifconfig ndis0 shows:

ndis0: flags=8806<BROADCAST,DEBUG,SIMPLEX,MULTICAST> mtu 1500
         ether 00:13:e8:64:aa:f7
         media: IEEE 802.11 Wireless Ethernet autoselect
         status: no carrier
         ssid "" channel 1
         authmode OPEN privacy OFF txpowmax 100 bmiss 7 protmode CTS

The LED indicating whether WLAN is on doesn't light up. Calling ifconfig 
ndis0 up results with the following kernel messages:

ndis0: NDIS ERROR: 40001b7c (unknown error)
ndis0: NDIS NUMERRORS: 2
ndis0: argptr: 0x56524457
ndis0: argptr: 0xdd

And that's all I have been able to achieve so far :)

I'll try to read some more of NDIS specification, locate the source of 
the aforementioned error message and generally try to blindly find 
something.

Maybe someone has some suggestions? Maybe I should also try to post my 
questions to some other list?

The diff of my changes: http://marcin.studio4plus.com/ndis/ndis.diff
All changes are confined to the /usr/src/sys/compat/ndis directory. The 
functions I have added are implemented in a quick and dirty way :)
-- 
Marcin Simonides



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47178A8B.1050205>