Skip to content

Extensive openwifi support for OpenWRT#496

Open
robgar2001 wants to merge 75 commits into
open-sdr:masterfrom
robgar2001:nlnet
Open

Extensive openwifi support for OpenWRT#496
robgar2001 wants to merge 75 commits into
open-sdr:masterfrom
robgar2001:nlnet

Conversation

@robgar2001

Copy link
Copy Markdown
Contributor

Extensive openwifi support for OpenWRT

Robbe Gaeremynck and others added 30 commits October 27, 2025 15:15
Initial steps towards an openwifi device tree overlay.
Hw description is compared with U-Boot v2019.07 its zynq-7000.dtsi file. Everything common with the .dtsi file is removed from the overlay. Some phandle references where already replaced by the &label syntax for improved readability.
…-adrv9361.dts.

Also, switched phandle references by value to by label.
Is necessary for OpenWrt to set the correct cross compiler, ld-flags, include flags,...
Fixes to work with mac80211 6.9.0 kernel

chanctx functions

Fixes to work with mac80211 6.9.0 kernel

Added the wake_tx_queue ieee80211_op, which is now mandatory.

Changed a couple of function arguments
For unknown reason, Linux its zynq-7000.dtsi does not do this by default, U-Boot does.
@JiaoXianjun

Copy link
Copy Markdown
Member

@copilot resolve the merge conflicts in this pull request

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds OpenWrt-focused bring-up, build, and device-tree overlay support to the openwifi repo, spanning updated user-space scripts/tools, new OpenWrt build documentation, and kernel/device-tree changes needed for OpenWrt integration.

Changes:

  • Add OpenWrt image build documentation and a Docker-based build environment.
  • Introduce device-tree overlay sources plus a script to construct board device trees via overlay application.
  • Update user-space scripts/tools and several drivers to better match newer kernel expectations and OpenWrt workflows.

Reviewed changes

Copilot reviewed 38 out of 46 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
user_space/wgd.sh Adjusts module loading flow and adds OpenWrt detection logic.
user_space/update_sdcard.sh Switches device-tree generation to a new construction script.
user_space/side_ch_ctl_src/side_info_display.py Adds argparse and changes side-info parsing/casting.
user_space/side_ch_ctl_src/side_ch_ctl.c Adds optional server IP argument handling for UDP target.
user_space/side_ch_ctl_src/Makefile Adds a Makefile for building side_ch_ctl.
user_space/side_ch_ctl_src/iq_capture.py Adds argparse and improves CLI ergonomics.
user_space/monitor_ch.sh Adds OpenWrt-specific monitor mode setup using iw.
user_space/inject_80211/Makefile Uses toolchain variables (CC, LDFLAGS, etc.) instead of hardcoded gcc.
user_space/agc_settings.sh Adds an echo() override for OpenWrt shell behavior.
README.md Adds links to OpenWrt quick start/build instructions.
kernel_boot/boards/zcu102_fmcs2/system.dts Minor DT address formatting changes.
kernel_boot/boards/overlays/zed_fmcs2.dtso New per-board DT overlay.
kernel_boot/boards/overlays/zcu102_fmcs2.dtso New per-board DT overlay.
kernel_boot/boards/overlays/zc706_fmcs2.dtso New per-board DT overlay.
kernel_boot/boards/overlays/zc702_fmcs2.dtso New per-board DT overlay.
kernel_boot/boards/overlays/sdrpi.dtso New per-board DT overlay.
kernel_boot/boards/overlays/neptunesdr.dtso New per-board DT overlay.
kernel_boot/boards/overlays/antsdr_e310v2.dtso New per-board DT overlay.
kernel_boot/boards/overlays/antsdr_e310.dtso New per-board DT overlay.
kernel_boot/boards/overlays/antsdr_e200.dtso New per-board DT overlay.
kernel_boot/boards/overlays/adrv9364z7020.dtso New per-board DT overlay.
kernel_boot/boards/overlays/adrv9361z7035.dtso New per-board DT overlay.
kernel_boot/boards/openwifi_64_ad9361.dtso New OpenWiFi overlay for 64-bit platforms.
kernel_boot/boards/openwifi_32_ad9361.dtso New OpenWiFi overlay for 32-bit platforms.
kernel_boot/boards/construct_device_tree.sh New script to compile/apply overlays and generate final DTBs.
driver/xpu/xpu.c Updates printk formatting for 64-bit safety.
driver/tx_intf/tx_intf.c Updates printk formatting for 64-bit safety.
driver/side_ch/side_ch.c Fixes DMA direction macros (DMA_FROM_DEVICE).
driver/sdr.c Updates several mac80211-facing APIs and DMA direction macros.
driver/rx_intf/rx_intf.c Adjusts base address type handling and printk formatting.
driver/openofdm_tx/openofdm_tx.c Updates printk formatting for 64-bit safety.
driver/openofdm_rx/openofdm_rx.c Updates printk formatting for 64-bit safety.
driver/hw_def.h Changes rx_intf_driver_api.base_addr to 64-bit.
doc/known_issue/notter.md Adds OpenWrt-specific known issue documentation.
doc/img_build_instruction/openwrt/start_docker_openwrt_build.sh New OpenWrt docker start helper script.
doc/img_build_instruction/openwrt/openwrt.md New OpenWrt guide and quick start.
doc/img_build_instruction/openwrt/give_board_internet_access.sh New helper for NATing board traffic via host.
doc/img_build_instruction/openwrt/Dockerfile New Dockerfile for OpenWrt build environment.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread user_space/wgd.sh Outdated
Comment thread user_space/wgd.sh Outdated
Comment thread user_space/wgd.sh Outdated
Comment thread user_space/update_sdcard.sh
Comment thread kernel_boot/boards/construct_device_tree.sh
Comment thread kernel_boot/boards/openwifi_64_ad9361.dtso
Comment thread doc/img_build_instruction/openwrt/start_docker_openwrt_build.sh Outdated
Comment thread doc/img_build_instruction/openwrt/openwrt.md Outdated
Comment thread doc/known_issue/notter.md Outdated
Comment thread doc/known_issue/notter.md Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants