Linksys EA8500 WAN crash if enable b/g/n on 24.10.0 r28427

Hi

I was using the 23.05.5 build on my Linksys EA8500 with 2 AP's (802.11ac/n & b/g/n) without any problems.

I decided to clean flash to 24.10.0 using "openwrt-24.10.0-ipq806x-generic-linksys_ea8500-squashfs-factory.bin" with force option on LuCI.

No problems at all, changed password > changed DNS and everything was fine.

I edited both Wireless Network Access Point to my usual configuration, and enabled.

Then on any wireless device they can connect to my Linksys EA8500 but without internet connection.

And on my Ethernet I realized that I can't reach the internet at all.

So I disabled both AP's and enabled the "ac/n" first, no problems.

The moment that I enable the "b/g/n" it drops the internet connection. I tested with ping 1.1.1.1 -t on Windows CMD to confirm it, and when disabled again it resumes like magic.

I copied both Kernel and System logs from LuCI and uploaded to analysis.

So how can I better help you guys to proper diagnose this and fix on future releases?

System Log
Kernel Log

Thanks

Add hiding secrets, using code block </> button
outputs of

ubus call system board
cat /etc/config/wireless
cat /etc/config/network
cat /etc/config/firewall
1 Like

First try switching ath10k kmod and firmware to flavours without -ct , if that does not help you have already described problem in release notes with C6V2 and have to downgrade to 23.05.5

1 Like

I don't have any idea on how "switching ath10k kmod and firmware to flavours without -ct".

Didn't find anything with a quick search, can you please post more instructions to this?

Thanks for the quick reply

Here's the output for every command.

ubus call system board

{
        "kernel": "6.6.73",
        "hostname": "OpenWrt",
        "system": "ARMv7 Processor rev 0 (v7l)",
        "model": "Linksys EA8500 WiFi Router",
        "board_name": "linksys,ea8500",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "24.10.0",
                "revision": "r28427-6df0e3d02a",
                "target": "ipq806x/generic",
                "description": "OpenWrt 24.10.0 r28427-6df0e3d02a",
                "builddate": "1738624177"
        }
}

cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'soc/1b700000.pci/pci0001:00/0001:00:00.0/0001:01:00.0'
        option band '5g'
        option channel '36'
        option htmode 'HT20'
        option cell_density '0'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'Sem 5inal'
        option encryption 'psk-mixed'
        option key '*******'

config wifi-device 'radio1'
        option type 'mac80211'
        option path 'soc/1b500000.pci/pci0000:00/0000:00:00.0/0000:01:00.0'
        option band '2g'
        option channel '1'
        option cell_density '0'
        option disabled '1'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'Test'
        option encryption 'none'
        option key '*********'
        option disabled '1'

cat /etc/config/network

root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdbe:e87a:4c23::/48'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'lan4'

config device
        option name 'lan1'
        option macaddr 'c0:56:27:06:11:b1'

config device
        option name 'lan2'
        option macaddr 'c0:56:27:06:11:b1'

config device
        option name 'lan3'
        option macaddr 'c0:56:27:06:11:b1'

config device
        option name 'lan4'
        option macaddr 'c0:56:27:06:11:b1'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '143.107.11.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option delegate '0'

config device
        option name 'wan'
        option macaddr 'c0:56:27:06:11:b2'

config interface 'wan'
        option device 'wan'
        option proto 'dhcp'
        option hostname '*'
        option peerdns '0'
        list dns '143.107.11.97'

config interface 'wan6'
        option device 'wan'
        option proto 'dhcpv6'

cat /etc/config/firewall

root@OpenWrt:~# cat /etc/config/firewall
config defaults
        option syn_flood        1
        option input            REJECT
        option output           ACCEPT
        option forward          REJECT
# Uncomment this line to disable ipv6 rules
#       option disable_ipv6     1

config zone
        option name             lan
        list   network          'lan'
        option input            ACCEPT
        option output           ACCEPT
        option forward          ACCEPT

config zone
        option name             wan
        list   network          'wan'
        list   network          'wan6'
        option input            REJECT
        option output           ACCEPT
        option forward          REJECT
        option masq             1
        option mtu_fix          1

config forwarding
        option src              lan
        option dest             wan

