[help with configuration wanted] Fritz!Box 7520 / 7530 DSL Modem not working

Hi,

i am using 23.05.0 stable on my FritzBox 7520 and followed the instructions on the install guide including installing the firmware and setting the symlink.

But I can't get my VDSL to work. my ISP is 1und1 here in Germany and I read isp-configurations#vdsl1
Should you link the firmware with an 'option firmware '/path/to/firmware', or is that already done with the symlink ? Is 'dsl0' the same as 'ptm0'? Have there been major changes as to how the configuration is done in 23.05.0 ?

Related posts are ether running ADSL or not on the stable release but on snapshot

/etc/config/network
root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix '__________::/48'

config atm-bridge 'atm'
	option vpi '1'
	option vci '32'
	option encaps 'llc'
	option payload 'bridged'
	option nameprefix 'dsl'

config dsl 'dsl'
	option annex 'b'
	option tone 'bv'
	option xfer_mode 'ptm'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config device
	option name 'dsl0'
	option macaddr '__________'

config interface 'wan'
	option device 'dsl0'
	option _orig_ifname 'ptm0'
	option _orig_bridge 'false'
	option ifname 'dsl0.7'
	option proto 'pppoe'
	option username 'username'
	option password 'password'
	option ipv6 'auto'

config interface 'wan6'
	option device '@wan'
	option proto 'dhcpv6'

there is still nothing, power_state is still : "L3 - No power"

ubus call dsl metrics
root@OpenWrt:~# ubus call dsl metrics
{
	"api_version": "4.23.1",
	"firmware_version": "8.13.0.9.0.1",
	"chipset": "Lantiq-VRX500",
	"driver_version": "1.11.1",
	"state": "Idle",
	"state_num": 2,
	"up": false,
	"uptime": 0,
	"atu_c": {
		
	},
	"power_state": "L3 - No power",
	"power_state_num": 3,
	"upstream": {
		
	},
	"downstream": {
		
	},
	"olr": {
		"downstream": {
			"bitswap": {
				"requested": 0,
				"executed": 0,
				"rejected": 0,
				"timeout": 0
			},
			"sra": {
				"requested": 0,
				"executed": 0,
				"rejected": 0,
				"timeout": 0
			},
			"sos": {
				"requested": 0,
				"executed": 0,
				"rejected": 0,
				"timeout": 0
			}
		},
		"upstream": {
			"bitswap": {
				"requested": 0,
				"executed": 0,
				"rejected": 0,
				"timeout": 0
			},
			"sra": {
				"requested": 0,
				"executed": 0,
				"rejected": 0,
				"timeout": 0
			},
			"sos": {
				"requested": 0,
				"executed": 0,
				"rejected": 0,
				"timeout": 0
			}
		}
	},
	"errors": {
		"near": {
			"es": 0,
			"ses": 0,
			"loss": 0,
			"uas": 469,
			"lofs": 0,
			"fecs": 0,
			"cv_c": 0,
			"fec_c": 0,
			"hec": 0,
			"ibe": 0,
			"crc_p": 0,
			"crcp_p": 0,
			"cv_p": 0,
			"cvp_p": 0
		},
		"far": {
			"es": 0,
			"ses": 0,
			"loss": 0,
			"uas": 467,
			"lofs": 0,
			"fecs": 0,
			"cv_c": 0,
			"fec_c": 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
		}
	}
}

Also running '/etc/init.d/dsl_control status' just return 'running', unlike the example from the wiki, there is no link information.

You can follow the advice for snapshots, 23.05.x and snapshots are very much alike for anything regarding this.

You have conflicting information here, either option device 'dsl0.7' XOR option ifname 'dsl0.7', but the later is deprecated and shouldn't be used, so only:

config interface 'wan'
	option device 'dsl0.7'
	option proto 'pppoe'
	option username 'username'
	option password 'password'
	option ipv6 'auto'

while there may be other issues, there's no point looking any deeper before the elephant in the room (ifname) has been fixed.

Is this better?

root@OpenWrt:~# cat /etc/config/network 

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix '____:____:____::/48'

config atm-bridge 'atm'
        option vpi '1'
        option vci '32'
        option encaps 'llc'
        option payload 'bridged'
        option nameprefix 'dsl'

config dsl 'dsl'
        option annex 'b'
        option tone 'bv'
        option xfer_mode 'ptm'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'lan4'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config device
        option name 'dsl0'
        option macaddr '98:9B:__:__:__:__'

config interface 'wan'
        option device 'dsl0.7'
        option proto 'pppoe'
        option username 'H1und1/XXXXXX-XXX@online.de'
        option password 'XXXXXXX'
        option ipv6 'auto'

config interface 'wan6'
        option device '@wan'
        option proto 'dhcpv6'
Interfaces / Devices in Luci


But there is still no successful connection. The line state changes on reboot:

Silent -> Handshake -> Idle request -> Silent -> Handshake -> Idle request -> Idle -> Not initialized -> Idle -> Idle request -> Idle -> Idle request ...

How long have you waited? It can take several minutes until the line is synchronized. If the state changes, the modem at least tries to sync.

Are you sure about "tone bv" and "xfer_mode ptm"? @moeller0 has "tone b" and no xfer_mode specified in his config in the snapshot thread you linked to (and I don't have it either in mine, but I'm not in Germany).

I have removed the 'xfer_mode ptm' option and let it run for 10 Minutes:

