BT Home Hub 5.0 Type A

Plusnet Hub OneBT HomeHub 5.0 Type A Information on this page also applies to the 'Plusnet Hub One' and 'BT Business Hub 5'. This is a router manufactured by Sagemcom under contract for BT. The OEM design is a Askey RTV7505W-D18.

There is also a Type B based on BCM63268, but for 802.11ac it uses the BCM4360 which has no open drivers, so it's a far less attractive target.

  • The WAN-to-LAN/Wifi performance in older OpenWrt versions is degraded for all xrx200 devices since February 2018 due to a bug. The bug and solutions are described further down this wiki page. For devices using OpenWrt 19 and later it should be fine again since they integrate this commit). There may still be a 60 Mbps download cap due to CPU limitations in which case enabling “Software Offloading” will help.
  • 23.05.0 has some issues in the GSWIP driver that causes problems with the DSA switch configuration. 23.05.4 should fix most of it since integrating these commits.

Branch Type Download link
n/a UART u-boot (allows booting via serial console) for installing OpenWrt/LEDE. lede-lantiq-bthomehubv5a_ram-u-boot.asc
n/a Image which can be booted via TFTP to simplify the switch from OEM firmware to OpenWrt/LEDE lede-lantiq-xrx200-BTHOMEHUBV5A-installimage.bin
n/a OpenWrt/LEDE Installation Guide for BT Home Hub 5A - Download and study this essential 220 page guide. It includes novice setup instructions for popular configurations DropboxMirror
n/a BT HH5A OpenWrt LEDE Windows Instructions - serial link instructions with useful screen shots DropboxMirror
n/a Safe easy serial access without soldering, takes 10 mins (PDF) dmcdonnell

To install OpenWrt on your HH5A or to recover from a failed u-boot flash you can boot the device via UART (serial console). This requires that:

  1. you are able to connect to the serial console of the device (using for example a USB to serial adapter)
  2. you are able to create an electrical connection to four points on the device PCB (easy no-soldering approach linked in download table, or you can solder a few wires to SMD solder points)

See the download table above for how to get serial access in 10 minutes WITHOUT soldering or you can solder a few wires to SMD solder points (a bit fiddly).

If you do choose to solder, be sure to glue of fix the wires to the PCB so that you don't pull the pads off or break the solder connection when you move the router. You're going to need to connect the wires to an adapter, plug and unplug a USB drive and ethernet cable and even small stresses on tiny soldering joins might break them.

The baud rate is 115200.

Once you have prepared everything you can boot u-boot via UART:

  1. Power off your HH5A
  2. Enable UART boot by connecting boot_sel2 to GND.
  3. Power on your device
    You should see a message similar to this:
    ROM VER: 1.1.4
    CFG 04
    UART
  4. IMPORTANT: Remove the connection between boot_sel2 and GND as QUICKLY as possible. There have reported cases where HH5a remains stuck in 'CFG 04' which may have been caused by electronic component damage.
  5. Load u-boot via serial console into the device's memory (this takes approx. 3 minutes): lede-lantiq-bthomehubv5a_ram-u-boot.asc using the instructions for Microsoft Windows or Linux as follows.

If you're having trouble be sure to check that your serial adapter is working correctly: if you connect the tx and rx pins on your adapter you should see your keys echoed back to you when you type in the console. This is sometimes called a loopback test. It's possible for just transmission or reception to be broken.

Microsoft Windows

Download and study the “Serial console instructions using MS Windows” and “LEDE Installation Guide for BT Home Hub 5A” documents listed in the Downloads section of this page.

Linux

You can use picocom to connect as follows:

picocom -b 115200 /dev/ttyUSB0 --send-cmd="cat"

In picocom, press <Ctrl-a> <Ctrl-s> and enter the full path to the lede-lantiq-bthomehubv5a_ram-u-boot.asc to send the bootcode.

nb. Do NOT use the u-boot.asc found in OpenWrt downloads page. TFTP does not work.

Alternatively, open another terminal and execute the following command to send the bootcode

cat lede-lantiq-bthomehubv5a_ram-u-boot.asc > /dev/ttyUSB0

Now you should see the BTHOMEHUBV5A# u-boot prompt.

Note that operating in this mode is atypically slow. The CPU clock (normally 500MHz) and buses (normally 250MHz) are running at 125MHz for some reason, but the installed system will run at full speed.

