I’ve had a problem with my home router for a long time - the LAN side of the set up has been falling over with frustrating regularity. For me, it means my Audio Streaming setup stops playing Spotify. For my housemates, it means lost time on Overwatch!

It’s happening just enough now to be a frustrating lost 5 minutes a few times a day, so it’s time to fix.

My home network has always been a pretty simple affair (apart from when I’m borrowing BTOpenzone) - just the ISP provided modem/router. I am, of course, an engineer in the Telecoms Industry. I can do better!

Typical Connection Diagram:

Network Diagram

Interestingly, when my fault occurs, the WAN side of the network stays stable - the connection logs show no lost time or reset. It’s only a LAN issue. I don’t trust the router to keep a stable LAN connection any more, so I need to have new hardware for both tasks. I can’t just put it into bridge mode and use it as a modem only.

I like having control, and I like openwrt, so I’d like my main network router to be running openwrt, under my control. I can fine tune stuff, add a VPN to avoid the Pry Minister, alongside IPv6 Tunnels and the like as my ISP don’t yet supply IPv6.

Most openwrt routers that are cheap don’t come with inbuilt VDSL modems, so I’ll need to get a separate one. Conveniently, the Huawei HG612 3B has been thoroughly hacked and is proven to run well on UK VDSL connections, and has been supplied by Openreach in the past. It was recommended by a friend who’s done the same thing, so I figured what’s the worst that can happen?

I have an old TP-Link TL-WR841N/ND that yakamo gave to me many moons ago, running openwrt. That will serve as the router. Hooray…

Now the network looks like:

Network Diagram

So far, it has been much more stable - no random LAN fallovers.

The HG612 gives me proper linestats about my VDSL connection - SNR Margin, powers at both ends, what VDSL profile I’m on. I’ve had to learn about DLM and more. As time goes on, I’m going to move the modem around the house and try to improve my speed.

Current figures are:

# xdslcmd info --pbParams
xdslcmd: ADSL driver and PHY status
Status: Showtime
Retrain Reason: 0
Last initialization procedure status:   0
Max:    Upstream rate = 11817 Kbps, Downstream rate = 37372 Kbps
Bearer: 0, Upstream rate = 2000 Kbps, Downstream rate = 22399 Kbps

Discovery Phase (Initial) Band Plan
US: (6,31) (882,1193) (1984,2770)
DS: (33,857) (1218,1959) (2795,4083)
Medley Phase (Final) Band Plan
US: (6,31) (882,1193) (1984,2770)
DS: (41,857) (1218,1959) (2795,3432)
VDSL Port Details                   Upstream                Downstream
Attainable Net Data Rate:           11817 kbps              37372 kbps
Actual Aggregate Tx Power:             5.4 dBm                5.5 dBm
VDSL Band Status                U0      U1      U2       U3      U4     D1      D2      D3
Line Attenuation(dB):           1.8     30.9    48.5     N/A     N/A    15.8    40.3    65.3
Signal Attenuation(dB):         1.8     30.7    48.3     N/A     N/A    17.3    39.9    65.7
SNR Margin(dB):                 27.0    16.4    11.7     N/A     N/A    11.3    11.3    0.0
TX Power(dBm):                 -4.8    -11.0    4.9      N/A     N/A    8.7     7.3    -19.7

(This has been adjusted so it makes sense, it prints on the terminal a little messy)

As you can see, I’m getting a sync rate of ~37Mbit but I’m being limited to ~23Mbit due to line performance. The line numbers don’t look too bad.

As DLM samples every 15 minutes and then reprofiles at midnight, I’ll give this a week or so to improve before resiting the router in a location closer to the master socket. Unfortunately there’s no 240V outlets in the cupboard the master socket is in or I’d have it in there already!

I’ll get a monitoring tool and set up graphing, I’d be interested to see how the numbers change over time and more. This is something people have done already, how hard can it be.

Now my TODO list includes:

  • 6in4 tunnel (half done, routing’s fucked)
  • VPN (I should do this soon)
  • QOS (to annoy flatmates)
  • Optimise VDSL Linespeed (to get what I pay for)

Network diagrams generated using yuml.me