Belkin RT3200/Linksys E8450 WiFi AX discussion

Thanks OpenWrt SNAPSHOT r17747-9d994f35b4 is now available and running on one in AP mode. (got two) Initial report running fine for an hour. Al sort of unicast/broadcast issues I experienced with wifi speakers seem to be sorted, radios work..., association issues sorted. Before this commit it was hard to initiate a stable connection now it seems things are stabilizing again. Time will tell. Not setting expectation to high as it remains snapshot of course.

I will get the dumps shortly and as well attempt the recovery install as before with the most recent installer.

@daniel Apologies, it seems that I cannot do PM's. I had to create a new account yesterday as my old account was no longer on this board. Is it possible my account is too new?

I got my RT3200 directly from Walmart for $95 + taxes and shipping to my country.

I second this issue. I flashed non-ubi before and lost access to it so I reverted back to the factory version. The router is acting today so I was going to give openwrt another try, yet the image listed in the device page was not working and I'm back to factory firmware. I'm not sure if the latest factory blocks openwrt, or if my nand was bad so bootloader kicked me back to factory after 3 fails.

Was performing fine until lot of

[ 7098.482498] print_req_error: 33231 callbacks suppressed
[ 7098.482505] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7098.498579] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7098.509463] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7098.520296] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7098.531192] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7098.542004] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7098.552869] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7098.563753] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7098.574576] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7098.585388] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7098.612484] buffer_io_error: 33290 callbacks suppressed
[ 7098.612491] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[ 7098.625472] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[ 7098.633167] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[ 7098.640810] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[ 7098.648484] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[ 7098.656173] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[ 7098.663917] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[ 7098.671554] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[ 7098.679337] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[ 7098.687104] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[ 7103.492545] print_req_error: 33966 callbacks suppressed

wifi acces failed, cable remained operational.

This is on an e8450, before I force flashed with 0.5.3

openwrt-mediatek-mt7622-linksys_e8450-ubi-initramfs-recovery-installer.itb

then flashed

openwrt-mediatek-mt7622-linksys_e8450-ubi-squashfs-sysupgrade.itb

then sysupgraded with r17747-9d994f35b4

After seeing al these dmesg I though I might needed commit

commit ade56b8d9e81553315ba9feaef2e207ad55b06f5
Author: Felix Fietkau
Date: Tue Oct 12 14:44:50 2021 +0200

mt76: update to the latest version

83598c2e872f mt76: avoid possible infinite loop in mt76_tx_status_check

So sysupgraded to r17752-e07cc46991 after being available but yet again I see the same msg appearing again. No routing, bad gateway accessing the router. Wifi clients not able to find each other.

450.043512] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  450.059566] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  450.070330] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  450.081133] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  450.091936] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  450.102751] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  450.113514] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  450.124324] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  450.135136] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  450.145883] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  450.173562] buffer_io_error: 33544 callbacks suppressed
[  450.173570] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[  450.186407] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[  450.194059] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[  450.201626] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[  450.209311] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[  450.216926] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[  450.224592] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[  450.232172] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[  450.239785] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[  450.247402] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[  455.053474] print_req_error: 34115 callbacks suppressed
[  455.053483] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  455.069460] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  455.080210] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  455.091018] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  455.101770] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  455.112516] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  455.123264] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  455.134017] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  455.144813] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[  455.155562] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0

The e8450 always had the

hexdump: /dev/mtdblock2: I/O error

I've got a RT3200 as well which does not throw this I/O error which had the same upgrade process.

Q. Is there anything conclusive to say about the i/o error. Is there a diff in hardware. Suppressing these msg is a workaround right? And it seems it has some other side effect on the operational status in general.

Other then that will try to look into it closer to try and find out under which conditions this is occurring and create ticket with hexdump, dmesg, version, logs, etc.

I am wondering if the non-ubi builds could be broken? Or like you said, the new factory firmware could have some sort of protective measure built in that would prevent a non-factory image from being flashed. Anyone else encountering this issue? My RT3200 has factory firmware version 1.0.01 build 101415 OCT 14, 2020.

I just found out about this router. I did not think openwrt worked on any wifi 6 AX router. I have a gigabit connection from Xfinity. My Netgear r7500v2 is struggling to keep up. I was wondering if the Belkin rt3200 would be a good router for my gigabit connection? I plan to pair it with two Cudy AC2100 routers configured as APs flashed with openwrt.

I have a gigabit connection as well and 2 Belkins, they are working great, no complains here.

2 Likes

Awesome thanks for your response. I am going to go ahead and grab this for my main router to replace my r7500v2. Is NAT offloading supported?

Yes, there is! It's experimental (it says on Luci) but I believe it is working well ( I don't use QoS/SQM, though) :slight_smile:

1 Like

Awesome thank you. I am getting this router for sure then. Later I think I will upgrade the Cudy AC2100 AP's with these as well. I wish I could find a place to get them for $50 to 75$ as some people claimed they did. I would buy three right now for that price. However, the cheapest I have found is for the Belkin version for $99.99 at Walmart.

1 Like

I would recommend checking the Belkin website periodically. I bought two there when they had a 20% back to school promotion (each one costing $80 after the discount).

1 Like

