If you have a Cisco 887VA sitting around and a BT/Openreach FTTC connection, you can use the Cisco router’s built-in VDSL2 modem to connect directly to the fibre broadband service.
Unlike a traditional ADSL connection, BT’s VDSL2 service uses PPPoE over Ethernet, with the broadband service carried over 802.1Q VLAN 101. The Cisco 887VA can handle the VDSL2 connection itself, meaning you don’t necessarily need the separate Openreach modem or a BT Home Hub.
This guide shows a practical Cisco IOS configuration for connecting a Cisco 887VA directly to a BT VDSL2/FTTC service.
Important: This guide is specifically for VDSL2/FTTC. It does not apply to FTTP, where the WAN connection is presented to your router over Ethernet.
What you need
For this configuration you will need:
- Cisco 887VA or compatible Cisco 800-series VDSL router
- Cisco IOS with VDSL2 support
- BT/Openreach FTTC service
- BT broadband username and password
- VDSL telephone line connected directly to the router’s DSL port
The exact interface names and available commands can vary between Cisco 800-series models and IOS releases, so you may need to adjust the configuration for your particular hardware.
How BT VDSL works
There are three important pieces to the connection:

The Cisco router establishes the physical VDSL2 connection using its built-in modem.
The broadband traffic is then placed into VLAN 101 on the Ethernet-based VDSL interface. PPPoE runs over that VLAN and creates the PPP session on the Cisco Dialer0 interface.
BT’s current documentation confirms that its fibre broadband uses PPPoE, while VLAN 101 is commonly required when configuring third-party equipment directly against the BT/Openreach VDSL service.
Configure the VDSL controller
Start by configuring the VDSL controller.
A typical configuration is:
controller VDSL 0
operating mode vdsl2
modem ukfeature
no shutdown
On some Cisco IOS versions, the controller may be named differently. For example, you may see something such as:
controller VDSL 0/0/0
Use:
show controllers VDSL 0
or, depending on the platform:
show controllers VDSL
to identify the correct controller.
You can also use the following command to check the current DSL state:
show controller VDSL 0
The important thing at this stage is that the modem successfully synchronises with the VDSL line.
Configure the VDSL Ethernet interface
The Cisco 887VA presents the VDSL connection as an Ethernet Layer 2 interface.
First configure the physical interface:
interface Ethernet0
description BT VDSL
no ip address
no shutdown
We then create an 802.1Q subinterface for VLAN 101:
interface Ethernet0.101
description BT VDSL VLAN 101
encapsulation dot1Q 101
pppoe enable group global
pppoe-client dial-pool-number 1
no cdp enable
no shutdown
The important line here is:
encapsulation dot1Q 101
This places the PPPoE traffic into VLAN 101.
The following command associates the PPPoE client with dialer pool 1:
pppoe-client dial-pool-number 1
That dialer pool will later be used by Dialer0.
Disable the ATM interface
The 887VA supports both ADSL and VDSL technologies, so you may see an ATM0 interface in the configuration.
For a VDSL2-only configuration it isn’t required:
interface ATM0
no ip address
no atm ilmi-keepalive
shutdown
This makes it clear that the router is using the Ethernet-based VDSL interface rather than attempting to establish the broadband session over ATM.
Configure the PPPoE Dialer
The PPPoE session is terminated on a dialer interface.
Create Dialer0:
interface Dialer0
description BT VDSL PPPoE
mtu 1492
ip address negotiated
ip tcp adjust-mss 1452
no ip redirects
no ip unreachables
no ip proxy-arp
encapsulation ppp
dialer pool 1
dialer idle-timeout 0
dialer persistent
ppp authentication pap chap ms-chap callin
ppp chap hostname YOUR_BT_USERNAME
ppp chap password 0 YOUR_BT_PASSWORD
ppp ipcp address accept
ppp ipcp dns request
ppp ipcp route default
no cdp enable
no shutdown
Replace:
YOUR_BT_USERNAME
YOUR_BT_PASSWORD
with the credentials supplied by your ISP.
Why MTU 1492?
A normal Ethernet frame supports a 1500-byte IP packet. PPPoE introduces an additional 8 bytes of overhead, which normally reduces the usable IP MTU to:
1500 - 8 = 1492
Therefore:
mtu 1492
is a sensible starting point for a standard PPPoE connection.
The MSS adjustment:
ip tcp adjust-mss 1452
helps prevent TCP packets from being too large for the PPPoE path.
Some providers and configurations support larger frames, sometimes referred to as “Baby Jumbo” frames, but there is no reason to introduce that complexity unless your service and downstream equipment support it.
Add the default route
Once the PPPoE session comes up, traffic needs a default route towards the Internet.
You can use:
ip route 0.0.0.0 0.0.0.0 Dialer0
Alternatively, depending on the IOS configuration, ppp ipcp route default can install the default route automatically.
I prefer explicitly configuring the route when building a simple configuration because it makes the routing behaviour obvious.
Complete basic configuration
Putting the important pieces together, a basic BT VDSL configuration looks like this:
!
controller VDSL 0
operating mode vdsl2
modem ukfeature
no shutdown
!
interface Ethernet0
description BT VDSL
no ip address
no shutdown
!
interface Ethernet0.101
description BT VDSL VLAN 101
encapsulation dot1Q 101
pppoe enable group global
pppoe-client dial-pool-number 1
no cdp enable
no shutdown
!
interface ATM0
no ip address
no atm ilmi-keepalive
shutdown
!
interface Dialer0
description BT VDSL PPPoE
mtu 1492
ip address negotiated
ip tcp adjust-mss 1452
no ip redirects
no ip unreachables
no ip proxy-arp
encapsulation ppp
dialer pool 1
dialer idle-timeout 0
dialer persistent
ppp authentication pap chap ms-chap callin
ppp chap hostname YOUR_BT_USERNAME
ppp chap password 0 YOUR_BT_PASSWORD
ppp ipcp address accept
ppp ipcp dns request
ppp ipcp route default
no cdp enable
no shutdown
!
ip route 0.0.0.0 0.0.0.0 Dialer0
!
You will obviously need to adapt this configuration to your own LAN, NAT, DHCP, firewall and routing requirements.
Configuring NAT
If the Cisco 887VA is also going to act as your Internet router, you will normally need NAT.
For example, if your LAN is:
192.168.1.0/24
configure the LAN interface:
interface Vlan1
description LAN
ip address 192.168.1.1 255.255.255.0
ip nat inside
no shutdown
Then mark the PPPoE interface as the outside interface:
interface Dialer0
ip nat outside
Create a NAT access list:
ip access-list standard NAT
permit 192.168.1.0 0.0.0.255
And configure PAT:
ip nat inside source list NAT interface Dialer0 overload
Your traffic flow is then:

