Builds for Linksys WHW03 V2 + V1

Only one of the 2 ethernet ports seems to be enabled by default (the one without the line above it). Check you get an IP address assigned and you should be able to access the config screen through 192.168.1.1/cgi-bin/luci/

Thank you,

In my case after installation, I couldn't connect to internet through ethernet before setting up the network interface.

cannot install sqm via opkg on luci. kernel incompatibility. how do i solve this issue? how can i get the correct packages for this release

can't install (most / some ) packages from official repository due to dependencies.

This applies to all self-compiled images. See here for more info.

Hello ej,

thanks alot for your images and thank you everyone that
is working on this project.

The latest firmware works quite well for me, except that I cannot install Kernel Modules.
I tried everything from your link, it did not help.
Also I tried compiling myself, with the sources you published. But the modules from this build did have a different version and kernel hash and therefore could not be installed.
Also this build has an older Openwrt version and it did not work as well as your version(ethernet problems).

So my question is, can you give me please detailed instruction, how you did compile the firmware?

Thanks in advance!
Badger :slight_smile:

Hi Badger, you should be able to build the image with any kernel modules you need on the 22.03 branch.

git clone https://github.com/ej5921/openwrt
cd openwrt
git checkout openwrt-22.03
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

select target system 'Qualcomm Atheros IPQ40XX', target profile 'Linksys WHW03 V2' and add Luci + the modules/packages you want in the image.

make -j $(nproc) download world
1 Like

Hi, I've compiled based on v22.03.2 and got a bootable image for V2. However, the board files for the QCA9888 aren't loaded correctly. It uses the generic driver 802.11bg. Can someone point me to a solution? I've got access to serial if needed. Below are the logs:

