OpenWrt support for Netgear WAX620

Hello, it's me again. I did the steps you provided @jmspswny but I got some messages starting kernel after bootm command.

Can't get past this. Maybe this snapshot OpenWrt SNAPSHOT, r23375-cdfcac6e24 does not work so well... I can see that Openwrt loaded, but I'm not able to do anything since the phy_addr error is flooding the console.

[    4.721778] hsl_phy_phydev_get[773]:ERROR:phy_addr 3 phydev is NULL
[    4.728021] hsl_phy_phydev_get[773]:ERROR:phy_addr 4 phydev is NULL
[    5.750461] hsl_phy_phydev_get[773]:ERROR:phy_addr 0 phydev is NULL
Starting kernel ...

Jumping to AARCH64 kernel via monitor
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.33 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r23375-cdfcac6e24) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Wed Jun 14 21:27:29 2023
[    0.000000] Machine model: Netgear WAX218
[    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-0x0000000040ffffff]
[    0.000000]   node   0: [mem 0x0000000041000000-0x000000004a3fffff]
[    0.000000]   node   0: [mem 0x000000004a400000-0x00000000510fffff]
[    0.000000]   node   0: [mem 0x0000000051100000-0x000000007fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 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.0
[    0.000000] percpu: Embedded 17 pages/cpu s31592 r8192 d29848 u69632
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258048
[    0.000000] Kernel command line: console=ttyMSM0,115200n8 ubi.block=0,rootfs root=/dev/ubiblock0_1
[    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: 879948K/1048576K available (8128K kernel code, 872K rwdata, 2276K rodata, 8576K init, 291K bss, 168628K 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] Root IRQ handler: gic_handle_irq
[    0.000000] GICv2m: range[mem 0x0b00a000-0x0b00affc], SPI[448:479]
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 and mmio timer(s) running at 19.20MHz (virt/virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000000] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000114] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000127] pid_max: default: 32768 minimum: 301
[    0.000617] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.000633] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.002512] cblist_init_generic: Setting adjustable number of callback queues.
[    0.002525] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.002721] rcu: Hierarchical SRCU implementation.
[    0.002725] rcu:     Max phase no-delay instances is 1000.
[    0.003485] smp: Bringing up secondary CPUs ...
[    0.004125] Detected VIPT I-cache on CPU1
[    0.004261] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.004926] Detected VIPT I-cache on CPU2
[    0.005026] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.005643] Detected VIPT I-cache on CPU3
[    0.005741] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.005808] smp: Brought up 1 node, 4 CPUs
[    0.005816] SMP: Total of 4 processors activated.
[    0.005821] CPU features: detected: 32-bit EL0 Support
[    0.005826] CPU features: detected: CRC32 instructions
[    0.005888] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.005894] CPU: All CPU(s) started at EL1
[    0.005897] alternatives: applying system-wide alternatives
[    0.015962] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.015989] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.016206] pinctrl core: initialized pinctrl subsystem
[    0.017650] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.018160] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.018217] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.018254] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.018643] thermal_sys: Registered thermal governor 'step_wise'
[    0.018829] cpuidle: using governor menu
[    0.019092] ASID allocator initialised with 65536 entries
[    0.070212] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4
[    0.078321] SCSI subsystem initialized
[    0.078507] usbcore: registered new interface driver usbfs
[    0.078563] usbcore: registered new interface driver hub
[    0.078622] usbcore: registered new device driver usb
[    0.078994] qcom_scm: convention: smc arm 64
[    0.080465] clocksource: Switched to clocksource arch_sys_counter
[    0.081614] NET: Registered PF_INET protocol family
[    0.081779] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.083212] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.083237] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.083252] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.083339] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)
[    0.083620] TCP: Hash tables configured (established 8192 bind 8192)
[    0.083730] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.083768] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.083993] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.084032] PCI: CLS 0 bytes, default 64
[    0.085348] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    0.090494] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.090509] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.091653] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[    0.101425] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.103567] msm_serial 78b3000.serial: msm_serial: detected port #0
[    0.103614] msm_serial 78b3000.serial: uartclk = 3686400
[    0.103718] 78b3000.serial: ttyMSM0 at MMIO 0x78b3000 (irq = 19, base_baud = 230400) is a MSM
[    0.103748] msm_serial: console setup on port #0
[    0.704529] printk: console [ttyMSM0] enabled
[    0.709660] msm_serial: driver initialized
[    0.718689] loop: module loaded
[    0.718765] Loading iSCSI transport class v2.0-870.
[    0.722785] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xaa
[    0.725504] nand: Macronix MX30UF2G18AC
[    0.732190] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    0.735693] Block protection check failed
[    0.754213] spmi spmi-0: PMIC arbiter version v2 (0x20010000)
[    0.782214] i2c_dev: i2c /dev entries driver
[    0.788191] sdhci: Secure Digital Host Controller Interface driver
[    0.788232] sdhci: Copyright(c) Pierre Ossman
[    0.793316] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.798691] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    0.806105] NET: Registered PF_INET6 protocol family
[    0.810248] Segment Routing with IPv6
[    0.814345] In-situ OAM (IOAM) with IPv6
[    0.817922] NET: Registered PF_PACKET protocol family
[    0.821870] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    0.827115] 8021q: 802.1Q VLAN Support v1.8
[    0.859816] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4
[    0.860149] cpr4_ipq807x_apss_read_fuse_data: apc_corner: speed bin = 0
[    0.866000] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR fusing revision = 1
[    0.872548] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR misc fuse value = 0
[    0.880201] cpr4_ipq807x_apss_read_fuse_data: apc_corner: Voltage boost fuse config = 0 boost = disable
[    0.887718] cpr3_mem_acc_init: apc: not using memory accelerator regulator
[    0.896851] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      SVS: open-loop= 704000 uV
[    0.903800] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      NOM: open-loop= 824000 uV
[    0.913781] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused    TURBO: open-loop= 888000 uV
[    0.923590] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused   STURBO: open-loop= 976000 uV
[    0.933451] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      SVS: quot[ 7]= 698, quot_offset[ 7]=   0
[    0.943212] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      NOM: quot[ 7]= 922, quot_offset[ 7]= 220
[    0.954062] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused    TURBO: quot[ 7]=1029, quot_offset[ 7]= 105
[    0.965000] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused   STURBO: quot[ 7]=1183, quot_offset[ 7]= 150
[    0.976128] cpr3_regulator_init_ctrl: apc: Default CPR mode = closed-loop
[    0.978652] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xaa
[    0.993640] nand: Macronix MX30UF2G18AC
[    1.000048] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.003636] Block protection check failed
[    1.020335] 26 qcomsmem partitions found on MTD device qcom_nand.0
[    1.020390] Creating 26 MTD partitions on "qcom_nand.0":
[    1.025466] 0x000000000000-0x000000100000 : "0:sbl1"
[    1.032367] 0x000000100000-0x000000200000 : "0:mibib"
[    1.037098] 0x000000200000-0x000000280000 : "0:bootconfig"
[    1.041728] 0x000000280000-0x000000300000 : "0:bootconfig1"
[    1.047037] 0x000000300000-0x000000600000 : "0:qsee"
[    1.054493] 0x000000600000-0x000000900000 : "0:qsee_1"
[    1.059522] 0x000000900000-0x000000980000 : "0:devcfg"
[    1.062669] 0x000000980000-0x000000a00000 : "0:devcfg_1"
[    1.067762] 0x000000a00000-0x000000a80000 : "0:apdp"
[    1.073407] 0x000000a80000-0x000000b00000 : "0:apdp_1"
[    1.078200] 0x000000b00000-0x000000b80000 : "0:rpm"
[    1.083213] 0x000000b80000-0x000000c00000 : "0:rpm_1"
[    1.087897] 0x000000c00000-0x000000c80000 : "0:cdt"
[    1.093242] 0x000000c80000-0x000000d00000 : "0:cdt_1"
[    1.097810] 0x000000d00000-0x000000d80000 : "0:appsblenv"
[    1.103084] 1 fixed-partitions partitions found on MTD device 0:appsblenv
[    1.107564] OF: Bad cell count for /soc/nand-controller@79b0000/nand@0/partitions/partition-0-appsblenv
[    1.114342] OF: Bad cell count for /soc/nand-controller@79b0000/nand@0/partitions/partition-0-appsblenv
[    1.124066] Creating 1 MTD partitions on "0:appsblenv":
[    1.132905] 0x000000000000-0x000000040000 : "env-data"
[    1.138823] 0x000000d80000-0x000000e80000 : "0:appsbl"
[    1.144622] 0x000000e80000-0x000000f80000 : "0:appsbl_1"
[    1.149663] 0x000000f80000-0x000001000000 : "0:art"
[    1.154828] 0x000001000000-0x000004c00000 : "rootfs"
[    1.203934] mtd: setting mtd19 (rootfs) as root device
[    1.204233] mtdsplit: no squashfs found in "rootfs"
[    1.208008] 0x000004c00000-0x000005500000 : "0:wififw"
[    1.220095] 0x000005500000-0x000009100000 : "rootfs_1"
[    1.266226] 0x000009100000-0x000009a00000 : "0:wififw_1"
[    1.273651] 0x000009a00000-0x000009a80000 : "0:ethphyfw"
[    1.274556] 0x000009a80000-0x000009c00000 : "0:mfgdata"
[    1.279652] 0x000009c00000-0x00000e400000 : "0:ntgrdata"
[    1.338204] 0x00000e400000-0x000010000000 : "0:oops_log"
[    1.371069] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 19200 KHz, changing to: 1017600 KHz
[    1.372824] remoteproc remoteproc0: cd00000.q6v5_wcss is available
[    1.�[    1.411470] Freeing unused kernel memory: 8576K
[    1.470581] Run /init as init process
[    1.640225] init: Console is alive
[    1.640419] init: - watchdog -
[    1.648465] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    1.674081] ssdk_switch_device_num_init[1335]:INFO:ess-switch dts node number: 1
[    1.674181] ssdk_dt_get_switch_node[1124]:INFO:ess-switch DT exist!
[    1.680585] ssdk_dt_parse_access_mode[999]:INFO:switch_access_mode: local bus
[    1.686542] ssdk_dt_parse_access_mode[1012]:INFO:switchreg_base_addr: 0x3a000000
[    1.693847] ssdk_dt_parse_access_mode[1013]:INFO:switchreg_size: 0x1000000
[    1.701302] ssdk_dt_parse_mac_mode[327]:INFO:mac mode = 0x0
[    1.707978] ssdk_dt_parse_mac_mode[336]:INFO:mac mode1 = 0xff
[    1.713452] ssdk_dt_parse_mac_mode[345]:INFO:mac mode2 = 0xf
[    1.719358] ssdk_dt_parse_phy_info[716]:INFO:[PORT 6] port_mac_sel = QGMAC_PORT
[    1.725129] ssdk_dt_parse_uniphy[364]:INFO:ess-uniphy DT exist!
[    1.732378] ssdk_plat_init[1692]:INFO:ssdk_plat_init start
[    1.851860] ssdk_gcc_clock_init[1275]:INFO:SSDK gcc clock init successfully!
[    1.852809] ssdk_phy_driver_init[363]:INFO:dev_id = 0, phy_adress = 0, phy_id = 0xffffffff phytype doesn't match
[    1.858037] ssdk_phy_driver_init[363]:INFO:dev_id = 0, phy_adress = 1, phy_id = 0xffffffff phytype doesn't match
[    1.868198] ssdk_phy_driver_init[363]:INFO:dev_id = 0, phy_adress = 2, phy_id = 0xffffffff phytype doesn't match
[    1.878351] ssdk_phy_driver_init[363]:INFO:dev_id = 0, phy_adress = 3, phy_id = 0xffffffff phytype doesn't match
[    1.888510] ssdk_phy_driver_init[363]:INFO:dev_id = 0, phy_adress = 4, phy_id = 0xffffffff phytype doesn't match
[    1.898718] qca808x_phy_api_ops_init[2570]:INFO:qca probe qca808x phy driver succeeded!
[    1.909935] regi_init[3953]:INFO:Initializing HPPE!!
[    2.150502] ssdk_ppe_reset_init[1535]:INFO:ppe reset successfully!
[    2.153878] qca_hppe_portctrl_hw_init[126]:INFO:Hawkeye PPE port initializing
[    2.637590] ssdk_switch_register[2017]:INFO:Chip version 0x1500
[    2.637653] qca_link_polling_select[1487]:INFO:link-polling-required node does not exist
[    2.642329] ssdk_switch_register[2043]:INFO:polling is selected
[    2.650656] regi_init[3957]:INFO:Initializing HPPE Done!!
[    2.656386] ssdk_genl_init[211]:INFO:ssdk genl family register success.
[    2.661857] regi_init[4020]:INFO:qca-ssdk module init succeeded!
[    2.670734] EDMA ver 1 hw init
[    2.674731] EDMA HW Reset completed succesfully
[    2.677408] Num rings - TxDesc:1 (23-23) TxCmpl:1 (7-7)
[    2.681817] RxDesc:1 (15-15) RxFill:1 (7-7)
[    2.888527] QCA808X ethernet 90000.mdio-1:1c: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:1c, irq=POLL)
[    2.889141] nss-dp 3a007000.dp6-syn lan: Registered netdev lan(qcom-id:6)
[    2.897611] **********************************************************
[    2.904282] * NSS Data Plane driver
[    2.910695] **********************************************************
[    2.919718] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    2.925327] init: - preinit -
[    3.670472] hsl_phy_phydev_get[773]:ERROR:phy_addr 0 phydev is NULL
[    3.670513] hsl_phy_phydev_get[773]:ERROR:phy_addr 1 phydev is NULL
[    3.675551] hsl_phy_phydev_get[773]:ERROR:phy_addr 2 phydev is NULL
[    3.681808] hsl_phy_phydev_get[773]:ERROR:phy_addr 3 phydev is NULL
[    3.688051] hsl_phy_phydev_get[773]:ERROR:phy_addr 4 phydev is NULL
[    4.710461] hsl_phy_phydev_get[773]:ERROR:phy_addr 0 phydev is NULL
[    4.710481] hsl_phy_phydev_get[773]:ERROR:phy_addr 1 phydev is NULL
[    4.715521] hsl_phy_phydev_get[773]:ERROR:phy_addr 2 phydev is NULL
[    4.721778] hsl_phy_phydev_get[773]:ERROR:phy_addr 3 phydev is NULL
[    4.728021] hsl_phy_phydev_get[773]:ERROR:phy_addr 4 phydev is NULL
[    5.750461] hsl_phy_phydev_get[773]:ERROR:phy_addr 0 phydev is NULL

