Beginer - Where to start?

  • Thread starter Thread starter MdmDriver
  • Start date Start date
M

MdmDriver

Hi Everyone,

I have a usb modem and driver provided by the vendor, both are working fine
on WindowsXP.
For learning purpose, i want to develop a driver for this modem on Windows
XP.
Prepartion i have done are as follows

I am a VC++ programer,
have read Jan Axelson's USB complete
have read few chapters from Windows driver model by Walter Oney
have knowledge about UART, Hayes AT modem commands, little bit about windows
services
have windows xp ddk installed

now i wonder where to start and what should be the step by step approach for
this ?

please advise me
 
more then likely the modem implemented the usb CDC (communication device
class) specification. download the CDC spec from http://usb.org. i would
also suggest you get the KMDF book and learn KMDF, it will drastically
shorten your dev time. of course if they driver does nto comply to the cdc
spec, you have to ask the vendor for the interface spec.

d
 
Thank you Doron Holan,

I have downloaded the cdc spec, started reading that one, i understand that
kmdf will simply my work and it is a part of WDF the next generation ddk,
some how i would like to develop WDM driver using Winxp ddk, later i would
try it using WDF.

please tell me what would be the first coding step i am suppose to do, like
hello world kind of thing in driver development?

-Bob
 
The Windows XP DDK is obsolete and NOT SUPPORTED. The current Vista WDK
supports building drivers for Windows 2000 and later OS'es. Using the XP
DDK is a bad idea.

Also, using WDF is a lot easier than WDM, you are buying yourself a lot of
grief for nothing by using WDM. You will have to create a complex state
machine for plug and play / power in WDM in WDF the framework does the hard
stuff for you.

Follow Doron's suggestions, doing anything else is going to add a lot of
time to a project for no reason.


--
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply
 
You can use the latest WDK to build straight WDM or WDF drivers. I assume
you want to go the WDM route because you want to know what's going on under
the hood of WDF. I applaud your desire to do your due diligence in
understanding this space.

For a fair example of WDM and a great place to start I would look at the
Toaster sample. The func sample is your typical functional WDM device
driver. That will show you all the PnP and Power code that goes into a WDM
driver plus setting up device interfaces for communication with user-mode
and a lot more. The really nice thing about Toaster is it isn't tied to any
real hardware so you can install it easily and play around with it and
learn.

Good luck. Btw, cross-posting is generally frowned upon around here and
especially in the DTM newsgroup.

Bill M.
 
if you are interested in a modem specific example, fakemdm is a starting
point. you can also use any of the usb samples to see how to communicate
with the usb stack. I also think you should understand the underlying
system below WDF (e.g. WDM), but understanding WDF first will lead you to
an easier entry into the world of WDM. If you start off simple and get
something running, it is much easier to look under the hood once it is
functional then banging your head against the wall for quite a while before
you can get anything working.

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.
 
Gentlemen

Thank you for all the inputs, its helpful for me.

I understand, that once we make it working using WDF, then we can explore it
by making changes/build and find out whats under the hood. Since this is my
personal project for learning purpose, there is no dead line, i have
already spent sometime on WDM/WinxpDDK and i hope that i will get bit deep
knowledge if i go WDM way. in case if i am not able to make it, there is no
other way and i will go for WDF.

Following your suggestions, i have built/installed toaster/fake-modem and i
am eager to know whats going on there, i think after gainig knowledge about
toaster/fake-modem, i would be able to decide my next step.

I agree i should not have cross-posted in DTM group, so its removed from the
post list.

-Bob
 
Hi Everyone,

I have a usb modem and driver provided by the vendor, both are working fine
on WindowsXP.
For learning purpose, i want to develop a driver for this modem on Windows
XP.
Prepartion i have done are as follows

I am a VC++ programer,
have read Jan Axelson's USB complete
have read few chapters from Windows driver model by Walter Oney
have knowledge about UART, Hayes AT modem commands, little bit about windows
services
have windows xp ddk installed

now i wonder where to start and what should be the step by step approach for
this ?

please advise me

It will probably take about 2 years to get to somehting selable if you
go the WDM route. You dont know the meaning of pain yet, serious
pain, in vast amounts. Thats the kernel. Nothing in applicaiton land
can prepare you for it.

Some of us though are masochists and cant get away from the damn
thing. ;)
 
Back
Top