Software¶
openwifi's software lives in the openwifi repository: the kernel modules in driver/ that sit between Linux mac80211 and the FPGA, and the on-board tools and scripts in user_space/. The driver is a Linux platform driver built against the Analog Devices kernel, so ADI's kernel patches are a prerequisite for anything here.
-
Software Development Workflow is the workflow: rebuilding and deploying the driver,
sdrctl, and images without rebooting. Start here when you want to build, change, or deploy the software. -
The Linux Driver is the reference: the kernel modules, the
mac80211callback surface, and the transmit and receive paths. Start here when you want to understand whatsdr.kodoes between amac80211callback and a register write.
If you are chasing a load-order problem or a packet that is not arriving, go to The Linux Driver. If you have a working understanding of the driver and want to get a change onto a board, go to Software Development Workflow.
Before either one, set up the shared host toolchain on the Environment Setup page. For the FPGA half of the stack see FPGA, and for the broader picture of how Linux, the driver, and the FPGA fit together see Architecture.