Author Topic: How to force driver reassignment on a device descriptor change  (Read 9914 times)

raul

  • Member
  • ***
  • Posts: 6
How to force driver reassignment on a device descriptor change
« on: February 10, 2015, 09:35:02 am »
Hi,
we are currently developing a composite USB device. All the interfaces are HID, some using standard usages (mouse,touch,....), some using vendor usages.

We have recently done a reorganization of the toplevel collections: no functional changes, just moved things around between the interfaces.

We had assumed that by bumping the bcdDevice number on our device descriptor that would force MS Windows to reassign drivers.
No luck though.
Windows still tries to attach a "Mouse Driver" we had on interface 0 to a vendor-specific usage. This leads to an error (Cannot start device) and leads to us not being able to access the toplevel collection (not reported when querying for the devices with HID_GUID).

What is the canonical way of forcing Windows to do the driver reassignment  or dealing with a major change on the device descriptors ?

Note: we have experimented changing the serial number of the device , and then it all seems to work fine (as, I am guessing, then it doesn;t match to anything Windows has in its "cache"). (this is to further proof our current hypothesis)
Btw, the experiments were done on Win8.1

Any hints, thoughts or suggestions are most welcomed.

Thanks,
Raul.


Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: How to force driver reassignment on a device descriptor change
« Reply #1 on: February 10, 2015, 03:43:59 pm »
Change the Product ID in the device descriptor.

or

with the device attached, in Device Manager, select Driver > Uninstall. Detach and reattach the device.

raul

  • Member
  • ***
  • Posts: 6
Re: How to force driver reassignment on a device descriptor change
« Reply #2 on: February 19, 2015, 03:54:24 am »
Jan,
thanks for the reply.

Is there some document from Microsoft dealing with this ? Or is there someone/email address where I can forward this types of question in Microsoft ?

Regards,
Raul

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: How to force driver reassignment on a device descriptor change
« Reply #3 on: February 19, 2015, 09:33:55 am »
I don't know of any Microsoft document describing this.

I've gotten helpful answers in the past from the Microsoft forums, you could try the Hardware Development forums:

https://social.msdn.microsoft.com/Forums/en-US/home?category=windowshardwaredev