Anyone still using USB debugging?

I have an HP point of sale system which is a tablet on a pedestal base. My driver exhibits a problem on this machine only, thus I need to debug on it specifically. The base has an ethernet jack, 2 com ports, and half a dozen USB ports. Unfortunately, the ethernet and com ports are actually connected to a USB bus and thus not being recognized by windbg (also verified NIC vid:pid is not in the list). The USB A ports are not debug compatible per usbview. The tablet itself has a USB C port which does show as debug compatible, but when I use the datapro USB debugging cable with a Belkin USB C male to A female adapter I still get nothing.

I decided to try 2 other systems, both with regular USB 3.0 A ports which report as debug compatible (i.e. no C-to-A adapter in the mix, just the datapro cable) and I cannot get any combination to connect in windbg. The USB driver installed on the host the first time, but nothing after. No errors in device manager on either end, nor in windbg. No sign of any kind of USB debugging device in device manager. I’m running Win 10 21H1 x64.

So before I knock myself unconscious with the head-beating, has anybody successfully used USB debugging in recent years with recent-ish OS versions?

Yes, I regularly use USB3 debugging on a system that does not have a NIC with a vid:pid in the list or standard 16550 serial ports.

It sounds like you already have some familiarity with USBView and finding ports capable of debugging. I’m sorry for your frustration. I’ve been there. One thing I’ve found is it’s almost always required is setting the bus params as outlined here.

Thanks for the response! Glad to hear it works for somebody, gives me some hope of finding a solution. I have followed every step of that process including setting busparams, confirming the target port is debugging capable, picking a compliant target name, installing the drivers with the correct bitness, etc. Just not sure where to turn when there are no errors on either end.

Can you indicate what you see in device manager on your host and target? I’m guessing nothing special on the host, but some kind of USB debugging device on the target?

And just to confirm, there is no step where the actual target port is specified, right? E.g. I have a busparams of 0.20.0 but that controller has 3 physical ports. I didn’t see any step where I’d actually specify to bcdedit or windbg which of those 3 I am using. So that detail must not be needed?

Nothing unusual shows up in Device Manager on the host or target machines. I can see the USB host controller my port goes through. FWIW, I use the WinDbg Preview available through the Microsoft Store, and I run it with admin privileges.

My suspicion is that you haven’t actually found the appropriate debug port (even though it looks like you have). I’m in a unique position because the target I’m debugging is a computer we make. I helped with the USB schematics to put the debug port where I wanted it.

Thank you again for your response. Can you elaborate a bit on that “might not be the appropriate port” part? Is there some way UsbView can mislead me? I was using a USB3.0 thumbdrive to connect to each physical port so I could know exactly which was which.

I have a few new hardware bits coming in the mail tomorrow (a different brand of USB debug cable and a USB3.0 pci adapter from the same manufacturer claiming to be compatible with debugging). At least that should provide a known-good environment on the host side. I have limited options on the target side as it has to be this exact target and being a tablet there’s no way for me to add a card, port, etc.

I got hopeful for a second that your clue on using the Windbg preview was going to solve my issues. When I started digging around I noticed that the latest regular Windbg includes an unsigned usb2dbg.sys. So even though windbg had installed this driver on the first usb connection, the driver was silently failing to load due to being unsigned. The driver included with the MS store windbg preview is signed, so I installed that one instead. Using net start it starts up without issue. But neither the preview nor the regular are able to connect still… note that I do now see a “USB Debug Connection Device” under “USB serial bus controllers” on the host machine’s device manager. It comes and goes as I plug/unplug the cable. So I guess that’s progress :wink:

Well I think this is hopeless. My new PCI controller, cable and A-to-C adapter showed up early and I tried them out. I was able to debug my laptop a couple of times but it seems very fragile. I hit “can’t reset hub” errors on the host after a while and couldn’t resolve via cable plug/unplug or windbg restart. Had to fully reboot both machines.

I was never able to get this tablet to connect at all. With my laptop as a target, when things are working, as soon as I plug the cable in I see the new USB debug device in devmgr. But with the tablet I never even get to that point.