(one reason that it's running very slowly is that the cache is turned off for the serially loaded u-boot build)

Use these instructions to install all stable and snapshot builds of LEDE released after 30 November 2016, and all stable and snapshots of OpenWrt released from January 2018.

Go to HomeHub 5 Type A install image web page and download the following files:

LEDE custom U-boot: lede-lantiq-bthomehubv5a_ram-u-boot.asc
LEDE HH5A installation image: lede-lantiq-xrx200-BTHOMEHUBV5A-installimage.bin
A sysupgrade image: Latest squashfs-sysupgrade.bin - see table above

It is also recommended to download and study the 190 page OpenWrt/LEDE Installation Guide for BT Home Hub 5A and the BT HH5A Openwrt LEDE Windows instructions. Both documents contain screenshots of each step of the installation process and other useful information but it basically boils down to the following steps:

  1. Make sure all serial connections are right (pins and tty address/COM port) and working at 115200 kbps baud rate.
  2. Open up a Serial console to communicate with the router. For Linux you can use cu, screen, minicom, putty or GTKTerm. For Windows you can use Putty, TeraTerm, Termite or Arduino's Serial Monitor. Test to see if everything works by booting up the router and and seeing all the boot process on screen.
  3. Boot the router in UART Mode mode by grounding the boot_sel2 pin when powering up then removing from ground as soon as you see CFG 04 on screen.
  4. Copy the binary contents in: openwrt-lantiq-bthomehubv5a_ram-u-boot.asc or lede-lantiq-bthomehubv5a_ram-u-boot.asc file then paste it into the serial terminal and hit Enter to send it over (it may take a minute or two and screen will fill up with *).
  5. Configure PC with static IP address 192.168.1.2, and connect to any yellow LAN port on the HomeHub over ethernet. Ensure that the address 192.168.1.1 is free for the HomeHub to use.
  6. Serve lede-lantiq-xrx200-BTHOMEHUBV5A-installimage.bin over TFTP. For Windows users, you can use TFTPD64.exe then setting the Server Interface at 192.168.1.2 and Current Directory to where the install file is. On a Linux machine:
    mkdir -p /tftpboot
    wget -O /tftpboot/lede-lantiq-xrx200-BTHOMEHUBV5A-installimage.bin https://github.com/mkresin/BTHH5a-installimage/releases/download/v0.1/lede-lantiq-xrx200-BTHOMEHUBV5A-installimage.bin
    chmod 777 /tftpboot
    atftpd --bind-address 192.168.1.2 --daemon --no-fork /tftpboot/
  7. Over the serial console, type the following:
    tftpboot 0x81000000 lede-lantiq-xrx200-BTHOMEHUBV5A-installimage.bin; bootm 0x81000000


    Upon a successful transfer you should see the row of ### loading. If it shows only T for timeout, make sure your IP addresses are right, your TFTP program is not blocked and you aren't connected to another network then try again. When the transfer is complete, booting will be very slow - typically takes 7 minutes!

  8. Back up the original stock firmware using the instructions provided on screen. A USB flash drive formatted FAT32 or exFAT is required. Check the size of the file saved to USB flash drive is approx 128 MiB before continuing any further! If you do not create the nand backup, or the saved file is significantly less than 128MiB, and the OpenWRT installation subsequently fails, you will NOT be able to unbrick the hub !!!!
  9. There are a few scripts that save you time so you don't have to type lots of commands manually. You can run them when br-lan: entered forwarding state appears.
    1. Reminder: Did you run the nanddump command to save a copy of the original firmware, and to store the file in a safe place?
    2. Run prepare script to prepare the LEDE installation.
    3. Carefully read the instructions that the script provides.
    4. Once the script is finished you have unlocked u-boot and changed the UBI volumes/partitions (LEDE is not installed yet and there is no going back). 1)
    5. Installing OpenWrt/LEDE is usually easy: get your sysupgrade image onto the router and run sysupgrade on it. The router will spew text for a bit before rebooting.
      1. Download the image on your PC, copy it to a memory stick and insert it in the router.
      2. Due to problems with some memory sticks, it is recommended to copy the file from memory stick to the /tmp folder. cp /tmp/mounts/USB-A1/openwrt-blah-blah-squashfs-sysupgrade.bin /tmp
      3. For OpenWrt up to 21.02, use the command: sysupgrade /tmp/openwrt-blah-blah-squashfs-sysupgrade.bin. For OpenWrt 22.03 or later, use the command: sysupgrade -n -F /tmp/openwrt-blah-blah-squashfs-sysupgrade.bin for force the installation. If you get a nand upgrade failed error, you need to reboot the router, upload the install image and try again with 192.168.1.10 IP and sysupgrade from /tmp.
    6. The device may reboot to CFG 04 again or straight to OpenWrt/LEDE. Power cycle the router if it's gets stuck at CFG 04 prompt.
      1. If the hub presents you with a 'VR9 #' prompt, execute these two commands, and power cycle the hub to enable LEDE to boot: setenv bootcmd ubi part UBI\; ubi read \$(loadaddr) kernel\; bootm \$(loadaddr) then saveenv
    7. Once the initial OpenWrt/LEDE firmware has been installed, newer firmware can be installed using the LuCI web interface or sysupgrade (note: snapshot releases don't come with LuCI, you need to install it later). Make a backup of your settings before updating.

If OpenWrt/LEDE installation fails, or you discover there is no wireless interfaces, you should restore the original stock firmware from the earlier 128 MiB Nanddump file you created, and try again to install OpenWRT. See section 5 of the OpenWrt/LEDE Installation Guide for BT Home Hub 5A which describes how to use the restore script in detail. Restoring stock firmware can be completed in as little as 3 minutes, otherwise, it normally takes just over an hour. Once Nanddump restoration is complete, the script offers the option to install OpenWrt/LEDE again. Otherwise, the hub will reboot and launch stock BT/Plusnet firmware.

generic.sysupgrade

Recommend to use the latest stable releases. Note the very development snapshots do not include LuCI.

Note you may need to tick the Force installation check box and untick the Keep Settings check box, due to signficant changes relating to DSA after 19.07. Do not restore settings from older versions of LEDE/OpenWrt to later releases as they are likely to be incompatible.

17.01 to 23.05 OpenWrt forum post

Architecture MIPS
Vendor Lantiq
bootloader U-Boot
System-On-Chip Lantiq Xway VR9 VRX268 PSB 80910 (MIPS 34Kc) v1.2.1
CPU/Speed 500 MHz
NAND Flash 128MiB Spansion ML01G100BHI00
RAM Chip Samsung K4T1G164QF-BCF7
RAM Specs DDR2 128MiB @ 250MHz
Wireless Atheros AR9287 b/g/n 2×2 +
Qualcomm QCA9880-BR4A a/b/g/n+ac 3×3
Ethernet 5x 10/100/1000 BASE-TX Ethernet Interface (1x WAN, 4x LAN)
(2x XWAY VR9 GPHY 11G & 3x XWAY PEF7071 via RGMII)
Switch Internal configurable (Infineon)
xDSL Lantiq XWAY VRX208
ADSL1/2/2+ (G.992.1/3/5) Annexes A, B, I, M, L (adsl annex j is not supported)
VDSL1 (G.993.1, T1.424, TS 101 270),
VDSL2 (G.993.2),
ITU-T G 998.2 Bonding,
EFM (IEEE 802.3ah)
USB 1x USB 2.0
Phone no
Serial Yes
GPIO Buttons WPS, Restart and Reset buttons
Power External 12V 1.5A, with a 3.0 X 5.5 X 12mm connector

There are 6 retaining clips along the top of the HH5A.

Use a metal spudger and insert as shown below. Work your way along the top of the HH5A. This will start to release the first 4 plastic retaining clips. Insert an old credit card into the exposed gap to stop the clips from re-engaging.

Position the spudger as shown below so it is to the right of the hidden retaining clip and above the rear vent slots. Then lift the spudger to pry off the front panel.

This will release the 5th retaining clip as shown below. Repeat for the other side for the last retaining clip.

There are two retaining clips on each of the sides of the case. Position the spudger as shown below for the first clip and pry off the front panel as shown below.

Position for the second clip. Repeat procedure for the other side of the case.

Use brute force and pull the top edge of the front panel away from the case. This will release the retaining clips along the bottom of the case.

The retaining clips on the left and right sides of the front panel are often broken. Remove any loose bits of plastic.

The motherboard and chassis close-up: Youtube video

Resistor number Function Info Notes
R77 Serial TX Below the NAND flash Use the solder to the pad right of it
R78 Serial RX Directly below R77, and to the left. Use the solder pad to the right of it
R45 boot_sel2 Below R78 to the right. Use the solder pad above it
R46 boot_sel3 Front of the PCB, next to SW4 (WPS button) Not used for installation over serial
GND USB socket shield and other locations. Use the solder pad for WPS switch closest to NAND flash.

Serial uses Baud rate 115200.

To boot via UART you need to pull boot_sel2 (results in CFG 0x4) to GND momentarily when powering up the device. Do NOT leave boot_sel2 connected to GND any longer than necessarily because it has been known to cause the device to remain 'stuck in CFG 0x4' UART mode)

