Skip to content

Instantly share code, notes, and snippets.

@madduci
Last active May 26, 2025 13:23
Show Gist options
  • Save madduci/8b8637b922e433d617261373220be44c to your computer and use it in GitHub Desktop.
Save madduci/8b8637b922e433d617261373220be44c to your computer and use it in GitHub Desktop.
Deutsche Telekom FTTH Access with OpenWRT

Configuring Deutsche Telekom FTTH Access with OpenWRT

After looking for alternatves to the suggested Router from Telekom (AVM FritzBox and HUawei Speedport), I've discovered the possibility of configuring my existing OpenWRT Router to act as gateway to the Telekom FTTH (Fiber To The Home) Magenta Zuhause package.

TL;DR

The WAN interface must be configured as follows (see your Telekom letter):

  • Protocol: PPPoE
  • PAP/CHAP username:
  • PAP/CHAP password: Zugangskenntwort
  • VLAN: 7
  • MTU: leave empty (delete the default value 1500)

Requirements

Access Data

Old Contracts (Before 2024)

It's important to know the following information, before attempting any connection:

  • Anschlusskennung
  • Zugangsnummer
  • Mitbenutzernummer
  • Zugangskenntwort

All the above information are typically sent by Telekom at home, when activating the Internet Access.

Newer Contracts (From 2024)

The "Easy Login" option is automatically activated for new contracts. If it is activated, you can use any username/password. Otherwise it can activated in the "Kundencenter".

Otherwise it's important to know the following information, before attempting any connection:

Anschlusskennung
Zugangsnummer
Mitbenutzernummer
Zugangskenntwort

All the above information can be found oin the "Kundencenter" at "Verträge" -> "Erweiterte Optionen" -> "Internetzugang".

Hardware

You need a OpenWRT-capable router (e.g. TP-Link Archer C7 works really well), see here for an exhaustive list of supported devices.

Make sure your Telekom Fiber Modem is working properly.

Configuration

Enable VLAN

The Telekom PPPoE access requires the VLAN-ID to be set to 7. In order to do so, you have to configure the Router Ethernet interface that refers to WAN. The configuration panel can be found under the Menu entry Network->Switch (on OpenWRT 22.03 is Network -> Devices -> Add Device Config)

In this panel, you can see a table showing the VLAN(s) configured for your Router (typically 2) and they have some comboboxes with status tagged/untagged/off. One of the VLANs configured should be configured with the following information:

Port Status CPU (eth0) LAN1 LAN2 LAN3 LAN4 WAN
1 tagged untagged untagged untagged untagged off
7 tagged off off off off tagged

In case of Routers with multiple Ethernet interfaces (e.g. TP-Link Archer C7), the panel should look like this:

Port Status CPU (eth0) CPU (eth0) LAN1 LAN2 LAN3 LAN4 WAN
1 tagged tagged untagged untagged untagged untagged off
7 tagged tagged off off off off tagged

Setup WAN Interface

In the Menu entry Network->Interfaces, select the WAN interface and set the following information in the General Setup tab:

  • Protocol: PPPoE
  • PAP/CHAP username: [email protected]
  • PAP/CHAP password: Zugangskenntwort

In the tab Physical Settings, select the interface Switch VLAN eth0.7 (the one corresponding to the VLAN-ID 7).

Beware: in case your "Zugangsnummer" has less than 12 digits, the PAP/CHAP username is in the form AnschlusskennungZugangsnummer#[email protected] (see https://telekomhilft.telekom.de/t5/Telefonie-Internet/PPPOE-Einwahl-ueber-einen-Router-herstellen/ta-p/3654990 for further details)

Performance Tuning

MTU should not be set to an MTU of 1500 in any WAN, PPPOE-WAN or VLAN 7 interface - it automatically negotiates an MTU of 1492 when dialing in. Make sure that in none of the above mentioned interfaces in the field MTU is a real value in it.

Check the /etc/config/network file or execute uci show network over ssh for any configured mtu:

config interface 'wan'
option proto 'pppoe'
option device 'eth0.7'
option username '[email protected]'
option password 'xxx'
option ipv6 'auto'

This change improves the performance with Applications/Services such as MS Teams, Speedtests and many other ones.

Happy surfing!

@DaVarga
Copy link

DaVarga commented May 25, 2025

@waldi2909 Config seems okay. Let’s check the easy things first:

  • Ensure the cable is connected to the Glasfasermodem 2 (ONT). Make sure it’s not a crossover cable and is connected directly. LEDs should light up.

  • Check the link status in OpenWRT with ifstatus wan. Depending on configuration, also check in Proxmox using ip link.

  • Check the logs in OpenWRT:

    logread | grep -E 'pppd|eth0'

    This might provide insights into the failed PPPoE negotiation.

I suspect there may be an issue with how the network interface is passed from Proxmox to the VM. You could try PPPoE from the Proxmox host directly to confirm this. If this works my suspicion is correct. Make sure you use the correct device names:

ip link add link eno1 name eno1.7 type vlan id 7
ip link set eno1.7 up
pppoeconf eno1.7

Another possibility is incompatibility with the network controller itself. Onboard chips might be flaky when it comes to PPPoE and VLAN tagging. For example, some Realtek chips are known to cause problems.

@waldi2909
Copy link

Hello DaVarga,

