Modify USB device descriptor by filter driver

Discussion in 'Windows Vista Drivers' started by Abei, Apr 27, 2010.

  1. Abei

    Abei Guest

    Hi, All
    I want to build a lower filter driver to modify my USB device descriptor
    before USB host controller driver get it. Can I achieve this goal?
    Thanks a lot!
    Abei, Apr 27, 2010
    1. Advertisements

  2. who do you want to see the changed descriptor? ie what affect do you want it
    to have? do you want the host controller to change the way it enumerates
    the device? or the client driver that loads on top of the enumerated device
    sees the change?

    Doron Holan [MSFT], Apr 27, 2010
    1. Advertisements

  3. Abei

    Abei Guest

    Hi, Doron!
    Yes, I want the host controller to enumerate my device as a compsite device.
    My device reports it as a single function device. It will cause S3/S4 resume
    system failed. But if I modify the device descriptor to a compsite device, it
    can't duplicate this issue.
    Since device descriptor (firmed in chip) can't be changed, I want to modify
    it in a lower filter driver before host controller driver gets my devcie
    descriptor. Can this lower filter driver achieve this goal?
    Thank you very much!!
    Abei, Apr 28, 2010
  4. Abei

    Tim Roberts Guest

    That is a driver issue, not a hardware issue. When you make it composite,
    all you are doing is adding another driver to the stack. Anything it can
    do, you can do in YOUR driver. What class of device is this?
    No. The host controller driver is the bottom-most driver in the USB stack.
    It performs transfers through DMA. It doesn't send any requests down for
    you to filter, because there IS no driver below it.
    Tim Roberts, Apr 28, 2010
  5. Abei

    Abei Guest

    Hi, Tim!
    Our device driver can pass Windows 7/vista/XP x86 & x64 all device DTM test
    items and get log already.
    But it failed on system DTM test for a type of netbook.
    We can't know where is wrong of our driver.
    Abei, Apr 28, 2010
  6. start adding logging to your driver and try to root cause it. changing how
    the device enumerates is a band aid, not the real fix (and as tim pointed
    out, there is no way to do what you want to do here, there is nothing for
    you to filter)

    Doron Holan [MSFT], Apr 28, 2010
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.