Netgear WAX220 support (almost complete)

There is a lot of different versions here

ubi part ubi then ubi remove rootfs_data is what has been mentioned most recently

There is also: mtd erase ubi which I used, and also mtd erase part 6 which did not work for me. As long as you stick with one of those I don't think you can make your situation worse.

It should work on the first boot but strangely it didn't for me and I had to a 2nd time but I probably did it wrong/didn't have the timing right. Be aware if the Openwrt initram starts it recreates the UBI and you will be back at the start and have to erase part again. At least that's my understanding and what I observed. As long as you don't jack up U boot you will eventually get it with the console.

Edit and yeah I think that will work, I have used ch134a, or max232 for various projects and I think I used some cheap $7 USD one on the WAX just to see if it would work.

1 Like

Just wanted to chime in and say that I'm experience exactly the issue that @glazeus describes. New WAX220, uploaded the snapshot firmware via gui, now I have the same sequence of orange -> blue flashing -> green power led but the device doesn't appear on any network and is not accessible by Ethernet or wireless. The LAN light does come on green when plugged in to the router but I can't access it at 192.168.1.1 no matter what ip/subnet settings I use, and it doesn't request a DHCP lease.

I do have a serial to usb device somewhere around here.. I'll try it tomorrow and let you know how it goes.

1 Like

Ok, my messy soldering skills aside I have successfully connected via serial. It shows that Busybox/OpenWRT is running and I'm in the shell. Not sure what to do from here - is there some way of rescuing the system from inside? Or should I just flash the netgear software and wait for a known working firmware to come along?

ip link

only shows 3 interfaces - loopback, eth0 and br-lan - no wifi radios.

Here's the full dmesg if someone can make any sense of what's going wrong:

