Hi Josef, Thanks also for your help on this, the run scripts are a big time saver over building a new Sculpt each time.
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. > Did you try with a recent branch? I've been having success with rt2x00 and ath9k both lately. > 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 was able to get this to work with my "world" version [1]. You can see the small changes I needed to make to the main repo in [2]. Commit 7f5c967 fixes a small issue that wasn't revealed earlier where wpa_supplicant_ctrl_iface_deinit is called with a null pointer for the second argument. Commit 0b24c1c adds some switches to the linux compile without which the usb version of rt2x00 won't build, and 76c138d adds usb_report_filter to the config scenario and is not strictly necessary unless you want to switch between two types of devices (ath9k and rt2x00) on-the-fly. > 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. > Yes, very much agree that USB drivers should not need/want access to DMA memory, Platform service, or PCI bus. I will try to tackle this next. > > 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? > Ok. It may not be so completely simple. Likely there would need to be at least small changes to wifi_drv, for example compare "frontend.h" between the two, you will see some additional features like _remove_all_aps(), and IFACE-DEINIT had to be added to support hot-plug. [1] https://github.com/cvparker/genode-world/tree/ath9k_driver_support-2023-01-22 [2] https://github.com/cvparker/genode/tree/usb_wifi-2023-05-24 -CP
_______________________________________________ Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users