Wifi driver 802.11g

Hello,

I’ve a multifunction PCI device that handles different devices, one of the device has a wireless modem. The driver provides IOCTL for configuration and data transfer to/from the device. The client wants the device be exposed as a Wifi device 802.11g; they want to use Window 7 standard wireless networking features and network API in .NET. I never worked on network drivers but did many PCI/USB/ISA drivers. Is it doable? If so could anybody provide some architecural hint on how to proceed?

Thanks,
Hakim

On 16-Apr-2012 17:12, xxxxx@yahoo.ca wrote:

Hello,

I’ve a multifunction PCI device that handles different devices, one of the device has a wireless modem. The driver provides IOCTL for configuration and data transfer to/from the device. The client wants the device be exposed as a Wifi device 802.11g; they want to use Window 7 standard wireless networking features and network API in .NET. I never worked on network drivers but did many PCI/USB/ISA drivers. Is it doable? If so could anybody provide some architecural hint on how to proceed?

Thanks,
Hakim

Is the wi-fi function based on some well-known wi-fi controller (ex.
Realtek, Marvel and so on)? Then you just make it a separate PCI
function, as per the PCI standard, and use the driver provided by the
wi-fi vendor.
This function will work as standalone wi-fi controller, with complete
Windows support.
If it cannot be done as a separate PCI function, but has a separate BAR,
try to use the Windows multifunction shim (mf.sys) and hope that the
vendor’s wi-fi driver can work in this configuration.

Otherwise, it is not feasible for you. A wi-fi driver from scratch
(without the embedded firmware) takes almost one man-year for
experienced developer.

Regards,
– pa

Thanks for the answer.
It’s not based on wi-fi controller; the solution is sort of making a virtual wifi driver without a wifi controller; seems not feasible.

I would guess the interesting work is mostly in the firmware. The host
driver is mostly translating requests from one to the other, as boring as
usual-:slight_smile:

On Mon, Apr 16, 2012 at 9:02 AM, Pavel A wrote:

> On 16-Apr-2012 17:12, xxxxx@yahoo.ca wrote:
>
>> Hello,
>>
>> I’ve a multifunction PCI device that handles different devices, one of
>> the device has a wireless modem. The driver provides IOCTL for
>> configuration and data transfer to/from the device. The client wants the
>> device be exposed as a Wifi device 802.11g; they want to use Window 7
>> standard wireless networking features and network API in .NET. I never
>> worked on network drivers but did many PCI/USB/ISA drivers. Is it doable?
>> If so could anybody provide some architecural hint on how to proceed?
>>
>> Thanks,
>> Hakim
>>
>
>
> Is the wi-fi function based on some well-known wi-fi controller (ex.
> Realtek, Marvel and so on)? Then you just make it a separate PCI function,
> as per the PCI standard, and use the driver provided by the wi-fi vendor.
> This function will work as standalone wi-fi controller, with complete
> Windows support.
> If it cannot be done as a separate PCI function, but has a separate BAR,
> try to use the Windows multifunction shim (mf.sys) and hope that the
> vendor’s wi-fi driver can work in this configuration.
>
> Otherwise, it is not feasible for you. A wi-fi driver from scratch
> (without the embedded firmware) takes almost one man-year for experienced
> developer.
>
> Regards,
> – pa
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.**cfm?name=ListServerhttp:
></http:>

On 17-Apr-2012 19:29, Calvin Guan (news) wrote:

I would guess the interesting work is mostly in the firmware. The host
driver is mostly translating requests from one to the other, as boring
as usual-:slight_smile:

Yep, the host part is mostly boring OIDs. Ah, and hooks for test
automation and the whole WHQL thing :slight_smile: And all the bluescreens are yours :slight_smile:
– pa