How can we make the lantiq xrx200 devices faster

The first step is to switch to the mainline switch driver.

1 Like

Hi, I've just bought BTHub5A and my internet works. Installed the stable 19.07.7 on 4.14.221 kernel. Is there a built firmware on 5.4 or a commit which's proven working?
Another problem is that I'm getting only 20 out of the promised by Telekom 50Mbit/s. I suspect the vectoring driver, modem simply doesn't connect if I force G.993.5. What driver do you use on the newer firmwares?
Thanks!

Have a look at https://forum.openwrt.org/t/lantiq-vrx200-modem-firmware-with-vdsl2-vectoring-support/77613.

1 Like

Sidenote: while I liked the HH5A as a bridged modem with OpenWrt as its GUI; it never behaved sufficiently stable on my link (L3BSA O2/Telefonica, TAL operated by Deutsche Telekom) after the link was "upgrade" from plain VDSL2 to Vectoring-VDSL2 with bi-direction G.INP retransmissions; for testing I switched to a broadcom-based Zyxel modem (and so far never bothered to switch back, my OpenWrt primary router really does not care much about the brand an type of the modem at all, @takimata built a nice collectd script for monitoring, similar to what @st31ny did for the lantiq modem on the HH5A).
That said, a number of users seem to have reasonably stable vectoring links that work well with the HH5A...

1 Like

This thread is quite complicated, some stuff is outdated, some isn't. I am not really qualified to talk about this, I would like to ask, with the DSA mainline driver patch on latest master from git what works and what doesn't? The DSA driver brings full gigabit on lan and an iperf3 gives me a

[  5]   0.00-10.00  sec  58.5 MBytes  49.1 Mbits/sec  2749             sender
[  5]   0.00-10.00  sec  58.4 MBytes  49.0 Mbits/sec                  receiver

when bench marking the router. How do I improve this on the current master? What settings and what configuration changes do I need to use, do I need a specific kernel version, do I need to port patches?

Hi if you are using the actual master then you are using kernel 5.4. The patches for that kernel are here. Place it in your openwrt building folder at ~/openwrt/target/linux/lantiq/patches-5.4/. Use the names from the link 0904... and 0906....

Second speed up option is to use Software flow offloading. Go to luci --> Network --> firewall and enable it in the settings.

Some NAT benchmark (LAN<->WAN) on the BT HH5A (r16417-2b2fd8de7d) with enabled software offloading:

Test       OpenWRT driver        DSA driver         Increase
WAN->LAN   130 Mb/s              327 Mb/s           +151 %
LAN->WAN   132 Mb/s              315 Mb/s           +138 %

DSA driver PR.

3 Likes

The DSA migration is done and merged in OpenWrt master. The device should be quite a bit faster now?

Yes. They're much faster now. Currently, the results are as above. With 8W burst length I can reach almost 600 Mbps in the NAT benchmark. 8W burst length has been tested on xRX200 and newer SoCs. This week I will prepare PR for testing for older SoCs (Amazon, Danube, AR9).

1 Like

When testing the DSA driver on the BT HH5A did you see any CPU going as far as say 50%

Only the first core(VPE) deals with the processing of packets and interrupts from the network card. The load during testing is most often less than 50%.

You can also try Threaded NAPI, but it is slower. It seems that context switching between threads (VPE) costs a lot.

Will these changes be part of the 21.02 release?

No, it's way too late for that - there'll always be a next release.

http://lists.openwrt.org/pipermail/openwrt-devel/2021-June/035711.html

Fingers crossed

Some IPv6 Routing benchmark (LAN<->WAN) on the BT HH5A with enabled software offloading:

Test         1W                    8W             Increase
WAN->LAN   330 Mb/s              490 Mb/s           +48 %
LAN->WAN   338 Mb/s              590 Mb/s           +75 %

Burst length PR.

4 Likes

@olek210

This works for me except where a 100M wired device is connected to the bthh5a switch, the router issues an ip but the linux laptop never connects. Works fine with 1G wired etherne, wifi, usb WWAN etc. I cannot test xDSL.

Thank you for your excellent work on speeding up the xrx200!

