PDA

View Full Version : Teensyduino USB Joystick no-data driver problem/workaround



gwideman
04-20-2013, 01:38 AM
Hi all,

This post reports on the Teensy++ 2.0 example Joystick/Complete not working on some machines.

We have the guts of an analog joystick (with switches) wired to the Teensy, running the example code.

When plugged into several different Windows desktops or laptops (mostly Win 7 pro), this works fine, for example as seen in joy.cpl, or using Joystick Tester (http://www.mcrenox.com.ar/downloads/).

However, when plugged into a particular laptop ("The Problem Machine", Lenovo Z575 Win 7 Home), although the Teensy appears in joy.cpl, the Properties window is blank (no graph of X-Y, slides or switches).

Another user also reported this kind of problem: http://forum.pjrc.com/threads/1319-teensy-2-joystick-stopped-working

Joystick Tester on the Problem Machine is similarly without data. Notably, the panel which shows data from the HID Report shows Max axes 6, Number of axes 0, Max buttons 32, Number of buttons 32.

I.e., Windows sees the joystick device, can read its device info, but mysteriously the number of data items actually available is zero.

This is the behavior when the Teensy code is compiled with the Arduino "USB Type" set to "Keyboard + Mouse + Joystick".

If instead we switch USB Type to "Serial + Keyboard + Mouse + Joystick", then the joystick works fine on The Problem Machine.

So is seems that there is something in the config_descriptor or joystick_hid_report_desc, when it's compiled with "K+M+J", that causes The Problem Machine to think there are no data items for the Joystick.

Bear in mind, again, that "K+M+J" works fine when Teensy is plugged into the six different other machines that we tried.

We also tried deleting all the serial code from example Complete (and also the examples that don't use serial), and these moves didn't result in proper behavior on The Problem Machine.

So, we have the workaround of using SUB Type = S+K+M+J, but it's worrisome that just K+M+J didn't work.

Other info:
-----------
These results (K+M+J bad, S+K+M+J good) were obtained after installing Arduino 1.0.4, Teensyduino 1.13 and teensy serial driver onto The Problem Machine. The non-working condition was encountered prior to installing Arduino etc. What we don't know is whether S+K+M+L would have worked with Arduino etc not installed (and/or whether that would prompt Windows to look for a serial driver -- doh!).

----------
Ideas?

-- Graham

gwideman
04-22-2013, 10:11 AM
Issue addressed
---------------
This concerns Teensyduino USB joystick, on a particular "problem machine", showing up in joy.cpl, but with the Properties window displaying blank, as though the joystick contains no analog or digital variables. On other machines the Teensy USB joystick works fine.

Short version of fix
--------------------
Delete from the registry all keys containing VID_16c0.

Explanation
------------
After a lot of inspection of Teensy USB traffic with USBLyzer, I think we have an answer and a fix for the problem. The USB activity during hot-plug indicates that on the problem machine, Windows associates driver mouhid.sys with the joystick. On machines that read the joystick properly, Windows associates the joystick with hidusb.sys.

The registry stores a lot of keys in various places that contain the Vendor Id used by the joystick: VID_16c0. It appears that the function of some of these keys is to remember the result of the first time the device was plugged in, and a driver found. There are separate keys for the different sub device Product Ids corresponding to Mouse, Keyboard, Debug and Joystick, and possibly Serial (depending on the setting for USB type in the Arduino environment), and this info may be stored separately per USB socket.

It seems that if that process decides on the "wrong" driver for some reason (for example, chooses the mouse driver mouhid.sys), then the system will be stuck with that choice in future. This mistaken association could perhaps happen during development with the Teensy, or perhaps due to interrupting the process of finding the right driver during initial plug-in.

In previous attempts to fix this problem, we used USBDeview to view information that Windows was retaining for various USB devices. In USBDeview we deleted all records associated with VID_16c0. This did not resolve the problem, and we wrongly concluded that this meant it wasn't a problem of wrong info being retained.

Prompted by inspecting the USB traffic, we tried to track down how the registry might be directing Windows to use mouhid.sys instead of hidusb.sys. However, there were far too many registry records to look at in detail (evidently more than USBDeview shows). So instead we decided to delete all keys containing VID_16c0 (probably more than a hundred deletions).

This is problematic because some of the sub keys have ownership set to System and are not viewable or deletable by even Admins. To get around this, we discovered that regedit can be launched via psexec http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx so that it runs regedit as the System user:

In a Run-as-admin cmd window :
[path-to-psexec]\psexec.exe -i -s c:\windows\regedit.exe
pause

With all the VID_16c0 keys deleted, when we next plugged in the Teensy joystick, Windows went through the process of finding suitable drivers, and then joy.cpl worked properly.

Hope that helps!

-- Graham

PaulStoffregen
04-22-2013, 05:16 PM
Wow, thanks for writing this! It's so rare there's ever any resolution to these strange Windows problems.

Maybe I should look into making the installer able to detect these registry keys and offer an option to delete them?

gwideman
04-22-2013, 10:34 PM
Hi Paul --

Thanks for taking note of this issue and commenting. I really enjoy what you've done with Teensy and the USB functionality, so it's a pleasure to have the opportunity to send a little something back in the way of "troubleshooting from the field".

Yes, I think it would be great to offer a way to delete all registry entries that have resulted from Windows USB driver install process. Putting that in the Teensyduino installer might not be optimum though, as the search process is liable to be s-l-o-w. I had already been considering what I'd write if I encounter this problem again, and I think it would be a separate utility that can perform two related functions:

(a) find and list all the keys that contain VID_16C0 (or allow user to set the VID), so one can monitor the variety and proliferation (or not) of such keys. (Ie: both as diagnostic and learning-about-USB tool.)

(b) Delete them (presumably if run as user System, using psexec or similar).

I should also note that there are additional Teensy-USB-related keys named using a concatenation of VID and PID (ie: without the 'VID_' or 'PID_' prefixes), like this:

HKEY_LOCAL_MACHINE\SYSTEM\[CurrentControlSet|ControlSet00[1|2]]\Control\usbflags\16C004820105

(and one cannot simply search for 16C0, as that will hit a bunch of GUIDs that happen to contain that string).

I'm also thinking that in the interests of reducing the proliferation of keys, and complexity of including multiple subdevices that might not be needed, it would be nice if USB Type could be set to any combo of one or more of Serial, Joystick, Mouse or Keyboard (plus the debug device). That's probably straightforward to address in the C code (add a few additional def values and ifdefs), but I haven't yet seen how these additional choices would get onto the Arduino USB Type menu. Clues?

Hope that helps,

-- Graham

potatomasher
01-21-2016, 02:30 AM
Issue addressed
---------------
This concerns Teensyduino USB joystick, on a particular "problem machine", showing up in joy.cpl, but with the Properties window displaying blank, as though the joystick contains no analog or digital variables. On other machines the Teensy USB joystick works fine.

Short version of fix
--------------------
Delete from the registry all keys containing VID_16c0.

Explanation
------------
After a lot of inspection of Teensy USB traffic with USBLyzer, I think we have an answer and a fix for the problem. The USB activity during hot-plug indicates that on the problem machine, Windows associates driver mouhid.sys with the joystick. On machines that read the joystick properly, Windows associates the joystick with hidusb.sys.

The registry stores a lot of keys in various places that contain the Vendor Id used by the joystick: VID_16c0. It appears that the function of some of these keys is to remember the result of the first time the device was plugged in, and a driver found. There are separate keys for the different sub device Product Ids corresponding to Mouse, Keyboard, Debug and Joystick, and possibly Serial (depending on the setting for USB type in the Arduino environment), and this info may be stored separately per USB socket.

It seems that if that process decides on the "wrong" driver for some reason (for example, chooses the mouse driver mouhid.sys), then the system will be stuck with that choice in future. This mistaken association could perhaps happen during development with the Teensy, or perhaps due to interrupting the process of finding the right driver during initial plug-in.

In previous attempts to fix this problem, we used USBDeview to view information that Windows was retaining for various USB devices. In USBDeview we deleted all records associated with VID_16c0. This did not resolve the problem, and we wrongly concluded that this meant it wasn't a problem of wrong info being retained.

Prompted by inspecting the USB traffic, we tried to track down how the registry might be directing Windows to use mouhid.sys instead of hidusb.sys. However, there were far too many registry records to look at in detail (evidently more than USBDeview shows). So instead we decided to delete all keys containing VID_16c0 (probably more than a hundred deletions).

This is problematic because some of the sub keys have ownership set to System and are not viewable or deletable by even Admins. To get around this, we discovered that regedit can be launched via psexec http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx so that it runs regedit as the System user:

In a Run-as-admin cmd window :
[path-to-psexec]\psexec.exe -i -s c:\windows\regedit.exe
pause

With all the VID_16c0 keys deleted, when we next plugged in the Teensy joystick, Windows went through the process of finding suitable drivers, and then joy.cpl worked properly.

Hope that helps!

-- Graham


thank you thank you thank you!!!!! this finally allowed me to get my controls working.

gwideman
01-21-2016, 04:00 AM
thank you thank you thank you!!!!! this finally allowed me to get my controls working.

You're welcome! Nice to hear that it helped.

Graham

acramp
11-09-2018, 03:13 PM
You're welcome! Nice to hear that it helped.
Graham

I have experienced this now several times when using different Teensyduino USB Joysticks on a machine.
Thank you Graham, for providing a fix to this problem.

I wonder, however, whether in the meantime additional insights into the origin of the problem have been gathered.

Is there a way to prevent this problem from occurring at all?

Thanks,
cramp

Theremingenieur
11-09-2018, 04:02 PM
Is there a way to prevent this problem from occurring at all?

Thanks,
cramp

Just keep away from Windows. I’ve seen it growing from the beginning. There are plug and play issues not fixed since 1995. If Bill Gates was Japanese, he would have had to commit a ritual suicid for all the crap he brought to market.

danhanisch
07-03-2020, 07:49 PM
Hi all, I wanted to post here and thank you for this fix. I have a Thrustmaster racing wheel that has been adapted with a Teensy LC. I had one fail on me (no buttons showing up in the Test tab in joy.cpl), so I purchased a second one. After a few months, I encountered the identical problem, so I knew it had to be something I could address.

Long story short, this fix of deleting the registry keys fixed both of my wheels and both are working again correctly.

Much appreciated!

gwideman
09-09-2020, 06:37 PM
Hi all, I wanted to post here and thank you for this fix. I have a Thrustmaster racing wheel that has been adapted with a Teensy LC. I had one fail on me (no buttons showing up in the Test tab in joy.cpl), so I purchased a second one. After a few months, I encountered the identical problem, so I knew it had to be something I could address.

Long story short, this fix of deleting the registry keys fixed both of my wheels and both are working again correctly.

Much appreciated!

Hey, thanks for the comment!

edemers
02-05-2021, 04:01 AM
Hello Gents,

Many thanks for posting a solution.

This is a real problem for me because I use Teensy 3.5 to make a professional joystick.
23591

Nevermind that I have to repeat this procedure each time I have to test a new controller on my laptop, but some of my clients buy several joysticks from me and are experiencing the same problems. (Windows 10)

Running this fix is too complicated for them. If the problem cannot be fixed, would it be possible to have an executable file that would flush VID_16c0 out of the Registry?

Cheers,
Etienne

gwideman
02-05-2021, 06:59 AM
Hi @edemers

First off -- cool project!

> If the problem cannot be fixed, would it be possible to have an executable file
> that would flush VID_16c0 out of the Registry

In principle, maybe. Usually, adding, deleting or revising Registry entries would be easy to write an exe to do.

However, in this case it is problematic because some of the sub keys have ownership set to System and are not viewable or deletable by even Admins. To get around this, we discovered that regedit can be launched via psexec http://technet.microsoft.com/en-us/s.../bb897553.aspx so that it runs regedit as the System user. (See earlier comment.)

So an ordinary exe run by a user, even with Admin permissions, could not do the necessary operations. It might be possible to write an exe to do it, and run via psexec etc, but I have not tried that route.

Graham

edemers
02-05-2021, 07:25 AM
Hello Graham,

Many thanks for your reply and solution. I am indeed using psexec.exe to delete all the keys as you suggested and it solves the problem but I can't ask a client to do this. Therefore the exe would need to override the regedit restrictions.

Hopefully, there something else can be done like adding a teensy driver or something to prevent this issue.

Cheers,
E.

edemers
02-05-2021, 07:59 AM
Hi @edemers

First off -- cool project!



Thanks, its my biggest seller. The Teensy allows me to do so much more than regular joystick PCBs which gives my product a huge edge over the competition. So I really hope we can get this sorted out since big companies are starting to have this issue and that is a bit of a let down.

Cheers,
E.

gwideman
02-05-2021, 09:42 AM
A question:

When this problem strikes (you plug in one of your Teensy-based joysticks, and it doesn't work), if you plug in a different one of your joysticks that was never connected to that computer, does that one work, or does it fail too?


Hello Graham,

Hopefully, there something else can be done...

Cheers,
E.

I think we would make a step forward if we at least knew which registry keys were causing the problem.

A brute force way to do that would be to take a snapshot of the registry (using Regedit File > Export) , when things are working properly, and then another snapshot after they stop working properly, and compare.

If you're inclined to help...

1. Are you able to produce this problem at will? Or at least get it to happen within hours or days?

2. Can you do that on a machine where you wouldn't mind running exports of the registry, and sending them to a third party (me) for examination?

It would be completely understandable if you didn't want your registry laundry aired in public.

The alternative is for someone like me to devise some sort of registry reader program, or registry dump reader program, which gathers all data related to VID_16C0, and saves only that for sending to me or whoever. However, that might take longer, where "longer" is not guaranteed to be less than infinity.

Thoughts?

Graham

Frank B
02-05-2021, 09:54 AM
Would it be enough the change the Teensy serial-number? Would Windows detect a "new" joystick?
Then, the USB Codecan be changed to use the EEPROM for that number, perhaps.

edemers
02-05-2021, 10:33 AM
Hi Graham,

Thanks for the interest.

This actually happened again today. I tried plugging a new Teensy based joystick and joy.cpl went dead.

I proceeded to apply your solution and deleted all the instances of VID_16c0 (and there were many) and then I plugged in my new Teensy based joystick and joy.cpl is alive again.

When the problem occurs, joy.cpl will work for all the older Teensy based joysticks that were previously plugged in. Just not for any new ones. Like there is a limit to the amount of VID_16c0 instances windows can accept.

I saved my registry before and after so I can send it to you. Just let me know where.

The problem is not just the joy.cpl not responding anymore, windows, even though it detects the joystick, just doesn't process it via its generic USB joystick device. This is a problem because none of the software that uses the joystick will work (in my case QGroundControl) until your solution is applied.

That said, I did make a software that uses native HID to get the joystick information out and that always works. Although its great for testing the joystick, it does not solve my problem.

I tried compiling all USB types that supports joystick in the Arduino IDE and it makes no difference.

Hi Frank,

I think the serial numbers are already unique but I can try.

Cheers,
E.

Frank B
02-05-2021, 10:34 AM
Thats the intended trick: With a new serial, Windows should detect it as new, and just don't use the old registry values anymore. If this thesis is right :)

gwideman
02-05-2021, 10:44 AM
Hi Graham,
When the problem occurs, joy.cpl will work for all the older Teensy based joysticks that were previously plugged in. Just not for any new ones. Like there is a limit to the amount of VID_16c0 instances windows can accept.


OK, that's interesting. My previous questions (and Frank's idea too) were based on the idea that Windows might be saving, and later assigning, the driver based on VID, PID and also serial number.

However, if other "new" joysticks (presumably with different Teensys and maybe different serial numbers) exhibit the same issue, but other previously-seen ones do not, then driver assignment can't be unique based on serial, I think.

[QUOTE=edemers;269205]Hi Graham,

I saved my registry before and after so I can send it to you. Just let me know where.

These are registry exports, right? How big are they, once zipped? Do you have a Google Drive that you could share them on? Perhaps you could use the forum "Private Message" feature to send me details.

Graham

Frank B
02-05-2021, 10:55 AM
Thats the intended trick: With a new serial, Windows should detect it as new, and just don't use the old registry values anymore. If this thesis is right :)

I've just tried it, with my T4, usb-type serial.

I've edited usb_desc:


void usb_init_serialnumber(void)
{
char buf[11];
uint32_t i, num;


num = HW_OCOTP_MAC0 & 0xFFFFFF - 10000;
// add extra zero to work around OS-X CDC-ACM driver bug
if (num < 10000000) num = num * 10;
ultoa(num, buf, 10);
for (i=0; i<10; i++) {
char c = buf[i];
if (!c) break;
usb_string_serial_number_default.wString[i] = c;
}
usb_string_serial_number_default.bLength = i * 2 + 2;
}

And added the red number.
Windows detected a new device. So, it should work with a joystick, too.

So, if you take that "10000" from the eeprom instead, and change that number every time problems occur, everything will work again.

edemers
02-05-2021, 11:18 AM
Hi Frank,

Thank you for this.

I commented out the previous void usb_init_serialnumber(void) function and added yours but the compiler has issues with HW_OCOTP_MAC0

Did you define this somewhere at the top?

Cheers,
E.

Frank B
02-05-2021, 11:19 AM
No, i just added the "- 1000" to the existing code. no other edit.

edemers
02-05-2021, 11:21 AM
We must have different file versions then.

This is what I have


void usb_init_serialnumber(void)
{
char buf[11];
uint32_t i, num;

__disable_irq();
#if defined(HAS_KINETIS_FLASH_FTFA) || defined(HAS_KINETIS_FLASH_FTFL)
FTFL_FSTAT = FTFL_FSTAT_RDCOLERR | FTFL_FSTAT_ACCERR | FTFL_FSTAT_FPVIOL;
FTFL_FCCOB0 = 0x41;
FTFL_FCCOB1 = 15;
FTFL_FSTAT = FTFL_FSTAT_CCIF;
while (!(FTFL_FSTAT & FTFL_FSTAT_CCIF)) ; // wait
num = *(uint32_t *)&FTFL_FCCOB7;
#elif defined(HAS_KINETIS_FLASH_FTFE)
kinetis_hsrun_disable();
FTFL_FSTAT = FTFL_FSTAT_RDCOLERR | FTFL_FSTAT_ACCERR | FTFL_FSTAT_FPVIOL;
*(uint32_t *)&FTFL_FCCOB3 = 0x41070000;
FTFL_FSTAT = FTFL_FSTAT_CCIF;
while (!(FTFL_FSTAT & FTFL_FSTAT_CCIF)) ; // wait
num = *(uint32_t *)&FTFL_FCCOBB;
kinetis_hsrun_enable();
#endif
__enable_irq();
// add extra zero to work around OS-X CDC-ACM driver bug
if (num < 10000000) num = num * 10;
ultoa(num, buf, 10);
for (i=0; i<10; i++) {
char c = buf[i];
if (!c) break;
usb_string_serial_number_default.wString[i] = c;
}
usb_string_serial_number_default.bLength = i * 2 + 2;
}

Frank B
02-05-2021, 11:22 AM
That's not for a Teensy 4... which Teensy are you using?

edemers
02-05-2021, 11:23 AM
Teensy 3.5 :)

Frank B
02-05-2021, 11:24 AM
just add this line:



// add extra zero to work around OS-X CDC-ACM driver bug
num -= 10000;
if (num < 10000000) num = num * 10;

edemers
02-05-2021, 11:52 AM
Fantastic!

I was able to reproduce the problem by loading my old registry and fix it with your simple solution.

I guess I will just load my in-house serial number in the red value each time I program. Definitely something I can live with.

Thanks guys for all your help.

gwideman
02-05-2021, 12:07 PM
Fantastic!

I was able to reproduce the problem by loading my old registry and fix it with your simple solution.

I guess I will just load my in-house serial number in the red value each time I program. Definitely something I can live with.

Thanks guys for all your help.

What?! Progress? That's awesome! Kudos to Frank B for jumping in and knowing the right stuff!

Annoyingly, it still doesn't identify the root cause though, unfortunately.

@edemers
Would you mind having a look at the USB entries for example with Nirsoft's USBDeview, and see if it lists separate records for each different serial number? That would add some useful insight, at least for me.

Graham

edemers
02-05-2021, 12:18 PM
Port_#0003.Hub_#0001 USB Input Device HID (Human Interface Device) No Yes No No 000B6F62 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0478 1.03 03 00 00 MSI 6&883e5e2&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0478\000B6F62 Removable, UniqueID, SurpriseRemovalOK
Port_#0003.Hub_#0001 USB Input Device HID (Human Interface Device) No Yes No No 000B6F63 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0478 1.03 03 00 00 MSI 6&1b3d9687&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0478\000B6F63 Removable, UniqueID, SurpriseRemovalOK
Port_#0005.Hub_#0001 USB Input Device HID (Human Interface Device) No Yes No No 000B8451 05-02-2021 8:15:54 PM 05-02-2021 7:10:20 PM 16c0 0478 1.03 03 00 00 MSI 6&24e9fbc3&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) 1.10 USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0478\000B8451 Removable, UniqueID, SurpriseRemovalOK
Port_#0003.Hub_#0001 USB Input Device HID (Human Interface Device) No Yes No No 000B8453 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0478 1.03 03 00 00 MSI 6&ec29306&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0478\000B8453 Removable, UniqueID, SurpriseRemovalOK
Port_#0003.Hub_#0001 USB Input Device HID (Human Interface Device) No Yes No No 000BF065 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0478 1.03 03 00 00 MSI 6&32547ae3&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0478\000BF065 Removable, UniqueID, SurpriseRemovalOK
0000.0014.0000.004.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0486 2.76 03 00 00 MSI 7&f1827d6&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0486&MI_00\6&34a96bc&0&0000 SurpriseRemovalOK
0000.0014.0000.005.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0486 2.76 03 00 00 MSI 7&10bcdec7&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0486&MI_00\6&8305b30&0&0000 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0486 2.76 03 00 00 MSI 7&dbe2d36&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0486&MI_00\6&c441764&0&0000 SurpriseRemovalOK
0000.0014.0000.004.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0486 2.76 03 00 00 MSI 7&22484414&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0486&MI_01\6&34a96bc&0&0001 SurpriseRemovalOK
0000.0014.0000.005.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0486 2.76 03 00 00 MSI 7&23ecfb05&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0486&MI_01\6&8305b30&0&0001 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0486 2.76 03 00 00 MSI 7&20ee4974&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0486&MI_01\6&c441764&0&0001 SurpriseRemovalOK
Port_#0003.Hub_#0001 USB Composite Device Unknown No Yes No No 7494100 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0486 2.76 00 00 00 MSI 6&c441764&0 usbccgp @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent Driver usbccgp.sys (Standard USB Host Controller) USB Composite Device 10.0.18362.1110 Composite.Dev.NT usb.inf USB\VID_16C0&PID_0486\7494100 Removable, UniqueID, SurpriseRemovalOK
Port_#0004.Hub_#0001 USB Composite Device Unknown No Yes No No 7494110 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0486 2.76 00 00 00 MSI 6&34a96bc&0 usbccgp @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent Driver usbccgp.sys (Standard USB Host Controller) USB Composite Device 10.0.18362.1110 Composite.Dev.NT usb.inf USB\VID_16C0&PID_0486\7494110 Removable, UniqueID, SurpriseRemovalOK
Port_#0005.Hub_#0001 USB Composite Device Unknown No Yes No No 7547690 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0486 2.76 00 00 00 MSI 6&8305b30&0 usbccgp @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent Driver usbccgp.sys (Standard USB Host Controller) USB Composite Device 10.0.18362.1110 Composite.Dev.NT usb.inf USB\VID_16C0&PID_0486\7547690 Removable, UniqueID, SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Serial Device Communication No Yes No No COM5 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0487 2.76 02 02 01 MSI usbser @usbser.inf,%UsbSerial.DriverDesc%;Microsoft USB Serial Driver usbser.sys Microsoft USB Serial Device (COM5) USB Serial Device 10.0.18362.1 UsbSerial_Install usbser.inf USB\VID_16C0&PID_0487&MI_00\6&19701c96&0&0000 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Serial Device Communication No Yes No No COM3 05-02-2021 7:12:26 PM 05-02-2021 7:10:20 PM 16c0 0487 2.76 02 02 01 MSI usbser @usbser.inf,%UsbSerial.DriverDesc%;Microsoft USB Serial Driver usbser.sys Microsoft USB Serial Device (COM3) USB Serial Device 10.0.18362.1 UsbSerial_Install usbser.inf USB\VID_16C0&PID_0487&MI_00\6&2ea7b5ce&0&0000 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Serial Device Communication No Yes No No COM4 05-02-2021 12:13:27 PM 05-02-2021 12:13:27 PM 16c0 0487 2.76 02 02 01 MSI usbser @usbser.inf,%UsbSerial.DriverDesc%;Microsoft USB Serial Driver usbser.sys Microsoft USB Serial Device (COM4) USB Serial Device 10.0.18362.1 UsbSerial_Install usbser.inf USB\VID_16C0&PID_0487&MI_00\6&2ea7b5ce&1&0000 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Serial Device Communication No Yes No No COM10 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0487 2.76 02 02 01 MSI usbser @usbser.inf,%UsbSerial.DriverDesc%;Microsoft USB Serial Driver usbser.sys Microsoft USB Serial Device (COM10) USB Serial Device 10.0.18362.1 UsbSerial_Install usbser.inf USB\VID_16C0&PID_0487&MI_00\6&338d7a42&0&0000 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Serial Device Communication No Yes No No COM21 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0487 2.76 02 02 01 MSI usbser @usbser.inf,%UsbSerial.DriverDesc%;Microsoft USB Serial Driver usbser.sys Microsoft USB Serial Device (COM21) USB Serial Device 10.0.18362.1 UsbSerial_Install usbser.inf USB\VID_16C0&PID_0487&MI_00\6&35d603e3&0&0000 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Serial Device Communication No Yes No No COM4 05-02-2021 7:42:58 PM 05-02-2021 7:42:49 PM 16c0 0487 2.76 02 02 01 MSI usbser @usbser.inf,%UsbSerial.DriverDesc%;Microsoft USB Serial Driver usbser.sys Microsoft USB Serial Device (COM4) USB Serial Device 10.0.18362.1 UsbSerial_Install usbser.inf USB\VID_16C0&PID_0487&MI_00\6&36853c80&0&0000 SurpriseRemovalOK
0000.0014.0000.005.000.000.000.000.000 USB Serial Device Communication Yes Yes No No COM11 05-02-2021 8:17:10 PM 05-02-2021 7:44:35 PM 16c0 0487 2.76 02 02 01 MSI usbser @usbser.inf,%UsbSerial.DriverDesc%;Microsoft USB Serial Driver usbser.sys Microsoft USB Serial Device (COM11) USB Serial Device 10.0.18362.1 UsbSerial_Install usbser.inf USB\VID_16C0&PID_0487&MI_00\6&3b113cb3&0&0000 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Serial Device Communication No Yes No No COM9 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0487 2.76 02 02 01 MSI usbser @usbser.inf,%UsbSerial.DriverDesc%;Microsoft USB Serial Driver usbser.sys Microsoft USB Serial Device (COM9) USB Serial Device 10.0.18362.1 UsbSerial_Install usbser.inf USB\VID_16C0&PID_0487&MI_00\6&a137989&0&0000 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 01 01 MSI 7&23e5e1e&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_02\6&19701c96&0&0002 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:12:26 PM 05-02-2021 7:12:26 PM 16c0 0487 2.76 03 01 01 MSI 7&18031e90&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_02\6&2ea7b5ce&0&0002 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 12:13:26 PM 05-02-2021 12:13:26 PM 16c0 0487 2.76 03 01 01 MSI 7&32075c20&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_02\6&2ea7b5ce&1&0002 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 01 01 MSI 7&1bedf16a&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_02\6&338d7a42&0&0002 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 01 01 MSI 7&3517ca30&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_02\6&35d603e3&0&0002 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:42:58 PM 05-02-2021 7:42:58 PM 16c0 0487 2.76 03 01 01 MSI 7&28b73403&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_02\6&36853c80&0&0002 SurpriseRemovalOK
0000.0014.0000.005.000.000.000.000.000 USB Input Device HID (Human Interface Device) Yes Yes No No 05-02-2021 8:17:10 PM 05-02-2021 8:17:10 PM 16c0 0487 2.76 03 01 01 MSI 7&14c0f2f9&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_02\6&3b113cb3&0&0002 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 01 01 MSI 7&24da3fd9&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_02\6&a137989&0&0002 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 00 00 MSI 7&26159be0&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_03\6&19701c96&0&0003 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:12:26 PM 05-02-2021 7:12:26 PM 16c0 0487 2.76 03 00 00 MSI 7&3f924b&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_03\6&2ea7b5ce&0&0003 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 12:13:26 PM 05-02-2021 12:13:26 PM 16c0 0487 2.76 03 00 00 MSI 7&e301e5e&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_03\6&2ea7b5ce&1&0003 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 00 00 MSI 7&42a6525&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_03\6&338d7a42&0&0003 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 00 00 MSI 7&2fdb6400&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_03\6&35d603e3&0&0003 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:42:58 PM 05-02-2021 7:42:58 PM 16c0 0487 2.76 03 00 00 MSI 7&4dff641&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_03\6&36853c80&0&0003 SurpriseRemovalOK
0000.0014.0000.005.000.000.000.000.000 USB Input Device HID (Human Interface Device) Yes Yes No No 05-02-2021 8:17:10 PM 05-02-2021 8:17:10 PM 16c0 0487 2.76 03 00 00 MSI 7&2c847f3e&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_03\6&3b113cb3&0&0003 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 00 00 MSI 7&380a5c17&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_03\6&a137989&0&0003 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 00 00 MSI 7&e520f9b&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_04\6&19701c96&0&0004 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:12:26 PM 05-02-2021 7:12:26 PM 16c0 0487 2.76 03 00 00 MSI 7&2416d00d&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_04\6&2ea7b5ce&0&0004 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 12:13:26 PM 05-02-2021 12:13:26 PM 16c0 0487 2.76 03 00 00 MSI 7&25f3aaa3&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_04\6&2ea7b5ce&1&0004 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 00 00 MSI 7&2801a2e7&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_04\6&338d7a42&0&0004 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 00 00 MSI 7&c04263e&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_04\6&35d603e3&0&0004 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:42:58 PM 05-02-2021 7:42:58 PM 16c0 0487 2.76 03 00 00 MSI 7&1ca38286&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_04\6&36853c80&0&0004 SurpriseRemovalOK
0000.0014.0000.005.000.000.000.000.000 USB Input Device HID (Human Interface Device) Yes Yes No No 05-02-2021 8:17:10 PM 05-02-2021 8:17:10 PM 16c0 0487 2.76 03 00 00 MSI 7&8ad417c&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_04\6&3b113cb3&0&0004 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 00 00 MSI 7&1f52996&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_04\6&a137989&0&0004 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 00 00 MSI 7&32294d5d&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_05\6&19701c96&0&0005 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:12:26 PM 05-02-2021 7:12:26 PM 16c0 0487 2.76 03 00 00 MSI 7&541941c&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_05\6&2ea7b5ce&0&0005 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 12:13:26 PM 05-02-2021 12:13:26 PM 16c0 0487 2.76 03 00 00 MSI 7&21c6ce1&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_05\6&2ea7b5ce&1&0005 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 00 00 MSI 7&156c142&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_05\6&338d7a42&0&0005 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 00 00 MSI 7&23c7b283&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_05\6&35d603e3&0&0005 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:42:58 PM 05-02-2021 7:42:58 PM 16c0 0487 2.76 03 00 00 MSI 7&733bb3c&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_05\6&36853c80&0&0005 SurpriseRemovalOK
0000.0014.0000.005.000.000.000.000.000 USB Input Device HID (Human Interface Device) Yes Yes No No 05-02-2021 8:17:10 PM 05-02-2021 8:17:10 PM 16c0 0487 2.76 03 00 00 MSI 7&1b29fc46&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_05\6&3b113cb3&0&0005 SurpriseRemovalOK
0000.0014.0000.003.000.000.000.000.000 USB Input Device HID (Human Interface Device) No Yes No No 05-02-2021 7:10:21 PM 05-02-2021 7:10:21 PM 16c0 0487 2.76 03 00 00 MSI 7&2a5fd75f&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) USB Input Device 10.0.18362.175 HID_Inst.NT input.inf USB\VID_16C0&PID_0487&MI_05\6&a137989&0&0005 SurpriseRemovalOK
Delta ROV HCU USB Composite Device Unknown Yes Yes No No 7447680 05-02-2021 8:17:10 PM 05-02-2021 7:44:35 PM 16c0 0487 2.76 00 00 00 MSI 6&3b113cb3&0 usbccgp @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent Driver usbccgp.sys (Standard USB Host Controller) 100 mA 1.10 USB Composite Device 10.0.18362.1110 Composite.Dev.NT usb.inf USB\VID_16C0&PID_0487\7447680 Removable, UniqueID, SurpriseRemovalOK
Port_#0003.Hub_#0001 USB Composite Device Unknown No Yes No No 7494100 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0487 2.76 00 00 00 MSI 6&a137989&0 usbccgp @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent Driver usbccgp.sys (Standard USB Host Controller) USB Composite Device 10.0.18362.1110 Composite.Dev.NT usb.inf USB\VID_16C0&PID_0487\7494100 Removable, UniqueID, SurpriseRemovalOK
Port_#0003.Hub_#0001 USB Composite Device Unknown No Yes No No 7494110 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0487 2.76 00 00 00 MSI 6&338d7a42&0 usbccgp @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent Driver usbccgp.sys (Standard USB Host Controller) USB Composite Device 10.0.18362.1110 Composite.Dev.NT usb.inf USB\VID_16C0&PID_0487\7494110 Removable, UniqueID, SurpriseRemovalOK
Port_#0003.Hub_#0001 USB Composite Device Unknown No Yes No No 7537690 05-02-2021 7:42:58 PM 05-02-2021 7:42:49 PM 16c0 0487 2.76 00 00 00 MSI 6&36853c80&0 usbccgp @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent Driver usbccgp.sys (Standard USB Host Controller) USB Composite Device 10.0.18362.1110 Composite.Dev.NT usb.inf USB\VID_16C0&PID_0487\7537690 Removable, UniqueID, SurpriseRemovalOK
Port_#0003.Hub_#0001 USB Composite Device Unknown No Yes No No 7547690 05-02-2021 7:12:26 PM 05-02-2021 7:10:20 PM 16c0 0487 2.76 00 00 00 MSI 6&2ea7b5ce&0 usbccgp @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent Driver usbccgp.sys (Standard USB Host Controller) USB Composite Device 10.0.18362.1110 Composite.Dev.NT usb.inf USB\VID_16C0&PID_0487\7547690 Removable, UniqueID, SurpriseRemovalOK
Port_#0003.Hub_#0001 USB Composite Device Unknown No Yes No No 7547710 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0487 2.76 00 00 00 MSI 6&19701c96&0 usbccgp @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent Driver usbccgp.sys (Standard USB Host Controller) USB Composite Device 10.0.18362.1110 Composite.Dev.NT usb.inf USB\VID_16C0&PID_0487\7547710 Removable, UniqueID, SurpriseRemovalOK
Port_#0003.Hub_#0001 USB Composite Device Unknown No Yes No No 7824370 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0487 2.76 00 00 00 MSI 6&35d603e3&0 usbccgp @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent Driver usbccgp.sys (Standard USB Host Controller) USB Composite Device 10.0.18362.1110 Composite.Dev.NT usb.inf USB\VID_16C0&PID_0487\7824370 Removable, UniqueID, SurpriseRemovalOK

edemers
02-05-2021, 12:20 PM
the above are all the VID_16C0 instance.

This one is the joystick that has the new serial number: 7447680

Delta ROV HCU USB Composite Device Unknown Yes Yes No No 7447680 05-02-2021 8:17:10 PM 05-02-2021 7:44:35 PM 16c0 0487 2.76 00 00 00 MSI 6&3b113cb3&0 usbccgp @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent Driver usbccgp.sys (Standard USB Host Controller) 100 mA 1.10 USB Composite Device 10.0.18362.1110 Composite.Dev.NT usb.inf USB\VID_16C0&PID_0487\7447680 Removable, UniqueID, SurpriseRemovalOK

edemers
02-05-2021, 12:25 PM
Deleted Frank's code to go back to dead joy.cpl

The serial number is now 7547690

AND there is another inactive instance of the same serial number so I think this pretty much confirms it...

Port_#0005.Hub_#0001 USB Composite Device Unknown No Yes No No 7547690 05-02-2021 7:10:21 PM 05-02-2021 7:10:20 PM 16c0 0486 2.76 00 00 00 MSI 6&8305b30&0 usbccgp @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent Driver usbccgp.sys (Standard USB Host Controller) USB Composite Device 10.0.18362.1110 Composite.Dev.NT usb.inf USB\VID_16C0&PID_0486\7547690 Removable, UniqueID, SurpriseRemovalOK
Delta ROV HCU USB Composite Device Unknown Yes Yes No No 7547690 05-02-2021 8:21:34 PM 05-02-2021 7:10:20 PM 16c0 0487 2.76 00 00 00 MSI 6&2ea7b5ce&0 usbccgp @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent Driver usbccgp.sys (Standard USB Host Controller) 100 mA 1.10 USB Composite Device 10.0.18362.1110 Composite.Dev.NT usb.inf USB\VID_16C0&PID_0487\7547690 Removable, UniqueID, SurpriseRemovalOK

