Halowlink mesh Eero/EasyCell backhaul

Hi guys,

We started testing the the 802.11 mesh. We had a few hiccups that perhaps you could help with.

We had tested the device at our office with a fiber modem connected to an eero device 6epro as the backhaul.

The configuration was like this.

[Fiber Modem]

[eero Pro 6E] ← 2.4 GHz Wi-Fi → [HaLowLink 1 #1 – Mesh Gateway]
↓ (DHCP Server: ON)
↓ (HaLow 802.11ah)
[HaLowLink 1 #2, #3, … – Mesh Nodes]

[IoT Clients – Get IPs from Gateway]

This worked perfectly for weeks without any changes to the default eero settings. When we switched the wifi backhaul to use the EasyCell device (connecting to the Easy Cell wifi 2.4ghz) we had a lot of problems. The mesh devices could not

get IP addresses, the halow mesh gateway crashed a couple times etc.

So my big question is what would be different about the eero vs the easy cell? And how can i get the easy cell to behave as a backhaul for this halowlink mesh?

We need an LTE backhaul at the location as there are no other good backhaul options readily available but there is good signal with the right antenna.

Best,

Bradley

Sorry you had that experience. If you’re running a DHCP server on your HaLowLink, whatever is happening with 2.4 should be entirely separate to the ability of the mesh nodes to get IPs etc., and obviously the gateway should not be crashing.

Do you have any logs from the Mesh Gateway? When you say ‘crashed’, what was the exact behaviour? Logs are usually cleared on reboot, but if you’re seeing this repeatedly, it would be useful to turn on the logging to the flash so we can try to capture what was happening. You can do this via Advanced/System/System/Logging, setting the file to something like /root/debug.log

It would also be interesting to know the rough topology here - i.e. how were they deployed in your office, and how are they deployed in the field?

I will try to get the logs. I tried it twice times yesterday starting off from a clean firmware reset and it worked each time but i did not get the logs. Alas today it is not happening :wink: :wink:

Note when I say crashed it seemed that the system restarted and when it came back the wifi light was off and I could not connect to the device via wifi of course.

I’m afraid all I have is more questions :slight_smile:

  • How did you know that the system restarted?
  • Which WiFi light was this, the 2.4 or the HaLow?
  • How do you know that the mesh devices are not getting IP addresses?

Still open questions from before:

  • how are your mesh units connected? (quick diagram?)

Note that if you’re using a 2.4 uplink and the 2.4 WiFi light goes out, this can be just a sign that it’s lost the connection to your EasyCell 2.4 AP. But the logs would shed more light on exactly what’s happening here, along with a copy of /etc/config/wireless (strip your passwords) and /etc/config/network.

James,

James, thank you for your followup. 1) I know because the device rebooted–I looked at the logs via logread and it had a new MorseMicro and time stamp shortly after the event. 2) The Wifi Light that was off after restart was the bottom light labeled “wifi 2.4Ghz”. That light was off. 3) I logged onto the devices and did an ifconfig on eth0. How did I login. The devices have a built in ec25 lte radio. We use that as the primary and want to use halowlink as a way to get to devices as a secondary when the lte coverage is very bad. 4) the units are in a 802.11 mesh grid. All of the units in my test configuration are connectable to the “mesh gateway” which has the connection to the backhaul.

I will attempt to get you the logs thank you!

not sure, but my first guess is that you perhaps are using Halow and WiFi both in L2 backhaul modes and STP is not correctly setup (aka you have a loop). We faces this in early stages and when its looping, the Halow/rPI unit crashed indeed … but i guess this makes sense. Look at logs for MAC flapping between ports, the kernel kinda logs them if you know where to look for.

New thought: is it possible that you have some kind of dynamic channel switching enabled on the EasyCell 2.4 interface? In part because the HaLowLink is trying to run a 2.4 AP on the same radio as its STA connection, this can cause problems.

I would recommend either:

  • making sure the EasyCell router does not change channels
  • disabling the 2.4 AP interface via the Quick Config page on your HL1 (so the 2.4 Client is free to change channels without the AP interfering)

In fact, disabling the 2.4 AP might be worth trying regardless.

