mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-28 17:12:22 +00:00
8ee96c36c906a15d6148cba884d3993527d010c3
A printk() was previously introduced that is passing the log level as the first argument
instead of prefixing the format with the level. Given this code path, this is causing a
kernel fault and CPU reboot without any kernel panic/stack trace, since it's crashing
inside of printk().
CPU:0 ts:206871944795 ffffffc008dcf828 ffffffc008dfe914 cleanup_module [batman_adv] <- cfg80211_vendor_cmd_reply+0x7ff4/0xa064 [cfg80211]
CPU:0 ts:206871944800 ffffffc0108e69d0 ffffffc008dcf80c printk <- cleanup_module+0xb22c/0xa20 [batman_adv]
CPU:0 ts:206871944802 ffffffc0101173c0 ffffffc0108e6a08 vprintk_func <- printk+0x60/0x6c
CPU:0 ts:206871944806 ffffffc010115e44 ffffffc0101160ec vprintk_emit <- vprintk_default+0x4c/0x60
CPU:0 ts:206871944809 ffffffc0101172d0 ffffffc010115e88 __printk_safe_enter <- vprintk_emit+0x84/0x29c
CPU:0 ts:206871944812 ffffffc010115c20 ffffffc010115ec4 vprintk_store <- vprintk_emit+0xc0/0x29c
CPU:0 ts:206871944816 ffffffc0100a53a4 ffffffc010080fb4 do_translation_fault <- do_mem_abort+0x54/0xb0
CPU:0 ts:206871944819 ffffffc0100a4eb4 ffffffc0100a5448 do_page_fault <- do_translation_fault+0xc8/0xe0
CPU:0 ts:206871944821 ffffffc0100a4d08 ffffffc0100a5038 __do_kernel_fault <- do_page_fault+0x1a8/0x4f0
CPU:0 ts:206871944837 ffffffc0100a4c88 ffffffc0100a4df0 die_kernel_fault <- __do_kernel_fault+0x110/0x1b0
After applying the fix, we can see this code path is being hit:
[26799.175166] cfg80211_calculate_bitrate_he: invalid rate->nss: 0
This still doesn't fix the original issue triggering this code path, which is why a nss value
of 0 is being reported.
Fixes: eb9cbaec7 ("ipq807x: Shorten the kernel backtrace warning msg for ieee80211_bss_get_elem")
Fixes: WIFI-14677
Signed-off-by: Paul White <paul@shasta.cloud>
OpenWiFi AP NOS
OpenWrt-based access point network operating system (AP NOS) for TIP OpenWiFi. Read more at openwifi.tip.build.
Building
Setting up your build machine
Building requires a recent Linux installation. Older systems without Python 3.7 will have trouble. See this guide for details: https://openwrt.org/docs/guide-developer/toolchain/beginners-build-guide
Install build packages on Debian/Ubuntu (or see above guide for other systems):
sudo apt install build-essential libncurses5-dev gawk git libssl-dev gettext zlib1g-dev swig unzip time rsync python3 python3-setuptools python3-yaml
Doing a native build on Linux
Use ./build.sh <target>, or follow the manual steps below:
- Clone and set up the tree. This will create an
openwrt/directory.
./setup.py --setup # for subsequent builds, use --rebase instead
- Select the profile and base package selection. This setup will install the
feeds and packages and generate the
.configfile.
cd openwrt
./scripts/gen_config.py linksys_ea8300
- Build the tree (replace
-j 8with the number of cores to use).
make -j 8 V=s
Build output
The build results are located in the openwrt/bin/ directory:
| Type | Path |
|---|---|
| Firmware images | openwrt/bin/targets/<target>/<subtarget>/ |
| Kernel modules | openwrt/bin/targets/<target>/<subtarget>/packages/ |
| Package binaries | openwrt/bin/packages/<platform>/<feed>/ |
Developer Notes
Branching model
main- Stable dev branchnext- Integration branchstaging-*- Feature/bug branchesrelease/v#.#.#- Release branches (major.minor.patch)
Repository structure
Build files:
Makefile- Calls Docker environment per targetdock-run.sh- Dockerized build environmentdocker/Dockerfile- Dockerfile for build imagebuild.sh- Build scriptsetup.py- Clone and set up the treeconfig.yml- Specifies OpenWrt version and patches to apply
Directories:
feeds/- OpenWiFi feedspatches/- OpenWiFi patches applied during buildsprofiles/- Per-target kernel configs, packages, and feeds- wifi-ax: Wi-Fi AX packages
- ucentral-ap: uCentral packages
- x64_vm: x86-64 VM image
uCentral packages
AP-NOS packages implementing the uCentral protocol include the following repositories (refer to the ucentral feed for a full list):
- ucentral-client: https://github.com/Telecominfraproject/wlan-ucentral-client
- ucentral-schema: https://github.com/Telecominfraproject/wlan-ucentral-schema
- ucentral-wifi: https://github.com/blogic/ucentral-wifi
Description
Languages
C
85.9%
Shell
5.6%
Makefile
3.3%
Roff
1.8%
UnrealScript
1.6%
Other
1.6%