EDIT: My bad, a new ethernet cable sorted out the 100M wired link! Superb work. Thank you. I am building with kernel 5.10.46.

Hi Aleksander,

I get wan using a huawei modem that presents as an NCM device. Applying your patches resulted in my LAN --> WAN speed doubling!!!

I greatly appreciate your excellent contribution! Thank you very much.

Mine setup is also BTHH5a with kernel 5.10.46.

Hi,
@PaulRowland @DermotMcDonnell and everyone interested in this PR
Thanks for the tests. It would be great if you could add it in the form of a
Tested-by: your name <your@email> # tested on device/model.

Best regards,
Aleksander

Hi Aleksander,

I am new to testing pull requests. Should I set up an account on github and comment on your pull request there?

Thanks again!!

I did git pull this morning and built with your latest patches, flashed it and now lan ports 1->4 do not connect. The Red WAN port on the bthh5a works fine. This is what I see in syslog:

Mon Jul 12 11:55:35 2021 kern.info kernel: [   95.408869] br-lan: port 4(lan4) entered disabled state
Mon Jul 12 11:55:35 2021 daemon.notice netifd: Network device 'lan4' link is down
Mon Jul 12 11:55:39 2021 kern.info kernel: [   98.525424] gswip 1e108000.switch lan4: Link is Up - 10Mbps/Half - flow control off
Mon Jul 12 11:55:39 2021 kern.info kernel: [   98.531716] br-lan: port 4(lan4) entered blocking state
Mon Jul 12 11:55:39 2021 kern.info kernel: [   98.537244] br-lan: port 4(lan4) entered forwarding state
Mon Jul 12 11:55:39 2021 daemon.notice netifd: Network device 'lan4' link is up
Mon Jul 12 11:56:29 2021 daemon.info dnsmasq-dhcp[4211]: DHCPREQUEST(br-lan) 192.168.1.237 xx:xx:xx:xx:xx:xx
Mon Jul 12 11:56:29 2021 daemon.info dnsmasq-dhcp[4211]: DHCPACK(br-lan) 192.168.1.237 xx:xx:xx:xx:xx:xx pr-pc
Mon Jul 12 11:56:31 2021 daemon.info dnsmasq-dhcp[4211]: DHCPDISCOVER(br-lan) 192.168.1.237 xx:xx:xx:xx:xx:xx
Mon Jul 12 11:56:31 2021 daemon.info dnsmasq-dhcp[4211]: DHCPOFFER(br-lan) 192.168.1.237 xx:xx:xx:xx:xx:xx
Mon Jul 12 11:56:33 2021 daemon.info dnsmasq-dhcp[4211]: DHCPDISCOVER(br-lan) 192.168.1.237 xx:xx:xx:xx:xx:xx
Mon Jul 12 11:56:33 2021 daemon.info dnsmasq-dhcp[4211]: DHCPOFFER(br-lan) 192.168.1.237 xx:xx:xx:xx:xx:xx
Mon Jul 12 11:56:38 2021 daemon.info dnsmasq-dhcp[4211]: DHCPDISCOVER(br-lan) 192.168.1.237 xx:xx:xx:xx:xx:xx
Mon Jul 12 11:56:38 2021 daemon.info dnsmasq-dhcp[4211]: DHCPOFFER(br-lan) 192.168.1.237 xx:xx:xx:xx:xx:xx
Mon Jul 12 11:56:47 2021 daemon.info dnsmasq-dhcp[4211]: DHCPDISCOVER(br-lan) 192.168.1.237 xx:xx:xx:xx:xx:xx
Mon Jul 12 11:56:47 2021 daemon.info dnsmasq-dhcp[4211]: DHCPOFFER(br-lan) 192.168.1.237 xx:xx:xx:xx:xx:xx
Mon Jul 12 11:57:03 2021 daemon.info dnsmasq-dhcp[4211]: DHCPDISCOVER(br-lan) 192.168.1.237 xx:xx:xx:xx:xx:xx
Mon Jul 12 11:57:03 2021 daemon.info dnsmasq-dhcp[4211]: DHCPOFFER(br-lan) 192.168.1.237 xx:xx:xx:xx:xx:xx

I tried 100M and 1G devices also, same result in syslog.