RFIDler icon indicating copy to clipboard operation
RFIDler copied to clipboard

Microsoft usb descriptors for auto device install (win 7, 8.0, 8.1)

Open tonynaggs opened this issue 7 years ago • 6 comments

Add USB descriptors per "Microsoft OS Descriptors", these should allow the RFIDler-LF to automatically install on Windows 7, 8.0 and 8.1 without needing the .inf install files. (Windows 10 should recognise the original device as a serial port from the USB descriptors, and automatically install port. But Microsoft has never shipped this capability to Windows 7, or 8.x.)

Note changes the RFIDler-LF hardware version reported to the USB host, to force Windows to read the new device descriptors. (If older firmware had been connected previously then Windows caches the detail that the extra descriptors were missing.)

tonynaggs avatar Sep 12 '17 14:09 tonynaggs

Very interesting, I tried to do the same for PM3 and windows recoqnise it but doesn't hook it up as a serial port. Which I never got solved. Does your implementation make the RFIDler appear as a comport?

iceman1001 avatar Sep 12 '17 14:09 iceman1001

@iceman1001 The intention is that it should autorecognise/install - but it needs testing with a Windows install that has not had the rfidler .inf installed previously - since Vista Windows seems to hide a copy away somewhere & restore it if the obvious oemXX.inf file is deleted.

tonynaggs avatar Sep 12 '17 15:09 tonynaggs

yeah, the intention I know of and I got windows to recognise it and make it auto install. However I couldn't make it assign "usb-serial port" to it. Utterly annoying and I thought somewhere the usb_descriptors was wrong. I would need to debug the usb-setup process on a vmware host. Doable but still wouldn't explain why windows didn't assign it as usb-serial.

https://github.com/iceman1001/proxmark3/blob/master/common/usb_cdc.c#L184
The OSPropertyDescriptor is set to trigger the modemmanager but still fails. I have disabled it, but I loved to get it working. So I'm very curious on your progress now.

iceman1001 avatar Sep 12 '17 15:09 iceman1001

And I did the other day the removing of inf-files. I turned out I had 4+ different inf-files installed.

there is about three locations to fiddle with;

  1. COM Name Arbiter (registry)
  2. DeviceManager - shownonpresent devices trick,
  3. pnputil.exe

iceman1001 avatar Sep 12 '17 15:09 iceman1001

@iceman1001 I created the pull request so that someone with a Win 8.x sysem can test. Even if I test further with Win 7 systems I can potentially access it still needs testing with Win 8.x.

Re PM3 I haven't used mine in ages, and not with this PC. I don't remember how to reflash this, presumably I have to install it as a COM port first, but as I only have one PC I can't then test descriptor changes easily? The only difference I see is that I'm using the GUID for COM ports rather than modems, {4d36e978-e325-11ce-bfc1-08002be10318}

tonynaggs avatar Sep 13 '17 01:09 tonynaggs

Test Status: fails to install on a clean Win 7 system. Untested on Win 8.x.

Fixes & suggestions welcome!

tonynaggs avatar Sep 15 '17 10:09 tonynaggs