mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 17:42:41 +00:00
dd6901c6c46520048f4390648d07061c8295ca18
34379aa cleanup: remove unused MDNS service schema (no-op service)
26ae111 cleanup: remove unused HTTP service template and schema
f080ab3 cleanup: remove unused rtty service template and schema
c0c1d97 cleanup: remove unused files
e142706 fix: restore missing admin_ui variable assignment and validation
25582fa fix: restore correct file path in quality_of_service.uc
b3da9da base/interface-ssid: fix certificates variable scoping for validation
41ae448 base/interface: comprehensive refactoring to new templating pattern
3ec4415 base/switch: refactor to new templating pattern
a4a6f08 base/spotfilter: refactor to new templating pattern
5cd9b66 base/interface-firewall: comprehensive refactoring to new templating pattern
0910040 base/interface-ssid: comprehensive refactoring to new templating pattern
1f7a122 base/interface-mesh: update to new templating pattern
146068d base/interface-ieee8021x: update to new templating pattern
c272931 base/interface-bridge-vlan: update to new templating pattern
ffd4c2c base/interface-captive: update to new templating pattern
696648b base/interface-ipv6: update to new templating pattern
7034597 base/interface-ipv4: update to new templating pattern
3ca71c1 base/interface-dhcp: update to new templating pattern
5626faa base/interface-common: update to new templating pattern
4d030b5 tests: remove example files and fix wpa2-radius.json comment issue
728a10b renderer: add shell.system() method and update captive template
b5ff4fd tests: remove vxlan and gre tests and improve failure reporting
097351f tests: standardize unit test inputs with minimal valid schema pattern
c2bd383 renderer: add math import and remove local requires for deterministic testing
5cc3039 tests: add deterministic math mock and fix copy-to-expected functionality
a0c03a2 tests: add getopt-style CLI and rename to clean executable
a5f15cc tests: improve debug output structure for integration tests
51375e6 tests: add silent debug output for integration tests
ff81174 tests: simplify directory structure by renaming integration/full to full
1ac83ce tests: consolidate duplicate filesystem imports
a50e8d1 tests: remove unnecessary global mock variable assignments
ce32b74 tests: standardize context creation pattern to eliminate mutation anti-patterns
ffb830b tests: add generic single test runner and shared process execution utilities
a79f8a5 tests: create generic single test runner and remove redundant code
4c5bda4 tests: create generic single test runner for both unit and integration tests
404e9ae tests: move integration/base tests to unit/base for proper override support
1018c6f tests: update integration test expected outputs for eap101 board
0f1bd51 tests: fix error handling to preserve stacktrace display for exceptions
49d94f4 tests: consolidate test framework execution and eliminate remaining duplication
91e71b6 tests: consolidate context creation and eliminate duplication patterns
6df4283 tests: consolidate helper utilities and eliminate code duplication
038a514 renderer: extract captive object to shared library and fix integration test mocking
2ae2590 renderer: extract routing_table object to shared library and fix mock files state
2b1bcfb tests: implement process isolation for integration tests to prevent file descriptor leaks
47b67e4 tests: add comprehensive integration testing for all example configurations
cd19590 tests: implement dynamic service discovery and fix MPSK mock
e16284a tests: implement dynamic board-specific wiphy and wifi device loading
5317dd2 tests: integrate wiphy library with real board wiphy data
901f177 renderer: extract wiphy object to shared library
8187b56 tests: use real board configuration files in mock filesystem
39470a0 tests: consolidate code between real and mock renderer
17448da tests: improve error reporting in test framework
a0d463e tests: extract UCI helpers to shared library and update test outputs
3f2f3e3 renderer: minor fixes found while testing on real HW
383bf8e renderer: extract ethernet object to shared library
84cd3db schema: generate updated files
4b426c8 tests: fix integration test framework missing functions
5adba79 tests: implement full configuration integration test framework
dcf2ef8 tests: enhance board test context with dynamic wiphy mock
7a17791 tests: enhance test runner reporting for unit vs integration tests
21fb3c6 base/base: update to new templating pattern
b96def9 tests: implement board-specific integration test framework
4b78b03 renderer: move board.json loading to global scope
81041b3 renderer/templates: remove redundant fs require calls
3231152 renderer/templates/base: remove redundant fs import
bc961e0 base/ethernet: update to new templating pattern
8afa7ae renderer/templates: merge poe.uc into ethernet.uc
62eaa5e tests: add ethernet base template test cases (Step 1)
7e1d756 renderer/templates/ethernet: fix missing boolean wrappers
c82a7a9 schema: validate timeouts field descriptions
f5f6c43 base/timeout: update to new templating pattern
ae504fa tests: add timeout base template test cases (Step 1)
02f6fa9 renderer/templates/timeout: fix syntax error with extra closing tag
0748776 schema: validate unit field descriptions
355ad67 base/unit: update to new templating pattern
ec1b712 renderer/templates/unit: refactor to use helper functions (Step 2)
f3dcc79 tests: add unit base template test cases (Step 1)
12fc839 tests: add mock shell object for password management functions
2ae69f4 docs: update TESTING.md to reflect new test framework architecture
8e1eb31 tests: add support for base template testing infrastructure
0173636 schema: validate admin_ui field descriptions
49fb411 services/admin_ui: update to new templating pattern
b6b298a tests: add admin_ui test cases
b3bcd80 tests: refactor test runner to import-based architecture with individual test counts
0906e81 tests: consolidate test framework and eliminate code duplication
437df91 schema: validate wifi_scan metrics field descriptions
7f83f39 metrics/wifi_scan: update to new templating pattern
9cdc01c tests: add wifi_scan metrics test cases
b5964e5 schema: validate wifi_frames metrics field descriptions
dc96fdf metrics/wifi_frames: update to new templating pattern
8530e1e tests: add wifi_frames metrics test cases
a96f4d8 schema: validate telemetry metrics field descriptions
050ac26 metrics/telemetry: update to new templating pattern
ee43cdb tests: add telemetry metrics test cases
5a5721d schema: validate statistics metrics field descriptions
66ecd0d metrics/statistics: update to new templating pattern
eab7543 tests: add statistics metrics test cases
107a562 schema: enhance realtime metrics documentation
6fe7857 metric/realtime: refactor to new templating patterns
7c5775d tests: add realtime metrics template test cases
ee67163 schema: regenerate the files
3d4da1f schema: validate health metrics field descriptions
7c13c52 metrics/health: update to new templating pattern
d1f2169 tests: add health metric test cases
90f6e60 tests: fix mock renderer to extract metrics variables
4ea8eec schema: validate dhcp_snooping metrics field descriptions
1b3fb93 metrics/dhcp_snooping: update to new templating pattern
ce1582c tests: add dhcp_snooping metric test cases
5bbe42e docs: extend REFACTOR.md to cover metric templates
0994c85 schema: validate rrm field descriptions
00b0079 services/rrm: update to new templating pattern
0f7fa1c tests: add rrm test cases
c7b7130 services/radius_proxy: enhance schema documentation
237c0b3 services/radius_proxy: update to new templating pattern
6185a5a tests: add radius_proxy test cases
569d14a services/radius_gw_proxy: update to new templating pattern
2893469 schema: validate quality_of_service field descriptions
4535634 services/quality_of_service: update to new templating pattern
435744e tests: add quality_of_service test cases
c6c89b5 tests: enhance mock-renderer with QoS JSON support
bd054a5 schema: enhance online-check service documentation
b83b9ac services/online_check: refactor to new templating pattern
59c4a07 tests: add online_check test cases
8abc697 schema: validate gps field descriptions
ed33d61 services/gps: update to new templating pattern
59dca34 tests: add gps test cases
2c6b87f schema: validate fingerprint field descriptions
8d58237 services/fingerprint: update to new templating pattern
5f8be0c tests: add fingerprint test cases
5f1dcff services/dhcp_snooping: update to new templating pattern
e6cfd5f tests: add dhcp_snooping test cases
acf3763 tests: enhance mock-renderer with lookup_by_interface_vlan function
9313004 schema: validate airtime_fairness field descriptions
9a483c9 services/airtime_fairness: update to new templating pattern
bcd446f tests: add airtime_fairness test cases
157f7cf captive: enhance schema documentation and examples
d0388e7 services/captive: update to new templating pattern
1c8c736 tests: add captive test cases
db3d220 tests: enhance mock-renderer with SSID-based interface lookup
5799615 schema: validate dhcp_relay field descriptions
f58a2b3 services/dhcp_relay: update to new templating pattern
21f1d72 tests: add dhcp_relay test cases
0c96e96 schema: validate dhcp_inject field descriptions
670c57f services/dhcp_inject: update to new templating pattern
d7895a2 tests: add dhcp_inject test cases
9925450 tests: enhance mock-renderer with SSID and ethernet port lookups
4adc799 docs: update REFACTOR.md with NTP service example
79a9dcc services/ntp: update to new templating pattern
1f3c2ea tests: add ntp test cases
dc99ee6 schema: validate mdns field descriptions
56cede4 services/mdns: update to new templating pattern
3f86a6d tests: add mdns test cases
2aef7f6 docs: add refactoring guidelines
b42e3cd services/ssh: update to new templating pattern
37ca498 tests: add ssh test cases
c005ec3 tests: add proper mockup service for the files module
962a961 services/ieee8021x: update to new templating pattern
2a6a151 tests: add ieee8021x test cases
faaa0ba services/lldp: update to new templating pattern
b9fdbb0 services/log: update to new templating pattern
f9dbf48 tests: add unit test harness
8851342 add new template guidelines and helper functions
5e88dcb .gitignore: update docs/ filtering
3c822a5 ipcalc: split the implementation out into a library
f7f3937 ip-collide: start using the log module
54dd256 health.uc: refactor the code
3cd8d1f state: split code up into modules and add try/catch block around everything
Signed-off-by: John Crispin <john@phrozen.org>
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%