Hi,

I’m investigating USB boot from JetKVM on a Raspberry Pi 5 with U-Boot
v2026.10-rc3. JetKVM is a KVM-over-IP device that presents keyboard/mouse
HID interfaces and virtual mass storage over a single composite USB
connection.

In the device layout that comes stock with the JetKVM, storage is at
interface 4. The Pi firmware can load U-Boot from it, but U-Boot doesn’t
discover the storage. Moving storage to interface 0 allows USB EFI boot.

In usb_scan_device(), both usb_find_child() and usb_find_and_bind_driver()
receive the first interface descriptor, and one driver is bound to the
device.

I found the Apple keyboard workaround for selecting a later interface, but
haven’t found an example of binding both keyboard and storage drivers to
one composite device. Is supporting these functions together within the
intended scope of U-Boot’s USB host stack?

The storage driver also assumes interface 0, and xHCI initializes only the
first two interfaces, but I’d like to understand the intended binding model
first.

AI tools assisted in the investigation and drafting of this message. I have
personally read and understood relevant parts of the code mentioned above.

Kalle Ahlström

Reply via email to