How can we make the lantiq xrx200 devices faster

0904-backport-vanilla-eth-driver.patch isn't available anymore. Did you remove it on purpose?

You need to use new patches now depending on your system. I did not add/remove anything.

My bad I was just looking at the wrong post.

For the 4.14 kernel I would need the patches published in Feb '19?

Yes you can try those. If it doesn't work for you then please post here again with the errors.

Got ready tplink w8970 image with @pc2005 patch if someone need it . Based on kernel 5.4 No problem with compatibility and stability so far for me .
But one thing. My WAN ( vdsl + vlan + pppoe ) to WiFi performance is only ~40Mbit .LAN -WiFi tops on 140Mbit with great range. I have full 55Mbit WAN -> LAN easy with SFQ cake

I would like to know how did you compile it with kernel 5.4. I could not find a thing.

Edit: Nevermind, I checked the source and OpenWrt master branch is already at v5.4.

FYI, do a make menuconfig, select Global Build Settings, select "Use the testing kernel version"

Testing Kernel 5.4.28 on XRX200, mine is a BT Home Hub 5a. Works mostly fine, except when I have a USB memory stick installed at boot time. I do not use extroot.

First link below is to boot log from a build of trunk made today. The device boots without the USB stick installed. It comes fine with no usage problems afaics. I then insert the USB stick and grab logread output.

logread without USB stick installed at boot

Booting with a USB memory stick results in a device that comes up but it does not provide an ip address over 2.4Ghz wifi or via ethernet, 5GHs wifi does function ok.

logread with USB memory stick installed at boot.

I notice this specific error

Tue Apr 7 14:00:58 2020 daemon.crit dnsmasq[1332]: bad option at line 1 of /mnt/sda1/syslog1.log

syslog1.log happens to be the first logread output files. I have no idea why dnsmasq opens it at all.

Maybe there is a bug with dnsmasq somewhere trying to output directly to the log file.

Hi,

Thanks for testing.

What is your SFQ configuration?

Did you split the two ethernet TX rings to the separate VPEs?
The interrupts are /proc/interrupts and /proc/irq/.

BTW when you start reading/writing on USB stick and pull it out, will you get kernel panic? (around 30% chance)

I Just forgot to play with irq config . Currently both xrx200-net TX's use CPU0 as I'm not using eth WAN .
Pushing wlan0 to CPU1 got me arround full speed wan->wlan but need to test more.

root@W8970:~# cat /etc/config/sqm

config queue 'eth1'
        option qdisc 'fq_codel'
        option qdisc_advanced '0'
        option enabled '1'
        option download '0'
        option debug_logging '0'
        option verbosity '5'
        option interface 'dsl0.35'
        option linklayer 'ethernet'
        option overhead '34'
        option upload '8400'
        option script 'piece_of_cake.qos'

How do I push WLAN to CPU1. Could someone explain this please. Thank you in advance.

First you need to look which IRQ you want to move. cat /proc/interrupts can help you with that. Once you have identified your target IRQ then you will do following:

# For CPU0
echo 1 > /proc/irq/XXX/smp_affinity
# For CPU1
echo 2 > /proc/irq/XXX/smp_affinity
# For both (which does not work now because of auto-balancing function being removed)
echo 3 > /proc/irq/XXX/smp_affinity

Keep in mind that this is not permanent (someone correct me here?) so I rather use /etc/rc.local and put the correct commands before exit 0.

2 Likes

My router use ath9k driver so below command is showing It use 144 for IRQ

root@W8970:~# cat /proc/interrupts |grep ath9k
144: 1519 0 icu 144 ath9k

now lets push interrupt to second core ... (where 0 is now)
echo 2 > /proc/irq/144/smp_affinity

after that 1519 is not moving up but 0 value is rising cause wifi IRQ is on 2nd core
As simple as it can be ...

1 Like

@ahmar16 @nicefile thank you.

Keep in mind that 3 is the default value, meaning use both cores. 0 value will not work. So that is why it's either 1, 2 or 3.

Is the patchset for 4.14 still available somewhere?
I am looking at @pc2005's post from March 2019 (How can we make the lantiq xrx200 devices faster) but both links have expired.

I'm interested in making my BT HH5 faster. It's currently on v19.07.2 but it's still slow. Where are these patches located at people are talking about?

If you can build from OpenWrt source and use the testing kernel then you can use them. Patches are here.