Belkin RT3200/Linksys E8450 WiFi AX discussion

Capture d’écran 2022-01-04 à 22.55.22

i can see the option is add like i would like (qosify)

are they already available in the last snapshot? thanks

It is not worth using "ondemand" (old) because it is obsolete and now it is replaced by "schedutil" (new) and you don't need to change the minimum frequency because the router boot after a reboot without problems.

I edited my previous post on how to change the CPU governor (Click)

Information about "schedutil" CPU governor:

"schedutil" is a new EAS governor found in recent versions of the Linux Kernel (4.7+) that aims to integrate better with the Linux Kernel scheduler. It uses the kernel's scheduler to receive CPU utilisation information and make decisions from this input. As a direct result, schedutil can respond to CPU load faster and more accurate than normal governors such as Interactive that rely on timers.

Most Linux distributions still aren't defaulting to the "performance" governor but either using the "ondemand" or with newer kernels is often using "schedutil".

The "schedutil" governor aims at better integration with the Linux kernel scheduler. Load estimation is achieved through the scheduler's Per-Entity Load Tracking (PELT) mechanism, which also provides information about the recent load [1].
This governor currently does load based DVFS only for tasks managed by CFS. RT and DL scheduler tasks are always run at the highest frequency. Unlike all the other governors.

For most workloads, the CPUFreq Schedutil governor on Linux 5.11 (once the recent frequency invariance patch lands, which was patched into our kernel build) tends to perform pretty close to the performance governor. There are some exceptions but improvements are being made.

CPU governor Schedutil now works as well as Performance for the games I've tried

I've been running my Ubuntu 2700x / Vega64 / Kernel 5.4 system on Performance mode for ages because it gave clear gaming benefits. I've been pleasantly surprised today to find that Schedutil now works just as well - but keeps my CPU clocked down when it's not busy.

This is nice. Give it a try fellow Performance CPU Governor people and maybe save some pennies on your electricity bills.


More information about CPU Governors:


The file sizes look correct. The only good explanation is that you must have done the backup after the device has already been flashed with OpenWrt, hence that's what you are restoring now.


Well, being a test version of course it isn't all perfect. The router crashed this morning, Here is the log if the developers need it:

<1>[ 7586.067092] Unable to handle kernel paging request at virtual address dead000000000110
<1>[ 7586.075021] Mem abort info:
<1>[ 7586.078011]   ESR = 0x96000004
<1>[ 7586.081070]   EC = 0x25: DABT (current EL), IL = 32 bits
<1>[ 7586.086380]   SET = 0, FnV = 0
<1>[ 7586.089574]   EA = 0, S1PTW = 0
<1>[ 7586.092812] Data abort info:
<1>[ 7586.095691]   ISV = 0, ISS = 0x00000004
<1>[ 7586.099546]   CM = 0, WnR = 0
<1>[ 7586.102617] [dead000000000110] address between user and kernel address ranges
<0>[ 7586.109774] Internal error: Oops: 96000004 [#1] SMP
<7>[ 7586.114752] 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_tftp nf_nat_snmp_basic nf_nat_sip nf_nat_pptp nf_nat_irc nf_nat_h323 nf_nat_ftp nf_nat_amanda nf_nat nf_flow_table nf_conntrack_tftp nf_conntrack_snmp nf_conntrack_sip nf_conntrack_pptp nf_conntrack_netlink nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp nf_conntrack_broadcast nf_conntrack_amanda 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 ts_kmp ts_fsm ts_bm slhc sch_cake poly1305_neon nf_reject_ipv4 nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 libcurve25519_generic libchacha libblake2s_generic
<7>[ 7586.115171]  iptable_raw iptable_mangle iptable_filter ipt_ECN ip_tables hwmon crc_ccitt compat asn1_decoder sch_teql sch_sfq sch_red sch_prio sch_pie sch_multiq sch_gred sch_fq sch_dsmark sch_codel em_text em_nbyte em_meta em_cmp act_simple act_police act_pedit act_ipt act_csum libcrc32c cls_bpf act_bpf 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 xt_set ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport ip_set_hash_netnet ip_set_hash_netiface ip_set_hash_net ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 ifb ip6_udp_tunnel udp_tunnel ntfs seqiv usb_storage leds_gpio xhci_plat_hcd fsl_mph_dr_of ehci_platform ehci_fsl ehci_hcd
<7>[ 7586.202590]  gpio_button_hotplug exfat
<7>[ 7586.292308] CPU: 1 PID: 7709 Comm: kworker/u4:2 Tainted: G S                5.10.87 #0
<7>[ 7586.300222] Hardware name: Linksys E8450 (UBI) (DT)
<7>[ 7586.305128] Workqueue: nf_ft_offload_stats nf_flow_rule_route_ipv4 [nf_flow_table]
<7>[ 7586.312709] pstate: 20000005 (nzCv daif -PAN -UAO -TCO BTYPE=--)
<7>[ 7586.318722] pc : nf_flow_offload_ip_hook+0xd88/0xf80 [nf_flow_table]
<7>[ 7586.325081] lr : nf_flow_offload_ip_hook+0xd9c/0xf80 [nf_flow_table]
<7>[ 7586.331431] sp : ffffffc0157a3c20
<7>[ 7586.334744] x29: ffffffc0157a3c20 x28: 0000000000000000 
<7>[ 7586.340063] x27: ffffff80054e1ec8 x26: 0000000000000000 
<7>[ 7586.345382] x25: ffffff80054e7a00 x24: ffffffc008d7b648 
<7>[ 7586.350701] x23: ffffffc0157a3d40 x22: 0000000000000002 
<7>[ 7586.356020] x21: ffffffc008d7b638 x20: 0000000000000000 
<7>[ 7586.361339] x19: dead0000000000f0 x18: 0000000000000000 
<7>[ 7586.366658] x17: 0001af94112ef4fe x16: 0001af94112ef4fe 
<7>[ 7586.371976] x15: 0000000000000006 x14: 0000000000000000 
<7>[ 7586.377295] x13: ffffffc008d7b540 x12: ffffffffffffffff 
<7>[ 7586.382614] x11: 0000000000000001 x10: ffffff8000005100 
<7>[ 7586.387932] x9 : ffffff8003d5517c x8 : 0000000000000000 
<7>[ 7586.393251] x7 : ffffffffffffffff x6 : 685c040000000000 
<7>[ 7586.398570] x5 : 0000000000000002 x4 : 0000000000000000 
<7>[ 7586.403888] x3 : ffffff80057f4200 x2 : 0000000000000000 
<7>[ 7586.409206] x1 : dead000000000100 x0 : 0000000000000001 
<7>[ 7586.414525] Call trace:
<7>[ 7586.416981]  nf_flow_offload_ip_hook+0xd88/0xf80 [nf_flow_table]
<7>[ 7586.422993]  nf_flow_rule_route_ipv4+0x764/0x81c [nf_flow_table]
<7>[ 7586.429005]  process_one_work+0x1d4/0x370
<7>[ 7586.433015]  worker_thread+0x180/0x4f0
<7>[ 7586.436767]  kthread+0x120/0x124
<7>[ 7586.439999]  ret_from_fork+0x10/0x18
<0>[ 7586.443584] Code: d1004013 eb0002bf 54000580 52800014 (f9401263) 
<4>[ 7586.449680] ---[ end trace 8e4e63fa6b3dada6 ]---
<0>[ 7586.476252] Kernel panic - not syncing: Oops: Fatal exception
<2>[ 7586.482009] SMP: stopping secondary CPUs
<0>[ 7586.485938] Kernel Offset: disabled
<0>[ 7586.489428] CPU features: 0x0000002,04002004
<0>[ 7586.493694] Memory Limit: none

LE: Another issue I've noticed, having an Android mobile phone and a Google Nest Hub 2nd gen, both connected to the same 5Ghz WLAN network. Using the "wed" testing version, the Google Home App saw all my devices fine, but when accessing the Nest Hub it said in a banner something like that "some settings are unavailable, check that your devices are on the same Wi-Fi network". Volume control and other functions worked OK, only the "restart device" function did not have any effect. Now I've reverted to the "master" version and the banner message disappeared and I can restart the Nest Hub from the Home App. Maybe this helps for further diagnosing.

1 Like

is there anyway to flash back to stock if this is the case?

Idle Power Usage Measured (Belkin RT3200)

Stock firmware

  • 4.9W when just plugged in out of the box (no setup complete). No ethernet connected.
  • 5.4W with two ethernet cables connected (1 LAN, 1 WAN).

OpenWRT firmware SNAPSHOT r18125-b764cb9e5b (dangowrt/linksys-e8450-openwrt-installer Release v0.6.1)

  • 4W when powered on but no ethernet connected and OpenWRT default settings.
  • 3.7W when powered on but no ethernet connected, after running echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor.
  • 4.5W idle with two ethernet cables connected and OpenWRT default settings (1 LAN, 1 WAN).
  • 4.3W idle with two ethernet cables connected (1 LAN, 1 WAN), after running echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor.

OpenWRT firmware SNAPSHOT r18470-cb85aea869 (5-1-2022)

  • 4.3W idle with two ethernet cables connected (1 LAN, 1 WAN), after running echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
  • 5.4W idle with two ethernet cables connected (1 LAN, 1 WAN), after running echo "schedutil" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor and WiFi radios (2.4Ghz and 5Ghz) enabled.


Forgot to enable the WiFi radio on OpenWRT, which was the reason the power usage on OpenWRT was lower than on stock firmware. With the schedutil governor power usage is about the same as on stock.


Interesting! According to your screenshot the CPU actually runs at 30Mhz most of the time. So does that mean 30Mhz actually works fine (in combination with schedutil) and doesn't need to be fixed as proposed in

I can confirm reboot works fine with schedutil without changing the minimum frequency.

1 Like

Anyone tested to see if this breaks SQM?

Yes, many have confirmed that 30 MHz seems to work, but consumes just as much energy as 300 MHz does and the label of that lowest frequency in mt7622.dtsi device tree also hints that 300MHz was intended there.


I made another pull request, which includes the 300mhz fix by @fda. Hopefully this one will be merged :slight_smile:

1 Like

Hi guys.. I'm usually a lurker but today i fucked up bad.

I was trying to install the snapshot on my RT3200.. everything was going swell 'til the part in the guide where you powercycle the router. I tried powercycling the router three times but it kept booting back up to the OpenWRT recovery.. I had a 'smart' idea. I decided to flash to the stock OEM firmware in the OpenWRT temp recovery in hopes that it would boot back to the oem firmware. But Alas, I believe i have a bricked RT3200 which just flashes twice every second now.

How do I unbrick? i'm going to run off tomorrow to Central Computers and buy a TTL to USB

1 Like

Hello everyone, I will be on a gigabit connection this afternoon at 2 p.m. in Switzerland, it is currently 11:30 a.m. at home,

Do you want me to carry out tests as a qosify example or the script I am currently using from elan or specific commands, I would write to you around 2:15 p.m. Swiss time when I was installed at my uncle's house he told me that he was fiberglass but I do not know if it is 1GO or 10go because it is possible in Switzerland thank you

@dlakelan @moeller0 @elan @daniel

1 Like

If you have flashed anything while running the UBI recovery on top of a non-UBI (ie. stock) bootchain, the only way to recover from there is by using the console on the serial port inside the device.
I start to wonder if it was a good idea to recommend everyone to do the full backup. The risks of getting it wrong may well outweigh.


The same thing happened to me when I tried to go back to the stock firmware after installing recovery.itb to do the full backup.

I did this to go back to the stock firmware:

  1. Unplug the router for 30 seconds.
  2. Plug in for 2 seconds and then unplug again.
  3. Plug in and now the router booted with the stock firmware.

The only thing i flashd was


Then because I couldnt get oem to boot after power cycling I flashed via initramfs-recovery


Now my router flashes every two seconds :sweat_smile:

1 Like

Capture d’écran 2022-01-06 à 14.50.52

i everybody i has 10gbps and 10Gbps

for the moment but my laptopt has only 1gport ethernet i will test now in swiss country

Capture d’écran 2022-01-06 à 15.07.17


Hi, I am planning to buy two Linksys E8450 to setup a 802.11s Mesh network with 802.11k/v/r Fast Roaming. However, I am not familiar with OpenWrt so I want to ask some basic questions:

Which image I should use to flash to OpenWrt firmware?
Do the Linksys E8450 with OpenWrt support 802.11s and 802.11k/v/r?

As I will flash the routers using non-UBI method (as the router is in warranty), I would like to know the correct method of flashing it in the vendor firmware web admin page. I see there are several image available in the download page.

Thank you.

If you want to keep the vendor layout, because of a problem with the SPI-NAND driver, you first have to flash openwrt-mediatek-mt7622-linksys_e8450-initramfs-kernel.bin using the vendor Web UI. Then connect to the router using ssh root@ after if comes up with OpenWrt initramfs and from there use sysupgrade to flash openwrt-mediatek-mt7622-linksys_e8450-squashfs-sysupgrade.bin.


Also 802.11s is broken on snapshots on this router for many months now. Just use WDS.


Thank you for you reply, Lynx.
I will consider another product as 802.11s is a requirement for me.