Video of UART/BOOT soldering and installing TFTP-server (macOS) ➥ https://youtu.be/ims6RT3NcoE

Update: This issue has been resolved in daily snapshots since thisthis commit). It is included in OpenWrt 21:

If you have an internet connection which is significantly faster than 70 Mbps, you may observe the maximum internet to LAN throughput with OpenWrt 18/19 is lower compared to LEDE 17.01. The following commit caused the throughput to drop from 140+ Mbps to 70+ Mbps when SMP is enabled.

https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=916e33fa1e14b97daf8c9bf07a1b36f9767db679

Only one instead of both cores is used to steer packets to the LAN. OpenWrt bug 2573

Some workarounds are described in this thread:

OpenWrt forum link to modified 18.06.x image which removes the above mentioned commit.

Software Flow Offloading can also be enabled in OpenWrt 19 or later, BUT it is not compatible with Smart Queue Management (SQM).

It is also worth testing with irqbalance running (after installing with “opkg install irqbalance”).

Read below instructions if USB port does not provide enough power for your use case

In some cases, it may be the case that USB port does not provide enough power to run a portable HDD or even a USB stick. As it has been tested there also seems to be a reboot issue when hot-plugging a USB device. This issue is related to low power output from the USB port although the supplied power adapter provides more than enough juice for the router.