Checking the VDSL connection
Once the configuration is applied, the first thing to establish is whether the physical VDSL connection is working.
Use:
show controllers VDSL 0
You want to see that the modem has trained and is operating in VDSL2 mode.
Depending on the IOS version, useful information may include:
- VDSL mode
- downstream synchronisation speed
- upstream synchronisation speed
- attainable rate
- line attenuation
- SNR margin
- error counters
- uptime
If the modem hasn’t synchronised, don’t start troubleshooting PPPoE yet. The problem is at the DSL layer.
Checking the PPPoE session
Once VDSL has synchronised, check the dialer:
show interface Dialer0
You should see the interface as up/up and an IP address assigned by the ISP.
For example:
Dialer0 is up, line protocol is up
Internet address is x.x.x.x/32
You can also check the PPPoE session:
show pppoe session
And check the dialer status:
show dialer
If VDSL is synchronised but Dialer0 isn’t coming up, the problem is likely to be related to PPPoE, VLAN 101 or authentication rather than the physical DSL connection.
Useful troubleshooting commands
These commands are particularly useful when troubleshooting the connection:
show controllers VDSL 0
show interface Ethernet0
show interface Ethernet0.101
show interface Dialer0
show pppoe session
show dialer
show ip route
show ip interface brief
For a quick overview of the interfaces:
show ip interface brief
You should expect to see something similar to:
Interface IP-Address OK? Method Status
Ethernet0 unassigned YES unset up
Ethernet0.101 unassigned YES unset up
Dialer0 x.x.x.x YES IPCP up
Vlan1 192.168.1.1 YES manual up
VDSL is up but Dialer0 is down
This is one of the most common situations.
If the router has successfully synchronised with the VDSL line but the PPPoE session isn’t establishing, check the following:
1. Check VLAN 101
Make sure the subinterface contains:
encapsulation dot1Q 101
VLAN 101 is an important part of many UK BT/Openreach FTTC configurations.
2. Check the PPPoE configuration
Make sure the subinterface contains:
pppoe enable group global
pppoe-client dial-pool-number 1
And make sure Dialer0 contains:
dialer pool 1
These three settings tie the physical VDSL interface, PPPoE client and dialer together.
3. Check your username and password
Incorrect PPP credentials will prevent the PPP session from completing.
Make sure you haven’t accidentally copied a space or line break into the username or password.
4. Check the PPP negotiation
If necessary, PPP debugging can provide more information:
debug ppp negotiation
Be careful with debugging on a production router because it can generate a significant amount of console/log output.
Disable debugging when finished:
undebug all
The VDSL modem won’t synchronise
If:
show controllers VDSL 0
shows that the modem is not synchronised, PPPoE configuration is not yet the problem.
Check:
- The DSL cable is connected to the correct port.
- The service is actually FTTC/VDSL2.
- The line is active.
- The router’s VDSL controller is enabled.
- The router supports the required VDSL profile.
- The IOS version supports the installed VDSL firmware.
- There isn’t a physical line fault.
Try:
show controllers VDSL 0
and look at the modem state and error information.
It is also worth connecting the ISP’s supplied router temporarily. If that also fails to synchronise, the problem is much more likely to be the line or service rather than the Cisco configuration.
A note about Cisco IOS versions
Cisco 800-series VDSL configuration can vary considerably between IOS releases.
You may find examples online containing commands such as:
modem customUKAnnexM
modem disableV43
modem disableGinpDsSupport
sra
bitswap
These should not automatically be copied into every configuration.
The available commands depend on the particular Cisco model, IOS release and VDSL firmware. Cisco’s own documentation notes that VDSL2-specific settings are generally handled by the DSLAM rather than requiring extensive manual tuning on the CPE.
For that reason, I recommend starting with the simplest configuration that establishes a stable VDSL connection and only introducing additional modem tuning if there is a specific reason to do so.
Using the Cisco as a VDSL modem only
The 887VA doesn’t have to be your main Internet router.
A useful alternative is to configure the Cisco as a VDSL modem and pass the PPPoE connection to another firewall or router.
For example:
BT/Openreach
│
│ VDSL2
▼
Cisco 887VA
│
│ PPPoE
▼
pfSense / OPNsense / Firewalla / Cisco Firewall
│
▼
LAN
This can be particularly useful if you want to use a more capable firewall while still taking advantage of the 887VA’s built-in VDSL modem.
The exact configuration for this setup is different because the Cisco is no longer performing NAT and routing for the LAN.
Final thoughts
The Cisco 887VA is an old router by modern standards, but its built-in VDSL2 modem makes it an interesting piece of hardware for a home lab or enthusiast network.
The key points to remember for a BT/Openreach FTTC connection are:
| Setting | Value |
|---|---|
| DSL technology | VDSL2 |
| WAN protocol | PPPoE |
| VLAN | 101 |
| PPP MTU | 1492 |
| TCP MSS | 1452 |
| Authentication | PAP/CHAP depending on configuration |
| WAN interface | Dialer0 |
| VDSL interface | Ethernet0 |
| PPPoE subinterface | Ethernet0.101 |
The most important troubleshooting rule is simple:
Get VDSL synchronisation working first, then troubleshoot PPPoE.
If the modem isn’t synchronised, changing PPPoE settings won’t fix the problem. If VDSL is synchronised but Dialer0 is down, then focus on VLAN 101, PPPoE and authentication.
This approach makes troubleshooting considerably easier than changing several parts of the configuration at the same time.