first of all, thank you very much for your answer.

To 1.)
- The network cable goes directly from the modem to the onboard network card and the light on the card is flashing. The modem does not seem to be malfunctioning either (status LED).
- I have tested the cable with my cable tester and it is not a crossover cable.

to 2.)
-isstatus wan:
{
“up": false,
“pending": true,
“available": true,
“autostart": true,
“dynamic": false,
“proto": ‘pppoe’,
“device": ‘eth0.7’,
“data": {

    		},
    		“errors": [
            		{
                    		“subsystem": ‘pppoe’,
                    		“code": ”CONNECT_FAILED”
            		}
    			]
		}
-IP link:

	1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
	    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
	2: ens2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr1 state UP mode DEFAULT group default qlen 1000
	    link/ether xx:xx:xx:xx:xx:x1 brd ff:ff:ff:ff:ff:ff
	    altname enp1s0
	3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP mode DEFAULT group default qlen 1000
	    link/ether xx:xx:xx:xx:xx:x2 brd ff:ff:ff:ff:ff:ff
	    altname enp0s31f6
	4: wls3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
	    link/ether xx:xx:xx:xx:xx:x3 brd ff:ff:ff:ff:ff:ff permaddr xx:xx:xx:xx:xx:x4
	    altname wlp2s0
	5: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
	    link/ether xx:xx:xx:xx:xx:x2 brd ff:ff:ff:ff:ff:ff
	6: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
	    link/ether xx:xx:xx:xx:xx:x1 brd ff:ff:ff:ff:ff:ff
	7: tap100i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master fwbr100i0 state UNKNOWN mode DEFAULT group default qlen 1000
	    link/ether xx:xx:xx:xx:xx:x5 brd ff:ff:ff:ff:ff:ff
	8: fwbr100i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
	    link/ether xx:xx:xx:xx:xx:x6 brd ff:ff:ff:ff:ff:ff
	9: fwpr100p0@fwln100i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr1 state UP mode DEFAULT group default qlen 1000
	    link/ether xx:xx:xx:xx:xx:x7 brd ff:ff:ff:ff:ff:ff
	10: fwln100i0@fwpr100p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr100i0 state UP mode DEFAULT group default qlen 1000
	    link/ether xx:xx:xx:xx:xx:x6 brd ff:ff:ff:ff:ff:ff
	13: veth107i0@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP mode DEFAULT group default qlen 1000
	    link/ether xx:xx:xx:xx:xx:x8 brd ff:ff:ff:ff:ff:ff link-netnsid 0
	14: veth107i1@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr1 state UP mode DEFAULT group default qlen 1000
	    link/ether xx:xx:xx:xx:xx:x9 brd ff:ff:ff:ff:ff:ff link-netnsid 0

zu 3.)
- aktuelle logs:
Mon May 26 08:12:18 2025 daemon.info pppd[8095]: Plugin pppoe.so geladen.
Mon May 26 08:12:18 2025 daemon.info pppd[8095]: PPPoE-Plugin von pppd 2.5.1
Mon May 26 08:12:18 2025 daemon.notice pppd[8095]: pppd 2.5.1 gestartet von root, uid 0
Mon May 26 08:12:53 2025 daemon.warn pppd[8095]: Timeout beim Warten auf PADO-Pakete
Mon May 26 08:12:53 2025 daemon.err pppd[8095]: PPPoE Discovery Phase 1 konnte nicht abgeschlossen werden
Mon May 26 08:12:53 2025 daemon.info pppd[8095]: Beenden.
Mon May 26 08:12:53 2025 daemon.info pppd[8352]: Plugin pppoe.so geladen.
Mon May 26 08:12:53 2025 daemon.info pppd[8352]: PPPoE-Plugin von pppd 2.5.1
Mon May 26 08:12:53 2025 daemon.notice pppd[8352]: pppd 2.5.1 gestartet von root, uid 0
Mon May 26 08:12:53 2025 daemon.info pppd[8352]: PPP-Sitzung ist 459
Mon May 26 08:12:53 2025 daemon.warn pppd[8352]: Verbunden mit xx:xx:xx:xx:xx:xa über Schnittstelle eth0.7
Mon May 26 08:12:53 2025 daemon.err pppd[8352]: Couldn't reopen /dev/ppp: No such file or directory
Mon May 26 08:12:53 2025 daemon.info pppd[8352]: PADT gesendet
Mon May 26 08:12:53 2025 daemon.info pppd[8352]: Beenden.
Mon May 26 08:12:53 2025 daemon.info pppd[8372]: Plugin pppoe.so geladen.
Mon May 26 08:12:53 2025 daemon.info pppd[8372]: PPPoE-Plugin von pppd 2.5.1
Mon May 26 08:12:53 2025 daemon.notice pppd[8372]: pppd 2.5.1 gestartet von root, uid 0

zu 4.)
-I can't get “pppoeconf” to install properly, so I created the VLAN adapter (eno1.7) via the gui and then a Linux bridge (vmbr2), to which I added the eno1.7 adapter.
- I then added the vmbr2 in the OpenWRT container under network and created it with the name eth0.7 and the VLAN tag “7”.
- but the result is always the same.

to 5.)
- The chipset (Intel Q170 chipset) also provides the network interface.
- I have just tried swapping eth0 for eth1 again, but the result is the same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment