Belkin RT3200/Linksys E8450 WiFi AX discussion

Please suggest a short text for the device page that is clear enough to not risk a brick on the average user.

The steps are only usefull if bricked as i did :smiley:

Yes. And the description should nevertheless be clear and don’t confuse average users, don’t risk a brick. Short, clear sentences, a process that works and doesn’t break things for the average reader who is not as deep into the topic as some members here are.

If you like to propose a text that would be ready for the device page: please do so.

2 Likes

My english is not good because iom not native english. 30 % of my pullrequeste where not accepted because of bad comments!
So i think im not to right person to do this

First off, Thank you to all for your efforts.

Trying to follow the evolution of installer, and the OKD the issue, from the 5800+ posts left me rather confused.

One thing that i noticed in the last 3 weeks posts, was a lot more "how to tell" what version you have and what to do if you had X vs. Y. Thank you!

I am probably stating what is obvious to most here...but here goes

Openwrt Snapshots after Feb 18 2024 (V1.1.0) with 'fip' & 'factory' on ubi, has the following FLASH layout.

0x000000000000-0x000000080000 : "bl2"
0x000000080000-0x000008000000 : "ubi"

23.05.x has

0x000000000000-0x000000080000 : "bl2"
0x000000080000-0x0000001c0000 : "fip"
0x0000001c0000-0x0000002c0000 : "factory"
0x000000300000-0x000008000000 : "ubi"

So in the context of recovering and installing the (Linksys/Belkin) Factory firmware. The file version of *uboot.fip used with mtk_uartboot command, has to be the one corresponding to what is currently installed on the router. (Not the one you initially installed with and you might have backups from)

If we are running openwrt snapshots and V1.1.x of the installer was used then 'fip' & 'factory' are on ubi and to restore the router to factory firmware, the procedure is the same Restoring the vendor/official firmware

But it is only done for the 2 file,

ubidetach -d 0
insmod mtd-rw i_want_a_brick=1
mtd write /tmp/mtd0 /dev/mtd0
mtd write /tmp/mtd1 /dev/mtd1

N.B. ubidetach -d 0 will only work booted from openwrt-mediatek-mt7622-linksys_e8450-ubi-initramfs-recovery.itb and can not be done when booted on a non-recovery image.

Now question is: If you ONLY have backups from 23.05.x (because of a double installation of the installer that wiped the factory partition) and want to use them in restore to (fip&factory on ubi) version.

Can you use the *uboot.fip from 23.05.x with the mtk_uartboot command and use to Restoring the vendor/official firmware instructions OR should we make a new single mtd1 fille from the 23.05.x mtd1-3 backups using the same image layout from the installer and use the *uboot.fip from the snapshot to install it?

Does it matter and why?

Guys, in my country (Venezuela) we have a nationwide power outage since 6 hours ago. It makes me wonder. How many watts on full load the RT3200 pulls???

Has anyone measured with a kill-a-watt?? Because of the 2A power adapter, I bought a miniDC UPS that outputs 30W (24 for the router and 6 for the ONT), but the battery is relatively small (8800mAh). It only lasts about 3H. There are others with 12000 or more mAh but they are 18W. I'm afraid of using those, as I don't think they could provide enough juice for the RT3200.

Thoughts???

I have two remote setups at relatives’ houses and I’m using an 18W DC UPS (labeled “1.5A max”) for RT3200 + ONT with no problem. My use case is mostly power interruptions, but I’ve seen it stay on for hours if needed.

1 Like

For my own office setup I've been using one of these:

with the extra external battery pack:

This gives me a few hours of PC use on any power cut or keeps our internet going for much longer if I am not using my PC (our local cell tower is presumably on a generator backup).

Under normal (for me) usage, I haven't seen my RT3200s pull more than around 12W. My usage included managing multiple VLANs with routing, multiple SSIDs on both radios, SQM, and a number of additional CPU-intensive features. On a full-size UPS, the load added by this router was so low that it couldn't even be measured.

After some basic power monitoring tests performed a couple minutes ago, the RT3200 itself consistently draws less than 6W during startup (full CPU load), slightly under 3W at idle (no wired connections), and ~4W at near-idle with two wired connections. Of course, your power usage may vary depending on many conditions including WiFi output and the number of connected wired devices.

In other words, you'll probably be fine with a DC power source that can provide a continuous 18W.

1 Like

Thank you for this detailed response, also @kzaoaai 's.

I saw a 20000mAh DC UPS with 18W output. I think I can power the RT3200 and the ONT. I don't have that many devices. I basically need my phone and maybe the laptop to stay connected and see the news.

I wish I was prepared and got this UPS before this nationwide blackout. We have more than 7H by now.

EDIT:

@grauerfuchs , do you run your RT3200 with performance governor? I want to anticipate the worst case scenario of power consumption. I will go for that 18W 20000mAh DC UPS anyway. And my use case is very light.

Yes, that should give you a few more hours. It's also possible to run the RT3200 directly from a 12V automotive battery as well. I have done so before during power outages, and I was able to keep the network connection running indefinitely with a portable solar panel attached to keep the battery fully charged.

Best of luck to you! May the power be restored to your area soon.

Edit: The power consumption tests were done with a default configuration for OpenWRT 23.05.4. The only variation to it was an updated 2.10 BL2 compiled for compatibility with the 23.x release. My prior operating configuration used the 'ondemand' governor, but the expected difference in power consumption between my prior configuration and use of the performance governor is only 1-2W. I should note that the reported startup power draw was the maximum draw measured from initial power on to fully operational and idle.

3 Likes

See my post 5167 on Jun 21 with Kill-A-Watt readings. I was actually already replying to you about the use of scaling and governor.

P.S. It would be nice if routers started using USBC power supplies so there's one less custom power adapter to worry about. It would also be more efficient for devices like this, avoiding the DC->AC->DC conversion.

Hi, sorry everyone. I'm in a bit of a pickle.
Long story short, I was running stable 22.03.05 on my E8450. It was a backup router and I didn't touch it for a long time.
I ended up doing an attenutated update through LUCI (23.05.XX) and now my e8450 is stuck on the initramfs recovery mode.

I realized I didn't update to the 1.1.3 installer before installing the new stable build.

I can SSH into it, ethernet works but can't upload any new firmware.
I checked that my UBI is TF-A v2.4 without the OKD bug.

What can i do to unbrick it?

1 Like

If you went from 22.03.05 to 23.05.x, the 1.1.3 installer must not be used. The 1.1.x series of installers currently only supports installation of snapshot.

If the downloaded 23.05.x sysupgrade will not load, try downloading a new copy of the file from the firmware selector. The copy you received may have been corrupted. Install this fresh copy without saving settings. If this still does not work, then we will need to know any errors or abnormal messages the router may have returned.

pstore

<6>[    0.105524] CPU: All CPU(s) started at EL2
<6>[    0.109636] alternatives: patching kernel code
<6>[    0.117643] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
<6>[    0.127544] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
<6>[    0.134439] pinctrl core: initialized pinctrl subsystem
<6>[    0.141011] NET: Registered protocol family 16
<6>[    0.145891] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
<6>[    0.153027] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
<6>[    0.160816] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
<6>[    0.169125] thermal_sys: Registered thermal governor 'fair_share'
<6>[    0.169133] thermal_sys: Registered thermal governor 'bang_bang'
<6>[    0.175247] thermal_sys: Registered thermal governor 'step_wise'
<6>[    0.181314] thermal_sys: Registered thermal governor 'user_space'
<6>[    0.187622] ASID allocator initialised with 65536 entries
<6>[    0.199702] pstore: Registered ramoops as persistent store backend
<6>[    0.205940] ramoops: using 0x10000@0x42ff0000, ecc: 0
<3>[    0.221078] Cannot find regmap for /clock-controller@10209000: -22
<1>[    0.227345] Unable to handle kernel paging request at virtual address fffffffffffffffe
<1>[    0.235292] Mem abort info:
<1>[    0.238094]   ESR = 0x96000005
<1>[    0.241153]   EC = 0x25: DABT (current EL), IL = 32 bits
<1>[    0.246478]   SET = 0, FnV = 0
<1>[    0.249540]   EA = 0, S1PTW = 0
<1>[    0.252684] Data abort info:
<1>[    0.255566]   ISV = 0, ISS = 0x00000005
<1>[    0.259409]   CM = 0, WnR = 0
<1>[    0.262384] swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000044990000
<1>[    0.269106] [fffffffffffffffe] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
<0>[    0.277846] Internal error: Oops: 0000000096000005 [#1] SMP
<7>[    0.283434] Modules linked in:
<7>[    0.286497] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G S                5.10.221 #0
<7>[    0.294004] Hardware name: Linksys E8450 (UBI) (DT)
<7>[    0.298896] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
<7>[    0.304921] pc : 0xffffffc010455e44
<7>[    0.308414] lr : 0xffffffc01045eb20
<7>[    0.311907] sp : ffffffc010b5bb20
<7>[    0.315225] x29: ffffffc010b5bb20 x28: 0000000000000000
<7>[    0.320554] x27: ffffffc0109a03c8 x26: ffffffc010abd378
<7>[    0.325882] x25: ffffffc0109886c8 x24: 0000000000000000
<7>[    0.331211] x23: ffffffc010ab7f08 x22: 0000000000000000
<7>[    0.336539] x21: ffffff801fee5ee8 x20: fffffffffffffffe
<7>[    0.341867] x19: 0000000000000000 x18: 000000000000004e
<7>[    0.347195] x17: 000000000000001c x16: 0000000032980354
<7>[    0.352524] x15: ffffffc010a29b60 x14: 00000000000000ea
<7>[    0.357852] x13: 000000000000004e x12: ffffffc010b5b7f8
<7>[    0.363180] x11: ffffffc010a81b60 x10: 00000000fffff000
<7>[    0.368508] x9 : ffffffc010a81b60 x8 : 0000000000000000
<7>[    0.373837] x7 : ffffffc010a29b60 x6 : 00000000ffffefff
<7>[    0.379165] x5 : 0000000000000000 x4 : 0000000000000000
<7>[    0.384493] x3 : ffffff8000050000 x2 : 0000000000000000
<7>[    0.389821] x1 : ffffffc010b2c418 x0 : fffffffffffffffe
<7>[    0.395150] Call trace:
<7>[    0.397597]  0xffffffc010455e44
<7>[    0.400742]  0xffffffc01045eb20
<7>[    0.403886]  0xffffffc01045e970
<7>[    0.407030]  0xffffffc0104a48b0
<7>[    0.410175]  0xffffffc0104a246c
<7>[    0.413319]  0xffffffc0104a2ba4
<7>[    0.416463]  0xffffffc0104a2e10
<7>[    0.419607]  0xffffffc0104a01f8
<7>[    0.422752]  0xffffffc0104a28c4
<7>[    0.425896]  0xffffffc0104a2e80
<7>[    0.429040]  0xffffffc0104a14d8
<7>[    0.432185]  0xffffffc01049ec38
<7>[    0.435329]  0xffffffc0109c192c
<7>[    0.438474]  0xffffffc010004b70
<7>[    0.441618]  0xffffffc0109a1024
<7>[    0.444762]  0xffffffc010810394
<7>[    0.447906]  0xffffffc010005f78
<0>[    0.451057] Code: 910003fd f9000bf3 52800013 b40000e0 (f9400013)
<4>[    0.457182] ---[ end trace 29ed628398e54c22 ]---
Panic#2 Part1
<6>[    0.117643] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
<6>[    0.127544] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
<6>[    0.134439] pinctrl core: initialized pinctrl subsystem
<6>[    0.141011] NET: Registered protocol family 16
<6>[    0.145891] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
<6>[    0.153027] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
<6>[    0.160816] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
<6>[    0.169125] thermal_sys: Registered thermal governor 'fair_share'
<6>[    0.169133] thermal_sys: Registered thermal governor 'bang_bang'
<6>[    0.175247] thermal_sys: Registered thermal governor 'step_wise'
<6>[    0.181314] thermal_sys: Registered thermal governor 'user_space'
<6>[    0.187622] ASID allocator initialised with 65536 entries
<6>[    0.199702] pstore: Registered ramoops as persistent store backend
<6>[    0.205940] ramoops: using 0x10000@0x42ff0000, ecc: 0
<3>[    0.221078] Cannot find regmap for /clock-controller@10209000: -22
<1>[    0.227345] Unable to handle kernel paging request at virtual address fffffffffffffffe
<1>[    0.235292] Mem abort info:
<1>[    0.238094]   ESR = 0x96000005
<1>[    0.241153]   EC = 0x25: DABT (current EL), IL = 32 bits
<1>[    0.246478]   SET = 0, FnV = 0
<1>[    0.249540]   EA = 0, S1PTW = 0
<1>[    0.252684] Data abort info:
<1>[    0.255566]   ISV = 0, ISS = 0x00000005
<1>[    0.259409]   CM = 0, WnR = 0
<1>[    0.262384] swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000044990000
<1>[    0.269106] [fffffffffffffffe] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
<0>[    0.277846] Internal error: Oops: 0000000096000005 [#1] SMP
<7>[    0.283434] Modules linked in:
<7>[    0.286497] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G S                5.10.221 #0
<7>[    0.294004] Hardware name: Linksys E8450 (UBI) (DT)
<7>[    0.298896] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
<7>[    0.304921] pc : 0xffffffc010455e44
<7>[    0.308414] lr : 0xffffffc01045eb20
<7>[    0.311907] sp : ffffffc010b5bb20
<7>[    0.315225] x29: ffffffc010b5bb20 x28: 0000000000000000
<7>[    0.320554] x27: ffffffc0109a03c8 x26: ffffffc010abd378
<7>[    0.325882] x25: ffffffc0109886c8 x24: 0000000000000000
<7>[    0.331211] x23: ffffffc010ab7f08 x22: 0000000000000000
<7>[    0.336539] x21: ffffff801fee5ee8 x20: fffffffffffffffe
<7>[    0.341867] x19: 0000000000000000 x18: 000000000000004e
<7>[    0.347195] x17: 000000000000001c x16: 0000000032980354
<7>[    0.352524] x15: ffffffc010a29b60 x14: 00000000000000ea
<7>[    0.357852] x13: 000000000000004e x12: ffffffc010b5b7f8
<7>[    0.363180] x11: ffffffc010a81b60 x10: 00000000fffff000
<7>[    0.368508] x9 : ffffffc010a81b60 x8 : 0000000000000000
<7>[    0.373837] x7 : ffffffc010a29b60 x6 : 00000000ffffefff
<7>[    0.379165] x5 : 0000000000000000 x4 : 0000000000000000
<7>[    0.384493] x3 : ffffff8000050000 x2 : 0000000000000000
<7>[    0.389821] x1 : ffffffc010b2c418 x0 : fffffffffffffffe
<7>[    0.395150] Call trace:
<7>[    0.397597]  0xffffffc010455e44
<7>[    0.400742]  0xffffffc01045eb20
<7>[    0.403886]  0xffffffc01045e970
<7>[    0.407030]  0xffffffc0104a48b0
<7>[    0.410175]  0xffffffc0104a246c
<7>[    0.413319]  0xffffffc0104a2ba4
<7>[    0.416463]  0xffffffc0104a2e10
<7>[    0.419607]  0xffffffc0104a01f8
<7>[    0.422752]  0xffffffc0104a28c4
<7>[    0.425896]  0xffffffc0104a2e80
<7>[    0.429040]  0xffffffc0104a14d8
<7>[    0.432185]  0xffffffc01049ec38
<7>[    0.435329]  0xffffffc0109c192c
<7>[    0.438474]  0xffffffc010004b70
<7>[    0.441618]  0xffffffc0109a1024
<7>[    0.444762]  0xffffffc010810394
<7>[    0.447906]  0xffffffc010005f78
<0>[    0.451057] Code: 910003fd f9000bf3 52800013 b40000e0 (f9400013)
<4>[    0.457182] ---[ end trace 29ed628398e54c22 ]---
<0>[    0.462415] Kernel panic - not syncing: Oops: Fatal exception
<2>[    0.468180] SMP: stopping secondary CPUs

Any specific logs to check? It just keeps going back to recovery. LUCI shows the checksum to be correct. So doesn't seem to be a bad firmware file


UBI version:                    1
Count of UBI devices:           1
UBI control device major/minor: 10:63
Present UBI devices:            ubi0

ubi0
Volumes count:                           6
Logical eraseblock size:                 126976 bytes, 124.0 KiB
Total amount of logical eraseblocks:     1000 (126976000 bytes, 121.0 MiB)
Amount of available logical eraseblocks: 0 (0 bytes)
Maximum count of volumes                 128
Count of bad physical eraseblocks:       0
Count of reserved physical eraseblocks:  20
Current maximum erase counter value:     7
Minimum input/output unit size:          2048 bytes
Character device major/minor:            248:0
Present volumes:                         0, 1, 2, 3, 4, 5

Volume ID:   0 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        9 LEBs (1142784 bytes, 1.0 MiB)
State:       OK
Name:        ubootenv
Character device major/minor: 248:1
-----------------------------------
Volume ID:   1 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        9 LEBs (1142784 bytes, 1.0 MiB)
State:       OK
Name:        ubootenv2
Character device major/minor: 248:2
-----------------------------------
Volume ID:   2 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        66 LEBs (8380416 bytes, 7.9 MiB)
State:       OK
Name:        recovery
Character device major/minor: 248:3
-----------------------------------
Volume ID:   3 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        67 LEBs (8507392 bytes, 8.1 MiB)
State:       OK
Name:        boot_backup
Character device major/minor: 248:4
-----------------------------------
Volume ID:   4 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        79 LEBs (10031104 bytes, 9.5 MiB)
State:       OK
Name:        fit
Character device major/minor: 248:5
-----------------------------------
Volume ID:   5 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        746 LEBs (94724096 bytes, 90.3 MiB)
State:       OK
Name:        rootfs_data
Character device major/minor: 248:6
root@OpenWrt:~#  ubinfo -a UBI version
ubinfo: error!: more then one UBI device specified (use -h for help)
root@OpenWrt:~#  ubinfo -a UBI
libubi: error!: cannot get information about "UBI"
        error 2 (No such file or directory)
ubinfo: error!: error while probing "UBI"
        error 2 (No such file or directory)
root@OpenWrt:~#  ubinfo -a
UBI version:                    1
Count of UBI devices:           1
UBI control device major/minor: 10:63
Present UBI devices:            ubi0

ubi0
Volumes count:                           6
Logical eraseblock size:                 126976 bytes, 124.0 KiB
Total amount of logical eraseblocks:     1000 (126976000 bytes, 121.0 MiB)
Amount of available logical eraseblocks: 0 (0 bytes)
Maximum count of volumes                 128
Count of bad physical eraseblocks:       0
Count of reserved physical eraseblocks:  20
Current maximum erase counter value:     7
Minimum input/output unit size:          2048 bytes
Character device major/minor:            248:0
Present volumes:                         0, 1, 2, 3, 4, 5

Volume ID:   0 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        9 LEBs (1142784 bytes, 1.0 MiB)
State:       OK
Name:        ubootenv
Character device major/minor: 248:1
-----------------------------------
Volume ID:   1 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        9 LEBs (1142784 bytes, 1.0 MiB)
State:       OK
Name:        ubootenv2
Character device major/minor: 248:2
-----------------------------------
Volume ID:   2 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        66 LEBs (8380416 bytes, 7.9 MiB)
State:       OK
Name:        recovery
Character device major/minor: 248:3
-----------------------------------
Volume ID:   3 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        67 LEBs (8507392 bytes, 8.1 MiB)
State:       OK
Name:        boot_backup
Character device major/minor: 248:4
-----------------------------------
Volume ID:   4 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        79 LEBs (10031104 bytes, 9.5 MiB)
State:       OK
Name:        fit
Character device major/minor: 248:5
-----------------------------------
Volume ID:   5 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        746 LEBs (94724096 bytes, 90.3 MiB)
State:       OK
Name:        rootfs_data
Character device major/minor: 248:6

Have you cleared pstore by powering off, or by deleting the pstore files manually?

Ps. Logs do not survive reboot.

Hi,
Fixing the lines means to add the lines you referred to or to replace the existing: /dev/ubi0_0 0x0 0x1f000 0x1f000 1 /dev/ubi0_1 0x0 0x1f000 0x1f000 1
with the lines you posted?
Thanks

Good news! Been busy a bit lately, but had some free time yesterday and gave the damn APs another go with UART. Indeed it was OKD, and my old serial adapter was faulty, hence no output... Used a new one and flashed the now fixed BL2 and the latest snapshot.

But of course as my luck is, the update builder server went down sometime yesterday... So of course I can't get my new builds going.

I also finally got around to put together a custom case for two of my units. It's far from complete but initial fittings went well, and prints quite nicely too. Will still need to add some speed holes and fix up the port openings, however I managed to reduce the overall volume by nearly 40% (plus this generic box design is a bit easier to manage either horizontally or vertically or even mounted under a desk). Once I'm happy with the final results I'll release it, should anyone want to re-box their units (will even have a variant with an easily accessible serial port!).

9 Likes

Is there a way to determine if a device is a Linksys or Belkin from the command line? I'm hoping that there's something more robust than checking the MAC address prefix.

This might help to speed up things: https://www.thingiverse.com/thing:5864938

2 Likes