German Vodafone Fritz!Box 7430 adsl2+ config

I have successfully flashed an old Fritz!Box 7430 with OpenWRT. Now I need to figure out how to make it work with my DSL line. ISP is Vodafone and the EasyBox 804 shows the following:

EasyBox 804 Internet status
DSL Status
Auf dieser Statusseite werden wichtige technische Parameter der DSL-Verbindung angezeigt.
DSL Mode
ADSL
G.992.5 (ADSL2+)
DSL Status Information
Line Status
SHOWTIME
Link Type
Interleaved path
Bit Rate
	Downstream 	Upstream
Aktuelle Datenrate 	17487 (Kbps.) 	3069 (Kbps.)
DSL-Daten
	Downstream 	Upstream
SNR Margin 	6.3 dB 	8.7 dB
Leitungsdämpfung 	28 dB 	12.9 dB
Fehlerzähler
Indicator Name 	Downstream 	Upstream
FEC Corrections 	680353 	0
CRC Error 	0 	137
Statistik
	Gesendete Zellen 	Empfangene Zellen
Zellen-Zähler 	3594860032 	37341142

I have the username and password from the Vodafone website.

The relevant parts of the config are as follows:

/etc/config/network
config dsl 'dsl'          
        option annex 'b'                  
        option tone 'av'

config device                             
        option name 'dsl0'                
        option macaddr 'xxxxxxxxxxxxxx'
                                          
config interface 'wan'                    
        option device 'dsl0'              
        option proto 'pppoe'              
        option username 'xxxxxxxxxxxx'
        option password 'xxxxxxxxxxxx'
        option ipv6 '1'                             
                                                    
config interface 'wan6'                             
        option device '@wan'                        
        option proto 'dhcpv6'

Maybe someone can give me a hint on what to try to make it work.

A quick search reveals this user who posted how they got their internet working with Vodafone Germany. Hopefully it can be of some help to you.

Thanks for the pointer, still not working.

I have changed my config to

config
config dsl 'dsl'                                                                                                      
        option annex 'j'                                                                                              
        option tone 'bv'                                                                                              
        option firmware '/lib/firmware/lantiq-vrx200-a.bin'

config interface 'wan'                                                                                                
        option device 'dsl0'                                                                                          
        option ifname 'dsl0.7'                                                                                        
        option proto 'pppoe'                                                                                          
        option username 'xxxx'                                                                        
        option password 'xxxx'                                                                  
        option ipv6 '1'                                                                                               
                                                                                                                      
config interface 'wan6'                                                                                               
        option device '@wan'                                                                                          
        option proto 'dhcpv6'

I think it maybe a driver issue

root@OpenWrt:~# ifstatus wan
{
	"up": false,
	"pending": false,
	"available": false,
	"autostart": true,
	"dynamic": false,
	"proto": "pppoe",
	"device": "dsl0",
	"data": {
		
	},
	"errors": [
		{
			"subsystem": "interface",
			"code": "NO_DEVICE"
		}
	]
}

Please copy the output of the following commands and post it here using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have:

cat /etc/config/network

Here is the complete config, thanks for taking the time!

Summary
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 'xxxx'

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

config dsl 'dsl'
	option annex 'j'
	option tone 'bv'
	option firmware '/lib/firmware/lantiq-vrx200-a.bin'

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

config device
	option name 'lan1'
	option macaddr 'xxx'

config device
	option name 'lan2'
	option macaddr 'xxx'

config device
	option name 'lan3'
	option macaddr 'xxx'

config device
	option name 'lan4'
	option macaddr 'xxx'

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 'xxx'

config interface 'wan'
	option device 'dsl0'
	option ifname 'dsl0.7'
	option proto 'pppoe'
	option username 'xxx'
	option password 'xxx'
	option ipv6 '1'

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

Can you edit the section as follows please

config interface 'wan'
	option ifname 'dsl0.7'
	option proto 'pppoe'
	option username 'xxx'
	option password 'xxx'
	option ipv6 '1'

Changed, rebooted, still no connection

some more diagnostics
root@OpenWrt:~# ifstatus wan
{
	"up": false,
	"pending": false,
	"available": false,
	"autostart": true,
	"dynamic": false,
	"proto": "pppoe",
	"device": "dsl0.7",
	"data": {
		
	},
	"errors": [
		{
			"subsystem": "interface",
			"code": "NO_DEVICE"
		}
	]
}
root@OpenWrt:~# /etc/init.d/dsl_control dslstat
{
	"api_version": "4.17.18.6",
	"firmware_version": "5.8.0.11.1.1",
	"chipset": "Lantiq-VRX200",
	"driver_version": "1.5.17.6",
	"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": 276,
			"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": 272,
			"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
		}
	}
}

EDIT: some more diagnostics:

