From: djMax on
I'm an experienced programmer (15 yrs, C, Java, C++, C#, etc) but I've not
done any driver development. I'm looking to write a driver that sends raw
802.11 packets. Might anyone be kind enough to point me to the best way to
get started? (Perhaps a related sample, or an open source driver of some
sort)

I have installed the WDK and taken a brief look at the network samples, but
they don't seem low level enough.

Thanks!
From: Thomas F. Divine on
This goal may not be achievable on the Windows platform.

Generally the system 802.11 miniports and adapters are operating in the
"Extensible Station" (ExSTA) mode. In this mode station operation is under
control of the Microsoft Native Wi-Fi software.

Microsoft has decided to provide a crippled capability for ISVs to control
the Native 802.11 miniports. This is called "Network Monitor Operation Mode"
(NetMon). Believe me, they have locked this down so that the term "monitor"
has real meaning. In particular, from the WDK:

"While in NetMon mode, the miniport driver can only receive packets based on
the current packet filter settings. The driver cannot send packets either on
its own or through a call to its MiniportSendNetBufferLists function"

I don't see the practical possibility of sending raw 802.11 packets as being
achievable because of Microsoft's decision in this regards.

In fact, just getting NetMon mode to work properly is a chore - at least for
me. I have some pre-Alpha executables at:

http://www.pcausa.com/WlanExplorer

Thomas F. Divine
http://www.pcausa.com


"djMax" <djMax(a)discussions.microsoft.com> wrote in message
news:462AD494-39C6-42F6-9152-06885B36C9DB(a)microsoft.com...
> I'm an experienced programmer (15 yrs, C, Java, C++, C#, etc) but I've not
> done any driver development. I'm looking to write a driver that sends raw
> 802.11 packets. Might anyone be kind enough to point me to the best way
> to
> get started? (Perhaps a related sample, or an open source driver of some
> sort)
>
> I have installed the WDK and taken a brief look at the network samples,
> but
> they don't seem low level enough.
>
> Thanks!

From: djMax on
Makes painful sense. In my case I don't even want the USB device to work for
"normal" wifi. Could I just treat it as an arbitrary piece of hardware
rather than a network card? Or as a non-wireless network card?

"Thomas F. Divine" wrote:

> This goal may not be achievable on the Windows platform.
>
> Generally the system 802.11 miniports and adapters are operating in the
> "Extensible Station" (ExSTA) mode. In this mode station operation is under
> control of the Microsoft Native Wi-Fi software.
>
> Microsoft has decided to provide a crippled capability for ISVs to control
> the Native 802.11 miniports. This is called "Network Monitor Operation Mode"
> (NetMon). Believe me, they have locked this down so that the term "monitor"
> has real meaning. In particular, from the WDK:
>
> "While in NetMon mode, the miniport driver can only receive packets based on
> the current packet filter settings. The driver cannot send packets either on
> its own or through a call to its MiniportSendNetBufferLists function"
>
> I don't see the practical possibility of sending raw 802.11 packets as being
> achievable because of Microsoft's decision in this regards.
>
> In fact, just getting NetMon mode to work properly is a chore - at least for
> me. I have some pre-Alpha executables at:
>
> http://www.pcausa.com/WlanExplorer
>
> Thomas F. Divine
> http://www.pcausa.com
>
>
> "djMax" <djMax(a)discussions.microsoft.com> wrote in message
> news:462AD494-39C6-42F6-9152-06885B36C9DB(a)microsoft.com...
> > I'm an experienced programmer (15 yrs, C, Java, C++, C#, etc) but I've not
> > done any driver development. I'm looking to write a driver that sends raw
> > 802.11 packets. Might anyone be kind enough to point me to the best way
> > to
> > get started? (Perhaps a related sample, or an open source driver of some
> > sort)
> >
> > I have installed the WDK and taken a brief look at the network samples,
> > but
> > they don't seem low level enough.
> >
> > Thanks!
>
From: Thomas F. Divine on
The approach of treating an 802.11 adapter hardware as a non-network device
is the solution for developing active network diagnostic tools on the
Windows platform.

Unfortunately, adapter vendors use development techniques and have business
models that prevent this approach from being practical. On the Windows
platform (as well as on others...) adapter vendors use firmware and
"hardware abstraction" DLLs that 1.) make it easy to do a ordinary things
and 2.) make it difficult to do anything else. This approach effectively
hides much of the functionality that is needed for active diagnostics.

To follow this approach you will need to work with adapter vendors and
obtain their proprietary hardware and software interface descriptions. They
don't provide the information that is needed for you to follow this
approach.

Good luck,

Thomas F Divine
http://www.pcausa.com


