On Mon, 17 Feb 2025, Brian Buhrow wrote: > Hello Iain. Without knowing a lot about this topic, I wonder if a > less hacky way to do what you want is to write a separate function that > is called based on the vendor and device ID's on the bus which then > figures out whether the firmware is loaded and, if the firmware is not > loaded, uses the firmload(9) API to load the firmware into the device > and then finishes the attachment normally?
It is not as simple as a single function, the userland firmware loading program I have is ~800 lines and it uses 4 different USB endpoints to do the job. It would be more in-kernel, for reference, the linux code handles more devices but it is over 4000 LoC. Also, it has tentacles throughout the Bluetooth stack which it leverages. It really seems as if this was designed by multiple committees. iain