BusyBox v1.35.0 (2022-10-14 22:44:41 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 22.03.2, r19803-9a599fee93
 -----------------------------------------------------
root@ae-ap03:~# dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.146 (admin@DESKTOP-Q06LNV4) (arm-openwrt-linux-muslgnueabi-gcc (OpenWrt GCC 11.2.0 r19803-9a599fee93) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP Fri Oct 14 22:44:41 2022
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Linksys WHW03 V2 (Velop)
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000080000000-0x000000009fffffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x0000000087dfffff]
[    0.000000]   node   0: [mem 0x0000000087e00000-0x0000000087ffffff]
[    0.000000]   node   0: [mem 0x0000000088000000-0x000000009fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000009fffffff]
[    0.000000] On node 0 totalpages: 131072
[    0.000000]   Normal zone: 1152 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 131072 pages, LIFO batch:31
[    0.000000] percpu: Embedded 15 pages/cpu s30860 r8192 d22388 u61440
[    0.000000] pcpu-alloc: s30860 r8192 d22388 u61440 alloc=15*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129920
[    0.000000] Kernel command line: init=/sbin/init rootfstype=ubifs ubi.mtd=alt_rootfs root=ubi0:ubifs rootwait rw root=/dev/ubiblock0_0 rootfstype=squashfs ro
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 506824K/524288K available (6183K kernel code, 604K rwdata, 1552K rodata, 1024K init, 237K bss, 17464K reserved, 0K cma-reserved, 0K highmem)
[    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: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] arch_timer: cp15 timer(s) running at 48.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xb11fd3bfb, max_idle_ns: 440795203732 ns
[    0.000008] sched_clock: 56 bits at 48MHz, resolution 20ns, wraps every 4398046511096ns
[    0.000025] Switching to timer-based delay loop, resolution 20ns
[    0.000336] Calibrating delay loop (skipped), value calculated using timer frequency.. 96.00 BogoMIPS (lpj=480000)
[    0.000364] pid_max: default: 32768 minimum: 301
[    0.000552] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.000571] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.001579] CPU: Testing write buffer coherency: ok
[    0.001941] qcom_scm: convention: smc legacy
[    0.002908] Setting up static identity map for 0x80300000 - 0x8030003c
[    0.003076] rcu: Hierarchical SRCU implementation.
[    0.003353] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.003715] smp: Bringing up secondary CPUs ...
[    0.007241] smp: Brought up 1 node, 4 CPUs
[    0.007267] SMP: Total of 4 processors activated (384.00 BogoMIPS).
[    0.007277] CPU: All CPU(s) started in SVC mode.
[    0.012952] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.013116] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.013146] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.013386] pinctrl core: initialized pinctrl subsystem
[    0.015197] NET: Registered protocol family 16
[    0.015612] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.016743] thermal_sys: Registered thermal governor 'step_wise'
[    0.017186] cpuidle: using governor ladder
[    0.017244] cpuidle: using governor menu
[    0.044983] cryptd: max_cpu_qlen set to 1000
[    0.049352] usbcore: registered new interface driver usbfs
[    0.049428] usbcore: registered new interface driver hub
[    0.049487] usbcore: registered new device driver usb
[    0.049537] pps_core: LinuxPPS API ver. 1 registered
[    0.049549] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.049578] PTP clock support registered
[    0.051444] clocksource: Switched to clocksource arch_sys_counter
[    0.052350] NET: Registered protocol family 2
[    0.052622] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.053504] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.053572] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    0.053638] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.053728] TCP: Hash tables configured (established 4096 bind 4096)
[    0.053850] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.053891] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.054178] NET: Registered protocol family 1
[    0.054229] PCI: CLS 0 bytes, default 64
[    0.056524] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    0.061069] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.061094] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.194399] qcom-pcie 40000000.pci: host bridge /soc/pci@40000000 ranges:
[    0.194462] qcom-pcie 40000000.pci:       IO 0x0040200000..0x00402fffff -> 0x0040200000
[    0.194494] qcom-pcie 40000000.pci:      MEM 0x0040300000..0x0040ffffff -> 0x0040300000
[    0.473002] qcom-pcie 40000000.pci: Link up
[    0.473165] qcom-pcie 40000000.pci: PCI host bridge to bus 0000:00
[    0.473188] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.473208] pci_bus 0000:00: root bus resource [io  0x0000-0xfffff] (bus address [0x40200000-0x402fffff])
[    0.473224] pci_bus 0000:00: root bus resource [mem 0x40300000-0x40ffffff]
[    0.473276] pci 0000:00:00.0: [17cb:1001] type 01 class 0x060400
[    0.473307] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    0.473379] pci 0000:00:00.0: PME# supported from D0 D3hot
[    0.474986] PCI: bus0: Fast back to back transfers disabled
[    0.475317] pci 0000:01:00.0: [168c:0056] type 00 class 0x028000
[    0.475494] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    0.476328] pci 0000:01:00.0: PME# supported from D0 D3hot
[    0.478152] PCI: bus1: Fast back to back transfers disabled
[    0.478206] pci 0000:00:00.0: BAR 8: assigned [mem 0x40400000-0x405fffff]
[    0.478225] pci 0000:00:00.0: BAR 0: assigned [mem 0x40300000-0x40300fff]
[    0.478248] pci 0000:01:00.0: BAR 0: assigned [mem 0x40400000-0x405fffff 64bit]
[    0.478338] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    0.478355] pci 0000:00:00.0:   bridge window [mem 0x40400000-0x405fffff]
[    0.481237] pcieport 0000:00:00.0: AER: enabled with IRQ 103
[    0.483409] bam-dma-engine 8e04000.dma: num-channels unspecified in dt
[    0.483432] bam-dma-engine 8e04000.dma: num-ees unspecified in dt
[    0.484830] tcsr 1949000.tcsr: setting wifi_glb_cfg = 41000000
[    0.484951] tcsr 194b000.tcsr: setting usb hs phy mode select = e700e7
[    0.485048] tcsr 1953000.ess_tcsr: setting ess interface select = 0
[    0.485138] tcsr 1957000.tcsr: setting wifi_noc_memtype_m0_m2 = 2222222
[    0.485464] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.486027] msm_serial 78af000.serial: msm_serial: detected port #0
[    0.486073] msm_serial 78af000.serial: uartclk = 1843200
[    0.486125] 78af000.serial: ttyMSM0 at MMIO 0x78af000 (irq = 33, base_baud = 115200) is a MSM
[    0.486154] msm_serial: console setup on port #0
[    1.172118] printk: console [ttyMSM0] enabled
[    1.177321] msm_serial: driver initialized
[    1.186478] loop: module loaded
[    1.187657] nand: device found, Manufacturer ID: 0xad, Chip ID: 0xdc
[    1.188437] nand: Hynix H27U4G8F2EKA-BM
[    1.195058] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 128
[    1.198751] 15 fixed-partitions partitions found on MTD device qcom_nand.0
[    1.206275] Creating 15 MTD partitions on "qcom_nand.0":
[    1.213196] 0x000000000000-0x000000100000 : "SBL1"
[    1.220274] 0x000000100000-0x000000200000 : "MIBIB"
[    1.224887] 0x000000200000-0x000000300000 : "QSEE"
[    1.229590] 0x000000300000-0x000000380000 : "CDT"
[    1.233991] 0x000000380000-0x000000580000 : "APPSBL"
[    1.240349] 0x000000580000-0x000000600000 : "ART"
[    1.243818] 0x000000600000-0x000000680000 : "u_env"
[    1.248322] 0x000000680000-0x0000006c0000 : "s_env"
[    1.252841] 0x0000006c0000-0x000000700000 : "devinfo"
[    1.257625] 0x000000700000-0x00000a800000 : "kernel"
[    1.425661] 0x000000d00000-0x00000a800000 : "rootfs"
[    1.583273] mtd: device 10 (rootfs) set to be root filesystem
[    1.583620] mtdsplit: no squashfs found in "rootfs"
[    1.588025] 0x00000a800000-0x000014900000 : "alt_kernel"
[    1.755495] 0x00000ae00000-0x000014900000 : "alt_rootfs"
[    1.902873] 0x000014900000-0x000014b00000 : "sysdiag"
[    1.905367] 0x000014b00000-0x000020000000 : "syscfg"
[    2.104214] mdio_bus 90000.mdio-1: MDIO device at address 5 is missing.
[    2.124877] ESS reset ok!
[    2.196391] ESS reset ok!
[    2.956432] i2c /dev entries driver
[    2.956683] i2c_qup 78b7000.i2c: using default clock-frequency 100000
[    2.961590] sdhci: Secure Digital Host Controller Interface driver
[    2.965330] sdhci: Copyright(c) Pierre Ossman
[    2.971441] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.979907] NET: Registered protocol family 10
[    2.983038] Segment Routing with IPv6
[    2.985903] NET: Registered protocol family 17
[    2.989605] 8021q: 802.1Q VLAN Support v1.8
[    2.994083] Registering SWP/SWPB emulation handler
[    3.008524] ubi0: attaching mtd12
[    3.276500] random: crng init done
[    4.141352] ubi0: scanning is finished
[    4.152322] ubi0: attached mtd12 (name "alt_rootfs", size 155 MiB)
[    4.152370] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    4.157412] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    4.164344] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    4.171125] ubi0: good PEBs: 1240, bad PEBs: 0, corrupted PEBs: 0
[    4.177927] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128
[    4.184183] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1665787481
[    4.191270] ubi0: available PEBs: 0, total reserved PEBs: 1240, PEBs reserved for bad PEB handling: 80
[    4.200615] ubi0: background thread "ubi_bgt0d" started, PID 126
[    4.201903] block ubiblock0_0: created from ubi0:0(rootfs)
[    4.222022] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.
[    4.224834] Freeing unused kernel memory: 1024K
[    4.252366] Run /sbin/init as init process
[    4.252430]   with arguments:
[    4.252450]     /sbin/init
[    4.252466]   with environment:
[    4.252483]     HOME=/
[    4.252500]     TERM=linux
[    4.682598] init: Console is alive
[    4.682918] init: - watchdog -
[    5.805641] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    5.906586] genirq: irq_chip msmgpio did not update eff. affinity mask of irq 104
[    6.154316] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    6.154493] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[    6.159383] xhci-hcd xhci-hcd.0.auto: hcc params 0x0228f665 hci version 0x100 quirks 0x0000002002010010
[    6.166585] xhci-hcd xhci-hcd.0.auto: irq 105, io mem 0x08a00000
[    6.177291] hub 1-0:1.0: USB hub found
[    6.182052] hub 1-0:1.0: 1 port detected
[    6.185838] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    6.189571] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[    6.194919] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
[    6.202682] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    6.209599] hub 2-0:1.0: USB hub found
[    6.217313] hub 2-0:1.0: 1 port detected
[    6.221273] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    6.224947] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3
[    6.230414] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f665 hci version 0x100 quirks 0x0000002002010010
[    6.237842] xhci-hcd xhci-hcd.1.auto: irq 106, io mem 0x06000000
[    6.248283] hub 3-0:1.0: USB hub found
[    6.253492] hub 3-0:1.0: 1 port detected
[    6.257268] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    6.261006] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4
[    6.266342] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    6.274005] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    6.281034] hub 4-0:1.0: USB hub found
[    6.288821] hub 4-0:1.0: config failed, hub doesn't have any ports! (err -19)
[    6.297130] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    6.303448] init: - preinit -
[    7.301037] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   11.491235] UBIFS (ubi0:1): Mounting in unauthenticated mode
[   11.491664] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 207
[   11.538958] UBIFS (ubi0:1): recovery needed
[   11.679378] UBIFS (ubi0:1): recovery completed
[   11.679821] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[   11.682943] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[   11.690756] UBIFS (ubi0:1): FS size: 139927552 bytes (133 MiB, 1102 LEBs), journal size 6983680 bytes (6 MiB, 55 LEBs)
[   11.700720] UBIFS (ubi0:1): reserved for root: 4952683 bytes (4836 KiB)
[   11.711242] UBIFS (ubi0:1): media format: w5/r0 (latest is w5/r0), UUID 17ED5794-DB61-47F9-B366-210605756091, small LPT model
[   11.723239] mount_root: switching to ubifs overlay
[   11.745997] urandom-seed: Seeding with /etc/urandom.seed
[   11.942760] procd: - early -
[   11.943306] procd: - watchdog -
[   12.558433] procd: - watchdog -
[   12.571938] procd: - ubus -
[   12.653369] procd: - init -
[   13.377844] kmodloader: loading kernel modules from /etc/modules.d/*
[   13.447635] urngd: v1.0.2 started.
[   13.483438] hid: raw HID events driver (C) Jiri Kosina
[   13.494287] Bluetooth: Core ver 2.22
[   13.494455] NET: Registered protocol family 31
[   13.496943] Bluetooth: HCI device and connection manager initialized
[   13.501213] Bluetooth: HCI socket layer initialized
[   13.507790] Bluetooth: L2CAP socket layer initialized
[   13.512353] Bluetooth: SCO socket layer initialized
[   13.521651] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   13.522223] Bluetooth: BNEP filters: protocol multicast
[   13.527770] Bluetooth: BNEP socket layer initialized
[   13.535748] usbcore: registered new interface driver btusb
[   13.540770] Loading modules backported from Linux version v5.15.58-0-g7d8048d4e064
[   13.543291] Backport generated by backports.git v5.15.58-1-0-g42a95ce7
[   13.552980] Bluetooth: HCI UART driver ver 2.3
[   13.557275] Bluetooth: HCI UART protocol H4 registered
[   13.561762] Bluetooth: HCI UART protocol BCSP registered
[   13.568717] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[   13.572365] Bluetooth: HIDP socket layer initialized
[   13.592047] Bluetooth: RFCOMM TTY layer initialized
[   13.592107] Bluetooth: RFCOMM socket layer initialized
[   13.595775] Bluetooth: RFCOMM ver 1.11
[   13.696266] PPP generic driver version 2.4.2
[   13.701333] NET: Registered protocol family 24
[   13.710934] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[   13.711009] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[   13.735144] ath10k 5.15 driver, optimized for CT firmware, probing pci device: 0x56.
[   13.736149] ath10k_pci 0000:01:00.0: enabling device (0140 -> 0142)
[   13.742770] ath10k_pci 0000:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[   14.838165] ath10k_pci 0000:01:00.0: qca9888 hw2.0 target 0x01000000 chip_id 0x00000000 sub 0000:0000
[   14.838222] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   14.850704] ath10k_pci 0000:01:00.0: firmware ver 10.4b-ct-9888-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 59e741e7
[   15.143046] ath10k_pci 0000:01:00.0: Loading BDF type 0
[   15.143663] ath10k_pci 0000:01:00.0: failed to fetch board data for bus=pci,bmi-chip-id=0,bmi-board-id=29,variant=linksys-whw03v2-fcc from ath10k/QCA9888/hw2.0/board-2.bin
[   15.351391] ath10k_pci 0000:01:00.0: failed to fetch board-2.bin or board.bin from ath10k/QCA9888/hw2.0
[   15.351527] ath10k_pci 0000:01:00.0: failed to fetch board file: -12
[   15.359791] ath10k_pci 0000:01:00.0: could not probe fw (-12)
[   16.493137] ath10k_ahb a000000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
[   16.493189] ath10k_ahb a000000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   16.505084] ath10k_ahb a000000.wifi: firmware ver 10.4b-ct-4019-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 6b2b5c5b
[   16.556789] ath10k_ahb a000000.wifi: Loading BDF type 0
[   16.558466] ath10k_ahb a000000.wifi: board_file api 2 bmi_id 0:20 crc32 0e4c84dc
[   17.848258] ath10k_ahb a000000.wifi: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
[   17.848318] ath10k_ahb a000000.wifi: msdu-desc: 2500  skid: 32
[   17.896387] ath10k_ahb a000000.wifi: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
[   17.898043] ath10k_ahb a000000.wifi: wmi print 'free: 53252 iram: 13432 sram: 35752'
[   18.062083] ath10k_ahb a000000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1
[   18.235645] ath: EEPROM regdomain: 0x0
[   18.235659] ath: EEPROM indicates default country code should be used
[   18.235665] ath: doing EEPROM country->regdmn map search
[   18.235674] ath: country maps to regdmn code: 0x3a
[   18.235683] ath: Country alpha2 being used: US
[   18.235688] ath: Regpair used: 0x3a
[   19.369523] ath10k_ahb a800000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
[   19.369609] ath10k_ahb a800000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   19.383055] ath10k_ahb a800000.wifi: firmware ver 10.4b-ct-4019-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 6b2b5c5b
[   19.433191] ath10k_ahb a800000.wifi: Loading BDF type 0
[   19.433939] ath10k_ahb a800000.wifi: board_file api 2 bmi_id 0:21 crc32 0e4c84dc
[   20.725245] ath10k_ahb a800000.wifi: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
[   20.725312] ath10k_ahb a800000.wifi: msdu-desc: 2500  skid: 32
[   20.772429] ath10k_ahb a800000.wifi: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
[   20.773986] ath10k_ahb a800000.wifi: wmi print 'free: 53252 iram: 13432 sram: 35752'
[   20.912471] ath10k_ahb a800000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1
[   21.073543] ath: EEPROM regdomain: 0x0
[   21.073559] ath: EEPROM indicates default country code should be used
[   21.073565] ath: doing EEPROM country->regdmn map search
[   21.073575] ath: country maps to regdmn code: 0x3a
[   21.073583] ath: Country alpha2 being used: US
[   21.073588] ath: Regpair used: 0x3a
[   21.084932] batman_adv: B.A.T.M.A.N. advanced 2022.0-openwrt-4 (compatibility version 15) loaded
[   21.092188] kmodloader: done loading kernel modules from /etc/modules.d/*
[   28.034801] br-lan: port 1(eth0) entered blocking state
[   28.034850] br-lan: port 1(eth0) entered disabled state
[   28.039280] device eth0 entered promiscuous mode
[   28.143426] ess_edma c080000.edma eth1: Link is Down
[   28.145075] br-lan: port 2(eth1) entered blocking state
[   28.147514] br-lan: port 2(eth1) entered disabled state
[   28.153119] device eth1 entered promiscuous mode
[   29.031589] br-lan: port 1(eth0) entered blocking state
[   29.031642] br-lan: port 1(eth0) entered forwarding state
[   29.041645] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   30.780014] ath10k_ahb a800000.wifi: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
[   30.780076] ath10k_ahb a800000.wifi: msdu-desc: 2500  skid: 32
[   30.827470] ath10k_ahb a800000.wifi: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
[   30.831221] ath10k_ahb a800000.wifi: wmi print 'free: 53252 iram: 13432 sram: 35752'
[   31.148157] ath10k_ahb a800000.wifi: rts threshold -1
[   31.149716] ath10k_ahb a800000.wifi: Firmware lacks feature flag indicating a retry limit of > 2 is OK, requested limit: 4
[   31.168193] br-lan: port 3(wlan2) entered blocking state
[   31.168274] br-lan: port 3(wlan2) entered disabled state
[   31.173477] device wlan2 entered promiscuous mode
[   31.273026] ess_edma c080000.edma eth1: Link is Up - 1Gbps/Full - flow control off
[   31.339999] ath10k_ahb a800000.wifi: NOTE:  Firmware DBGLOG output disabled in debug_mask: 0x10000000
[   32.700951] ath10k_ahb a000000.wifi: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
[   32.701002] ath10k_ahb a000000.wifi: msdu-desc: 2500  skid: 32
[   32.751033] ath10k_ahb a000000.wifi: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
[   32.751678] ath10k_ahb a000000.wifi: wmi print 'free: 53252 iram: 13432 sram: 35752'
[   33.114259] ath10k_ahb a000000.wifi: rts threshold -1
[   33.115549] ath10k_ahb a000000.wifi: Firmware lacks feature flag indicating a retry limit of > 2 is OK, requested limit: 4
[   33.119445] br-lan: port 2(eth1) entered blocking state
[   33.129375] br-lan: port 2(eth1) entered forwarding state
[   33.136590] br-lan: port 4(wlan1) entered blocking state
[   33.139942] br-lan: port 4(wlan1) entered disabled state
[   33.146113] device wlan1 entered promiscuous mode
[   33.585836] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[   33.586619] br-lan: port 4(wlan1) entered blocking state
[   33.591331] br-lan: port 4(wlan1) entered forwarding state
[   34.096499] IPv6: ADDRCONF(NETDEV_CHANGE): wlan2: link becomes ready
[   34.097124] br-lan: port 3(wlan2) entered blocking state
[   34.102115] br-lan: port 3(wlan2) entered forwarding state

You can scp this file to /lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin and it should work after reboot.

Thanks Ed for the quick reply. I’ll test when I get home. When I compiled, I had already included the same file from the same repository and downloaded it to my project, must have done something wrong.

EDIT: fixed it, board file loaded correctly now, made a typo.

I'm encountering the following issues now:

  1. Although the QCA9888 board file is loaded, I can't get my mesh setup working with 802.11s. I've doublechecked the setup and I can't find anything odd (same mesh-id, WPA3-SAE, etc.). Any pointers would be welcome. Moving the setup to radio1 (bgn) works though.
  2. LED is not working post u-boot, from the point openwrt is loaded. Any kernel mod or package I should have included in menuconfig? Something else I overlooked perhaps?
  3. Sysupgrade doesn't work. Need to flash back to stock FW using serial (tftp with run flashimg), then use factory image using fwupdate.html. @flipy: in one of your earlier posts you mentioned you'd look at this, was that ever fixed?

As FYI: I've checked out a v22.03.2 from the openwrt repository, applied the changes from @ej5921, then built the firmware. This allows installing packages from official repositories.

Wifi has been stable for >24 hours on both 2.4 and 5 ghz (on QCA4019 radios).

Hi EJ, I've been using your firmware for WHW03 V2 and it works great, however there are some bugs that needs polishing:

  • When scanning the QC9886 for APs to put it in STA mode, it returns no clients in the list and displays "No data".
  • The LED is stuck in Blue light and can't be controlled in the LED Configuration page.
  • QCA9886 only allows ac Wifi channels starting from 100 (should start from 36)

Hi all,
any chance to get a new image for v1?
is there still someone working on this?

HNY everyone

Discovered a minor bug in package/boot/uboot-envtools/files/ipq40xx for WHW03v2 to retrieve the uboot environment. There should be a separate entry as follows:

linksys,whw03v2)
        ubootenv_add_uci_config "/dev/mtd6" "0x0" "0x80000" "0x20000"
        ;;

The u_env is actually at (from cat /proc/mtd):

root@ae-ap03:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00100000 00020000 "SBL1"
mtd1: 00100000 00020000 "MIBIB"
mtd2: 00100000 00020000 "QSEE"
mtd3: 00080000 00020000 "CDT"
mtd4: 00200000 00020000 "APPSBL"
mtd5: 00080000 00020000 "ART"
mtd6: 00080000 00020000 "u_env"
mtd7: 00040000 00020000 "s_env"
mtd8: 00040000 00020000 "devinfo"
mtd9: 0a100000 00020000 "kernel"
mtd10: 09b00000 00020000 "rootfs"
mtd11: 0a100000 00020000 "alt_kernel"
mtd12: 09b00000 00020000 "alt_rootfs"
mtd13: 00200000 00020000 "sysdiag"
mtd14: 0b500000 00020000 "syscfg"

Compiled a new version and now the uboot environment is included as part of the output of fw_printenv.
It used to throw a CRC error, defaulting to the default environment.

I've got 3 devices and I've decided to flash both boot partitions as all devices have been running stably for the past few weeks.

1 Like

Thanks for the feedback.

I wonder if these 2 are linked with the radio restricted to channels starting from 100 and therefore not seeing any clients. It's probably also the expected behaviour with the QCA9886 used as the backhaul for the communication between mesh nodes. I'm not sure how to change this behaviour (probably something in the board-2.bin file).

It's not currently configurable and I won't have time to investigate a fix. Feel free to submit a pull request if you find a way to get it working!

On tri-radio devices, the 5 GHz band is typically split into two bands for each of the two 5 GHz radios (and yes, that typically is one radio for under ch100 and the other for everything above). This typically has two reasons, first one would be interference between the antennas (you don't need overlap, to seriously affect the other radio at distances of ~10cm and less), the other is that there are typically analogue bandfilters in the rf path to split the two radios (both to reduce the interference from the other radio, to allow mixing the signal into (potenially-) one antenna, because it's cheaper to build that way, etc.).

So even if you drop the software side limit (which is easy), the radio would behave poorly on the 'wrong' sub-band and might even take damage.

1 Like

Hi all,

Just wondering what the current status of the builds for WHW03V1 is @ej5921 @usermx01 ? I'm also wondering how the mesh network performs with OpenWRT or do the routers operate a single independent nodes?

I'm working with these devices in the hope's I can access (at a fairly fast rate) the RSSI of a single device from each of the three nodes and the trilateralize the location of the device. This is for an art installation involving soncification. If anyone has any experience interacting with OpenWRT via HTTP/API format, I would be greatly in debt to get some advice from you!

Best,
Jackson

Hi,
I've got 3x WHW03 V2 (A03 V2) devices, and today I flashed one of them with this firmware. (openwrt-ipq40xx-generic-linksys_whw03v2-squashfs-factory.bin) It didn't really come back after that. As far as I can tell, it's partially booted up, as I can see it has an IP address on my network. It responds to ping and when I do a reverse DNS lookup, ot shows as OpenWRT.mydomain.

However I can't SSH or access any kind of web interface on it. An nmap scan reports all ports closed.

Any ideas what I can try next? I am not a developer, but I am also not new to the custom firmware/ROM scene and have many years of Linux experience.

I briefly tried to set up tftp64 but after the unit rebooted, nothing happened. I am not sure if these Velop devices expect a TFTP server or client, as I haven't got that far yet.

Any tips would be greatly appreciated.

If it has two ethernet ports, try the other one. On these devices, OpenWrt considers one to be wan (dhcp client, everything closed down), the other(s) lan (dhcp server, unless there already is a concurrent one, everything open).

Hi @bonezAU,

slh is right, if you use the image found on the OpenWRT's website, there is one ethernet port configured as a WAN and the other one as a LAN.
As the WIFI is turned off by default, you need to connect your PC to the router through the LAN port (WAN won't work). Once done, you should be able to SSH into it and/or use the Web UI.

Once everything is configured, you can change the WAN port to behave as a LAN port if you want, but this is done manually.

thanks @slh and @vtremblay for your replies. No luck for me unfortunately. I read somewhere that holding the reset button while removing the power cable 3x with a 2 second gap in between allows the unit to reboot from the main partition (Linksys original firmware), so I can do that at least. As soon as I flash flipy's fw through the Linksys web GUI, the units drop off and don't come back.

I've currently got the 3 of them in bridge mode with my main Asus router as the DHCP server, so I can see when they drop off and don't get an IP again.

Not sure if this is anything to do with why I can't get access to them or not. I have tried flashing flipy's firmware and then plugging one of the units directly into my PC, but I end up with a 169.x.x.x address on the network adapter.

@bonezAU, this procedure might not work with the reset button. This button is not handled directly by hardware, it relies on the software stack.

I suggest to do the procedure by plugin and unplugging the device. You can find the procedure here.
I do have a similar setup for my network and it works well. The only thing is that you need to do it step by step. If you plug the velop directly in the main router without configuring the DHCP correctly, your whole network might fail as the main router and the velop will fight for the 192.168.1.x range.

The trick is to configure the WHW03 device separately and then plug it in the main router once everything is ready.
If you need some documentation on how to setup a mesh with OpenWRT, I suggest you this blog post on BATMAN ADV. This is, by far, the best article that I have found.

Also, I am not sure exactly what version of the device you have, but if it is the V2, you can use the official build which might be a little bit more stable. You can find it on the page that I linked for the reset procedure. Be aware that this is a snapshot build based on the master branch and not based on a release, but I never had any major issue with it.