root@OpenWrt:/# dmesg
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.133 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r24096-9536446965) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Fri Oct 6 19:59:29 2023
[    0.000000] Machine model: Netgear WAX220
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000042ffffff]
[    0.000000]   node   0: [mem 0x0000000043000000-0x000000004302ffff]
[    0.000000]   node   0: [mem 0x0000000043030000-0x000000004fbfffff]
[    0.000000]   node   0: [mem 0x000000004fc00000-0x000000004ffbffff]
[    0.000000]   node   0: [mem 0x000000004ffc0000-0x000000007fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 17 pages/cpu s30040 r8192 d31400 u69632
[    0.000000] pcpu-alloc: s30040 r8192 d31400 u69632 alloc=17*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258048
[    0.000000] Kernel command line: 
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1011568K/1048576K available (8384K kernel code, 912K rwdata, 2288K rodata, 448K init, 303K bss, 37008K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 640 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: 16 PPIs implemented
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x000000000c080000
[    0.000000] arch_timer: cp15 timer(s) running at 13.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns
[    0.000000] sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns
[    0.000107] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000)
[    0.000115] pid_max: default: 32768 minimum: 301
[    0.000320] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.000330] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.001360] rcu: Hierarchical SRCU implementation.
[    0.001623] smp: Bringing up secondary CPUs ...
[    0.001877] Detected VIPT I-cache on CPU1
[    0.001900] GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000
[    0.001925] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.002185] Detected VIPT I-cache on CPU2
[    0.002196] GICv3: CPU2: found redistributor 2 region 0:0x000000000c0c0000
[    0.002208] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.002444] Detected VIPT I-cache on CPU3
[    0.002454] GICv3: CPU3: found redistributor 3 region 0:0x000000000c0e0000
[    0.002463] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.002489] smp: Brought up 1 node, 4 CPUs
[    0.002502] SMP: Total of 4 processors activated.
[    0.002506] CPU features: detected: 32-bit EL0 Support
[    0.002509] CPU features: detected: CRC32 instructions
[    0.002533] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.002586] CPU: All CPU(s) started at EL2
[    0.002597] alternatives: patching kernel code
[    0.004971] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.004992] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.005134] pinctrl core: initialized pinctrl subsystem
[    0.005771] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.006013] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.006035] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.006053] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.006304] thermal_sys: Registered thermal governor 'fair_share'
[    0.006308] thermal_sys: Registered thermal governor 'bang_bang'
[    0.006311] thermal_sys: Registered thermal governor 'step_wise'
[    0.006314] thermal_sys: Registered thermal governor 'user_space'
[    0.006467] ASID allocator initialised with 65536 entries
[    0.006788] pstore: Registered ramoops as persistent store backend
[    0.006792] ramoops: using 0x10000@0x42ff0000, ecc: 0
[    0.014196] cryptd: max_cpu_qlen set to 1000
[    0.015677] SCSI subsystem initialized
[    0.015762] libata version 3.00 loaded.
[    0.016544] clocksource: Switched to clocksource arch_sys_counter
[    0.016992] NET: Registered PF_INET protocol family
[    0.017079] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.017534] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.017549] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.017556] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.017594] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
[    0.017680] TCP: Hash tables configured (established 8192 bind 8192)
[    0.017750] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.017767] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.017875] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.017900] PCI: CLS 0 bytes, default 64
[    0.019780] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    0.022503] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.022518] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.045373] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.048586] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.049950] printk: console [ttyS0] disabled
[    0.070093] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 121, base_baud = 2500000) is a ST16650V2
[    0.707941] printk: console [ttyS0] enabled
[    0.712734] mtk_rng 1020f000.rng: registered RNG driver
[    0.712792] hwrng: no data available
[    0.718172] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.729704] loop: module loaded
[    0.732854] Loading iSCSI transport class v2.0-870.
[    0.739020] spi spi0.0: setup: ignoring unsupported mode bits a00
[    0.745359] spi-nand spi0.0: Winbond SPI NAND was found.
[    0.750696] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    0.760017] Signature found at block 1023 [0x07fe0000]
[    0.765136] NMBM management region starts at block 960 [0x07800000]
[    0.775694] First info table with writecount 0 found in block 960
[    0.794634] Second info table with writecount 0 found in block 963
[    0.800805] NMBM has been successfully attached
[    0.805524] 14 fixed-partitions partitions found on MTD device spi0.0
[    0.811981] Creating 14 MTD partitions on "spi0.0":
[    0.816845] 0x000000000000-0x000000100000 : "BL2"
[    0.822701] 0x000000100000-0x000000180000 : "u-boot-env"
[    0.828675] 0x000000180000-0x000000380000 : "Factory"
[    0.835515] 0x000000380000-0x000000580000 : "FIP"
[    0.842038] 0x000000580000-0x0000056c0000 : "ubi"
[    0.914423] 0x0000056c0000-0x000005ac0000 : "RAE"
[    0.922530] 0x000005ac0000-0x000005bc0000 : "POT"
[    0.928263] 0x000005bc0000-0x000005fc0000 : "Language"
[    0.936775] 0x000005fc0000-0x0000061c0000 : "Traffic"
[    0.943599] 0x0000061c0000-0x0000062c0000 : "Cert"
[    0.949451] 0x0000062c0000-0x0000063c0000 : "NTGRcryptK"
[    0.955809] 0x0000063c0000-0x0000068c0000 : "NTGRcryptD"
[    0.965385] 0x0000068c0000-0x0000069c0000 : "LOG"
[    0.971142] 0x0000069c0000-0x000007000000 : "User_data"
[    1.107722] mtk_soc_eth 15100000.ethernet: generated random MAC address 3a:bd:51:35:e7:10
[    1.468639] mtk_soc_eth 15100000.ethernet eth0: mediatek frame engine at 0xffffffc009800000, irq 128
[    1.478150] i2c_dev: i2c /dev entries driver
[    1.483364] mtk-wdt 1001c000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    1.491798] NET: Registered PF_INET6 protocol family
[    1.497342] Segment Routing with IPv6
[    1.501016] In-situ OAM (IOAM) with IPv6
[    1.504955] NET: Registered PF_PACKET protocol family
[    1.510018] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.523043] 8021q: 802.1Q VLAN Support v1.8
[    1.528004] pstore: Using crash dump compression: deflate
[    1.539621] UBI: auto-attach mtd4
[    1.542939] ubi0: default fastmap pool size: 30
[    1.547475] ubi0: default fastmap WL pool size: 15
[    1.552247] ubi0: attaching mtd4
[    2.918140] ubi0: scanning is finished
[    2.945555] ubi0: attached mtd4 (name "ubi", size 81 MiB)
[    2.950964] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.957823] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    2.964590] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.971531] ubi0: good PEBs: 650, bad PEBs: 0, corrupted PEBs: 0
[    2.977521] ubi0: user volume: 6, internal volumes: 1, max. volumes count: 128
[    2.984720] ubi0: max/mean erase counter: 3/1, WL threshold: 4096, image sequence number: 1664355062
[    2.993829] ubi0: available PEBs: 185, total reserved PEBs: 465, PEBs reserved for bad PEB handling: 19
[    3.003203] ubi0: background thread "ubi_bgt0d" started, PID 474
[    3.006902] block ubiblock0_1: created from ubi0:1(rootfs)
[    3.014658] ubiblock: device ubiblock0_1 (rootfs) set to be root filesystem
[    3.036804] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.
[    3.044095] Freeing unused kernel memory: 448K
[    3.126576] Run /sbin/init as init process
[    3.130656]   with arguments:
[    3.133607]     /sbin/init
[    3.136298]   with environment:
[    3.139429]     HOME=/
[    3.141773]     TERM=linux
[    3.470391] init: Console is alive
[    3.473900] init: - watchdog -
[    4.090928] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.129566] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.141449] init: - preinit -
[    4.826558] mtk_soc_eth 15100000.ethernet eth0: PHY [mdio-bus:06] driver [RTL8221B-VB-CG 2.5Gbps PHY] (irq=62)
[    4.836668] mt7986b-pinctrl 1001f000.pinctrl: Can not find pin
[    4.842482] genirq: Failed to request resources for mdio-bus:06 (irq 62) on irqchip mt-eint
[    4.850836] RTL8221B-VB-CG 2.5Gbps PHY mdio-bus:06: Error -22 requesting IRQ 62, falling back to polling
[    4.862422] mtk_soc_eth 15100000.ethernet eth0: configuring for phy/2500base-x link mode
[    4.918813] random: procd: uninitialized urandom read (4 bytes read)
[    6.986231] UBIFS (ubi0:20): Mounting in unauthenticated mode
[    6.992066] UBIFS (ubi0:20): background thread "ubifs_bgt0_20" started, PID 572
[    7.122520] UBIFS (ubi0:20): recovery needed
[    7.356551] random: crng init done
[    7.451521] UBIFS (ubi0:20): recovery completed
[    7.456093] UBIFS (ubi0:20): UBIFS: mounted UBI device 0, volume 20, name "rootfs_data"
[    7.464085] UBIFS (ubi0:20): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    7.474066] UBIFS (ubi0:20): FS size: 33013760 bytes (31 MiB, 260 LEBs), max 270 LEBs, journal size 1650688 bytes (1 MiB, 13 LEBs)
[    7.485779] UBIFS (ubi0:20): reserved for root: 1559321 bytes (1522 KiB)
[    7.492466] UBIFS (ubi0:20): media format: w5/r0 (latest is w5/r0), UUID 8232A0F5-57CC-445D-9E81-3C35F0DF5BEC, small LPT model
[    7.511537] mount_root: switching to ubifs overlay
[    7.527827] overlayfs: null uuid detected in lower fs '/', falling back to xino=off,index=off,nfs_export=off.
[    7.552327] urandom-seed: Seeding with /etc/urandom.seed
[    7.621661] procd: - early -
[    7.624584] procd: - watchdog -
[    8.007008] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 100Mbps/Unknown - flow control off
[    8.015726] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    8.177782] procd: - watchdog -
[    8.181135] procd: - ubus -
[    8.247879] procd: - init -
[    8.514827] kmodloader: loading kernel modules from /etc/modules.d/*
[    8.526151] crypto-safexcel 10320000.crypto: EIP97:230(0,1,4,4)-HIA:270(0,5,5),PE:150/433(alg:7fcdfc00)/0/0/0
[    8.540267] Loading modules backported from Linux version v6.5-0-g2dde18cd1d8f
[    8.547516] Backport generated by backports.git v5.15.92-1-56-g5fb2ccb6b9e8
[    8.632873] urngd: v1.0.2 started.
[    8.879945] mt798x-wmac 18000000.wifi: HW/SW Version: 0x8a108a10, Build Time: 20221012174648a
[    8.879945] 
[    9.208488] mt798x-wmac 18000000.wifi: WM Firmware Version: ____000000, Build Time: 20221012174725
[    9.358949] mt798x-wmac 18000000.wifi: WA Firmware Version: DEV_000000, Build Time: 20221012174937
[    9.580647] mtdblock: MTD device 'u-boot-env' is NAND, please consider using UBI block devices instead.
[   10.704125] mtdblock: MTD device 'u-boot-env' is NAND, please consider using UBI block devices instead.
[   12.329274] PPP generic driver version 2.4.2
[   12.334226] NET: Registered PF_PPPOX protocol family
[   12.341384] kmodloader: done loading kernel modules from /etc/modules.d/*
[   14.935045] mtk_soc_eth 15100000.ethernet eth0: Link is Down
[   15.346559] mtk_soc_eth 15100000.ethernet eth0: PHY [mdio-bus:06] driver [RTL8221B-VB-CG 2.5Gbps PHY] (irq=POLL)
[   15.358888] mtk_soc_eth 15100000.ethernet eth0: configuring for phy/2500base-x link mode
[   15.407108] br-lan: port 1(eth0) entered blocking state
[   15.412321] br-lan: port 1(eth0) entered disabled state
[   15.417674] device eth0 entered promiscuous mode

Did some poking around but no matter what I tried I couldn't get the ethernet to come up and therefore there's nothing further to do. I used nmrpflash to get back the original firmware without any issues. I'll keep an eye on this thread to see if it is ever fixed. I bought the device specifically because I saw it was supported here so it's a bit disappointing, but unless I can help in some meaningful way I suppose I just have to get over it.

1 Like

Well I guess some commit broke it then. I suggest bisecting to find out how it got broken.

1 Like

I'd guess the issue lies here somewhere

ubi0: max/mean erase counter: 3/1, WL threshold: 4096, image sequence number: 1664355062
ubi0: available PEBs: 185, total reserved PEBs: 465, PEBs reserved for bad PEB handling: 19

This is what one of mine look like

ubi0: max/mean erase counter: 8/5, WL threshold: 4096, image sequence number: 1659687862
ubi0: available PEBs: 0, total reserved PEBs: 650, PEBs reserved for bad PEB handling: 19

and this

recovery completed
UBIFS (ubi0:20): UBIFS: mounted UBI device 0, volume 20, name "rootfs_data"
UBIFS (ubi0:20): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
UBIFS (ubi0:20): FS size: 33013760 bytes (31 MiB, 260 LEBs), max 270 LEBs, journal size 1650688 bytes (1 MiB, 13 LEBs)
UBIFS (ubi0:20): reserved for root: 1559321 bytes (1522 KiB)

vs

recovery completed
UBIFS (ubi0:5): UBIFS: mounted UBI device 0, volume 5, name "rootfs_data"
UBIFS (ubi0:5): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
UBIFS (ubi0:5): FS size: 54853632 bytes (52 MiB, 432 LEBs), max 442 LEBs, journal size 2793472 bytes (2 MiB, 22 LEBs)

There seems to be a partitioning structure difference where you have lost some space, or have other partitions. I didn't see obvious commits that would break that from my r24054-fe10f97439(September 28) to your r24096-9536446965(October 6th).

From this thread and personal experience it's very important to follow the factory squashfs, reboot and system upgrade to the letter or things can get messy.

Maybe, but the issue presented is that the ethernet interface was unusable even after the first step of using the OEM web gui to upload the openwrt firmware. It was not possible to sys upgrade because there was no way of interacting with the device.

I also just ordered a WAX220 with the intention to run it with OpenWrt. Is there any save method at the moment (e.g. by using an older version of the factory image) to get it up and running with rc4? I don't want to end up being the 3rd one in a row failing to flash OpenWrt on this device.

Independently of the current issues, thanks a lot to everyone that added support for that device, especially @Flole for starting to work on it.

Okay, I just tried what will happen having my USB to Serial adapter ready but everything went quite smooth.

I uploaded the openwrt-mediatek-filogic-netgear_wax220-squashfs-factory.img from the device page using the original firmware, afterwards I needed to wait some time and wasn't able to connect to the WAX220 without rebooting it.

After that I connected my computer to the WAX220 with fixed network settings (IP 192.168.1.2/Netmask 255.255.255.0) and uploaded the openwrt-mediatek-filogic-netgear_wax220-squashfs-sysupgrade.bin (also from the device page) via scp to /tmp and performed a sysupgrade.

Afterwards I did the same using the openwrt-23.05.0-rc3-mediatek-filogic-netgear_wax220-squashfs-sysupgrade.bin (from the device page) before I used Luci to finally upgrade to openwrt-23.05.0-rc4-mediatek-filogic-netgear_wax220-squashfs-sysupgrade.bin (from the OpenWrt firmware selector).

A bit complex but I wanted to see how far I would come and it worked well for me. I didn't face any issues with my ethernet connection and I currently using the WAX220 as my AP already :smiley:

3 Likes

OpenWrt 23.05.0 - First stable release, but obviously not for the WAX220!

I just used Luci to upgrade again to the stable 23.05.0 release published today and I ended up in a situation where I can't reach my WAX220 anymore. It's still up and running, it offers WiFi and it actually still gets itself a new DHCP lease after removing the power supply (so actually it still works as a proper WiFi AP) but I am not able to access it anymore. It doesn't react to pings, it doesn't offer the Luci web interface and I am also not able to log in into it using ssh. It also doesn't seem to make any difference for that behaviour if I am connected to the WAX220's WiFi itself or any other point within my home network.

So very bad news. Did anyone else try to upgrade to 23.05.0 already?

Regarding my previous difficulties: I finally got it working. Unfortunately I changed a few things at the same time so I can't be sure exactly what did the trick in the end. Here are the things that made it work in the end:

  1. Used a different network cable (I don't think this was the problem)
  2. Used a 12V power supply instead of PoE
  3. I didn't plug the ethernet in until after it had booted (This could have been it?)
  4. Connected it to my PC motherboard (I suspect this is what made the difference)

Previously I had been sitting next to the router on my laptop using a usb-to-ethernet dongle and a PoE injector to power the device. I suspect the problem is that the ethernet driver on the router isn't happy with those sorts of diversions. I think that powering it directly with 12V and then connecting it to a proper hardware ethernet port on my PC meant that it was happy to connect.

Thanks for your help, I hope my issues can help someone out in the future.

Also thank you @Tobias for letting me know about 23.05 ! After all the trouble I've had so far to get it working I think I'll just stick with what I have for now :sweat_smile:

I am happy to hear that your WAX220 is up and running now :slight_smile: I also used a external power supply and a direct ethernet connection to flash it until rc4, for the final 23.05 it was running using PoE but I don't think that this should have caused the issues.

I am planning to do the same but I am a bit worried by the following hint on the device page:

Note that the OpenWrt specific rootfs overlay does not get erased by this method. 
To completely remove OpenWrt run the following commands *before* using nmrpflash: 
# ubirmvol /dev/ubi0 -N kernel_backup
# ubirmvol /dev/ubi0 -N rootfs_backup
# ubirename /dev/ubi0 rootfs_data rootfs_backup

I will not be able to do this before and I am a bit afraid that this might cause issues when I try to flash OpenWrt afterwards again.

Did you perform these additional cleanup steps before you went back to the original firmware or not?

To give a succes story: I just updated my unit from RC4 to 23.05.0 without a problem.

2 Likes

I had no problem reflashing without doing those cleanup steps first. I believe that the issues with boot space were resolved along the way and you shouldn't expect it to be a problem. I think those cleanup steps are there more to help those who want the router serviced under warranty. Best of luck!

1 Like

That's good to know. May I ask how you did it? Using Luci? Did you use an external power supply or not?

Thank you, that's very helpful

Okay, I have my WAX220 up and running normally again (with 23.05.0 final). Most likely the issue was caused by keeping the settings when upgrading from rc4 to final.

I tried to go back to the original firmware with nmrpflash but whatever I did it didn't work, so I tried to enter the failsave mode by pressing the reset button at the correct point of time, this didn't work as well. So I opened the case to get out some information using the serial console. This worked quite well given the fact that I just pressed the contacts to the corresponding points on the board. However, the result was different from what I expected because the WAX220 booted with default settings (maybe I pressed the reset button too long before).

So I did another reset of all settings (for safety reasons), and after the reboot I re-configured the device from scratch. Now everything seems to work fine also with 23.05.0 final.

However, I still doesn't have a real glue what could have been the issue in the first place. I didn't change much on the configuration, just the normal dump access point stuff.

Same here going from RC3 to 23.05.0. Works just fine, powered via PoE.

since a week or 2 now also in posession of a WAX220. But clients keep moving away from it to another AP (WAX206) being disconnected due to inactivity... This is despite setting disassoc_low_ack to 0 in the configuration file. It feels as if that setting is ignored...
Client connecting:

Wed Oct 25 22:11:24 2023 daemon.info hostapd: phy0-ap0: STA 48:27:e2:1f:f3:c0 IEEE 802.11: authenticated
Wed Oct 25 22:11:24 2023 daemon.info hostapd: phy0-ap0: STA 48:27:e2:1f:f3:c0 IEEE 802.11: associated (aid 2)
Wed Oct 25 22:11:24 2023 daemon.notice hostapd: phy0-ap0: AP-STA-CONNECTED 48:27:e2:1f:f3:c0 auth_alg=open
Wed Oct 25 22:11:24 2023 daemon.info hostapd: phy0-ap0: STA 48:27:e2:1f:f3:c0 RADIUS: starting accounting session BB03E522FF0F7445
Wed Oct 25 22:11:24 2023 daemon.info hostapd: phy0-ap0: STA 48:27:e2:1f:f3:c0 WPA: pairwise key handshake completed (RSN)
Wed Oct 25 22:11:24 2023 daemon.notice hostapd: phy0-ap0: EAPOL-4WAY-HS-COMPLETED 48:27:e2:1f:f3:c0

Client being disconnected:

Thu Oct 26 13:17:10 2023 daemon.notice hostapd: phy0-ap0: AP-STA-DISCONNECTED 48:27:e2:1f:f3:c0
Thu Oct 26 13:17:10 2023 daemon.info hostapd: phy0-ap0: STA 48:27:e2:1f:f3:c0 IEEE 802.11: disassociated due to inactivity
Thu Oct 26 13:17:11 2023 daemon.info hostapd: phy0-ap0: STA 48:27:e2:1f:f3:c0 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)

The configuration on this SSID:

config wifi-iface 'wifinet0'
21         option device 'radio1'
22         option mode 'ap'
23         option ssid 'XXX'
24         option encryption 'psk2+ccmp'
25         option key 'XXX'
26         option wpa_disable_eapol_key_retries '1'
27         option network 'lan'
28         option wnm_sleep_mode '1'
29         option wnm_sleep_mode_no_keys '1'
30         option bss_transition '1'
31         option proxy_arp '1'
32         option ieee80211k '1'
33         option signal_connect '-60'
34         option signal_stay '-70'
35         option signal_strikes '3'
36         option signal_poll_time '5'
37         option dtim_period '3'
38         option max_inactivity '86400'
39         option disassoc_low_ack '0'

Does anyone else experience something similar? You should be able to see this connect/disconnect behavior in the systemlog...

I have just installed openwrt-mediatek-filogic-netgear_wax220-squashfs-factory.img
on top of OEM firmware.
Since there was no luci, I had to go through ... a bit of reading (I think it is my first time with OpenWRT - I was on DD-WRT for last 15 years or so).
So far so good - I am still fighting but luci already there (however I got everything connected just using ssh).
I shall test this magnificent firmware on my new AP.

thanks a lot for your fantastic work!