"djMax" <djMax(a)discussions.microsoft.com> wrote in message
news:D82741B7-EBCD-4E8A-9940-DA2FB42295FF(a)microsoft.com...
> Makes painful sense. In my case I don't even want the USB device to work
> for
> "normal" wifi. Could I just treat it as an arbitrary piece of hardware
> rather than a network card? Or as a non-wireless network card?
>
> "Thomas F. Divine" wrote:
>
>> This goal may not be achievable on the Windows platform.
>>
>> Generally the system 802.11 miniports and adapters are operating in the
>> "Extensible Station" (ExSTA) mode. In this mode station operation is
>> under
>> control of the Microsoft Native Wi-Fi software.
>>
>> Microsoft has decided to provide a crippled capability for ISVs to
>> control
>> the Native 802.11 miniports. This is called "Network Monitor Operation
>> Mode"
>> (NetMon). Believe me, they have locked this down so that the term
>> "monitor"
>> has real meaning. In particular, from the WDK:
>>
>> "While in NetMon mode, the miniport driver can only receive packets based
>> on
>> the current packet filter settings. The driver cannot send packets either
>> on
>> its own or through a call to its MiniportSendNetBufferLists function"
>>
>> I don't see the practical possibility of sending raw 802.11 packets as
>> being
>> achievable because of Microsoft's decision in this regards.
>>
>> In fact, just getting NetMon mode to work properly is a chore - at least
>> for
>> me. I have some pre-Alpha executables at:
>>
>> http://www.pcausa.com/WlanExplorer
>>
>> Thomas F. Divine
>> http://www.pcausa.com
>>
>>
>> "djMax" <djMax(a)discussions.microsoft.com> wrote in message
>> news:462AD494-39C6-42F6-9152-06885B36C9DB(a)microsoft.com...
>> > I'm an experienced programmer (15 yrs, C, Java, C++, C#, etc) but I've
>> > not
>> > done any driver development. I'm looking to write a driver that sends
>> > raw
>> > 802.11 packets. Might anyone be kind enough to point me to the best
>> > way
>> > to
>> > get started? (Perhaps a related sample, or an open source driver of
>> > some
>> > sort)
>> >
>> > I have installed the WDK and taken a brief look at the network samples,
>> > but
>> > they don't seem low level enough.
>> >
>> > Thanks!
>>
From: djMax on
Do the open source Linux drivers change this equation at all? I'm dealing
with constrained hardware - namely the RT73 line of chips, which I know on
the Linux side support all they need to. Wouldn't that code be the same
(conceptually) on the Windows side?

"Thomas F. Divine" wrote:

> The approach of treating an 802.11 adapter hardware as a non-network device
> is the solution for developing active network diagnostic tools on the
> Windows platform.
>
> Unfortunately, adapter vendors use development techniques and have business
> models that prevent this approach from being practical. On the Windows
> platform (as well as on others...) adapter vendors use firmware and
> "hardware abstraction" DLLs that 1.) make it easy to do a ordinary things
> and 2.) make it difficult to do anything else. This approach effectively
> hides much of the functionality that is needed for active diagnostics.
>
> To follow this approach you will need to work with adapter vendors and
> obtain their proprietary hardware and software interface descriptions. They
> don't provide the information that is needed for you to follow this
> approach.
>
> Good luck,
>
> Thomas F Divine
> http://www.pcausa.com
>
>
> "djMax" <djMax(a)discussions.microsoft.com> wrote in message
> news:D82741B7-EBCD-4E8A-9940-DA2FB42295FF(a)microsoft.com...
> > Makes painful sense. In my case I don't even want the USB device to work
> > for
> > "normal" wifi. Could I just treat it as an arbitrary piece of hardware
> > rather than a network card? Or as a non-wireless network card?
> >
> > "Thomas F. Divine" wrote:
> >
> >> This goal may not be achievable on the Windows platform.
> >>
> >> Generally the system 802.11 miniports and adapters are operating in the
> >> "Extensible Station" (ExSTA) mode. In this mode station operation is
> >> under
> >> control of the Microsoft Native Wi-Fi software.
> >>
> >> Microsoft has decided to provide a crippled capability for ISVs to
> >> control
> >> the Native 802.11 miniports. This is called "Network Monitor Operation
> >> Mode"
> >> (NetMon). Believe me, they have locked this down so that the term
> >> "monitor"
> >> has real meaning. In particular, from the WDK:
> >>
> >> "While in NetMon mode, the miniport driver can only receive packets based
> >> on
> >> the current packet filter settings. The driver cannot send packets either
> >> on
> >> its own or through a call to its MiniportSendNetBufferLists function"
> >>
> >> I don't see the practical possibility of sending raw 802.11 packets as
> >> being
> >> achievable because of Microsoft's decision in this regards.
> >>
> >> In fact, just getting NetMon mode to work properly is a chore - at least
> >> for
> >> me. I have some pre-Alpha executables at:
> >>
> >> http://www.pcausa.com/WlanExplorer
> >>
> >> Thomas F. Divine
> >> http://www.pcausa.com
> >>
> >>
> >> "djMax" <djMax(a)discussions.microsoft.com> wrote in message
> >> news:462AD494-39C6-42F6-9152-06885B36C9DB(a)microsoft.com...
> >> > I'm an experienced programmer (15 yrs, C, Java, C++, C#, etc) but I've
> >> > not
> >> > done any driver development. I'm looking to write a driver that sends
> >> > raw
> >> > 802.11 packets. Might anyone be kind enough to point me to the best
> >> > way
> >> > to
> >> > get started? (Perhaps a related sample, or an open source driver of
> >> > some
> >> > sort)
> >> >
> >> > I have installed the WDK and taken a brief look at the network samples,
> >> > but
> >> > they don't seem low level enough.
> >> >
> >> > Thanks!
> >>