How can we make the lantiq xrx200 devices faster

I've managed to backport ethernet driver from vanilla kernel v5 (seems to be better than actual openwrt) and I've added switch and phy from the old one. This seems to increase the troughtput of the ethernet (server 10.0.0.1, tplink xrx200 10.0.0.80):

test upload:
        server
                nc -u -l -p 4321 | pv > /dev/null
        tplink
                cat /dev/zero | nc -u 10.0.0.1 4321
        speed = 18,5MiB/s
test download:
        tplink
                nc -u -l -p 4321 > /dev/null
        server
                cat /dev/zero | pv | nc -u 10.0.0.80 4321
        speed = ~100 MiB/s (varies)

If you test the old ethernet driver by same commands you will see an increase to about 200%.

My second patch is for DMA burst size. Both patches were tested in openwrt git snapshot 6e104c63d678518f93425e5e34f6caf75228024c, but they are updated for a3ccac6b1d693527befa73532a6cf5abda7134c0, where they was not yet tested. I don't know the exact way how add patches to openwrt, but it should be fine to put them into target/linux/lantiq/patches-4.14 or directly patch the kernel at build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/linux-4.14.96 .

0904-backport-vanilla-eth-driver.patch
0905-increase-dma-burst-size.patch

Another speedup patches are in this thread.

edit: fixed patches, there was surplus "./" in path, works from target/linux/lantiq/patches-4.14

3 Likes