# We need to accept udp packets on port 68,
# see https://dev.openwrt.org/ticket/4108
config rule
        option name             Allow-DHCP-Renew
        option src              wan
        option proto            udp
        option dest_port        68
        option target           ACCEPT
        option family           ipv4

# Allow IPv4 ping
config rule
        option name             Allow-Ping
        option src              wan
        option proto            icmp
        option icmp_type        echo-request
        option family           ipv4
        option target           ACCEPT

config rule
        option name             Allow-IGMP
        option src              wan
        option proto            igmp
        option family           ipv4
        option target           ACCEPT

# Allow DHCPv6 replies
# see https://github.com/openwrt/openwrt/issues/5066
config rule
        option name             Allow-DHCPv6
        option src              wan
        option proto            udp
        option dest_port        546
        option family           ipv6
        option target           ACCEPT

config rule
        option name             Allow-MLD
        option src              wan
        option proto            icmp
        option src_ip           fe80::/10
        list icmp_type          '130/0'
        list icmp_type          '131/0'
        list icmp_type          '132/0'
        list icmp_type          '143/0'
        option family           ipv6
        option target           ACCEPT

# Allow essential incoming IPv6 ICMP traffic
config rule
        option name             Allow-ICMPv6-Input
        option src              wan
        option proto    icmp
        list icmp_type          echo-request
        list icmp_type          echo-reply
        list icmp_type          destination-unreachable
        list icmp_type          packet-too-big
        list icmp_type          time-exceeded
        list icmp_type          bad-header
        list icmp_type          unknown-header-type
        list icmp_type          router-solicitation
        list icmp_type          neighbour-solicitation
        list icmp_type          router-advertisement
        list icmp_type          neighbour-advertisement
        option limit            1000/sec
        option family           ipv6
        option target           ACCEPT

# Allow essential forwarded IPv6 ICMP traffic
config rule
        option name             Allow-ICMPv6-Forward
        option src              wan
        option dest             *
        option proto            icmp
        list icmp_type          echo-request
        list icmp_type          echo-reply
        list icmp_type          destination-unreachable
        list icmp_type          packet-too-big
        list icmp_type          time-exceeded
        list icmp_type          bad-header
        list icmp_type          unknown-header-type
        option limit            1000/sec
        option family           ipv6
        option target           ACCEPT

config rule
        option name             Allow-IPSec-ESP
        option src              wan
        option dest             lan
        option proto            esp
        option target           ACCEPT

config rule
        option name             Allow-ISAKMP
        option src              wan
        option dest             lan
        option dest_port        500
        option proto            udp
        option target           ACCEPT


### EXAMPLE CONFIG SECTIONS
# do not allow a specific ip to access wan
#config rule
#       option src              lan
#       option src_ip   192.168.45.2
#       option dest             wan
#       option proto    tcp
#       option target   REJECT

# block a specific mac on wan
#config rule
#       option dest             wan
#       option src_mac  00:11:22:33:44:66
#       option target   REJECT

# block incoming ICMP traffic on a zone
#config rule
#       option src              lan
#       option proto    ICMP
#       option target   DROP

# port redirect port coming in on wan to lan
#config redirect
#       option src                      wan
#       option src_dport        80
#       option dest                     lan
#       option dest_ip          192.168.16.235
#       option dest_port        80
#       option proto            tcp

# port redirect of remapped ssh port (22001) on wan
#config redirect
#       option src              wan
#       option src_dport        22001
#       option dest             lan
#       option dest_port        22
#       option proto            tcp

### FULL CONFIG SECTIONS
#config rule
#       option src              lan
#       option src_ip   192.168.45.2
#       option src_mac  00:11:22:33:44:55
#       option src_port 80
#       option dest             wan
#       option dest_ip  194.25.2.129
#       option dest_port        120
#       option proto    tcp
#       option target   REJECT

#config redirect
#       option src              lan
#       option src_ip   192.168.45.2
#       option src_mac  00:11:22:33:44:55
#       option src_port         1024
#       option src_dport        80
#       option dest_ip  194.25.2.129
#       option dest_port        120
#       option proto    tcp

Thanks!

1 Like

Connect wired.
opkg list-installed | grep ath10k

It will show board (dont touch) kmod- and 1 or more -firmware-....ct packages.
You have to uninstall -ct variant and install same packages without -ct. Wired best.

