Cisco 887VA BT VDSL2 / FTTC Configuration

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:

SettingValue
DSL technologyVDSL2
WAN protocolPPPoE
VLAN101
PPP MTU1492
TCP MSS1452
AuthenticationPAP/CHAP depending on configuration
WAN interfaceDialer0
VDSL interfaceEthernet0
PPPoE subinterfaceEthernet0.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.

Leave a Comment

Your email address will not be published. Required fields are marked *