Josef, Fantastic!
I am happy to confirm that your driver also works with my Ralink-based
D-Link dongle (running via USB passthrough in QEMU and flood pinging it from the out-site). I encountered the I/O signal handling issue once but since its a known problem I mostly ignored that for now.
I had chased that away in "normal" use, but I'm not surprised you could trigger it with a ping flood.
I added the missing feature to the generic driver binary and changed the 'wifi_ath9k.run' run-script to use that instead of the specific one.
(I pushed the corresponding branches called 'usb_wifi-2023-06-11' for the genode and genode-world repo.)
I switched to those branches, it works for both my dongles (I suppose the correct branch name is cnuke/ath9k_driver_support-2023-06-11 for genode-world).
If I understand it right, the remaining suggestions are to switch to virt_linux and to re-implement USB with the "Connection" object. For the former I may take a look at it this weekend if I have time. I may also try to build a Sculpt configuration around usb_report_filter and supporting both dongles with the same configuration. Regarding the latter there is supposed to be a change to Genode's USB structures pending so maybe I'll just wait to see what happens with that?
Best, CP