@frollic I tried to live a little... but failed :nerd_face:

Printenv:

IPQ807x# printenv
active_fw=1
baudrate=115200
boot_count=2
bootargs=console=ttyMSM0,115200n8
bootcmd=bootipq
bootdelay=2
crash_magic=0
crash_status=1
eth1addr=80:cc:9c:57:e0:6f
ethact=eth0
ethaddr=80:cc:9c:57:e0:5f
fdt_high=0x4A400000
fdtcontroladdr=4a970970
fileaddr=44000000
filesize=be4a78
flash_type=2
fsbootargs=ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs
fw_upgrade=0
hw_ver=1.0
ipaddr=192.168.0.100
machid=8010006
netmask=255.255.255.0
proceed_upgrade=0
product_id=WAX620
serverip=192.168.0.5
soc_version_major=2
soc_version_minor=0
stderr=serial@78B3000
stdin=serial@78B3000
stdout=serial@78B3000

Environment size: 659/262140 bytes

the console spamming with those errors is a known issue, mentioned in the original PR:

You can just SSH into the device once you have the initramfs image running.

@jmspswny the AP doesn't have any IP set on boot. I feel that I'm missing something...

My commands:

setenv active_fw 1
tftpboot nameofthefile.itb
bootm

the WAX218 firmware is setup to come up as a DHCP device. There needs to be a DHCP server handing out leases on the network for the device to get an IP

Ah f... I read that they did not agree on DHCP or static. Oh well, that explains it, my bad.

Thanks for helping me :slight_smile:

@jmspswny , I was able to sysupgrade. But after reboot this is it. No IP from DHCP. Anything else I can try?
Nothing happens after line [ 31.833471] l11: disabling

Starting kernel ...

Jumping to AARCH64 kernel via monitor
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.38 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r23602-9a5b1af670) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Sun Jul 23 12:45:18 2023
[    0.000000] Machine model: Netgear WAX218
[    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-0x0000000040ffffff]
[    0.000000]   node   0: [mem 0x0000000041000000-0x000000004a3fffff]
[    0.000000]   node   0: [mem 0x000000004a400000-0x00000000510fffff]
[    0.000000]   node   0: [mem 0x0000000051100000-0x000000007fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 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.0
[    0.000000] percpu: Embedded 17 pages/cpu s31592 r8192 d29848 u69632
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258048
[    0.000000] Kernel command line: WAX620 1.0 console=ttyMSM0,115200n8 ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs rootwait ubi.block=0,rootfs root=/dev/ubiblock0_1
[    0.000000] Unknown kernel command line parameters "WAX620", will be passed to user space.
[    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: 887168K/1048576K available (8128K kernel code, 872K rwdata, 2276K rodata, 1344K init, 291K bss, 161408K 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] Root IRQ handler: gic_handle_irq
[    0.000000] GICv2m: range[mem 0x0b00a000-0x0b00affc], SPI[448:479]
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 and mmio timer(s) running at 19.20MHz (virt/virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000001] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000114] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000128] pid_max: default: 32768 minimum: 301
[    0.000615] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.000630] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.002497] cblist_init_generic: Setting adjustable number of callback queues.
[    0.002510] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.002706] rcu: Hierarchical SRCU implementation.
[    0.002710] rcu:     Max phase no-delay instances is 1000.
[    0.003513] smp: Bringing up secondary CPUs ...
[    0.004155] Detected VIPT I-cache on CPU1
[    0.004294] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.004955] Detected VIPT I-cache on CPU2
[    0.005052] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.005671] Detected VIPT I-cache on CPU3
[    0.005766] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.005832] smp: Brought up 1 node, 4 CPUs
[    0.005840] SMP: Total of 4 processors activated.
[    0.005845] CPU features: detected: 32-bit EL0 Support
[    0.005849] CPU features: detected: CRC32 instructions
[    0.005912] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.005918] CPU: All CPU(s) started at EL1
[    0.005921] alternatives: applying system-wide alternatives
[    0.016532] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.016559] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.016780] pinctrl core: initialized pinctrl subsystem
[    0.018275] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.018849] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.018893] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.018928] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.019310] thermal_sys: Registered thermal governor 'step_wise'
[    0.019498] cpuidle: using governor menu
[    0.019807] ASID allocator initialised with 65536 entries
[    0.025723] OF: /soc/dp6-syn: could not find phandle 40
[    0.042992] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4
[    0.051270] SCSI subsystem initialized
[    0.051465] usbcore: registered new interface driver usbfs
[    0.051518] usbcore: registered new interface driver hub
[    0.051563] usbcore: registered new device driver usb
[    0.051959] qcom_scm: convention: smc arm 64
[    0.053442] clocksource: Switched to clocksource arch_sys_counter
[    0.054601] NET: Registered PF_INET protocol family
[    0.054754] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.056177] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.056202] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.056217] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.056304] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)
[    0.056590] TCP: Hash tables configured (established 8192 bind 8192)
[    0.056699] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.056736] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.056951] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.056988] PCI: CLS 0 bytes, default 64
[    0.058369] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    0.063412] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.063449] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.064567] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[    0.072610] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.074772] msm_serial 78b3000.serial: msm_serial: detected port #0
[    0.074810] msm_serial 78b3000.serial: uartclk = 3686400
[    0.074903] 78b3000.serial: ttyMSM0 at MMIO 0x78b3000 (irq = 19, base_baud = 230400) is a MSM
[    0.074933] msm_serial: console setup on port #0
[    0.695673] printk: console [ttyMSM0] enabled
[    0.700828] msm_serial: driver initialized
[    0.709802] loop: module loaded
[    0.709893] Loading iSCSI transport class v2.0-870.
[    0.713740] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xaa
[    0.716620] nand: Macronix MX30UF2G18AC
[    0.723212] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    0.726819] Block protection check failed
[    0.735260] spmi spmi-0: PMIC arbiter version v2 (0x20010000)
[    0.757908] i2c_dev: i2c /dev entries driver
[    0.764117] sdhci: Secure Digital Host Controller Interface driver
[    0.764163] sdhci: Copyright(c) Pierre Ossman
[    0.769198] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.774693] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    0.782087] NET: Registered PF_INET6 protocol family
[    0.786201] Segment Routing with IPv6
[    0.790241] In-situ OAM (IOAM) with IPv6
[    0.793930] NET: Registered PF_PACKET protocol family
[    0.797792] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    0.802829] 8021q: 802.1Q VLAN Support v1.8
[    0.836360] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4
[    0.836665] cpr4_ipq807x_apss_read_fuse_data: apc_corner: speed bin = 0
[    0.842486] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR fusing revision = 1
[    0.849118] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR misc fuse value = 0
[    0.856759] cpr4_ipq807x_apss_read_fuse_data: apc_corner: Voltage boost fuse config = 0 boost = disable
[    0.864264] cpr3_mem_acc_init: apc: not using memory accelerator regulator
[    0.873390] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      SVS: open-loop= 704000 uV
[    0.880348] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      NOM: open-loop= 824000 uV
[    0.890329] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused    TURBO: open-loop= 888000 uV
[    0.900143] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused   STURBO: open-loop= 976000 uV
[    0.910000] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      SVS: quot[ 7]= 698, quot_offset[ 7]=   0
[    0.919764] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      NOM: quot[ 7]= 922, quot_offset[ 7]= 220
[    0.930609] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused    TURBO: quot[ 7]=1029, quot_offset[ 7]= 105
[    0.941546] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused   STURBO: quot[ 7]=1183, quot_offset[ 7]= 150
[    0.952667] cpr3_regulator_init_ctrl: apc: Default CPR mode = closed-loop
[    0.955177] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xaa
[    0.970195] nand: Macronix MX30UF2G18AC
[    0.976600] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    0.980173] Block protection check failed
[    0.988163] 26 qcomsmem partitions found on MTD device qcom_nand.0
[    0.991878] Creating 26 MTD partitions on "qcom_nand.0":
[    0.998005] 0x000000000000-0x000000100000 : "0:sbl1"
[    1.004855] 0x000000100000-0x000000200000 : "0:mibib"
[    1.009638] 0x000000200000-0x000000280000 : "0:bootconfig"
[    1.014214] 0x000000280000-0x000000300000 : "0:bootconfig1"
[    1.019579] 0x000000300000-0x000000600000 : "0:qsee"
[    1.026956] 0x000000600000-0x000000900000 : "0:qsee_1"
[    1.032080] 0x000000900000-0x000000980000 : "0:devcfg"
[    1.035253] 0x000000980000-0x000000a00000 : "0:devcfg_1"
[    1.040312] 0x000000a00000-0x000000a80000 : "0:apdp"
[    1.045814] 0x000000a80000-0x000000b00000 : "0:apdp_1"
[    1.050717] 0x000000b00000-0x000000b80000 : "0:rpm"
[    1.055749] 0x000000b80000-0x000000c00000 : "0:rpm_1"
[    1.060483] 0x000000c00000-0x000000c80000 : "0:cdt"
[    1.065742] 0x000000c80000-0x000000d00000 : "0:cdt_1"
[    1.070361] 0x000000d00000-0x000000d80000 : "0:appsblenv"
[    1.075665] 0x000000d80000-0x000000e80000 : "0:appsbl"
[    1.081328] 0x000000e80000-0x000000f80000 : "0:appsbl_1"
[    1.086427] 0x000000f80000-0x000001000000 : "0:art"
[    1.091500] 0x000001000000-0x000004c00000 : "rootfs"
[    1.141370] mtd: setting mtd18 (rootfs) as root device
[    1.141686] mtdsplit: no squashfs found in "rootfs"
[    1.145469] 0x000004c00000-0x000005500000 : "0:wififw"
[    1.157559] 0x000005500000-0x000009100000 : "rootfs_1"
[    1.203634] 0x000009100000-0x000009a00000 : "0:wififw_1"
[    1.211027] 0x000009a00000-0x000009a80000 : "0:ethphyfw"
[    1.211986] 0x000009a80000-0x000009c00000 : "0:mfgdata"
[    1.217128] 0x000009c00000-0x00000e400000 : "0:ntgrdata"
[    1.275492] 0x00000e400000-0x000010000000 : "0:oops_log"
[    1.308029] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 19200 KHz, changing to: 1017600 KHz
[    1.309908] remoteproc remoteproc0: cd00000.q6v5_wcss is available
[    1.318285] ubi0: attaching mtd18
[    1.579570] ubi0: scanning is finished
[    1.585539] ubi0: attached mtd18 (name "rootfs", size 60 MiB)
[    1.585578] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    1.590272] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    1.597058] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    1.603906] ubi0: good PEBs: 480, bad PEBs: 0, corrupted PEBs: 0
[    1.610670] ubi0: user volume: 4, internal volumes: 1, max. volumes count: 128
[    1.616929] ubi0: max/mean erase counter: 13/4, WL threshold: 4096, image sequence number: 240792572
[    1.623969] ubi0: available PEBs: 0, total reserved PEBs: 480, PEBs reserved for bad PEB handling: 40
[    1.633253] ubi0: background thread "ubi_bgt0d" started, PID 473
[    1.633780] block ubiblock0_2: created from ubi0:2(root[    1.654496] Waiting for root device /dev/ubiblock0_1...
[   31.833471] l11: disabling

is there some reason you're using snapshot instead of the current RC? I know the RC works. Can't speak to the snapshot .

@jmspswny Yeah, I've tried them all. RC1, RC2 and snapshot. But all of them stops at l11: disabling. I does not get an IP from my DHCP, static IP is not set either. So I dunno...

initramfs did work, like LAN was up and did not stop at l11: disabling. So why would that happen :confused:

To add some more information after I run sysupgrade command. I dunno if it's normal the can't umount... This was rc1, but same with rc2 and snapshot.

sysupgrade successful
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp: Resource busy
[  442.903040] qcom_scm firmware:scm: No available mechanism for setting download mode
[  442.903150] reboot: Restarting system

Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.BF.3.3.1-00163
S - IMAGE_VARIANT_STRING=HAACANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x000002e5
B -       201 - PBL, Start
B -      2734 - bootable_media_detect_entry, Start
B -      3441 - bootable_media_detect_success, Start
B -      3446 - elf_loader_entry, Start
B -      6111 - auth_hash_seg_entry, Start
B -      6354 - auth_hash_seg_exit, Start
B -     68271 - elf_segs_hash_verify_entry, Start
B -    131127 - PBL, End
B -    214659 - SBL1, Start
B -    292952 - GCC [RstStat:0x10, RstDbg:0x600000] WDog Stat : 0x4
B -    302682 - pm_device_init, Start
B -    483272 - PM_SET_VAL:Skip
D -    178699 - pm_device_init, Delta
B -    485682 - pm_driver_init, Start
D -      5368 - pm_driver_init, Delta
B -    492026 - clock_init, Start
D -      2135 - clock_init, Delta
B -    496052 - boot_flash_init, Start
D -     12505 - boot_flash_init, Delta
B -    512247 - boot_config_data_table_init, Start
D -      3050 - boot_config_data_table_init, Delta - (575 Bytes)
B -    519720 - Boot Setting :  0x00000618
B -    523624 - CDT version:2,Platform ID:8,Major ID:1,Minor ID:0,Subtype:6
B -    530547 - sbl1_ddr_set_params, Start
B -    534360 - CPR configuration: 0x30c
B -    537806 - cpr_init, Start
B -    540582 - Rail:0 Mode: 5 Voltage: 808000
B -    545797 - CL CPR settled at 760000mV
B -    548634 - Rail:1 Mode: 5 Voltage: 880000
B -    552812 - Rail:1 Mode: 7 Voltage: 912000
D -     16531 - cpr_init, Delta
B -    559705 - Pre_DDR_clock_init, Start
B -    563701 - Pre_DDR_clock_init, End
B -    566995 - DDR Type : PCDDR4
B -    573735 - do ddr sanity test, Start
D -      1037 - do ddr sanity test, Delta
B -    577548 - DDR: Start of HAL DDR Boot Training
B -    582275 - DDR: End of HAL DDR Boot Training
B -    587948 - DDR: Checksum to be stored on flash is -1611416211
B -    598471 - Image Load, Start
D -    221918 - QSEE Image Loaded, Delta - (1371968 Bytes)
B -    820450 - Image Load, Start
D -        61 - SEC Image Loaded, Delta - (0 Bytes)
B -    828136 - Image Load, Start
D -     10675 - DEVCFG Image Loaded, Delta - (26088 Bytes)
B -    838902 - Image Load, Start
D -     22052 - RPM Image Loaded, Delta - (86660 Bytes)
B -    861015 - Image Load, Start
D -     90859 - APPSBL Image Loaded, Delta - (559610 Bytes)
B -    951996 - QSEE Execution, Start
D -        61 - QSEE Execution, Delta
B -    957822 - USB D+ check, Start
D -         0 - USB D+ check, Delta
B -    964196 - SBL1, End
D -    751855 - SBL1, Delta
S - Flash Throughput, 6757 KB/s  (2045573 Bytes,  302733 us)
S - DDR Frequency, 600 MHz
S - Core 0 Frequency, 1651 MHz


U-Boot 2016.01-V9.5.0.7 (Jan 20 2021 - 09:15:03 -0800)

DRAM:  smem ram ptable found: ver: 1 len: 4
1 GiB
NAND:  Could not find nand_gpio in dts, using defaults
ONFI device found
ID = 1590aac2
Vendor = c2
Device = aa
SF: Unsupported flash IDs: manuf ff, jedec ffff, ext_jedec ffff
ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)
256 MiB
MMC:   sdhci: Node Not found, skipping initialization

PCI0 is not defined in the device tree
PCI1 is not defined in the device tree
In:    serial@78B3000
Out:   serial@78B3000
Err:   serial@78B3000
Product ID: WAX620
HW Version: 1.0
machid: 8010006
adp_value:0, poe_value:1
Power source: Adaptor
MMC Device 0 not found
eth2 MAC Address from ART is not valid
eth3 MAC Address from ART is not valid
eth4 MAC Address from ART is not valid
eth5 MAC Address from ART is not valid
Hit any key to stop autoboot:  0
Erasing NAND...
Erasing at 0xd60000 -- 100% complete.
Writing to NAND... OK
ubi0: attaching mtd1
ubi0: scanning is finished
ubi0: attached mtd1 (name "mtd=0", size 60 MiB)
ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
ubi0: good PEBs: 480, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 4, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 12/5, WL threshold: 4096, image sequence number: 1531925387
ubi0: available PEBs: 0, total reserved PEBs: 480, PEBs reserved for bad PEB handling: 40
Read 0 bytes from volume kernel to 44000000
No size specified -> Using max size (4698112)
## Loading kernel from FIT Image at 44000000 ...
   Using 'config@hk07' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-5.15.114
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x440000ec
     Data Size:    4545203 Bytes = 4.3 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x41000000
     Entry Point:  0x41000000
     Hash algo:    crc32
     Hash value:   f9971fc8
     Hash algo:    sha1
     Hash value:   e7f01633146e83f426f54e3f2e30e7e8169c13b9
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 44000000 ...
   Using 'config@hk07' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt netgear_wax218 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x44455ce0
     Data Size:    41596 Bytes = 40.6 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   249c9a69
     Hash algo:    sha1
     Hash value:   c6d2dede10c3bef52cbe8afce39da13f7a30f530
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x44455ce0
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 4a3f2000, end 4a3ff27b ... OK
Could not find PCI in device tree
Using machid 0x8010006 from environment