Summary
root@OpenWrt:~# logread | grep -i lantiq
Thu Apr 20 14:15:10 2023 kern.info kernel: [    0.607352] 1e100c00.serial: ttyLTQ0 at MMIO 0x1e100c00 (irq = 112, base_baud = 0) is a lantiq,asc
Thu Apr 20 14:15:10 2023 kern.info kernel: [   13.829484] IFXOS, Version 1.7.1 (c) Copyright 2009, Lantiq Deutschland GmbH
Thu Apr 20 14:15:10 2023 kern.info kernel: [   13.894031] Lantiq (VRX) DSL CPE MEI driver, version 1.5.17.6, (c) 2007-2015 Lantiq Beteiligungs-GmbH & Co. KG
Thu Apr 20 14:15:10 2023 kern.warn kernel: [   13.910126] Lantiq CPE API Driver version: DSL CPE API V4.17.18.6
root@OpenWrt:~# logread | grep -i error
root@OpenWrt:~# logread | grep -i fail
Thu Apr 20 14:15:10 2023 kern.err kernel: [    0.312133] pcie-xrx200 1d900000.pcie: failed to get the PCIe PHY
Thu Apr 20 14:15:10 2023 kern.err kernel: [    1.187819] gswip 1e108000.switch: dsa switch register failed: -517
Thu Apr 20 14:15:10 2023 kern.err kernel: [    1.255403] pcie-xrx200 1d900000.pcie: failed to get the PCIe PH

Can you try the following please?

config device
        option name 'dsl0.7'
        option type '8021q'
        option ifname 'dsl0'
        option vid '7'
        option ipv6 '1'

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

Thanks for the help but it is not working. I have tried a couple of variants of the config. The last one is here:

/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 'xxx'

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

config dsl 'dsl'
	option annex 'j'
	option tone 'bv'
	option firmware '/lib/firmware/lantiq-vrx200-a.bin'

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

config device
	option name 'lan1'
	option macaddr 'xxx'

config device
	option name 'lan2'
	option macaddr 'xxx'

config device
	option name 'lan3'
	option macaddr 'xxx'

config device
	option name 'lan4'
	option macaddr 'xxx'

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.7'
	option type '8021q'
	option ifname 'dsl0'
	option vid '7'
	option ipv6 '1'
	option macaddr 'xxx'

config interface 'wan'
	option ifname 'dsl0.7'
	option proto 'pppoe'
	option username 'xxx'
	option password 'xxx'
	option ipv6 '1'

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

There is no wan device in ifconfig. I am starting to wonder if this is a driver issue because ifstatus wan shows that there is no device.

ifstatus wan
root@OpenWrt:~# ifstatus wan
{
	"up": false,
	"pending": false,
	"available": false,
	"autostart": true,
	"dynamic": false,
	"proto": "pppoe",
	"device": "dsl0.7",
	"data": {
		
	},
	"errors": [
		{
			"subsystem": "interface",
			"code": "NO_DEVICE"
		}
	]
}

service dsl_control dslstat shows that the modem is powered down.

service dsl_control dslstat
root@OpenWrt:~# service dsl_control dslstat
{
	"api_version": "4.17.18.6",
	"firmware_version": "5.8.1.8.1.6",
	"chipset": "Lantiq-VRX200",
	"driver_version": "1.5.17.6",
	"state": "Silent",
	"state_num": 3,
	"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": 309,
			"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": 308,
			"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
		}
	}
}

I am having a hard time troubleshooting this because OpenWRT is quite different from desktop linux distros.

Apologies, could we clarify your setup please

You have an openwrt device Fritz!Box 7430

You have a separate device, EasyBox 804. This is provided by your ISP.

Do you want to have the Fritz!Box 7430 do all the work and remove the EasyBox 804 out of the equation?

Exactly. Currently I am using the EasyBox but I want to switch over to only use the Fritz!Box.

Does /lib/firmware/lantiq-vrx200-a.bin exist?

ls -l /lib/firmware/lantiq-vrx200-a.bin

Yes

root@OpenWrt:~# ls -l /lib/firmware/
-rw-r--r--    1 root     root          4096 Apr 20 10:40 ath9k-eeprom-pci-0000:01:00.0.bin
lrwxrwxrwx    1 root     root            43 Apr 20 10:40 lantiq-vrx200-a-to-b.bspatch -> xcpe_581816_580B11_to_579906_574402.bspatch
lrwxrwxrwx    1 root     root            22 Apr 20 10:40 lantiq-vrx200-a.bin -> xcpe_581816_580B11.bin
-rw-r--r--    1 root     root          4660 Apr 20 10:40 regulatory.db
-rw-r--r--    1 root     root          1920 Apr 20 10:40 xcpe_581816_580B11.LICENSE
-rw-r--r--    1 root     root        898952 Apr 20 10:40 xcpe_581816_580B11.bin
-rw-r--r--    1 root     root        253635 Apr 20 10:40 xcpe_581816_580B11_to_579906_574402.bspatch

Can you provide the output of

logread

And also the kernel log

dmesg

Perhaps there are clues here why the dsl device isn't working.

You probably need an Annex B DSL firmware.

If you remove the firmware option from your config, the pre-installed Annex B firmware should automatically be used.