The IC used for the USB seems not to handle much load for any USB peripherals. This can be solved through using an external 12V to 5V DC-DC stepdown circuit. These circuits are easily available online in smaller forms or you can build one yourself if you please. We only need to connect the +(positive) terminal of the circuit to the +(positive) of USB and let the -(negative/ground) handle the USB itself.

For this to work, you need to remove the L9 component from the back of the USB port. This will break the connection from the USB + terminal and let you provide another power source. Once you have removed the above component, proceed to connect your circuit with the router. Choose a safe spot for the circuit to stay, possibly cover its base with some hot glue. So it does not short-circuit any chips on the PCB. Now you need two wires for the input connection, one for +ve and other one is ground. Ground can be linked from any metal holders, just like the USB outer-panel. The +ve wire needs to come from the power adapter, for this to work properly use the middle pin on the power switch. This way when you power off the device the USB power will be switched off. Once you have connected the wires for input, you only need +ve wire from the circuit output and connect it to the USB +ve, from where we removed the L9 component. Be sure to connect directly to USB +ve and not to the IC +ve output.

This will remove the strain on the USB power IC and no more problems will occur from the USB hot-plugging and you can also use a portable HDD even if it was not working before. Tested with Seagate Expansion Portable HDD 500 GBs (USB 3.0).

See the below pic for more info (click on the image for a larger picture):

If the router sits in confined spaces and ambient temperature regularly exceeds 40°C, a heatsink can be applied onto the CPU to improve thermal dissipation. Use a heatsink no taller than 1cm and no wider than 3cm x 3cm. A thermal adhesive pad or glue (like 8329TFS) can be used to hold the heatsink in place. Make sure you don't touch capacitor C128.

The WiFi interfaces are surrounded by exposed PCB traces which can be used to solder a RF/EMI shield onto it. RF shields help block unwanted signals and even it's own WiFi signal from interfering with the controller chip, thus improving signal quality. Designs for the shields can be found here or here and can be sent online to a fab.

WPS isn't installed out-of-the-box. You need to remove “wpad-basic-wolfssl” package and then install “wpad-wolfssl” and “hostapd-utils” to enable it at the push button and the LuCI switch in WiFi settings. Other useful packages include “luci-app-upnp” for DLNA playback and certain online games, “luci-app-ddns” for running a server, “luci-app-wol” to wake up ethernet devices and “luci-app-sqm” to adjust QoS settings (not compatible with Software Offloading).

“WMM Mode” needs to be enabled for WiFi speeds above 54Mbps, however some WiFi clients, particularly Broadcom WiFi 802.11n, may crash.

Newer DSL firmware can be found here and WiFi 5 firmware can be found here or alternatively use the kmod-ath10k and ath10k-firmware-qca988x packages.

isp-configurations

Depending on your ISP and the firmware on their DSLAM, you may need to try different DSL firmware versions. There is a list of firmware versions at https://xdarklight.github.io/lantiq-xdsl-firmware-info/

You install these by placing them at /lib/firmware/lantiq-vrx200-a.bin and /lib/firmware/lantiq-vrx200-b.bin (use WinSCP for Windows users) and then referencing them in “Network>Interfaces>DSL>Firmware File” in LuCI. It is recommended to keep several versions around and symlinking them, so you can easily swap versions.

VoIP service over SOGEA lines isn't supported yet, meaning you can't access the ISP's embedded landline service part (a.k.a. Digital Voice) via Asterisk if your connection type is SOGEA.

Openreach uses Annex A (DSL over POTS) for syncing with the DSLAM in its VDSL network (the reported 'Annex B' in LuCI is the bandplan) so make sure you use the right DSL firmware as Openreach may ban your line for using an uncompliant equipment.

Refer section 7.5 of the Open/WrtLEDE Installation Guide for BT Home Hub 5A for more details of popular ISPs in the UK.

For VDSL (FTTC):

  1. Go to LuCI → Network → Interfaces.
  2. Set 'DSL' parameters to 'Annex A + L + M(all)' and 'tone' set to 'A43C + J43 + A43', select PTM, and VDSL.
  3. Edit the 'WAN' interface → Physical Settings tab.
  4. Select 'Custom Interface' and enter 'ptm0.101' or 'dsl0.101' for LEDE 17 and OpenWrt 18 respectively to set vlan 101 for BT Openreach network compatibility.

For most ISPs except for TalkTalk and Sky/NOW broadband:

  1. Edit the 'WAN' interface.
  2. Choose PPPoE protocol.
  3. Enter username and password.

For TalkTalk:

  1. Edit the 'WAN' interface.
  2. Choose DHCP protocol.

For Sky Broadband:

  1. Edit the 'WAN' interface.
  2. Choose DHCP protocol.
  3. Go to Advanced Settings tab in that interface.
  4. Change 'Client ID to send when requesting DHCP' with the hex value of the yourmacaddress@skydsl|XXXXXXXX that you get from Wireshark on your OEM router.
  5. Do the same for 'WAN6'.

