Skip to content

Extensive openwifi support for OpenWRT#4

Merged
robgar2001 merged 98 commits into
open-sdr:nlnetfrom
robgar2001:nlnet
Jun 9, 2026
Merged

Extensive openwifi support for OpenWRT#4
robgar2001 merged 98 commits into
open-sdr:nlnetfrom
robgar2001:nlnet

Conversation

@robgar2001

Copy link
Copy Markdown
Collaborator

No description provided.

A custom uEnv.txt file is automatically installed that loads in the system_top.bit file, which is provided by the user. Since OpenWiFi does not yet have .dtso files available, in case OpenWiFi package is selected, the dts directory and filename is changed to that of the OpenWiFi dts.
Newer versions of mac80211 do not work anymore with the current release of openwifi due to change in tx path
The tx queue path is not implemented.
To fix this, the older package versions are used and the package feed is overwritten by ./scripts/feeds install -f -a
This keeps all the non-mainline analog devices linux kernel stuff together. It also avoids issues in the collect_module_symvers
…g in kernel modules and /etc/board.d/openwifi to allow lan to use dhcp client

Using the AutoLoad method worked, but it provides no clear/straightforward path to call the ./rf_init_11n.sh file (see wgd.sh in openwifi). Calling this file is necessary to enable the fir filters, otherwise no AP will become visible.

A straightforward solution is to create a openwifi service under /etc/init.d, which calls the wgd.sh script under /openwifi/user_space, the openwifi sources are installed in the root folder anyway.

For OpenWiFi, it makes sense to use dhcp client instead of a static ip on the eth port.
This is done by a file in /etc/board.d/01_openwifi
robgar2001 and others added 18 commits February 6, 2026 16:27
Adjustable clock is only used by openwifi zynq boards.
ZCU102 device tree of openwifi has fclk0 node with compatible = "xlnx,fclk". However, the driver for xlnx,fclk is only present in Xilinx variant of Linux kernel. Two options may fix this:
- Add fixed-clock to compatibility property as a fallback in case used with OpenWrt kernel.
- Add the Xilinx fabric clock driver to OpenWrt kernel.
Here, I implement the latter.

See original commit:
analogdevicesinc/linux@69d0477
In ethernet-phy node of default device tree for zcu102, the phandle in the reset-gpios property points to gpio@20 node with compatibility string "ti,tca6416". The driver was not present, causing a deferred probe. After a quick Linux kernel search, this requires CONFIG_GPIO_PCA953X=y.
When this config option is set, inserting the xilinx-dma kernel package that is embedded in the openwrt image causes a symbol version mismatch. However, directly loading in the drivers/dma/xilinx/xilinx_dma.ko from the openwrt kernel tree works fine. My suspicion is that this issue is caused by some openwrt symbol magic during packaging.
…vec()

Quite an ugly patch. However, xilinx-vdma driver KernelPackage misbehaves if dmaengine.h is not patched before it is compiled. Only alternative would be to let xilinx-vdma depend on an adi_non-mainline_common package. There is no immediate clean fix for this.
…we do not want to keep hacky openwifi specific stuff in Linux kernel of all targets
Since v2.12, TF-A automatically selects the no-warn-rwx-segments option if
needed.
So move this hack to the package Makefiles.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: openwrt#17243
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

(cherry picked from commit c117d7a)
…zedboard ps7_init_gpl files from openwifi system_top.xsa
…zc706 ps7_init_gpl files from openwifi system_top.xsa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants