aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot/uboot-envtools
diff options
context:
space:
mode:
authorAlexandru Gagniuc <mr.nuke.me@gmail.com>2022-06-02 11:35:26 -0500
committerAlexandru Gagniuc <mr.nuke.me@gmail.com>2023-03-20 11:40:36 -0500
commit7801161c4bb2413817b3dfd01695050e2da27bf3 (patch)
tree3b7aa06dcca07726c90317ec6c13f1738259ea5a /package/boot/uboot-envtools
parent789a0bac35359a3958da0e555231c5bf28abf7c4 (diff)
downloadupstream-7801161c4bb2413817b3dfd01695050e2da27bf3.tar.gz
upstream-7801161c4bb2413817b3dfd01695050e2da27bf3.tar.bz2
upstream-7801161c4bb2413817b3dfd01695050e2da27bf3.zip
ipq807x: add support for Netgear WAX218
Netgear WAX218 is a 802.11ax AP claiming AX3600 support. It is wall or ceiling mountable. It can be powered via PoE, or a 12 V adapter. The board has footprints for 2.54mm UART headers. They're difficult to solder because the GND is connected to a large copper plane. Only try soldering if you are very skilled. Otherwise, use pogo pins. Specifications: --------------- * CPU: Qualcomm IPQ8072A Quad core Cortex-A53 2.2GHz * RAM: 366 MB of RAM available to OS, not sure of total amount * Storage: Macronix MX30UF2G18AC 256MB NAND * Ethernet: * 2.5G RJ45 port (QCA8081) with PoE input * WLAN: * 2.4GHz/5GHz with 8 antennas * LEDs: * Power (Amber) * LAN (Blue) * 2G WLAN (Blue) * 5G WLAN (Blue) * Buttons: * 1x Factory reset * Power: 12V DC Jack * UART: Two 4-pin unpopulated headers near the LEDs * "J2 UART" is the CPU UART, 3.3 V level Installation: ============= Web UI method ------------- Flashing OpenWRT using the vendor's Web UI is problematic on this device. The u-boot mechanism for communicating the active rootfs is antiquated and unreliable. Instead of setting the kernel commandline, it relies on patching the DTS partitions of the nand node. The way partitions are patched is incompatible with newer kernels. Newer kernels use the SMEM partition table, which puts "rootfs" on mtd12. The vendor's Web UI will flash to either mtd12 or mtd14. One reliable way to boot from mtd14 and avoid boot loops is to use an initramfs image. 1. In the factory web UI, navigate to System Manager -> Firmware. 2. In the "Local Firmware Upgrade" section, click Browse 3. Navigate and select the 'web-ui-factory.fit' image 4. Click "Upload" 5. On the following page, click on "Proceed" The flash proceeds at this point and the system will reboot automatically to OpenWRT. 6. Flash the 'nand-sysupgrade.bin' using Luci or the commandline SSH method ---------- Enable SSH using the CLI or Web UI. The root account is locked out to ssh, and the admin account defaults to Netgear's CLI application. So we need to get creative: First, make sure the device boots from the second firmware partition: ssh -okexalgorithms=diffie-hellman-group14-sha1 admin@<ipaddr> \ /usr/sbin/fw_setenv active_fw 1 Then reboot the device, and run the update: scp -O -o kexalgorithms=diffie-hellman-group14-sha1 \ -o hostkeyalgorithms=ssh-rsa \ netgear_wax218-squashfs-nand-factory.ubi \ admin@<ipaddr>:/tmp/openwrt.ubi ssh -okexalgorithms=diffie-hellman-group14-sha1 admin@<ipaddr> \ /usr/sbin/ubiformat /dev/mtd12 -f /tmp/openwrt.ubi ssh -okexalgorithms=diffie-hellman-group14-sha1 admin@<ipaddr> \ /usr/sbin/fw_setenv active_fw 0 Now reboot the device, and it should boot into a ready-to-use OpenWRT. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-by: Robert Marko <robimarko@gmail.com> Tested-by: Francisco G Luna <frangonlun@gmail.com>
Diffstat (limited to 'package/boot/uboot-envtools')
-rw-r--r--package/boot/uboot-envtools/files/ipq807x3
1 files changed, 2 insertions, 1 deletions
diff --git a/package/boot/uboot-envtools/files/ipq807x b/package/boot/uboot-envtools/files/ipq807x
index 6e4fadbdf5..ca331f1032 100644
--- a/package/boot/uboot-envtools/files/ipq807x
+++ b/package/boot/uboot-envtools/files/ipq807x
@@ -8,7 +8,8 @@ touch /etc/config/ubootenv
board=$(board_name)
case "$board" in
-dynalink,dl-wrx36)
+dynalink,dl-wrx36|\
+netgear,wax218)
idx="$(find_mtd_index 0:appsblenv)"
[ -n "$idx" ] && \
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x20000" "2"