Learn more here: http://www.skyuser.co.uk/forum/sky-broadband-fibre-help/50483-generic-open-wrt-sky-fibre-mer-guide.html

/etc/config/network should look like this when you're done configuring a PPPoE BT OpenReach connection on OpenWrt:

config dsl 'dsl'
        option annex 'a'
        option tone 'a'
        option ds_snr_offset '0'
        option xfer_mode 'ptm'
        option line_mode 'vdsl'

config interface 'wan'
        option ifname 'dsl0.101'
        option proto 'pppoe'
        option username 'YOURUSERNAMEHERE'
        option password 'YOURPASSWORDHERE'

For ADSL (PPPoA):

  1. Go to LuCI → Network → Interfaces'.
  2. Set 'DSL' parameters to 'Annex A(all)' and 'tone' set to 'A43C + J43 + A43', select ATM, and ADSL.
  3. Important: Remove the 'ATM bridge' section as this is incompatible with PPPoA connections.

For most ISPs.

  1. Edit the 'WAN' interface.
  2. Choose PPPoA protocol.
  3. Enter username and password.
  4. PPPoA Encapsulation: VC-Mux
  5. VCI: 38
  6. VPI: 0

Sky Broadband may also accept username: install@o2broadband.co.uk with no password with PPPoA protocol otherwise you need to extract the username and password with Wireshark on your OEM router.

For ADSL (PPPoE):

  1. Go to LuCI → Network → Interfaces.
  2. Set 'DSL' parameters to 'Annex A(all)' and 'tone' set to 'A43C + J43 + A43', select ATM, and ADSL.
  3. Set 'ATM bridge' parameters, VCI: 38, VPI: 0. Encapsulation mode: LLC
  4. Edit the 'WAN' interface → Physical Settings tab.
  5. Select 'Custom Interface' and enter 'nas0' or 'dsl0' for LEDE 17 and OpenWrt 18 respectively.

BT and Plusnet support PPPoE protocol. (Sky/NOW and TalkTalk do not support PPPoE on ADSL)

  1. Edit the 'WAN' interface.
  2. Choose PPPoE protocol.
  3. Enter username and password.

For other configurations, such as 'VDSL Bridge modem' (to emulate old Openreach VDSL modems), refer to the OpenWrt/LEDE Installation Guide for BT Home Hub 5A for instructions.

Because of my bad dsl signal I need to increase the ds_snr_offset. It's work very well with DSL Firmware 5.7.x, 5.8.x, 5.9.x.

BusyBox v1.28.3 () built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt SNAPSHOT, r6790-264feab1e7 ----------------------------------------------------- root@openwrt:~# /etc/init.d/dsl_control status ATU-C Vendor ID: Broadcom 177.140 ATU-C System Vendor ID: Broadcom Chipset: Lantiq-VRX200 Firmware Version: 5.9.0.12.1.7 API Version: 4.17.18.6 XTSE Capabilities: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2 Annex: B Line Mode: G.993.5 (VDSL2 with down- and upstream vectoring) Profile: 17a Line State: UP [0x801: showtime_tc_sync] Forward Error Correction Seconds (FECS): Near: 0 / Far: 253237 Errored seconds (ES): Near: 49 / Far: 80 Severely Errored Seconds (SES): Near: 20 / Far: 23 Loss of Signal Seconds (LOSS): Near: 5 / Far: 4 Unavailable Seconds (UAS): Near: 769 / Far: 769 Header Error Code Errors (HEC): Near: 0 / Far: 0 Non Pre-emtive CRC errors (CRC_P): Near: 0 / Far: 0 Pre-emtive CRC errors (CRCP_P): Near: 0 / Far: 0 Power Management Mode: L0 - Synchronized Latency [Interleave Delay]: 0.13 ms [Fast] 0.0 ms [Fast] Data Rate: Down: 87.737 Mb/s / Up: 33.865 Mb/s Line Attenuation (LATN): Down: 12.4 dB / Up: 10.8 dB Signal Attenuation (SATN): Down: 12.4 dB / Up: 10.7 dB Noise Margin (SNR): Down: 6.5 dB / Up: 9.7 dB Aggregate Transmit Power (ACTATP): Down: -1.3 dB / Up: 14.4 dB Max. Attainable Data Rate (ATTNDR): Down: 94.912 Mb/s / Up: 36.224 Mb/s Line Uptime Seconds: 167968 Line Uptime: 1d 22h 39m 28s root@gw01:~# cat /etc/config/network .... cut .... config atm-bridge 'atm' option vpi '1' option vci '32' option encaps 'llc' option payload 'bridged' option nameprefix 'dsl' config dsl 'dsl' option annex 'b' option firmware '/lib/firmware/vr9-B-dsl.bin' option tone 'bv' option xfer_mode 'ptm' option line_mode 'vdsl' option ds_snr_offset '30' config interface 'wan' option proto 'pppoe' option username 'H1und1/0123-456@online.de' option password 'XXXxxxXXX' option ipv6 'auto' option ifname 'dsl0.7' config device 'wan_dev' option macaddr '18:83:xx:xx:xx:xx' option name 'dsl0'


It's work very well with DSL Firmware 5.9.0.

BusyBox v1.28.3 () built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt 18.06-SNAPSHOT, r7102-3f3a2c966a ----------------------------------------------------- root@gw03:~# /etc/init.d/dsl_control status ATU-C Vendor ID: FF,B5,47,53,50,4E,00,20 ATU-C System Vendor ID: 00,00,30,30,30,30,00,00 Chipset: Lantiq-VRX200 Firmware Version: 5.9.0.10.0.1 API Version: 4.17.18.6 XTSE Capabilities: 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0 Annex: A Line Mode: G.992.5 (ADSL2+) Profile: Line State: UP [0x801: showtime_tc_sync] Forward Error Correction Seconds (FECS): Near: 0 / Far: 18 Errored seconds (ES): Near: 0 / Far: 0 Severely Errored Seconds (SES): Near: 0 / Far: 0 Loss of Signal Seconds (LOSS): Near: 0 / Far: 0 Unavailable Seconds (UAS): Near: 24 / Far: 24 Header Error Code Errors (HEC): Near: 0 / Far: 0 Non Pre-emtive CRC errors (CRC_P): Near: 0 / Far: 0 Pre-emtive CRC errors (CRCP_P): Near: 0 / Far: 0 Power Management Mode: L0 - Synchronized Latency [Interleave Delay]: 15.75 ms [Interleave] 8.0 ms [Interleave] Data Rate: Down: 8.191 Mb/s / Up: 896 Kb/s Line Attenuation (LATN): Down: 1.5 dB / Up: 16.6 dB Signal Attenuation (SATN): Down: 1.9 dB / Up: 16.6 dB Noise Margin (SNR): Down: 29.2 dB / Up: 12.6 dB Aggregate Transmit Power (ACTATP): Down: 18.4 dB / Up: 12.4 dB Max. Attainable Data Rate (ATTNDR): Down: 23.928 Mb/s / Up: 992 Kb/s Line Uptime Seconds: 32469 Line Uptime: 9h 1m 9s root@gw03:~# cat /etc/config/network ... config atm-bridge 'atm' option encaps 'llc' option payload 'bridged' option nameprefix 'dsl' option vci '35' option vpi '0' config dsl 'dsl' option annex 'a' option tone 'a' option xfer_mode 'atm' option line_mode 'adsl' option ds_snr_offset '0' option firmware '/lib/firmware/vr9-A-dsl.bin' config interface 'wan' option proto 'pppoe' option ipv6 'auto' option username 't00000000@ga' option password '................' option ifname 'dsl0' config device 'wan_dev' option macaddr 'xx:xx:xx:xx:xx:xx' option name 'dsl0' config interface 'wan6' option ifname 'pppoe-wan' option proto 'dhcpv6' ...


VDSL works with an extracted firmware file

root@HomeHub5A:~# /etc/init.d/dsl_control status ATU-C Vendor ID: Broadcom 178.24 ATU-C System Vendor ID: Broadcom Chipset: Lantiq-VRX200 Firmware Version: 5.9.1.4.0.7 API Version: 4.17.18.6 XTSE Capabilities: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2 Annex: B Line Mode: G.993.5 (VDSL2 with down- and upstream vectoring) Profile: 17a Line State: UP [0x801: showtime_tc_sync] Forward Error Correction Seconds (FECS): Near: 0 / Far: 3 Errored seconds (ES): Near: 13 / Far: 828 Severely Errored Seconds (SES): Near: 0 / Far: 276 Loss of Signal Seconds (LOSS): Near: 0 / Far: 27 Unavailable Seconds (UAS): Near: 33168786 / Far: 33168786 Header Error Code Errors (HEC): Near: 0 / Far: 0 Non Pre-emtive CRC errors (CRC_P): Near: 20 / Far: 0 Pre-emtive CRC errors (CRCP_P): Near: 0 / Far: 0 Power Management Mode: L0 - Synchronized Latency [Interleave Delay]: 0.15 ms [Fast] 0.0 ms [Fast] Data Rate: Down: 40.954 Mb/s / Up: 10.240 Mb/s Line Attenuation (LATN): Down: 23.2 dB / Up: 31.4 dB Signal Attenuation (SATN): Down: 21.3 dB / Up: 32.1 dB Noise Margin (SNR): Down: 9.3 dB / Up: 13.4 dB Aggregate Transmit Power (ACTATP): Down: 9.1 dB / Up: 14.2 dB Max. Attainable Data Rate (ATTNDR): Down: 42.860 Mb/s / Up: 19.177 Mb/s Line Uptime Seconds: 40802 Line Uptime: 11h 20m 2s


Network config: vLAN from ISP is 0.2

cat /etc/config/network config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config globals 'globals' option ula_prefix 'fdac:7c59:094f::/48' config atm-bridge 'atm' option vpi '1' option vci '32' option encaps 'llc' option payload 'bridged' option nameprefix 'dsl' config dsl 'dsl' option tone 'av' option ds_snr_offset '0' option line_mode 'vdsl' option annex 'b' option firmware '/lib/modules/vr9-B-dsl.bin' config interface 'lan' option type 'bridge' option ifname 'eth0.1' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' option ip6assign '60' config device 'lan_dev' option name 'eth0.1' option macaddr '00:00:00:00:00:00' config interface 'wan' option ifname 'dsl0.2' option proto 'pppoe' option username 'user from ISP' option password 'pass from ISP' option peerdns '0' option ipv6 'auto' list dns '1.1.1.2' list dns '1.0.0.2' config device 'wan_dev' option name 'dsl0' option macaddr '00:00:00:00:00:00' config interface 'wan6' option ifname '@wan' option proto 'dhcpv6' option reqprefix 'auto' option reqaddress 'try' config switch option name 'switch0' option reset '1' option enable_vlan '1' config switch_vlan option device 'switch0' option vlan '1' option ports '6t 5 4 2 1 0' option vid '1' config switch_vlan option device 'switch0' option vlan '2' option ports '6t' option vid '2'


VDSL used to work with a newer firmware, but in early February 2021 it started running slowly on a 8/1 fallback profile.

The version that works right now is 5.7.6.10.0.7.

root@homehub:~# /etc/init.d/dsl_control status ATU-C Vendor ID: Broadcom 178.30 ATU-C System Vendor ID: Broadcom Chipset: Lantiq-VRX200 Firmware Version: 5.7.6.10.0.7 API Version: 4.17.18.6 XTSE Capabilities: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2 Annex: B Line Mode: G.993.5 (VDSL2 with down- and upstream vectoring) Profile: 17a Line State: UP [0x801: showtime_tc_sync] Forward Error Correction Seconds (FECS): Near: 0 / Far: 2 Errored seconds (ES): Near: 0 / Far: 3 Severely Errored Seconds (SES): Near: 0 / Far: 0 Loss of Signal Seconds (LOSS): Near: 0 / Far: 0 Unavailable Seconds (UAS): Near: 99 / Far: 99 Header Error Code Errors (HEC): Near: 0 / Far: 0 Non Pre-emtive CRC errors (CRC_P): Near: 0 / Far: 0 Pre-emtive CRC errors (CRCP_P): Near: 0 / Far: 0 Power Management Mode: L0 - Synchronized Latency [Interleave Delay]: 0.15 ms [Fast] 0.0 ms [Fast] Data Rate: Down: 60.839 Mb/s / Up: 23.120 Mb/s Line Attenuation (LATN): Down: 8.3 dB / Up: 6.4 dB Signal Attenuation (SATN): Down: 8.4 dB / Up: 6.3 dB Noise Margin (SNR): Down: 5.0 dB / Up: 6.4 dB Aggregate Transmit Power (ACTATP): Down: -5.6 dB / Up: 12.5 dB Max. Attainable Data Rate (ATTNDR): Down: 64.368 Mb/s / Up: 33.830 Mb/s Line Uptime Seconds: 1819 Line Uptime: 30m 19s


It is necessary to tag the port used for the connection. When using DSA, switch configuration is not needed.

BusyBox v1.35.0 (2022-01-15 22:05:55 UTC) built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt SNAPSHOT, r18589-e821849c4f ----------------------------------------------------- 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 'fd90:2947:a695::/48' config atm-bridge 'atm' option vpi '1' option vci '32' option encaps 'llc' option payload 'bridged' option nameprefix 'dsl' config dsl 'dsl' option annex 'a' option tone 'av' option ds_snr_offset '0' config device option name 'br-lan' option type 'bridge' list ports 'lan1' list ports 'lan2' list ports 'lan3' list ports 'lan4' list ports 'wan' config device option name 'lan1' option macaddr '18:62:2c:45:7a:1a' config device option name 'lan2' option macaddr '18:62:2c:45:7a:1a' config device option name 'lan3' option macaddr '18:62:2c:45:7a:1a' config device option name 'lan4' option macaddr '18:62:2c:45:7a:1a' 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 '18:62:2c:45:7a:1b' config interface 'wan6' option device '@wan' option proto 'dhcpv6' config interface 'wan' option device 'br0.40' option proto 'pppoe' option username 'heremyuser@mdsl.mnet-online.de' option password 'heremypassword' option ipv6 '1' config device option name 'br0' option type 'bridge' list ports 'wan' config bridge-vlan option device 'br0' option vlan '40' list ports 'wan:t'


Case label swconfig/kernel port number
1 4
2 2
3 0
4 1
WAN (red) 5
- 6 (CPU)
- 3 (unused)