Most recent update is now giving segfaults, but no longer forces a reboot. This is happening to 2 of my Belkin routers

[  344.726909] ------------[ cut here ]------------
[  344.731548] WARNING: CPU: 0 PID: 1134 at ieee80211_beacon_update_cntdwn+0x9b4/0xb7c [mac80211]
[  344.740149] Modules linked in: pppoe ppp_async iptable_nat xt_state xt_nat xt_conntrack xt_REDIRECT xt_MASQUERADE xt_FLOWOFFLOAD xt_CT pppox ppp_generic nf_nat nf_flow_table nf_conntrack mt7915e mt7615e mt7615_common mt76_connac_lib mt76 mac80211 ipt_REJECT cfg80211 xt_time xt_tcpudp xt_multiport xt_mark xt_mac xt_limit xt_comment xt_TCPMSS xt_LOG slhc nf_reject_ipv4 nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle iptable_filter ip_tables hwmon crc_ccitt compat nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 seqiv uas usb_storage leds_gpio xhci_plat_hcd gpio_button_hotplug
[  344.796681] CPU: 0 PID: 1134 Comm: mt76-tx phy1 Tainted: G S      W         5.10.72 #0
[  344.804586] Hardware name: Linksys E8450 (UBI) (DT)
[  344.809455] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO BTYPE=--)
[  344.815463] pc : ieee80211_beacon_update_cntdwn+0x9b4/0xb7c [mac80211]
[  344.821991] lr : ieee80211_beacon_update_cntdwn+0x310/0xb7c [mac80211]
[  344.828508] sp : ffffffc010e8bbd0
[  344.831813] x29: ffffffc010e8bbd0 x28: ffffff80021c0fc0 
[  344.837117] x27: ffffff8004c45f28 x26: ffffff80021c0fc0 
[  344.842421] x25: ffffff8002750550 x24: ffffff8002750500 
[  344.847725] x23: ffffff8001b8adb4 x22: ffffffc010e8bd00 
[  344.853029] x21: ffffff8004c45f00 x20: 00000000000001f4 
[  344.858333] x19: ffffffc010e8bcf8 x18: 0000000000000000 
[  344.863637] x17: 0000000000000001 x16: 0000000000000001 
[  344.868941] x15: 0000000000000000 x14: 0000000000000000 
[  344.874245] x13: 0000000000000043 x12: 00000000fa83b2da 
[  344.879548] x11: ffffff8001b8adb4 x10: 0000000000000820 
[  344.884852] x9 : ffffffc010e8bd90 x8 : 0000000000001c20 
[  344.890155] x7 : ffffff8001b8adb4 x6 : 0000000000000288 
[  344.895459] x5 : 0000000000000008 x4 : 0000000000000001 
[  344.900763] x3 : 0000000000000088 x2 : 00000000000001c0 
[  344.906066] x1 : 0006001a48519891 x0 : 0000000000000050 
[  344.911371] Call trace:
[  344.913820]  ieee80211_beacon_update_cntdwn+0x9b4/0xb7c [mac80211]
[  344.920000]  ieee80211_tx_dequeue+0x8b4/0x1110 [mac80211]
[  344.925393]  __mt76_tx_complete_skb+0x33c/0x620 [mt76]
[  344.930524]  mt76_tx_worker+0x44/0x360 [mt76]
[  344.934873]  __mt76_worker_fn+0x90/0x100 [mt76]
[  344.939398]  kthread+0x120/0x124
[  344.942619]  ret_from_fork+0x10/0x18
[  344.946184] ---[ end trace 3bd4ae5f72086ffc ]---

I did an update about an hour ago

You might want to check this thread again. There are report that with SQM the router can only do around 500-600 Mbps. Without SQM you obviously get 1G though.

1 Like

Yes 500 600 mega with sqm but bad bufferbloat if I remember for be sure put the 400 400

1 Like

Okay WtH is go is going on with not being able to flash any sysupgrade non-ubi image like the wiki says for this device from the factory firmware? :frowning: Has Belkin updated their firmware to not allow this? I remember Linksys pulling a stunt like this with their EA8500 so that you had to using a USB serial cable to load an older firmware before you could flash dd-wrt.

Oh no I hope not I just ordered one from Walmart and will have it tomorrow or Sunday.

Just go with the UBI conversion. Much better option all over.

1 Like

No, this is not deliberately caused by Belkin or Linksys. The firmware on devices bought today is still from October 2020 (version 1.01 afaik), there was no OpenWrt port back then...
The problem is that the (previously hacky/messy) SPI-NAND driver was replaced/updated with a rewrite by MediaTek which is a shared implementation used in TF-A, U-Boot and Linux (which makes maintainance much easier in the long run).
(Un)fortunately the new driver gives error correction/detection feedback and apparently the OOB data is different depending on which driver is being used. So while everything written before the switch is still readable the driver reports fixing bit-flips which results in mt76 and other not using data in flash which was written in factory.
When using the UBI variant the installer itself takes care of that and re-writes the relevant parts of the factory partition (and anyway removes/replaces everything else). To use the non-UBI build you will have to manually re-write factory partition (ie. attach serial port, interrupt the bootloader and load initramfs via TFTP, then read and write back factory MTD partition) as there is no other way to do that right now.

1 Like