Belkin RT3200/Linksys E8450 WiFi AX discussion

The installer only makes sure wifi calibration data is in the right place -- in the rare case that the flash has a bad block in the very beginning, MediaTek's BMT/BBT would shift the block containing the wifi calibration data. The installer un-does that, so the calibration data is really always at the same raw offset of the flash. The installer also re-writes it to fix OOB data.
So in the extremely rare case that the factory partition was indeed shifted by a block (or even two), going back to the vendor firmware can be a bit more tricky and may require re-writing the factory partition once again with a BMT/BBT-aware non-UBI firmware.

In your case, the calibration data may still be there (as also all the rest of the boochain was still intact) and even though things went wrong, you may have been lucky enough not to damage it. If you did, you got the backup (I hope) to write it back.

On new devices added in future this will hopefully not be such as mess as we can now support BMT/BBT and UBI alongside, each managing distinct areas of the flash, allowing in most cases to keep the vendor bootchain and yet make use of UBI at least for rootfs and rootfs_data. On this specific device, however, even this won't work well due to the limitations of the vendor's A/B dual-boot scheme (ok, with some tricks, forcing firmware write to Master partition and using mtdconcat it may be possible, but with limited space being available -- I'd still prefer up-to-date U-Boot and the whole flash decently managed...)

2 Likes

Ah, so either the WiFi calibration data stays as it was, or it is only changed once, and even re-running the installer will not budge it?

And otherwise many thanks indeed for your explanation. So it sounds like in future it may be possible to keep the vendor bootchain (which I understand means it would be easy to back to vendor firmware), whilst still getting some of the benefits of UBI, but this will give limited space and an older U-Boot.

But then most will want to use replacement bootchain + UBI anyway, since going back to vendor is only for edge cases.

2 Likes

The process will be repeated, but as the data is already in place it will just be re-written another time, ie. unchanged.

For this EA8450/RT3200 device I definitely won't add a third "hybrid" (half BMT/BBT, half UBI) variant, eventhough this is most likely possible now. If there is a very strong need for it, others can do that, of course.

2 Likes

How do you know?

Can we access the calibration data etc.?

1 Like

Just wanted to say thanks to all who got this put together! I have 2 Belkin RT3200s running the latest UBI snapshot. Only things of note (not necessarily broken, some are hardware limitations... but for those searching later on down the line):

  1. 5GHz takes a hot minute to start on DFS and higher channels (not sure of root cause). Seems fine on lower channels.
  2. 160MHz only works in 2x2 antenna config, while 80MHz works just fine in 4x4. In this case, the router is actually technically better than an AX3200 series.
3 Likes

That's just the radar scanning process isn't it?

Might be for DFS, but I've seen the same behavior on upper non-DFS channels.

Maybe country code specific and discernible using 'iw reg get'?

BTW if your connecting your two RT3200's together wirelessly you may want to consider upping the power. I haven't had a definite answer yet on what the max tx power is on these devices.

They're not connected wirelessly, in 2 completely different locations. Country code is set to US.

country US: DFS-FCC
	(2400 - 2472 @ 40), (N/A, 30), (N/A)
	(5150 - 5250 @ 80), (N/A, 23), (N/A), AUTO-BW
	(5250 - 5350 @ 80), (N/A, 23), (0 ms), DFS, AUTO-BW
	(5470 - 5730 @ 160), (N/A, 23), (0 ms), DFS
	(5730 - 5850 @ 80), (N/A, 30), (N/A), AUTO-BW
	(5850 - 5895 @ 40), (N/A, 27), (N/A), NO-OUTDOOR, AUTO-BW, PASSIVE-SCAN
	(57240 - 71000 @ 2160), (N/A, 40), (N/A)

Router says it's currently at 28 dBm on 2.4GHz on channel 11 and 23dBm on 5GHz channel 100.

Certainly seems like DFS territory - so the 1 min is just the scan, isn't it?

Can't you see the scan in 'logread'?

Yes, but what I'm saying is it also takes a minute or two on channels 149-161, which are non-DFS (no radar scanning). It's not an issue really, it still comes up and functions just fine!

Out of curiosity, here is the transfer speed between two of my RT3200's using 80Mhz 5Ghz WDS:

root@OpenWrt:~# iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.2 port 46870 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  77.9 MBytes   653 Mbits/sec    0   1.13 MBytes
[  5]   1.00-2.00   sec  89.9 MBytes   752 Mbits/sec    0   1.19 MBytes
[  5]   2.00-3.00   sec  92.5 MBytes   778 Mbits/sec    0   1.53 MBytes
[  5]   3.00-4.00   sec  90.9 MBytes   760 Mbits/sec    0   1.53 MBytes
[  5]   4.00-5.00   sec  82.1 MBytes   691 Mbits/sec    0   1.53 MBytes
[  5]   5.00-6.00   sec  89.9 MBytes   754 Mbits/sec    0   1.53 MBytes
[  5]   6.00-7.00   sec  79.2 MBytes   663 Mbits/sec    0   1.53 MBytes
[  5]   7.00-8.00   sec  77.0 MBytes   647 Mbits/sec    0   1.53 MBytes
[  5]   8.00-9.00   sec  89.8 MBytes   751 Mbits/sec    0   1.62 MBytes
[  5]   9.00-10.00  sec  83.6 MBytes   702 Mbits/sec    0   1.62 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   853 MBytes   715 Mbits/sec    0             sender
[  5]   0.00-10.01  sec   851 MBytes   713 Mbits/sec                  receiver

I wonder if this can be beaten much with different settings, etc.

1 Like

I just ran into the second crash that I have experienced in a few weeks with this device, which is disappointing considering the rock solid stability of my previous mt7621 platform. The first I was not aware logs after a reboot could even be saved, so I never got to fetch those. However, I learned about the ability of the UBI installation to save crash logs which is definitely a game changer for debugging! Hopefully these logs are useful.

I found two different logs in the /sys/fs/pstore/ folder. The first one was named dmesg-ramoops-0:

root@OpenWrt:~# cat /sys/fs/pstore/dmesg-ramoops-0
Oops#1 Part1
<6>[1187085.545421] br-untrusted: port 1(lan4) entered blocking state
<6>[1187085.551346] br-untrusted: port 1(lan4) entered forwarding state
<6>[1194212.514187] br-lan: port 2(lan2) entered disabled state
<6>[1194212.520184] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1194214.596282] mt7530 mdio-bus:00 lan2: Link is Up - 100Mbps/Full - flow control off
<6>[1194214.604009] br-lan: port 2(lan2) entered blocking state
<6>[1194214.609414] br-lan: port 2(lan2) entered forwarding state
<6>[1194234.353897] br-lan: port 2(lan2) entered disabled state
<6>[1194234.359821] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1194237.486388] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1194237.494103] br-lan: port 2(lan2) entered blocking state
<6>[1194237.499500] br-lan: port 2(lan2) entered forwarding state
<6>[1194255.153731] br-lan: port 2(lan2) entered disabled state
<6>[1194255.159723] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1194257.236287] mt7530 mdio-bus:00 lan2: Link is Up - 100Mbps/Full - flow control off
<6>[1194257.243995] br-lan: port 2(lan2) entered blocking state
<6>[1194257.249392] br-lan: port 2(lan2) entered forwarding state
<6>[1194261.393694] br-lan: port 2(lan2) entered disabled state
<6>[1194261.399611] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1201429.974414] mt7530 mdio-bus:00 lan1: Link is Down
<6>[1201429.979530] br-lan: port 1(lan1) entered disabled state
<6>[1236558.925969] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control off
<6>[1236558.933513] br-lan: port 2(lan2) entered blocking state
<6>[1236558.938910] br-lan: port 2(lan2) entered forwarding state
<6>[1236572.443713] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1236572.448974] br-lan: port 2(lan2) entered disabled state
<6>[1236575.565853] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1236575.573610] br-lan: port 2(lan2) entered blocking state
<6>[1236575.579021] br-lan: port 2(lan2) entered forwarding state
<6>[1266652.057790] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control off
<6>[1266652.065336] br-lan: port 1(lan1) entered blocking state
<6>[1266652.070737] br-lan: port 1(lan1) entered forwarding state
<6>[1266731.094898] mt7530 mdio-bus:00 lan1: Link is Down
<6>[1266731.100026] br-lan: port 1(lan1) entered disabled state
<6>[1266734.217060] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1266734.224772] br-lan: port 1(lan1) entered blocking state
<6>[1266734.230178] br-lan: port 1(lan1) entered forwarding state
<6>[1289590.186998] br-lan: port 2(lan2) entered disabled state
<6>[1289590.192915] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1290883.857681] br-lan: port 1(lan1) entered disabled state
<6>[1290883.863685] mt7530 mdio-bus:00 lan1: Link is Down
<6>[1332204.834373] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control off
<6>[1332204.841910] br-lan: port 1(lan1) entered blocking state
<6>[1332204.847308] br-lan: port 1(lan1) entered forwarding state
<6>[1332245.392009] br-lan: port 1(lan1) entered disabled state
<6>[1332245.395954] mt7530 mdio-bus:00 lan1: Link is Down
<6>[1332248.514043] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1332248.521749] br-lan: port 1(lan1) entered blocking state
<6>[1332248.527149] br-lan: port 1(lan1) entered forwarding state
<6>[1333747.223050] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control off
<6>[1333747.230589] br-lan: port 2(lan2) entered blocking state
<6>[1333747.235993] br-lan: port 2(lan2) entered forwarding state
<6>[1333760.740976] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1333760.746159] br-lan: port 2(lan2) entered disabled state
<6>[1333763.862971] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1333763.870683] br-lan: port 2(lan2) entered blocking state
<6>[1333763.876088] br-lan: port 2(lan2) entered forwarding state
<6>[1334527.215224] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1334527.220350] br-lan: port 2(lan2) entered disabled state
<6>[1335881.205330] mt7530 mdio-bus:00 lan1: Link is Down
<6>[1335881.210486] br-lan: port 1(lan1) entered disabled state
<6>[1358400.242015] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control off
<6>[1358400.249564] br-lan: port 2(lan2) entered blocking state
<6>[1358400.254965] br-lan: port 2(lan2) entered forwarding state
<6>[1358413.759999] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1358413.765133] br-lan: port 2(lan2) entered disabled state
<6>[1358415.841885] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1358415.849591] br-lan: port 2(lan2) entered blocking state
<6>[1358415.854990] br-lan: port 2(lan2) entered forwarding state
<6>[1358427.202002] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control off
<6>[1358427.210108] br-lan: port 1(lan1) entered blocking state
<6>[1358427.215527] br-lan: port 1(lan1) entered forwarding state
<6>[1358481.279258] mt7530 mdio-bus:00 lan1: Link is Down
<6>[1358481.284510] br-lan: port 1(lan1) entered disabled state
<6>[1358485.441348] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1358485.449059] br-lan: port 1(lan1) entered blocking state
<6>[1358485.454459] br-lan: port 1(lan1) entered forwarding state
<1>[1375173.702401] Unable to handle kernel paging request at virtual address dead000000000110
<1>[1375173.710492] Mem abort info:
<1>[1375173.713473]   ESR = 0x96000004
<1>[1375173.716800]   EC = 0x25: DABT (current EL), IL = 32 bits
<1>[1375173.722274]   SET = 0, FnV = 0
<1>[1375173.725582]   EA = 0, S1PTW = 0
<1>[1375173.728887] Data abort info:
<1>[1375173.731931]   ISV = 0, ISS = 0x00000004
<1>[1375173.735939]   CM = 0, WnR = 0
<1>[1375173.739141] [dead000000000110] address between user and kernel address ranges
<0>[1375173.746458] Internal error: Oops: 96000004 [#1] SMP
<7>[1375173.751593] Modules linked in: xt_connlimit pppoe ppp_async nf_conncount iptable_nat xt_state xt_nat xt_helper xt_conntrack xt_connmark xt_connbytes xt_REDIRECT xt_MASQUERADE xt_FLOWOFFLOAD xt_CT wireguard pppox ppp_generic nf_nat nf_flow_table nf_conntrack_netlink nf_conntrack mt7915e mt7615e mt7615_common mt76_connac_lib mt76 mac80211 libchacha20poly1305 libblake2s ipt_REJECT chacha_neon cfg80211 xt_time xt_tcpudp xt_tcpmss xt_statistic xt_recent xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_ecn xt_dscp xt_comment xt_TCPMSS xt_LOG xt_HL xt_DSCP xt_CLASSIFY slhc sch_cake poly1305_neon nfnetlink nf_reject_ipv4 nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 libcurve25519_generic libchacha libblake2s_generic iptable_raw iptable_mangle iptable_filter ipt_ECN ip_tables hwmon crc_ccitt compat br_netfilter sch_tbf sch_ingress sch_htb sch_hfsc em_u32 cls_u32 cls_tcindex cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact nf_log_ipv6 nf_log_common ip6table_mangle
<7>[1375173.751766]  ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 ifb ip6_udp_tunnel udp_tunnel seqiv leds_gpio xhci_plat_hcd gpio_button_hotplug
<7>[1375173.853539] CPU: 1 PID: 29337 Comm: kworker/u4:4 Tainted: G S                5.10.88 #0
<7>[1375173.861707] Hardware name: Linksys E8450 (UBI) (DT)
<7>[1375173.866762] Workqueue: nf_ft_offload_del nf_flow_table_offload_setup [nf_flow_table]
<7>[1375173.874674] pstate: 20000005 (nzCv daif -PAN -UAO -TCO BTYPE=--)
<7>[1375173.880846] pc : nf_flow_offload_ip_hook+0x778/0x1340 [nf_flow_table]
<7>[1375173.887452] lr : nf_flow_offload_ip_hook+0x78c/0x1340 [nf_flow_table]
<7>[1375173.894056] sp : ffffffc0169cbc20
<7>[1375173.897535] x29: ffffffc0169cbc20 x28: 0000000000000000 
<7>[1375173.903014] x27: ffffff80034929c8 x26: 0000000000000000 
<7>[1375173.908491] x25: ffffff80021e4d00 x24: ffffffc008b0b648 
<7>[1375173.913969] x23: 0000000000000000 x22: 0000000000000001 
<7>[1375173.919447] x21: ffffffc008b0b638 x20: 0000000000000000 
<7>[1375173.924925] x19: dead0000000000f0 x18: 0000000000000000 
<7>[1375173.930403] x17: 0000000000000000 x16: ffffffc0107f83e0 
<7>[1375173.935880] x15: 000000000000001f x14: 0000000000000000 
<7>[1375173.941358] x13: ffffffc008b0b540 x12: ffffffffffffffff 
<7>[1375173.946836] x11: 0000000000000008 x10: ffffff8000005100 
<7>[1375173.952313] x9 : ffffff80021e457c x8 : 0000000000000000 
<7>[1375173.957791] x7 : ffffffffffffffff x6 : 00a0400000000000 
<7>[1375173.963268] x5 : 0000000000000001 x4 : 0000000000000000 
<7>[1375173.968746] x3 : ffffff80003a0b00 x2 : 0000000000000000 
<7>[1375173.974223] x1 : dead000000000100 x0 : 0000000000000001 
<7>[1375173.979700] Call trace:
<7>[1375173.982316]  nf_flow_offload_ip_hook+0x778/0x1340 [nf_flow_table]
<7>[1375173.988575]  nf_flow_table_offload_setup+0x334/0x660 [nf_flow_table]
<7>[1375173.995096]  process_one_work+0x1d4/0x370
<7>[1375173.999271]  worker_thread+0x178/0x4e0
<7>[1375174.003187]  kthread+0x120/0x124
<7>[1375174.006583]  ret_from_fork+0x10/0x18
<0>[1375174.010326] Code: d1004013 eb0002bf 54000580 52800014 (f9401263) 
<4>[1375174.016585] ---[ end trace ad6bf8a1dbe70d73 ]---

And the second one was called dmesg-ramoops-1:

root@OpenWrt:~# cat /sys/fs/pstore/dmesg-ramoops-1
Panic#2 Part1
<6>[1194212.520184] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1194214.596282] mt7530 mdio-bus:00 lan2: Link is Up - 100Mbps/Full - flow control off
<6>[1194214.604009] br-lan: port 2(lan2) entered blocking state
<6>[1194214.609414] br-lan: port 2(lan2) entered forwarding state
<6>[1194234.353897] br-lan: port 2(lan2) entered disabled state
<6>[1194234.359821] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1194237.486388] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1194237.494103] br-lan: port 2(lan2) entered blocking state
<6>[1194237.499500] br-lan: port 2(lan2) entered forwarding state
<6>[1194255.153731] br-lan: port 2(lan2) entered disabled state
<6>[1194255.159723] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1194257.236287] mt7530 mdio-bus:00 lan2: Link is Up - 100Mbps/Full - flow control off
<6>[1194257.243995] br-lan: port 2(lan2) entered blocking state
<6>[1194257.249392] br-lan: port 2(lan2) entered forwarding state
<6>[1194261.393694] br-lan: port 2(lan2) entered disabled state
<6>[1194261.399611] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1201429.974414] mt7530 mdio-bus:00 lan1: Link is Down
<6>[1201429.979530] br-lan: port 1(lan1) entered disabled state
<6>[1236558.925969] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control off
<6>[1236558.933513] br-lan: port 2(lan2) entered blocking state
<6>[1236558.938910] br-lan: port 2(lan2) entered forwarding state
<6>[1236572.443713] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1236572.448974] br-lan: port 2(lan2) entered disabled state
<6>[1236575.565853] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1236575.573610] br-lan: port 2(lan2) entered blocking state
<6>[1236575.579021] br-lan: port 2(lan2) entered forwarding state
<6>[1266652.057790] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control off
<6>[1266652.065336] br-lan: port 1(lan1) entered blocking state
<6>[1266652.070737] br-lan: port 1(lan1) entered forwarding state
<6>[1266731.094898] mt7530 mdio-bus:00 lan1: Link is Down
<6>[1266731.100026] br-lan: port 1(lan1) entered disabled state
<6>[1266734.217060] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1266734.224772] br-lan: port 1(lan1) entered blocking state
<6>[1266734.230178] br-lan: port 1(lan1) entered forwarding state
<6>[1289590.186998] br-lan: port 2(lan2) entered disabled state
<6>[1289590.192915] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1290883.857681] br-lan: port 1(lan1) entered disabled state
<6>[1290883.863685] mt7530 mdio-bus:00 lan1: Link is Down
<6>[1332204.834373] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control off
<6>[1332204.841910] br-lan: port 1(lan1) entered blocking state
<6>[1332204.847308] br-lan: port 1(lan1) entered forwarding state
<6>[1332245.392009] br-lan: port 1(lan1) entered disabled state
<6>[1332245.395954] mt7530 mdio-bus:00 lan1: Link is Down
<6>[1332248.514043] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1332248.521749] br-lan: port 1(lan1) entered blocking state
<6>[1332248.527149] br-lan: port 1(lan1) entered forwarding state
<6>[1333747.223050] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control off
<6>[1333747.230589] br-lan: port 2(lan2) entered blocking state
<6>[1333747.235993] br-lan: port 2(lan2) entered forwarding state
<6>[1333760.740976] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1333760.746159] br-lan: port 2(lan2) entered disabled state
<6>[1333763.862971] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1333763.870683] br-lan: port 2(lan2) entered blocking state
<6>[1333763.876088] br-lan: port 2(lan2) entered forwarding state
<6>[1334527.215224] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1334527.220350] br-lan: port 2(lan2) entered disabled state
<6>[1335881.205330] mt7530 mdio-bus:00 lan1: Link is Down
<6>[1335881.210486] br-lan: port 1(lan1) entered disabled state
<6>[1358400.242015] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control off
<6>[1358400.249564] br-lan: port 2(lan2) entered blocking state
<6>[1358400.254965] br-lan: port 2(lan2) entered forwarding state
<6>[1358413.759999] mt7530 mdio-bus:00 lan2: Link is Down
<6>[1358413.765133] br-lan: port 2(lan2) entered disabled state
<6>[1358415.841885] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1358415.849591] br-lan: port 2(lan2) entered blocking state
<6>[1358415.854990] br-lan: port 2(lan2) entered forwarding state
<6>[1358427.202002] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control off
<6>[1358427.210108] br-lan: port 1(lan1) entered blocking state
<6>[1358427.215527] br-lan: port 1(lan1) entered forwarding state
<6>[1358481.279258] mt7530 mdio-bus:00 lan1: Link is Down
<6>[1358481.284510] br-lan: port 1(lan1) entered disabled state
<6>[1358485.441348] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control rx/tx
<6>[1358485.449059] br-lan: port 1(lan1) entered blocking state
<6>[1358485.454459] br-lan: port 1(lan1) entered forwarding state
<1>[1375173.702401] Unable to handle kernel paging request at virtual address dead000000000110
<1>[1375173.710492] Mem abort info:
<1>[1375173.713473]   ESR = 0x96000004
<1>[1375173.716800]   EC = 0x25: DABT (current EL), IL = 32 bits
<1>[1375173.722274]   SET = 0, FnV = 0
<1>[1375173.725582]   EA = 0, S1PTW = 0
<1>[1375173.728887] Data abort info:
<1>[1375173.731931]   ISV = 0, ISS = 0x00000004
<1>[1375173.735939]   CM = 0, WnR = 0
<1>[1375173.739141] [dead000000000110] address between user and kernel address ranges
<0>[1375173.746458] Internal error: Oops: 96000004 [#1] SMP
<7>[1375173.751593] Modules linked in: xt_connlimit pppoe ppp_async nf_conncount iptable_nat xt_state xt_nat xt_helper xt_conntrack xt_connmark xt_connbytes xt_REDIRECT xt_MASQUERADE xt_FLOWOFFLOAD xt_CT wireguard pppox ppp_generic nf_nat nf_flow_table nf_conntrack_netlink nf_conntrack mt7915e mt7615e mt7615_common mt76_connac_lib mt76 mac80211 libchacha20poly1305 libblake2s ipt_REJECT chacha_neon cfg80211 xt_time xt_tcpudp xt_tcpmss xt_statistic xt_recent xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_ecn xt_dscp xt_comment xt_TCPMSS xt_LOG xt_HL xt_DSCP xt_CLASSIFY slhc sch_cake poly1305_neon nfnetlink nf_reject_ipv4 nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 libcurve25519_generic libchacha libblake2s_generic iptable_raw iptable_mangle iptable_filter ipt_ECN ip_tables hwmon crc_ccitt compat br_netfilter sch_tbf sch_ingress sch_htb sch_hfsc em_u32 cls_u32 cls_tcindex cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact nf_log_ipv6 nf_log_common ip6table_mangle
<7>[1375173.751766]  ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 ifb ip6_udp_tunnel udp_tunnel seqiv leds_gpio xhci_plat_hcd gpio_button_hotplug
<7>[1375173.853539] CPU: 1 PID: 29337 Comm: kworker/u4:4 Tainted: G S                5.10.88 #0
<7>[1375173.861707] Hardware name: Linksys E8450 (UBI) (DT)
<7>[1375173.866762] Workqueue: nf_ft_offload_del nf_flow_table_offload_setup [nf_flow_table]
<7>[1375173.874674] pstate: 20000005 (nzCv daif -PAN -UAO -TCO BTYPE=--)
<7>[1375173.880846] pc : nf_flow_offload_ip_hook+0x778/0x1340 [nf_flow_table]
<7>[1375173.887452] lr : nf_flow_offload_ip_hook+0x78c/0x1340 [nf_flow_table]
<7>[1375173.894056] sp : ffffffc0169cbc20
<7>[1375173.897535] x29: ffffffc0169cbc20 x28: 0000000000000000 
<7>[1375173.903014] x27: ffffff80034929c8 x26: 0000000000000000 
<7>[1375173.908491] x25: ffffff80021e4d00 x24: ffffffc008b0b648 
<7>[1375173.913969] x23: 0000000000000000 x22: 0000000000000001 
<7>[1375173.919447] x21: ffffffc008b0b638 x20: 0000000000000000 
<7>[1375173.924925] x19: dead0000000000f0 x18: 0000000000000000 
<7>[1375173.930403] x17: 0000000000000000 x16: ffffffc0107f83e0 
<7>[1375173.935880] x15: 000000000000001f x14: 0000000000000000 
<7>[1375173.941358] x13: ffffffc008b0b540 x12: ffffffffffffffff 
<7>[1375173.946836] x11: 0000000000000008 x10: ffffff8000005100 
<7>[1375173.952313] x9 : ffffff80021e457c x8 : 0000000000000000 
<7>[1375173.957791] x7 : ffffffffffffffff x6 : 00a0400000000000 
<7>[1375173.963268] x5 : 0000000000000001 x4 : 0000000000000000 
<7>[1375173.968746] x3 : ffffff80003a0b00 x2 : 0000000000000000 
<7>[1375173.974223] x1 : dead000000000100 x0 : 0000000000000001 
<7>[1375173.979700] Call trace:
<7>[1375173.982316]  nf_flow_offload_ip_hook+0x778/0x1340 [nf_flow_table]
<7>[1375173.988575]  nf_flow_table_offload_setup+0x334/0x660 [nf_flow_table]
<7>[1375173.995096]  process_one_work+0x1d4/0x370
<7>[1375173.999271]  worker_thread+0x178/0x4e0
<7>[1375174.003187]  kthread+0x120/0x124
<7>[1375174.006583]  ret_from_fork+0x10/0x18
<0>[1375174.010326] Code: d1004013 eb0002bf 54000580 52800014 (f9401263) 
<4>[1375174.016585] ---[ end trace ad6bf8a1dbe70d73 ]---
<0>[1375174.034746] Kernel panic - not syncing: Oops: Fatal exception
<2>[1375174.040664] SMP: stopping secondary CPUs
<0>[1375174.044757] Kernel Offset: disabled
<0>[1375174.048411] CPU features: 0x0000002,04002004
<0>[1375174.052844] Memory Limit: none

Curious if this contains anything useful. If there is anything else I can provide, please let me know!

Well, at the first glance it seems to indicate toward flow offloading. Are you using it?

Additionally, the crashing memory address seems to be intended/obvious/noticeable. Address starts with hex "dead0000" which is no coincidence. The 110 is likely the position of the referenced field in some struct that is accessed when pointer is still uninitialised, or after the pointer is already 0, something like that.

See

I am using hardware flow offloading, yes. I have turned off hardware flow offloading now (so I am using software flow offloading) to see if stability improves. However, my internet speed went from 930/900 to 870/800, so I am definitely taking a small hit in speeds. I know that this device can easily do gbit speeds on IPoE connections with just software flow offloading, however, my ISP is still using PPPoE connections, which make hardware flow offloading a must to be able to get full gbit speeds.

Is hardware flow offloading not being 100% stable a known thing with these devices? I was using hardware flow offloading on my previous mt7621 device with zero stability issues. And are there any plans on improving the stability with said feature that you know off?

1 Like

Out of curiosity, do you actually have long-term traffic volumes sustained at gigabit speeds?

It is nice to have that "full gigabit" at speed test, but the difference between 930/900 and 870/800 sounds pretty uninteresting to me from real-life perspective.

I am somewhat amused with the general eagerness to have "full gigabit" at speedtest as I believe that most servers in the wider internet will never sustain gigabit traffic with you except for short bursts. There are bottlenecks either at servers' total bandwidth or in the intermediate hops.

1 Like

This is a much newer SoC, MT7622, Aarch64-based rather than MIPS and many changes made also to the Ethernet part (compared to MT7621), such as support for 2500Base-X as PHY interface mode. So this is most likely not a device-specific problem but rather a driver/SoC-specific one.

2 Likes

Agree with your appeciations.

For a general use of internet and even if your are using it to see 4K videos or watch TV and have several people at home, you don't need 1 Gb ethernet at home. 500 or 300 are generally speaking more than enough.

If you have a hotel or something like that, may be you need that speed in order to get good simultaneous usage of the internet.

But most places won't give you even 300 Mbps for serving streams of data in a sustainable rate.

Some special uses like tunnelling two distant offices with huge traffic between them may justify to be worry about that peak performance.

But most of the time is more a matter of having paid for it and technical personal challenge than a real need: if we are here is because we have a geek inside us (to a greater or lesser extent).

It is not but for the community, it is good: may be we don't need it now, but when the neccesity arises there has been people trying it that has paved the way.

Did you have it set to "driver default"? For mine with 2.4 GHz disabled, it claims to be using 27 dBm. I wonder if you switch off 2.4 GHz if it will jump up?

EDIT: I think it's more about which channel you use... lower channels for me (36 for example) only allows 23 dBm whereas higher ones like 157 allow 27 dBm.

I regularly download games from steam that manage to saturate my connection. I have a relatively small SSD, and play many different games, so I regularly uninstall and redownload games.

It's not just about the speed though. The fact that the router is the bottleneck, means that there is also less power left on the router to do other interesting stuff like Adblocking, dnssec validation, etc. There's nothing wrong with wanting to optimize what you have. Even if it's just for the sake of tinkering, since tinkering itself can be fun :slight_smile:

Is there a way to find out whether:

  1. This is an issue with my specific SOC, eg I need to return the device
  2. This is a general issue with the SOC, eg everyone will run into this issue, and it probably cannot be solved with a software update.
  3. This is a general issue with the software, eg everyone will run into this issue, but it probably can be solved with a software update.