How can we make the lantiq xrx200 devices faster

No change, goes from green to solid red, no ports open and no access

I assume you have used the search in the forum.
However, as this model has several documentation on other forums, please, check also the existing installation guide, in particular, section 8:

You will see different methods to try.

Hope it helps.

Source: Bthub solid red light after firmware update 19.07 - #6 by realpandas

I tried the daily versions. and there is no difference. performance is still very bad

Is the WAN connection PPPoE or DHCP? Have you enabled Software Flow Offloading?

yes wan vdsl pppoe and flow active

My patches don't touch the DSL part hence you don't see any improvement. The performance gain is only visible during transfers over the Ethernet interface (WAN and LAN).

1 Like

The maximum speed of VDSL is 100Mbps, conditioned by the physical state of the copper pair line. Before @olek210 patches this SoC was already able to transfer over 100Mbps in NAT, so no performance improvement under VDSL is possible.

wan to lan
wan to 5ghz
lan to 5ghz

i tested these but performance is still poor

Does any one noticed that recent trunk has IRQ VPE enabled but moving ethernet IRQ (72 / 73) to second core kills network ?
kernel 5.4 + DFS + VPE patch didn't had that issues as I'm still using it on "production" FB7412

Indeed i noticed the same thing.. I am able to move the ath9k interrupts to the second core. But moving the dsl or erhernet interrupt hangs my wr9980.

You should use this patch.
0901-add-icu-smp-support.patch

1 Like

Hi, I have Astoria networks VGV7519 (VRX288 V1.2) running latest stable OpenWRT v21.02.3.
My internet uplink is pppoe ethernet 100mbps (I don't use dsl/telephony)
What patches/settings would you advice to improve performance of this unit? I already enabled "Software flow offloading", but would like to go a bit further.

root@wrt0-vgv:~# cat /proc/cpuinfo
system type             : xRX200 rev 1.2
machine                 : KPN Experiabox V8
processor               : 0
cpu model               : MIPS 34Kc V5.6
BogoMIPS                : 332.54
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 16
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp mt
Options implemented     : tlb 4kex 4k_cache 32fpr prefetch mcheck ejtag llsc dc_aliases userlocal vint perf_cntr_intr_bit perf
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 0
VPE                     : 0
VCED exceptions         : not available
VCEI exceptions         : not available
root@wrt0-vgv:~# dmesg | grep smp
[    0.000000] Kernel command line: console=ttyLTQ0,115200 mem=62M vpe1_load_addr=0x83e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp
[    0.075297] smp: Bringing up secondary CPUs ...
[    0.079759] smp: Brought up 1 node, 1 CPU

Please use 22.03.0-rc1 or trunk It contains major improvements for lantiq platform . And there will be more in stable 22.03.0 branch in next few months .

I tried both 22.03.0-rc1 and trunk but there is still 1 core shown in /proc/cpuinfo and no SMP support. So do I still need to compile myself and apply some patches?

lantiq devices with FXS (analogue phone-) ports reserve one CPU core as voice core (running a special voice firmware and reserving 2 MB of the main RAM). If you don't need that and want to re-use the second core as CPU core, you will have to adapt the cmdline in your device's dts and rebuild OpenWrt (from source).

This is the expected behaviour and not a bug.

1 Like

What do i need to edit in the .dts to enable the second core on ARV7519RW22?

That should be &vmmc declaration but since i cannot see it vr9_arcadyan_arv7519rw22.dts so I assume You will need upgrade to OpenWRT 22.03 or master cause old builds doesn't have SMP

I just installed 22.03.2 stable on a Fritzbox 7412. SMP seems to be enabled but I still only get ~25 Mb/s via VDSL. I assume the neccessary patches to improve performance are not (yet) included in this version? Can somebody give me a quick sum up of which patches to apply?

Can you post the output of:
ubus call dsl metrics
and a screenshoot of all the information shown by the go-dsl tool (there is a download link on that page if you do not want to build it yourself)?
We can take it from there :wink:

root@OpenWrt:~# ubus call dsl metrics
{
	"api_version": "4.17.18.6",
	"firmware_version": "5.9.1.4.0.7",
	"chipset": "Lantiq-VRX200",
	"driver_version": "1.5.17.6",
	"state": "Showtime with TC-Layer sync",
	"state_num": 7,
	"up": true,
	"uptime": 3787,
	"atu_c": {
		"vendor_id": [
			181,
			0,
			66,
			68,
			67,
			77,
			178,
			33
		],
		"vendor": "Broadcom 178.33",
		"system_vendor_id": [
			181,
			0,
			66,
			68,
			67,
			77,
			0,
			0
		],
		"system_vendor": "Broadcom",
		"version": [
			118,
			49,
			49,
			46,
			48,
			52,
			46,
			51,
			51,
			32,
			32,
			32,
			32,
			32,
			32,
			0
		],
		"serial": [
			101,
			113,
			32,
			110,
			114,
			32,
			112,
			111,
			114,
			116,
			58,
			48,
			48,
			32,
			32,
			111,
			101,
			109,
			105,
			100,
			32,
			115,
			111,
			102,
			116,
			119,
			97,
			114,
			101,
			114,
			101,
			118
		]
	},
	"power_state": "L0 - Synchronized",
	"power_state_num": 0,
	"xtse": [
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		2
	],
	"annex": "B",
	"standard": "G.993.2",
	"profile": "17a",
	"mode": "G.993.2 (VDSL2, Profile 17a, with down- and upstream vectoring)",
	"upstream": {
		"vector": true,
		"trellis": true,
		"bitswap": false,
		"retx": true,
		"virtual_noise": false,
		"interleave_delay": 0,
		"data_rate": 12736000,
		"latn": 9.300000,
		"satn": 9.300000,
		"snr": 21.900000,
		"actps": -90.100000,
		"actatp": 14.300000,
		"attndr": 36305000
	},
	"downstream": {
		"vector": true,
		"trellis": true,
		"bitswap": true,
		"retx": true,
		"virtual_noise": false,
		"interleave_delay": 130,
		"data_rate": 63679000,
		"latn": 11.700000,
		"satn": 11.700000,
		"snr": 26.400000,
		"actps": -90.100000,
		"actatp": -2.400000,
		"attndr": 135856128
	},
	"errors": {
		"near": {
			"es": 0,
			"ses": 0,
			"loss": 0,
			"uas": 1,
			"lofs": 0,
			"fecs": 0,
			"hec": 0,
			"ibe": 0,
			"crc_p": 0,
			"crcp_p": 0,
			"cv_p": 0,
			"cvp_p": 0,
			"rx_corrupted": 0,
			"rx_uncorrected_protected": 0,
			"rx_retransmitted": 0,
			"rx_corrected": 0,
			"tx_retransmitted": 0
		},
		"far": {
			"es": 271,
			"ses": 46,
			"loss": 0,
			"uas": 1,
			"lofs": 0,
			"fecs": 2868,
			"hec": 0,
			"ibe": 0,
			"crc_p": 0,
			"crcp_p": 0,
			"cv_p": 0,
			"cvp_p": 0,
			"rx_corrupted": 307389,
			"rx_uncorrected_protected": 256230,
			"rx_retransmitted": 0,
			"rx_corrected": 51159,
			"tx_retransmitted": 1732344
		}
	},
	"erb": {
		"sent": 18601,
		"discarded": 0
	}
}

go-dsl somehow doesn't work for me, it exits with status 127.


`