I am working on integrating the Quantenna QTNFMAC WiFi driver into my OpenWrt build for a Netgear R7500V1 router. While the driver compiles and the resulting .ko
files are present in the OpenWrt image under /lib/modules/5.15.167/
, I encounter Unknown symbol
errors related to cfg80211
when loading the driver at runtime. Below, I have documented the steps taken so far and the current error messages encountered. I hope the OpenWrt community can assist in resolving this issue.
Steps Taken So Far
- Compiled the Driver:
- The kernel v5.15.167 has the driver code under /drivers/net/wireless/quantenna.
- Built the
qtnfmac
driver as part of the OpenWrt build process (Makefile Below). - Compiled the module successfully, generating the following files:
qtnfmac.ko
qtnfmac_pcie.ko
Verified Image Contents:
- After flashing the image to the router, I verified that both
.ko
files are present in/lib/modules/5.15.167/
. - The
modules.order
file confirms that theqtnfmac
andqtnfmac_pcie
modules were correctly listed.
Dependencies and Makefile Configuration:
- In the Makefile, I defined a dependency on
cfg80211
to ensure it loads before theqtnfmac
driver:
DEPENDS := +kmod-cfg80211
Below is the relevant portion of the Makefile
define KernelPackage/qtnfmac
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Wireless Drivers
TITLE:=Quantenna WiFi driver (QTNFMAC)
DEPENDS:=+kmod-cfg80211
FILES:=$(DRIVER_DIR)/qtnfmac.ko \
$(DRIVER_DIR)/qtnfmac_pcie.ko
AUTOLOAD:=$(call AutoLoad,50,qtnfmac qtnfmac_pcie)
endef
Current Issue
Even though the cfg80211
module is present and loads successfully, the qtnfmac
module fails with Unknown symbol
errors for symbols that are exported by cfg80211
. This suggests that:
- There might be an incompatibility between the
cfg80211
module and theqtnfmac
driver, potentially due to mismatched kernel configurations or compilation issues. - The driver might be trying to access symbols that require additional kernel features or options to be enabled.
Questions for the Community
- Kernel Symbol Resolution:
- Could there be any additional configurations required to ensure
qtnfmac
can properly link with symbols fromcfg80211
? - Are there known compatibility issues or additional dependencies for Quantenna drivers?
- Kernel Module Build Process:
- Do I need to perform any manual steps beyond what the OpenWrt build system already handles (e.g., linking the symbols or configuring kernel options)?
- Potential Workarounds:
- Is there a way to force re-export of symbols or load the modules differently to resolve the unknown symbol issue?
Any guidance or suggestions would be greatly appreciated. Thank you!