| Previous | Next |
| kIOUSBLowLatencyBufferNotPreviouslyAllocated | kIOUSBPipeStalled |
kIOUSBInterfaceNotFound
The requested interface description is absent
kIOUSBInterfaceNotFound means the IOUSBFamily code could not identify the requested interface in the active configuration descriptor. In the interface implementation, selection is based on the interface number and alternate setting. A value that was valid before a reset, reconfiguration, firmware mode change, or device replacement can therefore fail even when the vendor and product identifiers still look familiar.
This is not a pipe timeout and not a permission result. The repair starts with the descriptor tree actually exposed by the current device instance. In particular, do not assume that alternate setting zero exposes the endpoints used by another setting.
What to compare
- Capture the selected configuration value, interface number, alternate setting, class, subclass, protocol, and the raw configuration descriptor bytes.
- Confirm that the application requested the interface exposed by the current device mode, not one cached from an earlier enumeration.
- After reset or reconnect, discard stale IOUSB interface references and repeat discovery before opening an interface.
- When changing alternate settings, expect the pipe set to change and rebuild higher-level endpoint bindings from the selected descriptor.
References
- Apple: device and interface access from user space
- IOUSBFamily source: alternate-interface selection
- Apple: IOUSBFamily error codes
Looking for a different code? Search another status or error code.