Hi,
I am new to Windows Device Driver writing. I recently upgrade one of my system to Windows Vista Ultimate x64. Everything works apart from the my USB to Ethernet adapater which unfortunately is based on the Davicom DM9601 chip (http://www.davicom.com.tw/eng/products/dm9601.htm). I wote a couple of time to Davicom and got no respose. I also tried hunting the internet. It appears that there is no x64 driver for this device. This device is however natively supported in Linux kerner 2.6 and up. I uploaded the driver code for Linux for the DM9601 here: http://ddl.team.googlepages.com/dm9601_drv_src_linux.zip
More details about is chip is available at: http://www.davicom.com.tw/eng/products/dm9601.htm
Is there anyone who can port this Linux USB driver to Windows Vista/XP x64 USB driver or at least give me some pointer so that I can do it myself?
Any help is appreciated. Thanks.
Samuel Gomes wrote:
Is there anyone who can port this Linux USB driver to Windows
Vista/XP x64 USB driver
For free?
or at least give me some pointer so that I can do it myself?
Look at the NDISEDGE sample in the WDK.
> Is there anyone who can port this Linux USB driver to Windows > Vista/XP x64 USB driver
Sure - just look at the outsourcing sites ( I would say there is 99.9% chance they will be unable to do it properly so that you will waste time and money, but at least they are cheap). If you want to hire a good developer… well, you can do it, but it is going to cost you quite a bit
or at least give me some pointer so that I can do it myself?
Do you realize how long will it take for someone who has no experience in writing Windows drivers???
I hope by now you understand that your best bet here is just to request a driver from the vendor (unless you just want to learn Windows driver programming - I can assure you the time you spend on this project
is not going to get wasted). In the latter case, I would advise you to forget about Chris’s advice for quite a while, and learn general kernel-level concepts before you start thinking about porting a driver to Windows…
Anton Bassov
Hmm. Guess I am going to learn to write Windows Device Drivers after all and think about porting this driver later. Writing Device Drivers sounds like fun. It will good on my resume too. 
> Writing Device Drivers sounds like fun.
Believe me, it is not - I can assure you that at the early stages it is going to be pretty frustrating experience. Start with a legacy driver that, say, reads data from the kernel address space upon the user request, before you proceed to anything that is remotely related to hardware devices. Then try attaching
to some device stack, and filter the data of your interest (it still can be a legacy driver). Then introduce PnP support into it, and load it as a “proper” upper or lower filter (I would suggest input - it seems to be the easiest driver architecture). .I would advise you to do everything from the scratch, and use the existing WDK samples only as a reference - otherwise, the whole thing just does not seem to make sense.
Get ready to watch BSOD on countless occasions. Read MSDN, look at WDK samples, get yourself Oney’s book, and, in general, get ready to do a lot of work (and to be frustrated most of the time - how come that I do things the way MSDN says, but somehow my driver does not work). This is how it works - we all went through it. Good luck…
Anton Bassov
When you are ready to proceed to hardware devices, I would advise you to start with input architecture