Overview & identity
Class 0c0300 describes UHCI controller programming. It is deliberately different from OHCI although both can carry low-/full-speed peripherals. An emulated UHCI function need not represent physical host hardware.
This is an explicit class, transport or driver-context profile. It is not an exact numeric product match.
A numeric match establishes a candidate family within the reviewed evidence. Marketing names, board variants, subsystem conditions and successful operation remain separate questions.
Driver & binding
UHCI PCI glue is compiled into uhci_hcd, unlike the separately named PCI glue modules of several newer host families. Inspect the reported binding rather than inferring a module solely from naming symmetry.
uhci_hcd— kernel driver/module candidate
Firmware
No host payload established here
No external firmware filename was established in the checked driver path. This does not describe firmware stored inside the device.
Read-only diagnostics
Run one displayed command at a time. Replace uppercase placeholders with the affected device, interface or module from your own output. Commands are never executed here. Read-only output can still contain private identifiers.
Inspect the PCI function and binding
lspci -nnk -s BDFReplace BDF with the complete address, for example 0000:00:14.0. This read-only query needs pciutils and normally no sudo. “Kernel driver in use” is observed binding; “Kernel modules” lists candidates.
Inspect interfaces and negotiated speed
lsusb -tThis read-only usbutils query normally needs no sudo. Driver belongs to the displayed interface, while speed is the negotiated connection. Other interfaces of the same physical device may use other drivers.
Limitations & related issues
This profile does not identify a VM host, passthrough setup or a failing peripheral. Controller architecture alone cannot explain disconnects or establish available host-side USB bandwidth.
These guides are linked for relevant observations, not as known defects of every device in this family.
- A device callback aborts system suspend · First documented next step
- Kernel module was built for a different kernel · First documented next step
Choose a hardware diagnostic workflow · Inspect a log excerpt in Fix Lab
References
Source review records a checked implementation or document, not a reproduced hardware test. Version-specific tables do not establish a minimum kernel or guaranteed operation.
- Linux: drivers/usb/host/uhci-pci.c
Reviewed upstream source
PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_USB_UHCI - Linux: include/linux/pci_ids.h
Reviewed upstream source
PCI_CLASS_SERIAL_USB_UHCI - Linux: drivers/usb/host/Kconfig
Project or distribution documentation
config USB_UHCI_HCD