Site Tools


projects:software:openwrt_custom_wireless-regdb

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projects:software:openwrt_custom_wireless-regdb [2023/10/31 03:23] – Add alternative quick and dirty route of dropping a quilt patch Andrew Yongprojects:software:openwrt_custom_wireless-regdb [2024/03/23 11:22] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== OpenWrt Custom wireless-regdb ====== ====== OpenWrt Custom wireless-regdb ======
  
 +Note: Do not use the patch below if you are in Singapore, as wireless-regdb is now maintained once again and updated Singapore regulatory rules have been released.
 +
 +
 +This information is just provided for reference in case one needs to test changes to wireless-regdb on an OpenWrt wireless AP.
 ===== Motivation ===== ===== Motivation =====
  
-As wireless-regdb has [[http://lists.infradead.org/pipermail/wireless-regdb/2023-May/001439.html|no]] [[https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb#sending_updates_to_the_regulatory_database#sending_updates_to_the_regulatory_database|maintainer]] at time of writing, it'unlikely that [[http://lists.infradead.org/pipermail/wireless-regdb/2023-September/001454.html|my Wi-Fi 6E regulatory updates for Singapore]] will propagate to Linux distributions anytime soon.+As wireless-regdb had[[http://lists.infradead.org/pipermail/wireless-regdb/2023-May/001439.html|no]] [[https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb#sending_updates_to_the_regulatory_database#sending_updates_to_the_regulatory_database|maintainer]] it was unlikely that [[http://lists.infradead.org/pipermail/wireless-regdb/2023-September/001454.html|my Wi-Fi 6E regulatory updates for Singapore]] would propagate to Linux distributions anytime soon (as of the September 2023 IMDA TS SRD release).
  
 Thankfully, it is pretty straightforward to set up a functional Wi-Fi 6E network, as only the Access Point requires a regulatory update, while stations (clients) do not. This is because the regulatory framework restricts [[https://wireless.wiki.kernel.org/en/developers/regulatory/processing_rules#beacon_hints|the initiation of radiation (beacons)]], while clients are free to connect to any frequency the hardware is able to receive beacons on (even if it cannot initiate radiation on that frequency). Thankfully, it is pretty straightforward to set up a functional Wi-Fi 6E network, as only the Access Point requires a regulatory update, while stations (clients) do not. This is because the regulatory framework restricts [[https://wireless.wiki.kernel.org/en/developers/regulatory/processing_rules#beacon_hints|the initiation of radiation (beacons)]], while clients are free to connect to any frequency the hardware is able to receive beacons on (even if it cannot initiate radiation on that frequency).
 +
 +===== I Am Lazy and Trusting =====
 +
 +Running OpenWrt 23.05.2? Here is my prebuilt package using the steps below (Option B): {{ :projects:software:wireless-regdb_2023-09-03-ab7ed562-1_all.ipk |}}
 +
 +  - ''ssh root@YOUR_ROUTER_IP''
 +  - ''opkg install %%http://ndoo.sg/_media/projects:software:wireless-regdb_2023-09-03-ab7ed562-1_all.ipk%%''
 +  - ''reboot''
  
 ===== Building a Custom wireless-regdb Package ===== ===== Building a Custom wireless-regdb Package =====
Line 12: Line 24:
  
   - Install [[https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem|OpenWrt build prerequisites]]   - Install [[https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem|OpenWrt build prerequisites]]
-  - Clone OpenWrt source (adjust branch as needed, depending on what you're running):\\ ''%%git clone --depth=1 --branch v23.05.https://github.com/openwrt/openwrt.git%%'' +  - Clone OpenWrt source (adjust branch as needed, depending on what you're running):\\ ''%%git clone --depth=1 --branch v23.05.https://github.com/openwrt/openwrt.git%%'' 
-  - Choose the target architecture and device of your AP (the built package is actually generic/noarch, but this is required anyway):\\ ''make menuconfig'' +  - Configure the build:\\ ''make menuconfig'' 
-  - Build tools and toolchain (this will take ~30 min, depending on your CPU performance):\\ ''make tools/install''\\ ''make toolchain/install''+    - Target system: ''x86'' (or respective to the computer you are building on) to save CPU time by not having to cross-compile (the wireless-regdb package is noarch
 +    - Target profile: ''Generic x86'' (this is the default) 
 +    - Firmware → wireless-regdb → ''<M>'' 
 +    - Exit and save 
 +  - Build tools and toolchain (this will take ~30 min, depending on your CPU performance):\\ ''make -j$(getconf _NPROCESSORS_ONLN) tools/install''\\ ''make -j$(getconf _NPROCESSORS_ONLN) toolchain/install''
  
 ==== Option A - Quick and Dirty - Using a Patch ==== ==== Option A - Quick and Dirty - Using a Patch ====
Line 20: Line 36:
 This is quick and dirty because (1) it generates a package with the same version number (unless you update the Makefile metadata) and (2) it will break with a change in wireless-regdb releases that change db.txt or (3) the patch series that comes with OpenWrt. This is quick and dirty because (1) it generates a package with the same version number (unless you update the Makefile metadata) and (2) it will break with a change in wireless-regdb releases that change db.txt or (3) the patch series that comes with OpenWrt.
  
-This was only tested on OpenWrt=v23.05.and wireless-regdb=2023.09.01.+This was only tested on OpenWrt=v23.05.and wireless-regdb=2023.09.01.
  
   - Download the snippet below to your cloned OpenWrt repo (it goes in ''package/firmware/wireless-regdb/patches/''):\\ <file diff package/firmware/wireless-regdb/patches/999-SG-regd-2023-sep.patch>   - Download the snippet below to your cloned OpenWrt repo (it goes in ''package/firmware/wireless-regdb/patches/''):\\ <file diff package/firmware/wireless-regdb/patches/999-SG-regd-2023-sep.patch>
Line 70: Line 86:
    
  # SI as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893)  # SI as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893)
- # and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) + # and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440)</file> 
-</file> +  - ''make package/firmware/wireless-regdb/{clean,compile} V=s''
-  - ''make package/firmware/wireless-regdb/{clean,compile} package/index V=s''+
   - Locate your freshly baked package:\\ ''$ ls bin/packages/*/base/wireless-regdb*.ipk''\\ ''bin/packages/powerpc_8548/base/wireless-regdb_2023.09.01-1_all.ipk''   - Locate your freshly baked package:\\ ''$ ls bin/packages/*/base/wireless-regdb*.ipk''\\ ''bin/packages/powerpc_8548/base/wireless-regdb_2023.09.01-1_all.ipk''
  
Line 118: Line 133:
    
  PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>  PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
-  + 
-</file>\\ To use your own wireless-regdb repo, change the following variables:+</file>\\ (You may have to add/remove a newline if you are getting an error during apply, due to DokuWiki limitations)\\ To use your own wireless-regdb repo, change the following variables:
     * PKG_SOURCE_URL - Git repo URL     * PKG_SOURCE_URL - Git repo URL
     * PKG_SOURCE_VERSION - Git commit hash     * PKG_SOURCE_VERSION - Git commit hash
Line 132: Line 147:
  
   - Copy the package to your AP:\\ ''scp -O bin/packages/*/base/wireless-regdb*.ipk root@YOUR_ROUTER_IP:/tmp/''   - Copy the package to your AP:\\ ''scp -O bin/packages/*/base/wireless-regdb*.ipk root@YOUR_ROUTER_IP:/tmp/''
-  - Install the package on your AP:\\ ''ssh root@YOUR_ROUTER_IP''\\ ''opkg install /tmp/wireless-regdb*.ipk''+  - Install the package on your AP:\\ ''ssh root@YOUR_ROUTER_IP''\\ ''opkg install %%--%%force-downgrade /tmp/wireless-regdb*.ipk''
   - Reboot your AP:\\ ''ssh root@YOUR_ROUTER_IP''\\ ''reboot''   - Reboot your AP:\\ ''ssh root@YOUR_ROUTER_IP''\\ ''reboot''
   - Try out your updated regulatory rules!   - Try out your updated regulatory rules!
projects/software/openwrt_custom_wireless-regdb.1698722626.txt.gz · Last modified: 2023/10/31 03:23 by Andrew Yong