Before you ask, I'm deliberately doing a bit of an educational project, which is why I'm playing with obsolete software (i.e. XP).
With that out of the way, I'm currently manually integrating USB3 drivers so that USB3 mass storage devices work in text mode setup. I have this working fine with the Etron drivers and my motherboard's built-in USB3. To test against other chipsets I bought a couple of cheap cards off eBay, and it was not until they turned up that it dawned on me that I would be unable to test booting off them as they generally don't have option ROMS.
My solution here was to boot off my built-in USB3, but to have some USB3 storage in the new card's ports so they would show up. Problem is, they don't. Doesn't even so much as flash the access indicator. The VIA drivers are all happy enough once detected as part of GUI PnP setup - all works fine from there. Text mode however is another story.
Now, based upon what I have in place for my Etron drivers which work, I have the following set:
- The PnP IDs are in the hardware IDs database (mine's the DEV_3483):
PCI\VEN_1106&DEV_9201 = "viaxhci" PCI\VEN_1106&DEV_3432 = "viaxhci" PCI\VEN_1106&DEV_3483 = "viaxhci" USB\VIA_ROOT_HUB = "viahub3" VUSB1\CLASS_09 = "viahub3" VUSB2\CLASS_09 = "viahub3" VUSB2\CLASS_09&SUBCLASS_00&PROT_02 = "viahub3" VUSB3\CLASS_09 = "viahub3"
- The drivers are set to load along with the rest of the USB drivers:
[InputDevicesSupport.Load] etronxhci = etronxhci.sys etronhub3 = etronhub3.sys viaxhci = xhcdrv.sys viahub3 = viahub3.sys usbehci = usbehci.sys ...etc
- The drivers are also filled-in the same elsewhere:
[InputDevicesSupport] etronxhci = "Etron USB 3.0 Extensible Host Controller",files.none,etronxhci etronhub3 = "Etron USB 3.0 Extensible Root Hub",files.none,etronhub3 viaxhci = "VIA USB 3.0 eXtensible Host Controller",files.none,viaxhci viahub3 = "VIA USB 3.0 eXtensible Root Hub",files.none,viahub3 usbehci = "Enhanced Host Controller",files.usbehci,usbehci ...etc
...and the WDF libraries are also in the i386 directory (without which the drivers cannot be loaded):
...so I know they're being loaded. And I know they work with my hardware as they're fine from the PnP stage.
Any ideas why they aren't picking up any mass storage devices? Short of checking they're loading (they are) and it's not blowing up (it's not), I don't really know how I can troubleshoot the problem here!
For completeness, I've found threads here:
...which all suggest it should work. The primary difference being that they tend to use the bus extenders sections rather than the input devices ones...but I used those because that's where the rest of the stock USB support is, and it works for the Etron drivers, so...
Next plan of action is to try and see if adding the registry keys the full-fat PnP inf sets up helps any.