Alternatively, you may try a more recent firmware, which you would need to copy to the device yourself. Here is a list of known versions. If you don't know which one to pick, the one used by AVM in the original firmware is probably a good pick (5.9.1.4.0.7-5.9.0.D.0.2).

1 Like

Hey mate, how are you doing?
Did you try sniffing on the DSL interface, using tcpdump? I think it would be really useful. Maybe you can save it as pcap file, using something like that: tcpdump -i dsl -w dsl.pcap

Ok, thanks! I have downloaded the image and unpacked the firmware.

Summary
$ ll -n
total 1.1M
drwxr-xr-x 3 1000 1000 4.0K Nov  4  2021 ./
drwxr-xr-x 3 1000 1000 4.0K Nov  4  2021 ../
drwxr-xr-x 2 1000 1000 4.0K Nov  4  2021 release/
-r-xr-xr-x 1 1000 1000  11K Nov  4  2021 release-vr9-A-dsl.bin.bsdiff*
-r-xr-xr-x 1 1000 1000   56 Nov  4  2021 release-vr9-A-dsl.bin.md5sum*
-r-xr-xr-x 1 1000 1000  11K Nov  4  2021 release-vr9-B-dsl.bin.bsdiff*
-r-xr-xr-x 1 1000 1000   56 Nov  4  2021 release-vr9-B-dsl.bin.md5sum*
-r-xr-xr-x 1 1000 1000  122 Nov  4  2021 vr9-A-adsl.api.syms*
-r-xr-xr-x 1 1000 1000  79K Nov  4  2021 vr9-A-dsl.bin.bsdiff*
-r-xr-xr-x 1 1000 1000   48 Nov  4  2021 vr9-A-dsl.bin.md5sum*
-r-xr-xr-x 1 1000 1000  122 Nov  4  2021 vr9-B-adsl.api.syms*
-r-xr-xr-x 1 1000 1000 8.0K Nov  4  2021 vr9-B-calibrate.bin*
-r-xr-xr-x 1 1000 1000 888K Nov  4  2021 vr9-B-dsl.bin*
-r-xr-xr-x 1 1000 1000  185 Nov  4  2021 vr9-vdsl.api.syms*

I am on Manjaro and bdiff is not in the repo any more. I have compiled it myself and it doesn't work

Summary
$ ../../../../../bsdiff/bspatch vr9-B-dsl.bin vr9-A-dsl.bin vr9-A-dsl.bin.bsdiff 
bspatch: Corrupt patch

I am not sure which of the files is the correct one, I have tried vr9-B-dsl.bin.

Summary
config dsl 'dsl'
        option annex 'j'
        option tone 'bv'
        option fwannex 'b'
        option firmware '/lib/firmware/vr9-B-dsl.bin'

and I still get the NO_DEVICE error

Summary
root@OpenWrt:/lib/firmware# ifstatus wan
{
	"up": false,
	"pending": false,
	"available": false,
	"autostart": true,
	"dynamic": false,
	"proto": "pppoe",
	"device": "dsl0.7",
	"data": {
		
	},
	"errors": [
		{
			"subsystem": "interface",
			"code": "NO_DEVICE"
		}
	]
}

No, I haven't, how would I do this?

There has been a development:

I have copied all the firmware to the /lib/firmware/ and I have used bspatch on the router to create release-vr9-B-dsl.bin and it worked. Now the NO_DEVICE error is gone:

Summary
root@OpenWrt:~# ifstatus wan
{
	"up": false,
	"pending": false,
	"available": true,
	"autostart": true,
	"dynamic": false,
	"proto": "pppoe",
	"device": "dsl0.7",
	"data": {
		
	}
}

EDIT: specify the exact firmware file
EDIT2:

DSL control stat now switches between "silent", "handshake", "exception"

Summary
root@OpenWrt:~# service dsl_control dslstat | grep state
	"state": "Exception",
	"state_num": 1,
	"power_state": "L3 - No power",
	"power_state_num": 3,
root@OpenWrt:~# service dsl_control dslstat | grep state
	"state": "Handshake",
	"state_num": 4,
	"power_state": "L3 - No power",
	"power_state_num": 3,
root@OpenWrt:~# service dsl_control dslstat | grep state
	"state": "Silent",
	"state_num": 3,
	"power_state": "L3 - No power",
	"power_state_num": 3,

EDIT3:
I have reverted the config back to the one here and I got a connection.

Summary
root@OpenWrt:~# service dsl_control dslstat | grep state
	"state": "Showtime with TC-Layer sync",
	"state_num": 7,
	"power_state": "L0 - Synchronized",
	"power_state_num": 0,

it successfully resolves urls but then ping doesn't work:

Summary
root@OpenWrt:~# ping google.com
PING google.com (2a00:1450:4001:812::200e): 56 data bytes
^C
--- google.com ping statistics ---
125 packets transmitted, 0 packets received, 100% packet loss
1 Like

Maybe try:

(self extracted firmware blob of FB7490 7.28, which worked for vdsl2 for a long time for me, in Germany)