Hi @robimarko , I know your very busy, but since you worked a lot with IPQ807x etc... can I ask for your advice to solve the issue that it locks up after line [ 31.833471] l11: disabling.

If i try to boot from fw0 (OEM) it says corrupted and then boots from fw1 (openwrt).

Thanks in advance.

If you are not using eMMC then its normal for kernel to disable the eMMC I/O regulator and it shouldnt really have anything to do with issue you are having.

Your issue is that its just waiting for the rootfs that is passed via cmdline, you probably need to pass the correct ubiblock

Alright @robimarko , is that something you set with fw_setenv bootcmd (I'm doing some search on how-to) or do I have to create my own custom image with correct ubiblock? This is all new to me, so sorry for not knowing what to do...

You can just pass it via bootargs-append in DTS, there are plenty of examples

Thanks. I’ll give it a go.

How did you initially flash OpenWrt to that device?
Did you use ubiformat as per WAX218 device commit or just sysupgrade from initramfs?

Just using sysupgrade is not enough, you need ubiformat first due to the stock firmware uses different ubi-format and as consequence you get

Waiting for root device /dev/ubiblock0_1

because this is probably not the rootfs volume.

I did sysupgrade from initramfs.

So the steps are:

  1. Initramfs
  2. Ubiformat
  3. Sysupgrade

Correct?

Ubiformat is writing to mtd partition like someone described in the wax218 thread?

sysupgrade is not necessary.

Boot initramfs and do

ubiformat /dev/mtdX -y -f /path/to/openwrt_factory.ubi

Where mtdX is the right mtd rootfs partition.

1 Like

You sir, deserves a :cake:
Thank you for sorting this out.

I just have to fix 2 things, channel 13 in 2.4 is missing and persistent boot from active_fw 0.
Again, thank you so much. :+1:

Edit: Channels fixed and active fw.

So I used 23.05.0-rc2, and the following steps:

  1. Connect serial and boot, press 0 to stop.
  2. Set active_fw to 1
setenv active_fw 1
  1. TFTPboot the initramfs file
tftpboot openwrt-23.05.0-rc2-ipq807x-generic-netgear_wax218-initramfs-uImage.itb
  1. Boot initramfs
bootm
  1. DHCP is active, so find the IP with ifconfig or set static IP (5.a).
    5.a Type (copy/paste) this if you want to set a static IP
uci set network.lan.ipaddr="192.168.1.1"
uci set network.lan.proto="static"
uci set network.lan.netmask="255.255.255.0"
uci commit network
service network reload
  1. SCP factory file from your PC to the AP.
scp openwrt-23.05.0-rc2-ipq807x-generic-netgear_wax218-squashfs-factory.ubi root@192.168.1.1:/tmp/
  1. Write the factory file to mtdX. Where mtdX is the right mtd rootfs partition. Mine was mtd19
ubiformat /dev/mtd19 -y -f /tmp/openwrt-23.05.0-rc2-ipq807x-generic-netgear_wax218-squashfs-factory.ubi
  1. Set active_fw to 0
/usr/sbin/fw_setenv active_fw 0
  1. Reboot the AP
reboot

Hi @kirdes on WAX218, do you have a problem with booting to correct fw after a reboot? A few times its booted to fw 1, so had to power it off and on again. Printenv says active_fw=0 but is this some Netgear stuff going on?

Cheers.