User Tools

Site Tools


toh:bt:homehub_v5a

BT HomeHub 5.0 Type A

Information on this page also applies to the 'Plusnet Hub One' and 'BT Business Hub 5'

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.

Supported Versions

OpenWrt support is available with these patches (currently only in trunk):

Due to lack of hardware NAT support, the WAN to wifi throughput is restricted to ~52 Mbps when using 17.01/18.06 stable. This only affects you if you receive faster speeds from your ISP. Enabling an experimental new feature called 'Software Flow Offloading' can improve speeds with the latest OpenWRT snapshots.

Downloads

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 Ebilan forum Mirror
n/a LEDE 17.01.6 (Sep 2018) squashfs sysupgrade - stable build lede-17.01.6-lantiq-xrx200-BTHOMEHUBV5A-squashfs-sysupgrade.bin
n/a OpenWRT 18.06.1 (Aug 2018) squashfs sysupgrade - stable build (known slow WAN-to-LAN issue) openwrt-18.06.1-lantiq-xrx200-bt_homehub-v5a-squashfs-sysupgrade.bin
n/a OpenWrt squashfs sysupgrade - snapshot build openwrt-lantiq-xrx200-bt_homehub-v5a-squashfs-sysupgrade.bin
n/a Serial console instructions using MS Windows Ebilan forum Mirror
n/a Safe easy serial access without soldering, takes 10 mins (PDF) dmcdonnell Ebilan forum

Hardware

Info

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
NOR Flash: n/a
NAND Flash: 128MiB Spansion ML01G100BHI00
RAM Chip: Samsung K4T1G164QF-BCF7
RAM Specs: DDR2 128MiB @ 250MHz
Wireless: Atheros AR9227 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, J, M, L,
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
DECT: no
Serial: Yes
GPIO Buttons: WPS, Restart and Reset buttons
Power: External 12V 1.5A

Case opening

The following video shows how to open the case without damaging it. Youtube video

PCB Photos

Serial

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)

Installation over serial

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 solder four wires to the PCB of the device (three of them are SMD solder points)!
  3. see the download table above for how to get serial access in 10 minutes WITHOUT soldering!

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. Remove the connection between boot_sel2 and GND
  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.

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)

Installing OpenWrt/LEDE (switching from original BT/Plusnet firmware to OpenWRT/LEDE)

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

It is also recommended to download and study the LEDE Installation Guide for BT Home Hub 5A.

  1. Use the earlier instructions to start U-boot with either: openwrt-lantiq-bthomehubv5a_ram-u-boot.asc or lede-lantiq-bthomehubv5a_ram-u-boot.asc file.
  2. Connect to the HomeHub over ethernet (any port works) at address 192.168.1.2. Ensure that the address 192.168.1.1 is free for the HomeHub to use.
  3. Serve lede-lantiq-xrx200-BTHOMEHUBV5A-installimage.bin over TFTP. For example, 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/
  4. Over the serial console, type
    tftpboot 0x81000000 lede-lantiq-xrx200-BTHOMEHUBV5A-installimage.bin; bootm 0x81000000


    Booting at this stage is very slow - this might take 10 to 15 minutes!

  5. Back up the original stock firmware using the instructions provided on screen. You will need a USB flash drive, formatted FAT32 or exFAT. Check the size of the saved file is approx 128 MiB.
  6. There are a few scripts that save you time so you don't have to type lots of commands manually.
    1. run ``prepare`` to prepare the LEDE installation
    2. Carefully read the instructions that the script provides
    3. Once the script is finished you have unlocked u-boot and changed the UBI volumes/partitions (LEDE is not installed yet)
    4. Installing OpenWRT/LEDE is usually easy: use wget to download LEDE 17.x lede-lantiq-xrx200-BTHOMEHUBV5A-squashfs-sysupgrade.bin, or OpenWRT 18.x openwrt-18.06.x-lantiq-xrx200-bt_homehub-v5a-squashfs-sysupgrade.bin (to /tmp).
    5. Then for LEDE 17.x, run:
      sysupgrade /tmp/lede-lantiq-xrx200-BTHOMEHUBV5A-squashfs-sysupgrade.bin

      or more easily download and copy the lede-lantiq-xrx200-BTHOMEHUBV5A-squashfs-sysupgrade.bin image to the USB stick you used to backup the firmware earlier. You can then run

      sysupgrade /tmp/mounts/USB-A1/lede-lantiq-xrx200-BTHOMEHUBV5A-squashfs-sysupgrade.bin
    6. After the installation has completed, the device will reboot automatically back to boot-over-UART (CFG 04) mode. Power cycle the hub to enable LEDE to boot.
    7. 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)
      saveenv
    8. Once the initial LEDE firmware has been installed, newer firmware can be installed using the LuCI web interface. Make a backup of your settings before updating.

OpenWRT 18.06.x, slow WAN to LAN throughput

If you have an internet connection which is significantly faster than 70 Mbps, you may observe the maximum internet to LAN throughput is lower than when using 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

The issue and some workarounds are described in this thread:

Ebilan forum link

ADSL/VDSL Configuration Examples

United Kingdom - Quick Setup with LuCI

For VDSL (FTTC):

  1. Go to LuCI → Network → Interfaces.
  2. Set 'DSL' parameters to 'Annex B(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:

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

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 except Sky/NOW broadband.

  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.

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 LEDE Installation Guide for BT Home Hub 5A for instructions.

1und1 (Germany) VDSL2 (Annex B) example

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'


rt.ru (Russia) ADSL2 (Annex A) example

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' ...


Switch

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.

Example board.json tweak

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.

Obsolete Instructions

Creating a backup of the original firmware

These instructions are obsolete. Instructions for backing up stock firmware are found in the section “Installing OpenWrt/LEDE (switching from original BT/Plusnet firmware to LEDE)

It is recommended to use a USB-stick for creating the backup.

  1. Start u-boot via UART (see above for the details)
  2. Load the installation image onto a tftp server at address 192.168.1.2, ensure that the address 192.168.1.1 is free for the HomeHub to use. Any Ethernet port on the HomeHub can be used to connect to the ttp server.
  3. Upload the “initial installation image” openwrt-lantiq-xrx200-BTHOMEHUBV5A-install-uImage-initramfs via tftp:
    tftpboot openwrt-lantiq-xrx200-BTHOMEHUBV5A-install-uImage-initramfs; bootm

    Booting at this stage is very slow - this might take 10 to 15 minutes!

  4. Now you can create a backup of the full flash:
    1. Method #1: backup to a USB flash drive (has to be FAT32 formatted and needs approx. 260M free space) - note that this takes quite some time (>1/2 hour)
      mount /dev/sda1 /mnt/
      nanddump -f /mnt/hh5a.nanddump /dev/mtd6
      dd if=/dev/mtd6 of=/mnt/hh5a.dd
    2. Method #2: backup to another computer on the network using netcat. This can take around 35 minutes(!); not sure whether it's the mtd read or the ethernet write that's so slow.
      1. On the host computer run:
        ncat -l 60000 > ~/hh5a.ncat-dump
      2. On the HH5A:
        nc 192.168.1.100 60000 < /dev/mtd6
  5. Create a backup of the calibration data (WARNING: You will need this data - otherwise lots of functionality in OpenWrt will be useless)
    1. First detach any existing UBIs (NOTE: there's no problem if this fails - it just means you haven't attached any UBI FS before)
      ubidetach -m 4
      ubidetach -m 5
    2. The create the actual backup (this must NOT show any errors!)
      ubiattach -m 5
      dd if=/dev/ubi0_3 of=/tmp/hh5a-caldata-backup
    3. Then copy /tmp/hh5a-caldata-backup to a USB-stick or send it via netcat to another PC (see full backup instructions)
  6. You can carry on directly to the next step (no need to UART/TFTP again) if you like.

Installing OpenWrt (switching from original firmware to OpenWrt)

These instructions are obsolete. Please refer the the next section “Installing OpenWrt/LEDE (switching from original BT/Plusnet firmware to LEDE)” for instructions for installing snapshots released since January 2018.

(this method is more risky than the LEDE method below, as it replaces the bootloader / u-boot and is prone to the NAND read errors)

  1. Start u-boot via UART (see above for the details)
  2. Upload the “initial installation image” openwrt-lantiq-xrx200-BTHOMEHUBV5A-install-uImage-initramfs via tftp:
    tftpboot openwrt-lantiq-xrx200-BTHOMEHUBV5A-install-uImage-initramfs; bootm


    Booting that this stage is very slow - this might take 10 to 15 minutes!

  3. Make sure you made a backup using above instructions!
  4. Make sure you have a caldata backup!
  5. The “initial installation image” contains a little script that automates the installation for you
    1. Run
      /hh5a-uboot-install.sh

      (the source of the script can be found here: https://gist.github.com/xdarklight/5dd3f38d5579c7b5d7cc

    2. Carefully read the instructions that the script provides
    3. Once the script is finished you have an unlocked u-boot installed (but no OpenWrt yet)
    4. Installing OpenWrt is usually easy: use wget to download openwrt-lantiq-xrx200-BTHOMEHUBV5A-ubifs-sysupgrade.tar (to /tmp), then run:
      sysupgrade /tmp/openwrt-lantiq-xrx200-BTHOMEHUBV5A-ubifs-sysupgrade.tar

      . If it isn't available from the repositories yet and you don't want to build it yourself, you might want to use a version that forum user connchri built. The Lede snapshot (.bin) file works quite well (nov 2016).

  6. After installation, the device will reboot automatically back to boot-over-UART (CFG 04) mode (regardless of whether you have boot_sel2 grounded, but now is a good time to check that you don't any more). Power it off and on again and you should see OpenWrt booting :-)
  7. If you want a web gui, from your nice new cmd prompt, make sure you have internet, and run 'opkg update' then 'opkg install luci'.

Tags

toh/bt/homehub_v5a.txt · Last modified: 2018/11/09 10:52 by bill888