gwideman
02-05-2021, 02:06 PM
Hi edemers,

The objective was to correlate a working or non working state of affairs with which blahblah.sys Windows picked for that joystick.

It's a bit hard to tell from the info you posted, because I can't tell in which case the joystick was working.

At any rate, previously I had come to the conclusion that "working" corresponds to Windows picking hidusb.sys for that particular Teensy joystick, and picking mouhid.sys for non-working. But that was back on Windows 7.

In your data, I see that hidusb.sys appears for some records, and usbccgp.sys for others, but it's not clear to me whether the former corresponds to working, and the latter to not working.

edemers
02-05-2021, 02:11 PM
Hi Graham,

ok I will have a look for this tomorrow. Its getting pretty late out here :)

Cheers,
Etienne

edemers
02-06-2021, 05:02 AM
Hello Graham,

Both working and none-working joystick setup use the drive filename usbccgp.sys

I opened each items in Regedit which may provide more information.

This one is the active joystick that is not working because it has the same SN as another inactive instance
23611

This one is the other instance sharing the same serial number which is not active
23612

This one is the active joystick with a different serial number which is working well
23613

Let me know if you need anything else.

Now that I can reproduce the problem at will its easy to provide you with info.

Cheers,
Etienne

edemers
02-06-2021, 05:06 AM
Hi Frank,