James et al, it took me a while but here are the logs. note it seems that the device is not crashing only the 2.4 is going out.

 [    0.000000] Linux version 5.15.167 (jenkins@4b8bb8a093ef) (mipsel-openwrt-linux-musl-gcc.bin (OpenWrt GCC 12.3.0 r24106-10cc5fcd00) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Mon May 26 07:00:51 2025
[    0.000000] SoC Type: MediaTek MT7621 ver:1 eco:3
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001992f (MIPS 1004Kc)
[    0.000000] MIPS: machine is MorseMicro HaLowLink 1
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] VPE topology {2,2} total 4
[    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x000000000fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000000fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000000fffffff]
[    0.000000] percpu: Embedded 12 pages/cpu s17808 r8192 d23152 u49152
[    0.000000] pcpu-alloc: s17808 r8192 d23152 u49152 alloc=12*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 64960
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Writing ErrCtl register=00032407
[    0.000000] Readback ErrCtl register=00032407
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 248392K/262144K available (7351K kernel code, 629K rwdata, 1496K rodata, 1264K init, 225K bss, 13752K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, 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: 256
[    0.000000] clocksource: GIC: mask: 0xffffffffffffffff max_cycles: 0xcaf478abb4, max_idle_ns: 440795247997 ns
[    0.000004] sched_clock: 64 bits at 880MHz, resolution 1ns, wraps every 4398046511103ns
[    0.008109] Calibrating delay loop... 586.13 BogoMIPS (lpj=2930688)
[    0.066228] pid_max: default: 32768 minimum: 301
[    0.071643] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.078855] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.090849] rcu: Hierarchical SRCU implementation.
[    0.096399] smp: Bringing up secondary CPUs ...
[    0.101897] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.101929] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.101945] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.101995] CPU1 revision is: 0001992f (MIPS 1004Kc)
[    0.161224] Synchronize counters for CPU 1: done.
[    0.193998] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.194020] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.194032] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.194060] CPU2 revision is: 0001992f (MIPS 1004Kc)
[    0.252905] Synchronize counters for CPU 2: done.
[    0.283621] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.283643] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.283654] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.283688] CPU3 revision is: 0001992f (MIPS 1004Kc)
[    0.338106] Synchronize counters for CPU 3: done.
[    0.367970] smp: Brought up 1 node, 4 CPUs
[    0.378414] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.388235] futex hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.395400] pinctrl core: initialized pinctrl subsystem
[    0.402373] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.409119] thermal_sys: Registered thermal governor 'step_wise'
[    0.425506] FPU Affinity set after 11720 emulations
[    0.446131] clocksource: Switched to clocksource GIC
[    0.452734] NET: Registered PF_INET protocol family
[    0.457844] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.466237] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.474533] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.482229] TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.489872] TCP bind hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.496978] TCP: Hash tables configured (established 2048 bind 2048)
[    0.503432] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.509944] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.517316] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.522930] PCI: CLS 0 bytes, default 32
[    0.529623] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[    0.542213] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.548086] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.559469] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.571643] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    0.577723] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    0.583672] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    0.597659] mt7621-pci 1e140000.pcie: host bridge /pcie@1e140000 ranges:
[    0.604391] mt7621-pci 1e140000.pcie:   No bus range found for /pcie@1e140000, using [bus 00-ff]
[    0.613182] mt7621-pci 1e140000.pcie:      MEM 0x0060000000..0x006fffffff -> 0x0060000000
[    0.621347] mt7621-pci 1e140000.pcie:       IO 0x001e160000..0x001e16ffff -> 0x0000000000
[    0.986126] mt7621-pci 1e140000.pcie: pcie1 no card, disable it (RST & CLK)
[    0.993033] mt7621-pci 1e140000.pcie: pcie2 no card, disable it (RST & CLK)
[    0.999994] mt7621-pci 1e140000.pcie: PCIE0 enabled
[    1.004813] PCI coherence region base: 0x60000000, mask/settings: 0xf0000002
[    1.012010] mt7621-pci 1e140000.pcie: PCI host bridge to bus 0000:00
[    1.018310] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.023721] pci_bus 0000:00: root bus resource [mem 0x60000000-0x6fffffff]
[    1.030575] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    1.036772] pci 0000:00:00.0: [0e8d:0801] type 01 class 0x060400
[    1.042701] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x7fffffff]
[    1.048948] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
[    1.055202] pci 0000:00:00.0: supports D1
[    1.059137] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    1.067279] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.075530] pci 0000:01:00.0: [14c3:7603] type 00 class 0x028000
[    1.081524] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[    1.087887] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    1.095660] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    1.100871] pci 0000:00:00.0:   bridge window [io  0x0000-0x0fff]
[    1.106911] pci 0000:00:00.0:   bridge window [mem 0x00000000-0x000fffff]
[    1.113608] pci 0000:00:00.0:   bridge window [mem 0x00000000-0x000fffff pref]
[    1.120808] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    1.127424] pci 0000:00:00.0: BAR 0: no space for [mem size 0x80000000]
[    1.133938] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x80000000]
[    1.140879] pci 0000:00:00.0: BAR 8: assigned [mem 0x60000000-0x600fffff]
[    1.147621] pci 0000:00:00.0: BAR 9: assigned [mem 0x60100000-0x601fffff pref]
[    1.154761] pci 0000:00:00.0: BAR 1: assigned [mem 0x60200000-0x6020ffff]
[    1.161533] pci 0000:00:00.0: BAR 7: assigned [io  0x0000-0x0fff]
[    1.167613] pci 0000:01:00.0: BAR 0: assigned [mem 0x60000000-0x600fffff]
[    1.174307] pci 0000:00:00.0: PCI bridge to [bus 01]
[    1.179260] pci 0000:00:00.0:   bridge window [io  0x0000-0x0fff]
[    1.185277] pci 0000:00:00.0:   bridge window [mem 0x60000000-0x600fffff]
[    1.192048] pci 0000:00:00.0:   bridge window [mem 0x60100000-0x601fffff pref]
[    1.202666] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    1.214805] printk: console [ttyS0] disabled
[    1.219216] 1e000c00.uartlite: ttyS0 at MMIO 0x1e000c00 (irq = 19, base_baud = 3125000) is a 16550A
[    1.228262] printk: console [ttyS0] enabled
[    1.236547] printk: bootconsole [early0] disabled
[    1.247069] 1e000d00.uartlite2: ttyS1 at MMIO 0x1e000d00 (irq = 20, base_baud = 3125000) is a 16550A
[    1.261045] spi-mt7621 1e000b00.spi: sys_freq: 220000000
[    1.268041] spi-nor spi0.0: mx25l25635e (32768 Kbytes)
[    1.273273] 5 fixed-partitions partitions found on MTD device spi0.0
[    1.279708] OF: Bad cell count for /palmbus@1e000000/spi@b00/flash@0/partitions
[    1.287104] OF: Bad cell count for /palmbus@1e000000/spi@b00/flash@0/partitions
[    1.294996] OF: Bad cell count for /palmbus@1e000000/spi@b00/flash@0/partitions
[    1.302450] OF: Bad cell count for /palmbus@1e000000/spi@b00/flash@0/partitions
[    1.310176] Creating 5 MTD partitions on "spi0.0":
[    1.314985] 0x000000000000-0x000000070000 : "u-boot"
[    1.321458] 0x000000070000-0x000000080000 : "openwrt-env"
[    1.328206] 0x000000080000-0x000000090000 : "u-boot-env"
[    1.334747] 0x000000090000-0x0000000a0000 : "factory"
[    1.341245] 0x0000000a0000-0x000002000000 : "firmware"
[    1.348029] 2 uimage-fw partitions found on MTD device firmware
[    1.353978] Creating 2 MTD partitions on "firmware":
[    1.358983] 0x000000000000-0x0000002d8cc9 : "kernel"
[    1.363933] mtd: partition "kernel" doesn't end on an erase/write block -- force read-only
[    1.373575] 0x0000002d8cc9-0x000001f60000 : "rootfs"
[    1.378623] mtd: partition "rootfs" doesn't start on an erase/write block boundary -- force read-only
[    1.389009] mtd: setting mtd6 (rootfs) as root device
[    1.394201] 1 squashfs-split partitions found on MTD device rootfs
[    1.400431] 0x0000013c0000-0x000001f60000 : "rootfs_data"
[    1.550050] mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module
[    1.569152] mtk_soc_eth 1e100000.ethernet eth0: mediatek frame engine at 0xbe100000, irq 22
[    1.580801] i2c_dev: i2c /dev entries driver
[    1.585980] i2c-mt7621 1e000900.i2c: clock 100 kHz
[    1.597920] NET: Registered PF_INET6 protocol family
[    1.605494] Segment Routing with IPv6
[    1.609371] In-situ OAM (IOAM) with IPv6
[    1.613388] NET: Registered PF_PACKET protocol family
[    1.618601] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.632133] 8021q: 802.1Q VLAN Support v1.8
[    1.643188] mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module
[    1.673264] mt7530-mdio mdio-bus:1f: configuring for fixed/rgmii link mode
[    1.681023] mt7530-mdio mdio-bus:1f: Link is Up - 1Gbps/Full - flow control rx/tx
[    1.686990] mt7530-mdio mdio-bus:1f usblan (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7530 PHY] (irq=24)
[    1.702495] mt7530-mdio mdio-bus:1f lan (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7530 PHY] (irq=25)
[    1.715982] mt7530-mdio mdio-bus:1f wan (uninitialized): PHY [mt7530-0:04] driver [MediaTek MT7530 PHY] (irq=26)
[    1.728507] DSA: tree 0 setup
[    1.733639] clk: Disabling unused clocks
[    1.744496] VFS: Mounted root (squashfs filesystem) readonly on device 31:6.
[    1.757709] Freeing unused kernel image (initmem) memory: 1264K
[    1.763671] This architecture does not have kernel memory protection.
[    1.770144] Run /sbin/init as init process
[    1.774225]   with arguments:
[    1.774230]     /sbin/init
[    1.774236]   with environment:
[    1.774240]     HOME=/
[    1.774246]     TERM=linux
[    2.245131] init: Console is alive
[    2.249224] init: - watchdog -
[    3.954508] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.099577] usbcore: registered new interface driver usbfs
[    4.105301] usbcore: registered new interface driver hub
[    4.110913] usbcore: registered new device driver usb
[    4.189582] sdhci: Secure Digital Host Controller Interface driver
[    4.195790] sdhci: Copyright(c) Pierre Ossman
[    4.201648] sdhci-pltfm: SDHCI platform and OF driver helper
[    4.211260] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.228208] init: - preinit -
[    5.186035] random: procd: uninitialized urandom read (4 bytes read)
[    7.510850] jffs2: notice: (435) jffs2_build_xattr_subsystem: complete building xattr subsystem, 111 of xdatum (18 unchecked, 90 orphan) and 132 of xref (30 dead, 78 orphan) found.
[    7.529479] mount_root: switching to jffs2 overlay
[    7.544997] overlayfs: upper fs does not support tmpfile.
[    7.563561] urandom-seed: Seeding with /etc/urandom.seed
[    7.657830] procd: - early -
[    7.660988] procd: - watchdog -
[    8.284733] procd: - watchdog -
[    8.289309] procd: - ubus -
[    8.394248] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.403312] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.410314] random: ubusd: uninitialized urandom read (4 bytes read)
[    8.427689] procd: - init -
[    9.511248] morsechipreset: unable to find sdio device/driver to unbind; proceeding anyway
[    9.920907] kmodloader: loading kernel modules from /etc/modules.d/*
[   10.237164] Loading modules backported from Linux version v6.1.110-0-g5f55cad62cc9d
[   10.244840] Backport generated by backports.git v6.1.110-1-0-g965f73fc
[   10.452911] pci 0000:00:00.0: enabling device (0000 -> 0003)
[   10.458808] mt7603e 0000:01:00.0: enabling device (0000 -> 0002)
[   10.465063] mt7603e 0000:01:00.0: ASIC revision: 76030010
[   10.478827] mt7603e 0000:01:00.0: TX power adjustment table text: HaLowLink 1 MT7603E TX Power Adjustment Table V1.0.
[   10.490704] mt7603e 0000:01:00.0: Firmware Version: ap_pcie
[   10.496357] mt7603e 0000:01:00.0: Build Time: 20160107100755
[   10.520206] urngd: v1.0.2 started.
[   10.536170] mt7603e 0000:01:00.0: firmware init done
[   10.713193] mt7603e 0000:01:00.0: registering led 'mt76-phy0'
[   10.757617] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   10.777543] tun: Universal TUN/TAP device driver, 1.6
[   10.796896] GACT probability on
[   10.802540] Mirror/redirect action on
[   10.823481] u32 classifier
[   10.826285]     input device check on
[   10.829959]     Actions configured
[   10.910599] mmc0: new high speed SDIO card at address 0001
[   11.130432] Morse Micro Dot11ah driver registration. Version 0-rel_1_14_1_2024_Dec_05
[   11.165936] morse micro driver registration. Version 0-rel_1_14_1_2024_Dec_05
[   11.174188] morse_sdio mmc0:0001:2: morse_of_probe: Reading gpio pins configuration from device tree
[   11.428708] morse_sdio mmc0:0001:2: Loaded firmware from morse/mm6108.bin, size 430512, crc32 0xb25c264b
[   11.480965] random: crng init done
[   11.484444] random: 26 urandom warning(s) missed due to ratelimiting
[   11.520036] morse_sdio mmc0:0001:2: Loaded BCF from morse/bcf_mm_hl1.bin, size 1702, crc32 0xee2ea617
[   12.108380] morse_sdio mmc0:0001:2: Driver loaded with kernel module parameters
[   12.115830] morse_sdio mmc0:0001:2:     enable_1mhz_probes                      : Y
[   12.123736] morse_sdio mmc0:0001:2:     enable_hw_scan                          : Y
[   12.131640] morse_sdio mmc0:0001:2:     enable_pv1                              : N
[   12.139390] morse_sdio mmc0:0001:2:     enable_page_slicing                     : N
[   12.147156] morse_sdio mmc0:0001:2:     log_modparams_on_boot                   : Y
[   12.154871] morse_sdio mmc0:0001:2:     enable_mcast_rate_control               : N
[   12.162628] morse_sdio mmc0:0001:2:     enable_mcast_whitelist                  : Y
[   12.170406] morse_sdio mmc0:0001:2:     ocs_type                                : 1
[   12.178147] morse_sdio mmc0:0001:2:     enable_wiphy                            : 0
[   12.185835] morse_sdio mmc0:0001:2:     enable_auto_mpsw                        : Y
[   12.193557] morse_sdio mmc0:0001:2:     duty_cycle_probe_retry_threshold        : 2500
[   12.201490] morse_sdio mmc0:0001:2:     duty_cycle_mode                         : 0
[   12.209159] morse_sdio mmc0:0001:2:     enable_auto_duty_cycle                  : Y
[   12.216833] morse_sdio mmc0:0001:2:     dhcpc_lease_update_script               : /morse/scripts/dhcpc_update.sh
[   12.227012] morse_sdio mmc0:0001:2:     enable_ibss_probe_filtering             : Y
[   12.234650] morse_sdio mmc0:0001:2:     enable_dhcpc_offload                    : N
[   12.242315] morse_sdio mmc0:0001:2:     enable_arp_offload                      : N
[   12.250011] morse_sdio mmc0:0001:2:     enable_bcn_change_seq_monitor           : 0
[   12.257673] morse_sdio mmc0:0001:2:     enable_cac                              : 0
[   12.265306] morse_sdio mmc0:0001:2:     max_mc_frames                           : 10
[   12.273049] morse_sdio mmc0:0001:2:     tx_max_power_mbm                        : 2200
[   12.280980] morse_sdio mmc0:0001:2:     enable_twt                              : Y
[   12.288649] morse_sdio mmc0:0001:2:     enable_mac80211_connection_monitor      : N
[   12.296329] morse_sdio mmc0:0001:2:     enable_airtime_fairness                 : N
[   12.303966] morse_sdio mmc0:0001:2:     enable_raw                              : Y
[   12.311653] morse_sdio mmc0:0001:2:     max_aggregation_count                   : 0
[   12.319352] morse_sdio mmc0:0001:2:     max_rate_tries                          : 1
[   12.327013] morse_sdio mmc0:0001:2:     max_rates                               : 4
[   12.334648] morse_sdio mmc0:0001:2:     enable_watchdog_reset                   : N
[   12.342306] morse_sdio mmc0:0001:2:     watchdog_interval_secs                  : 30
[   12.350065] morse_sdio mmc0:0001:2:     enable_watchdog                         : Y
[   12.357730] morse_sdio mmc0:0001:2:     country                                 : US
[   12.365456] morse_sdio mmc0:0001:2:     enable_cts_to_self                      : N
[   12.373130] morse_sdio mmc0:0001:2:     enable_rts_8mhz                         : N
[   12.380826] morse_sdio mmc0:0001:2:     enable_trav_pilot                       : Y
[   12.388492] morse_sdio mmc0:0001:2:     enable_sgi_rc                           : Y
[   12.396150] morse_sdio mmc0:0001:2:     enable_mbssid_ie                        : N
[   12.403784] morse_sdio mmc0:0001:2:     virtual_sta_max                         : 0
[   12.411451] morse_sdio mmc0:0001:2:     thin_lmac                               : 0
[   12.419112] morse_sdio mmc0:0001:2:     enable_dynamic_ps_offload               : Y
[   12.426771] morse_sdio mmc0:0001:2:     enable_ps                               : 2
[   12.434407] morse_sdio mmc0:0001:2:     enable_subbands                         : 2
[   12.442070] morse_sdio mmc0:0001:2:     enable_survey                           : Y
[   12.449735] morse_sdio mmc0:0001:2:     mcs10_mode                              : 0
[   12.457393] morse_sdio mmc0:0001:2:     mcs_mask                                : 1023
[   12.465291] morse_sdio mmc0:0001:2:     no_hwcrypt                              : 0
[   12.473046] morse_sdio mmc0:0001:2:     enable_ext_xtal_init                    : N
[   12.480798] morse_sdio mmc0:0001:2:     enable_otp_check                        : 1
[   12.488495] morse_sdio mmc0:0001:2:     bcf                                     : bcf_mm_hl1.bin
[   12.497283] morse_sdio mmc0:0001:2:     serial                                  : default
[   12.505440] morse_sdio mmc0:0001:2:     debug_mask                              : 8
[   12.513156] morse_sdio mmc0:0001:2:     tx_status_lifetime_ms                   : 15000
[   12.521183] morse_sdio mmc0:0001:2:     tx_queued_lifetime_ms                   : 1000
[   12.529103] morse_sdio mmc0:0001:2:     max_txq_len                             : 32
[   12.536842] morse_sdio mmc0:0001:2:     default_cmd_timeout_ms                  : 600
[   12.544642] morse_sdio mmc0:0001:2:     hw_reload_after_stop                    : 5
[   12.552296] morse_sdio mmc0:0001:2:     enable_short_bcn_as_dtim_override       : -1
[   12.560058] morse_sdio mmc0:0001:2:     fw_bin_file                             : 
[   12.567632] morse_sdio mmc0:0001:2:     sdio_reset_time                         : 400
[   12.575433] morse_sdio mmc0:0001:2:     macaddr_suffix                          : 67:50:44
[   12.583705] morse_sdio mmc0:0001:2:     macaddr_octet                           : 255
[   12.591576] morse_sdio mmc0:0001:2:     max_total_vendor_ie_bytes               : 514
[   12.599434] morse_sdio mmc0:0001:2:     coredump_include                        : 1
[   12.607119] morse_sdio mmc0:0001:2:     coredump_method                         : 1
[   12.614789] morse_sdio mmc0:0001:2:     enable_coredump                         : Y
[   12.622478] morse_sdio mmc0:0001:2:     sdio_clk_debugfs                        : 
[   12.630098] morse_sdio mmc0:0001:2:     enable_mm_vendor_ie                     : Y
[   12.637756] morse_sdio mmc0:0001:2:     fixed_guard                             : 0
[   12.645390] morse_sdio mmc0:0001:2:     fixed_ss                                : 1
[   12.653108] morse_sdio mmc0:0001:2:     fixed_bw                                : 2
[   12.660818] morse_sdio mmc0:0001:2:     fixed_mcs                               : 4
[   12.668519] morse_sdio mmc0:0001:2:     enable_fixed_rate                       : N
[   12.676857] uaccess char driver major number is 249
[   12.682103] morse_io: Device node '/dev/morse_io' created successfully
[   12.689099] usbcore: registered new interface driver morse_usb
[   12.727096] xt_time: kernel timezone is -0000
[   12.827743] batman_adv: B.A.T.M.A.N. advanced 2023.1-openwrt-7 (compatibility version 15) loaded
[   12.925969] PPP generic driver version 2.4.2
[   12.933017] NET: Registered PF_PPPOX protocol family
[   12.953885] kmodloader: done loading kernel modules from /etc/modules.d/*
[   25.824528] mtk_soc_eth 1e100000.ethernet eth0: configuring for fixed/rgmii link mode
[   25.833198] mtk_soc_eth 1e100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[   25.834480] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   25.851312] mt7530-mdio mdio-bus:1f usblan: configuring for phy/gmii link mode
[   25.863247] br-lan: port 1(usblan) entered blocking state
[   25.868871] br-lan: port 1(usblan) entered disabled state
[   25.876617] device usblan entered promiscuous mode
[   25.881516] device eth0 entered promiscuous mode
[   25.924117] mt7530-mdio mdio-bus:1f lan: configuring for phy/gmii link mode
[   25.933485] br-lan: port 2(lan) entered blocking state
[   25.938896] br-lan: port 2(lan) entered disabled state
[   25.946727] device lan entered promiscuous mode
[   27.605770] mt7530-mdio mdio-bus:1f usblan: Link is Up - 100Mbps/Full - flow control rx/tx
[   27.614238] br-lan: port 1(usblan) entered blocking state
[   27.619776] br-lan: port 1(usblan) entered forwarding state
[   27.627674] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   28.599579] br-lan: port 3(phy0-ap0) entered blocking state
[   28.605237] br-lan: port 3(phy0-ap0) entered disabled state
[   28.611868] device phy0-ap0 entered promiscuous mode
[   29.382751] br-lan: port 3(phy0-ap0) entered disabled state
[   29.393640] device phy0-ap0 left promiscuous mode
[   29.398866] br-lan: port 3(phy0-ap0) entered disabled state
[   29.908482] br-lan: port 3(wlan0) entered blocking state
[   29.913859] br-lan: port 3(wlan0) entered disabled state
[   29.920245] device wlan0 entered promiscuous mode
[   30.427028] phy0-sta0: authenticate with 20:97:27:74:f4:71
[   30.432853] phy0-sta0: 80 MHz not supported, disabling VHT
[   30.445616] phy0-sta0: send auth to 20:97:27:74:f4:71 (try 1/3)
[   30.455190] phy0-sta0: authenticated
[   30.466279] phy0-sta0: associate with 20:97:27:74:f4:71 (try 1/3)
[   30.475163] phy0-sta0: RX AssocResp from 20:97:27:74:f4:71 (capab=0x431 status=0 aid=2)
[   30.483931] phy0-sta0: associated
[   34.484867] phy0-sta0: deauthenticated from 20:97:27:74:f4:71 (Reason: 15=4WAY_HANDSHAKE_TIMEOUT)
[   34.902397] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   34.909471] br-lan: port 3(wlan0) entered blocking state
[   34.914889] br-lan: port 3(wlan0) entered forwarding state
[   45.751058] phy0-sta0: authenticate with 20:97:27:74:f4:71
[   45.756874] phy0-sta0: 80 MHz not supported, disabling VHT
[   45.768756] phy0-sta0: send auth to 20:97:27:74:f4:71 (try 1/3)
[   45.776995] phy0-sta0: authenticated
[   45.786325] phy0-sta0: associate with 20:97:27:74:f4:71 (try 1/3)
[   45.794704] phy0-sta0: RX AssocResp from 20:97:27:74:f4:71 (capab=0x431 status=0 aid=2)
[   45.803156] phy0-sta0: associated
[   49.804866] phy0-sta0: deauthenticated from 20:97:27:74:f4:71 (Reason: 15=4WAY_HANDSHAKE_TIMEOUT)
Mon May 26 07:09:01 2025 daemon.notice netifd: Interface 'wan' is disabled
Mon May 26 07:09:02 2025 daemon.notice netifd: radio0 (6991): sh: out of range
Mon May 26 07:09:02 2025 daemon.notice wpa_supplicant[1630]: Set new config for phy phy0
Mon May 26 07:09:02 2025 daemon.notice wpa_supplicant[1630]: Update configuration for interface phy0-sta0

Note that when I reboot the wifi light does not come back on.

This seems to be some kind of strange incompatibility between the HaLowLink’s 2.4 and the EasyCell’s 2.4. But it also looks like the 2.4 here never works, rather than just intermittently, which is not what you described before. You have no issues connecting to the EasyCell’s 2.4 with other devices when the HL1 is failing to connect? (make sure they’re not using 5GHz)

Oddly, it looks like you have the dmesg output and then only four lines of logs, which makes things harder to diagnose. Where did you get these logs? If you go to ‘Status → System Log’ in the UI, or even use logread, I would have expected to see dates at the start. It would be useful to see all the logs.