The Device Manager message
"This device cannot start. (Code 10) – A request for the HID descriptor failed."
matches a known class of HID-over-I2C failures where the HID I2C device firmware fails to process the host’s read request for the HID descriptor.
From the troubleshooting guidance:
- "A request for the HID descriptor failed." means the HID I2C device firmware did not successfully handle the HID descriptor read.
- Recommended next steps are:
- Have the HID I2C device firmware owner investigate why the descriptor read fails.
- If the device firmware is not even seeing the read request, have the I2C controller owner investigate why the controller is not sending the request.
- Capture and analyze HIDI2C driver traces for more detail.
This aligns with the intermittent behavior after restart/wake and temporary recovery after disable/enable or cold boot: the failure is occurring at the HID descriptor transaction level between the I2C controller and the ELAN firmware, not in the Windows INF/driver package selection.
To move forward, the documented workflow is:
- Treat this as a HID I2C firmware / I2C controller issue rather than a Windows INF/driver issue.
- The guidance explicitly calls out that when the HID descriptor request fails, investigation should start with the HID I2C device firmware and, if needed, the I2C controller firmware.
- Enable diagnostic logging for HIDI2C and HIDCLASS using the BusesTrace script:
- Use the BusesTrace.cmd script from https://aka.ms/busestrace to capture ETW traces for Microsoft-provided drivers such as HIDI2C.SYS and HIDCLASS.SYS.
- For failures that occur during boot or resume, configure a boot trace with BusesTrace (the script can configure the system for boot tracing; a reboot is required after configuration).
- If multiple HID I2C devices are present, disable or avoid using the others during capture to reduce trace noise.
- Analyze the trace in Windows Performance Analyzer (WPA):
- Open both Buses-MachineInfo.etl and WPR-…-InputTrace.etl together in WPA in a single session.
- Use the System Activities → Generic Events graph.
- For HIDI2C events, use provider Microsoft-Windows-SPB-HIDI2C.
- For HID report descriptor validation issues, use provider Microsoft-Windows-Input-HIDCLASS (HIDCLASS.SYS validates the HID report descriptor).
- Interpret the failure:
- If the trace shows HIDI2C read requests timing out or failing when reading the HID descriptor, this corroborates a firmware or I2C controller problem.
- If the device returns an invalid HID descriptor or invalid HID report descriptor, the guidance is to have the device firmware corrected. HIDCLASS traces can show the exact byte offset where validation fails.
- If the device is missing or intermittently enumerates:
- The HID I2C troubleshooting guidance also notes that if a HID I2C device is missing in Device Manager, ACPI firmware may be reporting incorrect configuration (for example, incorrect _CID or _STA). In such cases, the ACPI/BIOS firmware must be inspected and corrected by the platform vendor.
Regarding whether this is a generic Windows 11 bug or a specific mitigation exists, the available documentation does not list a Windows 11–specific HID/I2C defect or patch for ELAN devices. Instead, it consistently directs investigation toward:
- HID I2C device firmware correctness (HID descriptor and HID report descriptor contents and behavior),
- I2C controller firmware/ACPI configuration (correct HID descriptor address, controller and device characteristics, GPIO interrupt configuration), and
- Trace-based diagnosis using BusesTrace and WPA.
For an OEM system like HP Pavilion x360 with an ELAN touchpad, the next concrete steps are therefore:
- Capture a boot trace with BusesTrace while reproducing the Code 10 failure.
- Analyze HIDI2C and HIDCLASS events in WPA to identify whether the failure is:
- a timeout or bus-level error reading the HID descriptor, or
- an invalid descriptor being returned.
- Provide these traces and findings to the system OEM (HP) and touchpad vendor (ELAN) so they can adjust firmware, ACPI tables, or I2C controller configuration as needed.
These steps align with the official HID over I2C troubleshooting workflow and are the supported way to diagnose intermittent HID descriptor failures.
References: