I allocated two mdls, one for the management header and one for the management payload, linked them, and passed the mdl chain to NdisAllocateNetBufferAndNetBufferList. I still get the same error. I don’t see why the ndis5 wrapper would effect my bufferlist differently than the working bufferlist sent by the FilterSendNetBufferLists routine (which works fine).
@David R. Cattley, @G : I didn’t see how ndis5 wrapper played a roll either, as I stated above. Before the filter calls FilterSendNetBufferLists, it checks for NdisMediumNative802_11 to avoid 802.3 packets. There is no reason for the native wifi miniport below to have ndis5 wrapper.
I still don’t know if 802.11 packet injection is possible with a lwf above a native miniport, but I think it can be done.
wrote in message news:xxxxx@ntdev… > @David R. Cattley, @G : I didn’t see how ndis5 wrapper played a roll > either, as I stated above. Before the filter calls > FilterSendNetBufferLists, it checks for NdisMediumNative802_11 to avoid > 802.3 packets. There is no reason for the native wifi miniport below to > have ndis5 wrapper. > I still don’t know if 802.11 packet injection is possible with a lwf above > a native miniport, but I think it can be done.
Anyway, whether the wrapper plays any role or not, sendind dot11 packets down to ndis5 miniport won’t work. “Fat” ndis5 miniports simply do not have interfaces that can accept dot11 packets.
Even in drivers that have such interfaces, these are proprietary and not known to ndis6.
I don’t why some of you think I am sending packets to an ndis5 miniport. If you look at the posts above, the filter is attached at multiple levels. One of them is a native 802.11 miniport which sends and receives 802.11 packets. I’ve read the 802.11 packets already.
Well anyway, I decided to check the 802.11 frame type ndislwf can receive. I’m only seeing 802.11 data frames being sent on FilterSendNetBufferLists. Why is it netmon 3.2 can see management frames on my wireless adapter and ndislwf only sees 802.11 data frames on the same adapter?
Well anyway, I decided to check the 802.11 frame type ndislwf can receive. I’m only seeing 802.11 data frames being sent on FilterSendNetBufferLists. Why is it netmon 3.2 can see management frames on my wireless adapter and ndislwf only sees 802.11 data frames on the same adapter?
I found out why I wasn’t seeing certain types of 802.11 frames. I was setting OID_GEN_CURRENT_PACKET_FILTER in FilterAttach(). It needs to be set after the filter has started. The lwf was only seeing mgmt probe responses and 802.11 data types before I set the packet filter. I guess the default packet filter is 802.11 data frames and probe responses?
I still haven’t figured out how to originate and send my own management packet without the vendor driver crashing.