Depending on your version of LuCI and your /etc/board.json, LuCI may display ports in various orders (matching the labels/matching the swconfig numbering/not matching anything) and may or may not list the WAN port even though it's available via swconfig.

  • If LuCI lists seven ports (Port 0 -- Port 5 + CPU), it's probably using the swconfig numbering and ignoring /etc/board.json. Put up with the internal numbering or upgrade LuCI. On the bright side, you don't need to edit anything to make use of the WAN port.
  • If LuCI lists five ports (LAN 1 -- LAN 4 + CPU), it's probably using either the case label numbering or a made-up numbering. Either way, it's probably based on /etc/board.json. You can either use /etc/config/network instead or edit /etc/board.json to make the UI include the WAN port (and if necessary, correct the numbering).

Notes about this quirky layout:

  • According to swconfig eth0 is the (only) interface through which the switch is configured, yet if you want to see traffic on switch port 5 (WAN) you'll need to add it to a VLAN and you'll see the traffic on eth1.N, which isn't presented as a choice in LuCI. (eth1 seems to behave both as a second CPU port and as a physical port on the switch, depending on context.)
    • For example, in the typical wired-WAN setup where you've put ports 1--4 in VLAN 1 and the WAN port in VLAN 2, you'd set InterfacesWANPhysical SettingsCustom Interface: eth1.2.
  • Since commit 3ea9c85e (mid-Aug 2016) LuCI can hide some of the layout oddness. /etc/board.d/02_network generates /etc/board.json which newer LuCI uses when presenting the Network → Switch page.
    • OpenWrt has an incorrect /etc/board.d/02_network as of r48941, but (with newer LuCI) you can edit /etc/board.json.
    • LEDE has a correct /etc/board.d/02_network as of 96f6bd501 so should have a correct /etc/board.json, but may not expose the WAN port.
  • In at least LEDE, at the kernel/driver/switch level the layout seems unlikely to change, so kernel messages and swconfig will use the non-obvious switch port numbering for the foreseeable future.
  • It's possible that configurations using eth1 may be unstable.
  • LAN and WAN may have been separated this way to avoid "tx ring" kernel errors; more clarity needed.
  • Changeset 40317 created the DTS with this odd layout and changeset 46223 copied it to create HH5A support --- but it may simply reflect equally odd hardware layout.

Assumptions:

  • you want to use the WAN port, not DSL, for your uplink
  • you're using a LuCI newer than commit 3ea9c85e (mid-Aug 2016) meaning you see LAN 1 -- LAN 4; either you're annoyed that you can't see port 5, or you're annoyed at the UI not matching the labelled ports
  • you can edit config files, probably via (serial or SSH) CLI access
  • you've made a backup copy of /etc/board.json already, or you're confident you can regenerate defaults using /etc/board.d/* later

Replace /etc/board.json with the following. Note that by doing this, you're not configuring anything. /etc/board.json is only meant to describe hardware properties and defaults. The changes to roles and network are just for internal consistency. Nonetheless, you should put your own unit's MAC address in network:*:macaddr.

{ "model": { "id": "BTHOMEHUBV5A", "name": "BT Home Hub 5A" }, "led": { "wifi": { "name": "wifi", "type": "trigger", "sysfs": "bthomehubv5a:blue:wireless", "trigger": "phy0tpt" }, "internet": { "name": "internet", "type": "netdev", "sysfs": "bthomehubv5a:blue:broadband", "device": "nas0", "mode": "link tx rx" }, "dimmed": { "name": "dimmed", "sysfs": "dimmed", "default": "0" } }, "switch": { "switch0": { "enable": true, "reset": true, "ports": [ { "num": 0, "role": "lan", "index": 3 }, { "num": 1, "role": "lan", "index": 4 }, { "num": 2, "role": "lan", "index": 2 }, { "num": 4, "role": "lan", "index": 1 }, { "num": 5, "role": "wan", "index": 5 }, { "num": 6, "device": "eth0", "need_tag": true } ], "roles": [ { "role": "lan", "ports": "0 1 2 4 6t", "device": "eth0.1" } { "role": "wan", "ports": "5 6t", "device": "eth1.2" } ] } }, "network": { "lan": { "ifname": "eth0.1", "protocol": "static", "macaddr": "18:62:2c:XX:XX:XX" }, "wan": { "ifname": "eth1.2", "protocol": "dhcp", "macaddr": <copy this from lan above, bump last octet up by one> } } }


To update from any previously installed version of OpenWrt, or LEDE prior to r2363 (30 Nov 2016), to LEDE snapshot r2363 and later, it is recommended to restore the stock BT Firmware, and then proceed to install the latest LEDE snapshot from scratch. Alternatively, a 'migrate' script is also available where no original nanddump is available - use earlier 'LEDE install image' v0.1 (Nov 2016) where the 'migrate' script has been tested. v1.0 (Nov 2017) has NOT been tested.


1)
If you want you can reboot the device now and enter the unlocked (and much faster) u-boot by pressing any key when prompted. If you do, you can tftpboot the install image from 192.168.1.10 this time.
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2024/08/09 14:50
  • by alexceltare2