Re: virtual network interface over PCI
- From: "Stephan Wolf [MVP]" <stewo68@xxxxxxxxxxx>
- Date: 23 Nov 2006 04:56:58 -0800
Not sure whether establishing a virtual network connection to the OS on
the card is the right way to go. This would mean you need a fully blown
TCP/IP stack on the card as well as an FTP server (or an FTP client).
This sounds like overkill to me if you just want to download firmware
to the card.
In order to implement a virtual network connection, you need to write
an NDIS miniport driver. An NDIS intermediate driver is not what you
want here (as it cannot handle any hardware). The NDIS miniport can be
either a pure standard miniport, i.e. one that fully controls your PCI
card's hardware resources like interrupt, DMA, and I/O. or you can
write a WDM driver for your card and then write a so-called NDISWDM
miniport that talks to the WDM driver.
Another solution might be a completely different one: Why not write a
driver that handles and presents your card's shared memory as (hard or
floppy) disk storage. Then simply format this disk under Windows using
the FAT file system. Now you can use Explorer to copy the firmware as a
file to your card's memory. On the card, you of course need to be able
to understand the FAT file system, which AFIAIK is a quite easy task,
see e.g.
"Detailed Explanation of FAT Boot Sector"
http://support.microsoft.com/kb/q140418/
"FAT32 File System Specification"
http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx
"File Allocation Table"
http://en.wikipedia.org/wiki/File_Allocation_Table
"FILE: Ramdisk.sys sample driver for Windows 2000"
http://support.microsoft.com/kb/257405
"...\src\storage\..." samples in the DDK/WDK
Stephan
---
theo wrote:
I have a PCI driver to perform register read/writes/DMA to a PCI card.
The PCI card in question has a embedded controller/OS built in.
I have been asked to look in to a way of creating a virtual network
connection over PCI, to the embedded controller on the PCI card (using
some shared buffers on the hardware). Basically so you can do things
like FTP firmware files between the two devices. This is along side the
existing interface to directly read/write/DMA data.
I've never done network drivers on windows so if anyone can give me a
starting point it would be great. E.g. should I be writing a
intermediate network driver, which communicates to my PCI driver??
In terms of the hardware it looks like a separate 'function' for just
doing the networking side won't be possible, so I can't write a
straight network driver.
Thanks
.
- Follow-Ups:
- Re: virtual network interface over PCI
- From: theo
- Re: virtual network interface over PCI
- References:
- virtual network interface over PCI
- From: theo
- virtual network interface over PCI
- Prev by Date: Re: virtual network interface over PCI
- Next by Date: Re: Don't receive IRP_MJ_CREATE on a CreateFile
- Previous by thread: Re: virtual network interface over PCI
- Next by thread: Re: virtual network interface over PCI
- Index(es):
Relevant Pages
|