Dynalink DL-WRX36 Askey RT5010W IPQ8072A technical discussion

probably need

enable_console=1
console_unlock=1

scroll back, the discussion is further up, in old posts.

No issues here... Updated last evening to snapshot r22188 without any troubles.

1 Like

2 posts were split to a new topic: Installing USB storage driver, kmod compatibility error

@ansuel @robimarko
Do you have suggestions, how the IRQs affinities should be assigned with ath11k on multicore CPUs?
Apparently using irqbalance can be dangerous, so would manual affinity assignment work?

E.g. ipq8072 has 4 cores, so it sounds strange to leave everything on core0.

The examples in the forum (below) mainly distribute reo2host-destination-ring[1-4] and
wbm2host-tx-completions-ring[1-3] :

and we also wonder about the "ring" meaning: should all ring-mac1 be on the same core or not, etc.

Looking at the interrupt usage, main counts are with reo2host-destination-ring[1-4] and
wbm2host-tx-completions-ring[1-3] (note only 3 rings)

Any wisdom about the ath11k irq usage/balancing?

EDIT:
Actually, one of the messages has a reference to Xiaomi discussions, which has this interesting link to codeaurora where a balancing script with logic to map rings to core scan be found: https://source.codeaurora.org/quic/qsdk/oss/system/feeds/wlan-open/tree/mac80211/files/lib/smp_affinity_settings.sh?h=win_ap.1.0

1 Like

I have been testing a bit assigning core affinities the IRQs, and have noted that the wan/lan related edma IRQs 78-81 apparently need to be on the same core. I have successfully moved both of them from core0 to core3 (affinity 8), but having 78 and 80 distributed to two different cores seems to crash/lock the network pretty quickly.

Heaviest IRQ counts (and processor loads) are from those edma IRQs plus one copyengine (ce1). I wonder if it possible to leave edma IRQs at core0, assign ceX IRQ to core1, and then move the other ath11k IRQs to core2 and core3. That might produce the most balanced CPU usage. (Although looking at the IRQ counts in /proc/interupts may be misleading. At least with my 200/100 ISP connection, half of load is from the edma, half is from wifi related ones.)

3 Likes

Following your post, I moved those edma IRQs to core 3

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

echo 8 > /proc/irq/78/smp_affinity
echo 8 > /proc/irq/79/smp_affinity
echo 8 > /proc/irq/80/smp_affinity
echo 8 > /proc/irq/81/smp_affinity

exit 0

Then, from Router, run iperf3 -A 1 -t 20 -c computer, over a 1Gb LAN link

From htop,
Core 0 is virtually 0
Core 1 ~33% @ 1017MHz
Core 2 is virtually 0
Core 3 ~ 50-60% @ 1017MHz

Similarly, over a 2.5Gb LAN link:
Core 0 is virtually 0
Core 1 ~100% @ 2208MHz
Core 2 is virtually 0
Core 3 ~ 24-29% @ 2208MHz

1 Like

Does anyone have the latest snapshot running with kernel 5.15.98 ?

@hnyman I'd be happy to test. So we leave 78-81 EDMA on affinity 1... move 29-40 ceX to affinity 2... Then perhaps 49-53 and 73-75 to affinity 4... and finally 48 along with 57-59 to affinity 8. Does that sound like an appropriate assignment? Anything else you'd advise or recommend?

EDIT - shuffled the assignments a bit. Plus - what to do with irq 23?

Yes. Anything specific you need assistance with?

I really have no idea, but I guess that its only important to not move them dynamically but rather distribute them in one go.

A plier to rig the cables together probably enough, but you got yourself a reusable one :slight_smile:

this script from @bitthief works fine for me on the qnap .. note I run the qnap with nss .. I don't have edma irq's

for the dynalink (non nss) i have the below and it works fine as well. But as you say I end up with more load on cpu0

        #assign 4 rx interrupts to each cores
        echo 8 > /proc/irq/50/smp_affinity
        echo 4 > /proc/irq/51/smp_affinity
        echo 2 > /proc/irq/52/smp_affinity
        echo 1 > /proc/irq/53/smp_affinity

        #assign 3 tcl completions to 3 CPUs
        echo 8 > /proc/irq/73/smp_affinity
        echo 2 > /proc/irq/74/smp_affinity
        echo 4 > /proc/irq/75/smp_affinity

I updated today to SNAPSHOT - r22241-acb189179c with the attended sysupgrade and everything is good.

1 Like

3 posts were split to a new topic: Display the CPU temperature

is it possible to unbrick if i get to this massage on serial and no interrupt seem to work

Core 0 Frequency, 1651 MHz
nothing after this and the light on the router is purple

and if there is a way to fix this what is it please

thanks..

Try Dynalink DL-WRX36 Askey RT5010W IPQ8072A technical discussion - #1118 by frollic

cant use that since the router is not booting to anything on serial it just stops at Core 0,,and i cant interrupt have tested more then one uart chip ..

You dont know if it stops, or if the output is suppressed.

Try pressing any key when before you reach the point, and set the two parameters blindly.

How did you end up in this situation, in the 1st place ?

@sampson what was the last output, when uboot printout was disabled ?

I've tried pressing in both Windows and Linux, but no go.

I'm not really sure what happened it was all fine when it booted to the uImage.itb and did all the steps; this happened after the reboot test with more than one uart chip, but it still couldn't interrupt,

since i had uart this is the only thing it posts

Pretty sure you won't see anything, that's kind of the whole point...