Hi Colin,
Thanks for your continous effort, I'll give your branches a try.
as you may have noticed, besides briefly looking into your branches and pushing simple changes to make it easier to test the driver in Qemu I unfortunately did not find the time to dig deeper why it apparently was not working properly for me.
That being said, yesterday I rebased [1] your changes to add hot-plugging support to the 'wpa_supplicant' (they compile but I did not test whether they work or not) to the staging branch containg the wifi stack changes for the upcoming release. I also sketched using the 'virt_linux' Linux target as basis for a USB wifi driver - it will not link as 'virt_linux' is not yet properly prepared for that scenario - as I believe that is beneficial for an USB driver where DMA memory (and to that extend the usage of the Platform service) is not necessary.
My (somewhat uninformed) guess is that it could be as simple as using your 'lx_emul_usb.c' back end instead of, for example, 'lx_emul_pci.c' (omitting the gory details/obstacles lurking in the dark…).
Maybe you want to give that a try?
[1] https://github.com/cnuke/genode/commits/usb_wifi-2023-05-24
Regards Josef