opkg update
opkg remove kmod-ath10k-ct ath10k-firmware-zzzzzz-ct
opkg install kmod-atj10k ath10k-firmware-zzzzzz

Show output of first command if unsure about command(s)

1 Like

No fly in this, should work fine. You can safely have HT40 in 5GHz. No channel overlap.

Yes I always manage my router wired whenever possible.

The outputs
opkg list-installed | grep ath10k

root@OpenWrt:~# opkg list-installed | grep ath10k
ath10k-board-qca99x0 - 20241110-r1
ath10k-firmware-qca99x0-ct - 2020.11.08-r1
kmod-ath10k-ct - 6.6.73.2024.07.30~ac71b14d-r2

opkg remove kmod-ath10k-ct ath10k-firmware-zzzzzz-ct

root@OpenWrt:~# opkg remove kmod-ath10k-ct ath10k-firmware-zzzzzz-ct
Removing package kmod-ath10k-ct from root...

opkg install kmod-atj10k ath10k-firmware-zzzzzz

root@OpenWrt:~# opkg install kmod-atj10k ath10k-firmware-zzzzzz
Unknown package 'kmod-atj10k'.
Unknown package 'ath10k-firmware-zzzzzz'.
Collected errors:
 * opkg_install_cmd: Cannot install package kmod-atj10k.
 * opkg_install_cmd: Cannot install package ath10k-firmware-zzzzzz.

Sorry, way less attention than needed.

root@OpenWrt:~# opkg remove ath10k-firmware-qca99x0-ct
Removing package ath10k-firmware-qca99x0-ct from root...
root@OpenWrt:~# opkg install ath10k-firmware-qca99x0
Installing ath10k-firmware-qca99x0 (20241110-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.0/packages/arm_cortex-a15_neon-vfpv4/base/ath10k-firmware-qca99x0_20241110-r1_arm_cortex-a15_neon-vfpv4.ipk
Configuring ath10k-firmware-qca99x0.
root@OpenWrt:~# opkg install kmod-ath10k
Installing kmod-ath10k (6.6.73.6.12.6-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.0/targets/ipq806x/generic/kmods/6.6.73-1-dd9e13746928f1f8b981cb287862653f/kmod-ath10k_6.6.73.6.12.6-r1_arm_cortex-a15_neon-vfpv4.ipk
Configuring kmod-ath10k.

1 Like

Thanks for the reply, but even with the packages without "ct" as seen on the output, and rebooting after installing, the result is the same, if I enable the "b/g/n" AP the WAN drops, and everyone connected can't access internet.

And I believe that you referenced the thread on GitHub #14541 that could be relevant to my situation, and according to this reply the same device of this user is working on firmware (24.10.0 r28427-6df0e3d02a).

What else can I do to help further diagnose from the devs, and fixes?

Thanks!

As an last attempt I updated to the latest SNAPSHOT (r28863-ab80e6c684)

But the problem persists.

The backtrace is very nonspecific outside ath10k vs hostapd.
Should present no problem whatsoever running vht/ac mode at full 80mhz wide channel.

Run iw list and get the half about 5ghz radio
Then save off generated /var/run/hostap*conf pertaining same radio that caused crash.

Just leaveit vht while comparing enabled/allowed cap bits.

maybe you are first in years to try such sub-par mode.

1 Like

Yes, it is a real problem and I could duplicate it on my EA8500. I believe the problem is wrong assignment of the MAC address to the wan port. Try to change the wan port's MAC address to be one less than the lan port's MAC address (currently it is one more) and see what happen. The current wan port's MAC collides with the MAC for the 2.4 GHz radio. You can compare the MAC address assignment between 23.05.5 and 24.10.0 and notice the difference.

"Holy rusted metal, Batman!" that was the culprit all the time. Changed the MAC address and it was like no problem existed at all.

Ok, so how to report or make devs aware of this behavior so it can be fixed on next builds?

I didn't remember changing the mhz but even at 80mhz it crashed, only after the tip from @rwl408 was fixed.

But thanks for all your help to diagnose and attempts to fix my router.

I had reported the bug. The change was made from 24.10.0-rc7 to the formal release (24.10.0) trying to solve another IPQ806x bug. When I saw the code change, I knew it might create another problem because "lan MAC address + 1" was used for the 2.4 GHz radio (phy0-sp0). And it does.

1 Like

You can use random wifi macs easily.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.