the new /etc/config/network
root@OpenWrt:~# cat /etc/config/network 

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix '____:____:____::/48'

config atm-bridge 'atm'
        option vpi '1'
        option vci '32'
        option encaps 'llc'
        option payload 'bridged'
        option nameprefix 'dsl'

config dsl 'dsl'
        option annex 'b'
        option tone 'bv'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'lan4'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config device
        option name 'dsl0'
        option macaddr '98:9B:__:__:__:__'

config interface 'wan'
        option device 'dsl0.7'
        option proto 'pppoe'
        option username 'H1und1/XXXXXX-XXX@online.de'
        option password 'XXXXXXX'
        option ipv6 'auto'

config interface 'wan6'
        option device '@wan'
        option proto 'dhcpv6'

The line state now chages like this:

Handshake -> Exception -> Silent -> Handshake -> Idle request -> Silent -> Handshake -> Exception -> Idle request -> Not initialized -> Idle -> Not initialized -> Idle -> Idle request -> Idle -> Idle request -> Idle -> Not initialized -> Idle -> Idle request

After that I tested also with 'tone b' instead of tone 'bv':

/etc/config/network
root@OpenWrt:~# cat /etc/config/network 

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix '____:____:____::/48'

config atm-bridge 'atm'
        option vpi '1'
        option vci '32'
        option encaps 'llc'
        option payload 'bridged'
        option nameprefix 'dsl'

config dsl 'dsl'
        option annex 'b'
        option tone 'b'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'lan4'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config device
        option name 'dsl0'
        option macaddr '98:9B:__:__:__:__'

config interface 'wan'
        option device 'dsl0.7'
        option proto 'pppoe'
        option username 'H1und1/XXXXXX-XXX@online.de'
        option password 'XXXXXXX'
        option ipv6 'auto'

config interface 'wan6'
        option device '@wan'
        option proto 'dhcpv6'

Silent -> Full init -> Silent -> Handshake -> Not initialized -> Idle -> Idle request -> Idle -> Idle request -> Not initialized -> Idle -> Idle request -> Not initialized -> Idle request -> Idle -> Idle request -> Idle -> Idle request -> Not initialized

I might have missed a few transitions

Is there a command to get a more detailed look on why the state was 'Exception' in the first one?

Hello @Mazuak ,

I had similar issues you describe on a Fritzbox 7520. For me there was a patch needed to bring the DSL interface up correctly. A hint for this can be found in dmesg:

[   11.432031] vrx518_tc:pcie_ep_probe: Total 1 VRX518 EP detected
[   11.444606] vrx518 0000:01:00.0: dc_ep_clk_on failed

If that is found on your device there is also a patch needed. I tried a lot different configurations but all ended up in this initialization loop you described.
Finally @janh provided a patched version which did get a DSL link with the configurations as described for 1&1 DSL.

Here is the full forum post of my tests:

In this case, there is definitely some other issue, because the modem doesn't even reach Showtime state.

(In the Handshake phase, the basic connection parameters are negotiated. If the DSLAM and modem agree on the parameters, the modem switches to the Full init state. Finally, it should reach the Showtime state, which means that the connection is established. But for some reason that doesn't happen here.)

@Mazuak: The dsl section in the last config you posted should work for a VDSL2 connection (and all of the rest is only relevant once the modem has reached Showtime state, so it doesn't matter for now).

Did the device work with the original firmware? If yes, you could try using the DSL firmware from AVM's firmware instead of the one linked in the wiki.

To do that, start by extracting the "*.image" file (which is just a TAR archive). Using unsquashfs, you can then extract the filesystem image at var/tmp/filesystem.image. The Annex B DSL firmware is located at lib/modules/dsp_vr11/vr11-B-dsl.bin.

There is dsl_cpe_pipe.sh LastExceptionCodesGet with definitions of the error codes here (except for the firmware error codes). This command shows the last two error codes.

And there is dsl_cpe_pipe.sh G997_LineInitStatusGet with definitions here. This only shows the current status and is based on the data from the first one.

2 Likes

Thank you for you time, that worked great!

Here are the commands I used if anyone wants to copy-paste.

mkdir firmware_extraction
cd firmware_extraction
#download Fritz!Box file from https://download.avm.de/fritzbox/fritzbox-7530/deutschland/fritz.os/
tar -x -f FRITZ.Box_7530-07.57.image
unsquashfs var/tmp/filesystem.image

scp -r -O squashfs-root/lib/firmware/09a9/ root@192.168.1.1:/lib/firmware/09a9
scp -O squashfs-root/lib/firmware/ppe_fw.bin  root@192.168.1.1:/lib/firmware/ppe_fw.bin

cd squashfs-root/lib/modules/dsp_vr11
scp -O vr11-B-dsl.bin root@192.168.1.1:/lib/firmware

That was rather easy,

but one weird thing remains: Regardless of what annex or tone is set it still connects to
G.993.2 (VDSL2, Profile 30a) Could this be because I replaced ppe_fw.bin and 09a9 from the extracted OEM image as well?

For VDSL2, the annex options a, b, and j should all work identically (i.e. all VDSL2 annexes are enabled). The other values are ADSL-only, so with those you should either get no connection at all, or a fallback to some ADSL variant (if supported by the DSLAM).

The tone option only specifies the carrier sets which are used during the handshake phase. There shouldn't be any effect on the negotiated DSL mode. It would only matter if the DSLAM doesn't support any of the configured carrier sets

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.