Native IPv6 for the BT Voyager 2110 ADSL Router

The BT Voyager 2110 is an ADSL router with IEEE802.11g wireless, and a 4 port Ethernet switch.

The patches here enable this ADSL router to support native IPv6 over PPP.

I've only tested these patches using PPPoA on the service from AAISP. You should note that any firmware built using these patches is used at your own risk. If the firmware is broken in some way you may turn your router into a paperweight. I am not able to provide any support in attempting to fix your router if you break it.

You will need to build your own firmware, no binary firmware images are provided. The main reason for this is that your IPv6 address configuration needs to be built into the firmware, since I have not identified a way to use the nvram to store this information.

These modifications are based off of the AA4 modified firmware created by AAISP. To start off, you need to download three tarballs:

Note that the toolchain needs to be installed in /opt. Also, part of the build process requires you to run as root. I suspect both of these could be avoided, but I have not tried to work around them. I have tended to use a kvm virtual machine running 32-bit x86 Linux for my firmware builds.

To prepare the build tree, assuming the aa4 and ipv6_am2 tarballs are in the current directory:

Now, edit targets/VOYAGER2110_AM/ipv6_addr. BR0_ADDR is the internal-side IPv6 address of your router. BR0_PREFIX is the IPv6 prefix (assumed to be /64). If you have a DNS server accessible over IPv6 and want to advertise this in Router Advertisements, set this in IPV6_DNS, otherwise comment out this line.

Now you are ready to build. Simply run:

You should end up with a file in the images directory called something like bcmVOYAGER2110_AM_fs_kernel_xxxxxx_xxx. Go to the web interface on your router. Select the "Advanced" option on the menu. Go to System -> Upgrade. Select the "From Local PC" option at the top of the page. Provide the firmware location, and click "Upgrade".

Once the router reboots it will connect to the ADSL as normal. In addition it will also automatically try to set up IPv6 over PPP. You will also see Router Advertisements (RAs) from the router, and machines configured to use IPv6 automatic address configuration will pick up an IPv6 address. At this point native IPv6 should just work!

Note that on AAISP in order to get your IPv6 addresses routed natively you need to go into clueless, click on your IPv6 address range and check that the "Tunnel" box is empty. Also one of the boxes by IP Routing should be checked, probably "1" unless you have more than one line. Note that these changes only take effect when you reconnect.

Some things to note:

Version history:

Acknowledgements: Thanks to Andy Clark for his feedback on the am1 release.

© 2008 Andrew McDonald <andrew{at}>.