This modification might be illegal in your country. You can use router with this modification only if you have amateur radio license. You cannot use encryption and you need to make sure your callsign is present inside packets transmitted.
The goal is to modify OpenWRT Backfire 10.03 broadcom b43 (Linksys WRT54G(LS) drivers) to make router work outside of ISM standard WiFi channels on 13 cm amateur band (channels 0 and probably -1, -2 if possible) and try to setup a link between two routers using one of Mesh network frameworks.
By using legacy 11 MHz channel width mode and work on channel 0, 2407 MHz router will be still within ISM band, it won’t be visible by causal access points and at the same it will be within 13 cm amateur band, thus can be used legally with directional antennas and higher E.I.R.P. (maximum allowed is mostly 100 mW).
OpenWRT documentation and other useful links:
- IARU 1 13cm band plan - https://www.iaru-r1.org/wp-content/uploads/2020/03/UHF-Bandplan.pdf
- WRT54G – https://wiki.openwrt.org/toh/linksys/wrt54g
- Build system installation – https://wiki.openwrt.org/doc/howto/buildroot.exigence
- Broadband Hamnet – http://www.broadband-hamnet.org/
- Hamnet map and nodes - https://hamnetdb.net
- OLSR mesh – http://www.olsr.org/
- Open mesh – http://www.open-mesh.com
- Bad flash recovery – http://www.dd-wrt.com/wiki/index.php/Recover_from_a_Bad_Flash
-
In case of problems compiling OpenWRT on new Debian/Ubuntu distributions it is possible to use debootstrap to install older Debian chroot environment.
cd ~ sudo su mkdir debian_old debootstrap oldstable openwrt_debian chroot debian_old adduser openwrt
-
Install packages required for OpenWRT build system
apt-get update apt-get install git-core build-essential libssl-dev libncurses5-dev unzip gawk zlib1g-dev subversion file python bison gawk sudo vim flex python-m2crypto
-
Fetch OpenWRT backfire 10.03 sources and apply patches
cd git clone git://git.openwrt.org/10.03/openwrt.git backfire git clone https://github.com/danitool/openwrt-legacy-buildroot-fixes git clone git://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git cp openwrt-legacy-buildroot-fixes/* backfire/ cd backfire ./patch-br.sh
-
Update and install feeds for packages and luci
scripts/feeds update packages scripts/feeds update luci scripts/feeds install -a -p packages scripts/feeds install -a -p luci
-
Configure OpenWRT
make menuconfig
Target System - Broadcom BCM947xx/953xx.
Target Profile - Broadcom BCM43xx WiFi.
Select additional packages, such as batman-adv, luci, batmand, olsr and required plugins. Make sure image is smaller than 3 MB, otherwise build some packages as ipk modules by selecting them as [M] and install them later manually.
-
Build OpenWRT
make
-
Modify regdb regulatory database and regenerate regulatory.bin
cd wireless-regdb patch < db.txt.patch make cp cert.pem ../backfire/build_dir/linux-brcm47xx/crds-1.1.1/pubkeys
-
Patch b43 broadcom drivers
cd backfire patch < b43.batch
-
Patch wpad-mini
patch < wpad-mini.patch
-
Patch luci
patch < luci.patch
-
Rebuild OpenWRT with changes
make
-
Flash image to router, boot, set password thus enabling ssh
-
Copy/scp updated regulatory.bin to router’s /usr/lib/crda/
-
Reboot
-
Now router can be configured for channel 0