Adding support for VRX518 (and maybe VRX320)

This still builds on lantiq. Can someone please test if this still works on that platform?
The relevant changes are the already mentioned device rename and an update to the ifxos module.

First PR bits:

1 Like

Hi, I've upgraded my dsl line to 100 Mbit/s.
I'm not sure if the dslstats are ok now, maybe someone could look at it and tell me if the stats are ok - thanks in advance!

btw.: What are the "Non Pre-emptive CRC errors" is this counter similar to the "CRC Errors" from the original Fritzbox firmware?

root@rtr2:~# /etc/init.d/dsl_control dslstat
{
        "api_version": "4.21.3",
        "firmware_version": "8.13.1.10.1.7",
        "chipset": "Lantiq-VRX500",
        "driver_version": "1.9.3",
        "state": "Showtime with TC-Layer sync",
        "state_num": 7,
        "up": true,
        "uptime": 486064,
        "atu_c": {
                "vendor_id": [
                        181,
                        0,
                        66,
                        68,
                        67,
                        77,
                        194,
                        25
                ],
                "vendor": "Broadcom 194.25",
                "system_vendor_id": [
                        181,
                        0,
                        66,
                        68,
                        67,
                        77,
                        0,
                        0
                ],
                "system_vendor": "Broadcom",
                "version": [
                        118,
                        49,
                        50,
                        46,
                        48,
                        52,
                        46,
                        50,
                        53,
                        32,
                        32,
                        32,
                        32,
                        32,
                        32,
                        0
                ],
                "serial": [
                        101,
                        113,
                        32,
                        110,
                        114,
                        32,
                        112,
                        111,
                        114,
                        116,
                        58,
                        50,
                        53,
                        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": true,
                "retx": true,
                "virtual_noise": false,
                "interleave_delay": 0,
                "data_rate": 39171000,
                "latn": 14.300000,
                "satn": 14.000000,
                "snr": 6.600000,
                "actps": -90.100000,
                "actatp": 1.800000,
                "attndr": 39172000
        },
        "downstream": {
                "vector": true,
                "trellis": true,
                "bitswap": true,
                "retx": true,
                "virtual_noise": false,
                "interleave_delay": 130,
                "data_rate": 116789000,
                "latn": 14.700000,
                "satn": 14.700000,
                "snr": 10.800000,
                "actps": -90.100000,
                "actatp": 14.300000,
                "attndr": 130957312
        },
        "errors": {
                "near": {
                        "es": 1,
                        "ses": 0,
                        "loss": 0,
                        "uas": 74,
                        "lofs": 0,
                        "fecs": 12598,
                        "hec": 0,
                        "ibe": 0,
                        "crc_p": 295,
                        "crcp_p": 0,
                        "cv_p": 46,
                        "cvp_p": 0,
                        "rx_corrupted": 66687,
                        "rx_uncorrected_protected": 933,
                        "rx_retransmitted": 0,
                        "rx_corrected": 65754,
                        "tx_retransmitted": 756
                },
                "far": {
                        "es": 6,
                        "ses": 1,
                        "loss": 0,
                        "uas": 74,
                        "lofs": 0,
                        "fecs": 461,
                        "hec": 0,
                        "ibe": 0,
                        "crc_p": 0,
                        "crcp_p": 0,
                        "cv_p": 0,
                        "cvp_p": 0,
                        "rx_corrupted": 188253,
                        "rx_uncorrected_protected": 187241,
                        "rx_retransmitted": 0,
                        "rx_corrected": 1012,
                        "tx_retransmitted": 127332
                }
        },
        "erb": {
                "sent": 3876642,
                "discarded": 0
        }
}

1 Like

@gsum keeping ip as 192.168.1.1 from the start unfortunately didn't work out well for me. Tried out several times over few weeks now and nothing worked. Until yesterday when i tried the flashing instructions on this site using a windows machine, particularly by disabling firewall temporarily. It worked out smoothly and i was able to flash.

Previously it always got stuck in tftp transfer. With no firewall, the tftp transfer went through and i was able to flash with no issues. Tried with both 7.21 and 7.29, both works.

Hi people,

now that i have flashed openwrt to my Fritzbox 7530, i am looking to use it for vdsl(250Mbit/s). Can anyone please share the firmware file to try out ?

I followed @owrt docker file and tried out. I got stuck at the end where menuconfig comes up to choose the options. I am new to compiling, using make and not exactly sure which options to choose, what to do next, i am willing to learn . Thank you all for great work here.

Send me PM

1 Like

Hi @janh ,

is there a way to delegate the interrupts from mei_cpe, aca-txo and aca-rxo on different cores?
I'm asking because the cpu is maxed out on cpu 0 when i'm trying to shape traffic with tc-cake.

When I'm trying to change the smp_affinity in for example mei_cpe with
echo 2 > /proc/irq/108/smp_affinity
I get an error message bash: echo: write error: Invalid argument

Unfortunately packet steering and/or irqbalance doesn't help here.

Thanks in advance!

Ah, that answers my question from the other thread.... :wink:

Exactly :wink:

i guess that 35b support is still too early to expect ?

out of curiocity can you set the planet vc 231 vdsl adapter i saw using to sync at what ever
profile you need ?

No, I believe it only has a rather limited set of options configurable via dip switch.

I don't know of any way to improve that situation right now. Performance is definitely an open issue. I'm not sure if moving interrupts to another CPU core would actually help, or if that would just max out another core instead. I think the real problem here is that all sent/received data is copied at the moment, but as mentioned before, I didn't find any way to implement it differently. And only having single queues for TX/RX also doesn't help on this platform.

Profile 35b works fine.

i saw on that page that the modem was unsuported .
image
thus i asumed it was not that usable ...

I probably misunderstood your question, I thought you were asking if profile 35b is supported with the patches that are linked earlier in this post.

That page is correct for upstream OpenWrt. For now, it is necessary to build a custom image to make the modem work.

So , i guess its still buggy (modem support for this frizbox and generaly any modem that can do
supervectoring) ?

Maybe it is rather your misunderstanding of the OpenWrt development process as a community project. Community members are developing things, working out further details. Eventually, creating a merge request which further community members may test, review and refine. Until, eventually, it may get merged into the master codebase. As for the feature you are looking for that process is just still ongoing.

yes , im new to openwrt (coming form PFsense) and trying to learn my way arround this piece of software . excuse me if im asking "wrong questions"

1 Like

Is there anyway to support you? (as someone who is a non-developer)

@janh I rebased and pushed my changes, updates and whatnot:

The support for 7520 was re-done according the the PR comments, which now means it's independent of the dsl support you added (so it's no longer intertwined with it).

There's prolly a few cleanups I skipped, but please feel free to use that as a base whenever you get back on working on vrx518 support!

3 Likes

I'd like to offer a small reward for the person who manages to get it working in a performant way.
Is here anyone who would throw in some bucks as well?

@DavidDohmen
@numero53

anyone else?