genodelabs / genode

Genode OS Framework
https://genode.org/
Other
1.06k stars 250 forks source link

Move wifi-stack into the dde_linux repository #4861

Closed cnuke closed 1 year ago

cnuke commented 1 year ago

For historical reasons the wifi-stack was tailored to the PC platform and up to now was located in the pc repository. To ease supportting other platforms and other transport layers besides PCIe the common portions are going to be moved into the _ddelinux repository while keeping the platform-specific parts in the corresponding platform-repository

cnuke commented 1 year ago

The following commits contain

and the major changes are documented in the commit messages as well in the various README files. Commits logically contained by another one are denoted as fixup commit to make the changes prominent.

The pc_wifi as well as the a64_wifi driver pkgs, the various run-scripts and the Sculpt integration were adapted. Initial testing was performed on ultra, macho, fuji4, fuji6 and x201 (_pcwifi.run, _netperf_lwipwifi, Sculpt (fuji only)) as well as on the PinePhone (_a64wifi.run, Sculpt) and did not exhibit many unexpected () results.

(*) ultra still triggers a page-fault (I am going to further look into that for the release) and fuji6 sometimes mis-behaves when connected to our 2.4GHz test network (frequent disconnects when connected)

I plan to further refine the wifi_drv for the upcoming release but these are mostly internal adjustments and no functional change noticable from the out-side and should be on the “low-risk” side.

Genode repository: * 2fe8bbd815 - dde_linux: remove unused var from libnl_include * f23280cd24 - dde_linux: update wpa_supplicant to version 2.10 * 6fd31df773 - fixup 'wifi: get firmware from to tar archive' (Sculpt adaptions) * 99437ff172 - wifi: get firmware from to tar archive * 3446b56e87 - fixup 'Move 'wifi' driver to dde_linux repository' (Sculpt adaptions) * aee785f10b - Move 'wifi' driver to dde_linux repository * 3b976033ff - dde_linux: promote PC specific additions

Allwinner repository: * 2bc5828 - Adapt to wpa_supplicant update * efb4144 - Adapt to firmware from tar archive * 6a2d2f5 - phone_manager: adapt to renaming * 70166ba - a64_wifi_drv: adapt to wifi move * d70cbce - a64_wifi_drv: remove wrong api/pc_linux entry * c3c4993 - Adapt to promote PC specific additions

EDIT-2023-05-22: I'll prepare updated commits.

cnuke commented 1 year ago

The following commit series provides the changes.

Genode repository: * b585cd0bc9 - dde_linux: promote PC specific additions * d2ee9b3b47 - Move 'wifi' driver to dde_linux repository * 9374a8743b - fixup 'Move 'wifi' driver to dde_linux repository' (Sculpt adaptions) * d629d1261b - pc_wifi: implement __crypto_xor generated dummy * c2f89537e2 - wifi: get firmware from to tar archive * 07a21ef6a5 - fixup 'wifi: get firmware from to tar archive' (Sculpt adaptions) * 31a1212e3c - dde_linux: update wpa_supplicant to version 2.10 * 7e354c8b5b - dde_linux: remove unused var from libnl_include * aece9568a6 - wifi: add RFKILL notification interface * 70199ff7ee - pci_decode: force GSI for ath9k device * e11016e117 - dde_linux: enhance KBUILD_MODNAME generation * 9cd313c29b - pc_wifi: enable RTL8192CE support in rtlwifi ~~* 04349de53a - wifi: provide WPA3-personal support ~~

Allwinner repository: * c8dcc2a - Adapt to promote PC specific additions * a4a22c4 - a64_wifi_drv: remove wrong api/pc_linux entry * f6277dc - a64_wifi_drv: adapt to wifi move * 268fbc4 - phone_manager: adapt to renaming * ab0a7fc - Adapt to firmware from tar archive * 91d03f8 - Adapt to wpa_supplicant update

@nfeske commit 9374a8743b and 07a21ef6a5 are the ones I was referring to.

EDT: update commit, see next comment.

cnuke commented 1 year ago

Third time is the charme, includes the changes suggest by @nfeske (thanks for the review) with regard to the Sculpt integration.

Genode repository:

Allwinner repository:

chelmuth commented 1 year ago

@skalk do you approve the dde_linux adaptions in the commit series? I plan to merge it today.

chelmuth commented 1 year ago

@cnuke do the adaptions in genodelabs/genode affect genode-imx etc.?

cnuke commented 1 year ago

@chelmuth maybe - I have not checked that as @skalk probably already made the adaptions. But zynq could be a problem, I am going to check that.

skalk commented 1 year ago

@chelmuth @cnuke I very much like the commit series apart from the minor one-liner comment I made. Just for the record: at least the genode-imx and genode-zynq repositories have to be searched through for further occurrences of the functions now moved to lx_emul/shadow, like @cnuke already did for the genode-allwinner repo.

cnuke commented 1 year ago

@chelmuth @cnuke I very much like the commit series apart from the minor one-liner comment I made. Just for the record: at least the genode-imx and genode-zynq repositories have to be searched through for further occurrences of the functions now moved to lx_emul/shadow, like @cnuke already did for the genode-allwinner repo.

Right, I'll look into the imx repo as well.

cnuke commented 1 year ago
chelmuth commented 1 year ago

The builder produces linker errors on arm_v6/7a.

cnuke commented 1 year ago

I'll look into that.

cnuke commented 1 year ago

@chelmuth please merge 5a7cb04, ab4956c and 95d80e5.

(I have noticed several <policy> relating warnings in the _nic_routeruplinks.run run-script that I ignored as it appears to work as intended.)

nfeske commented 1 year ago

Fixed in master.