I ended up getting rid of all the code and inputting my own 8 digit serial number.

Thanks again for your help.
E.

gwideman
02-06-2021, 07:41 AM
@Etienne

> Now that I can reproduce the problem at will its easy to provide you with info.

What are the steps that reliably reproduce the problem?

> Both working and none-working joystick setup use the drive filename usbccgp.sys

I think that may just be the generic driver that comes into play for composite USB devices, which then loads other driver(s) for the individual features.

As you noted, in the registry, the entries corresponding to the misbehaving serial number 7547690 appear under both VID_16C0&PID_0486, and also VID_16C0&PID_0487. Whereas the successful serial number is 18590831, and appears only under VID_16C0&PID_0487.

Looking at
C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3\us b_desc.h where these items are defined:
PRODUCT_ID (PID) 0x0486 is for RAWHID
PRODUCT_ID 0x0487 is for Serial/Keyboard/Mouse/Joystick

So this raises the questions:

-- Did 18590831 succeed because it has only the one entry?
-- Or did 7547690 fail because it reported to Windows that it had product Id 0486? And does it always report PID_0486?
-- Or did it do that just once, and then on later plug-ins, Windows for some reason uses the 0486 entry regardless of whether the Teensy reports 0487 or 0486?

A possible test:

When you next encounter a joystick that doesn't work:
1. Unplug the joystick
2. Look in the registry to see if it also has these two entries
3. Delete that serial number's key under VID_16C0&PID_0486. So that leaves it with only the key under VID_16C0&PID_0487.
4. Plug in the joystick and see if it now works.
5. Inspect the registry again to see where that serial number has entries.

I am hoping this tells us at least something. But we don't actually know that it's this area of the saved settings that's causing the trouble. The multiple entries might be unrelated to the issue.

Frank B
02-06-2021, 01:52 PM
Glad to see it's working.