Develop a generic USB driver for wince6.0 RRS feed

  • Question

  • I need to develop a usb driver for wince6.0 x86 platform, where in when i
    plug in an usb device into my wince device , the device should be able to
    detect the device that is been plugged in and also be capable for
    transferring the data between host device(wince device) and client device
    (usb device). Please help me out with some examples and procedure to develop

    Thanks and regards.

    Tuesday, February 22, 2011 9:51 AM

All replies

  • WinCE 6.0 already has the class driver for HID class,Mass storage Class,Printer Class etc....
    So you want to develop USB Host custom class driver for your device.If yes means then you can look into any of the class driver.
    Check out the following MSDN link for the USB Host driver development concepts.
    Tuesday, February 22, 2011 10:08 AM
  • The detection of the USB device by the host is based on the registry which can associates a USB class rather than a specific USB VenID and/or DevID to a client driver to load. A lot then depends on the specific USB device: is it a microcontroller with an embedded USB stack? If you the specific USB classes supported by the OS are not useful you may need to develop an USB client drivers which handles, for example, bulk in/out transactions to transfer data from/to the device. The USB printer class driver is usually a good starting point

    Luca Calligaris lucaDOTcalligarisATeurotechDOTcom Check my blog:
    Tuesday, February 22, 2011 10:18 AM
  • Thanku for reply,

    I have a handheld wince device , after docking the handheld to a docking station - the system will have a device port and I should be able to connect this to a USB host port on a laoptop/desktop. So to achieve this do I need to develop a function client driver and could you please suggest me with any thoughts on this as to what is the right approach to follow.


    Thanks and Regards.
    Tuesday, February 22, 2011 10:49 AM
  • so you need a USB function client driver: provided that your BSP has a driver for the specific USB function controller you can use one of the USB function class drivers provided by MSFT like RNDIS, SERIAL, etc (see %_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\USBFN\CLASS).

    You probably need to modify the .INF file on the laptop to associate the correct USB client driver to your VenID DevID

    Since you want to transfer data to/from your device you could even take advantage of ActiveSync rather than writing a specific app which transfers data, let's say, using a serial port

    Luca Calligaris lucaDOTcalligarisATeurotechDOTcom Check my blog:
    Tuesday, February 22, 2011 11:47 AM