[personal profile] mjg59
I have a WRT-54G. I've had it for some years. It's run a bunch of different firmware variants over that time, but they've all had something in common. There's no way to configure IPv6 without editing text files, installing packages and punching yourself in the face repeatedly. Adam blogged about doing so today, and I suspect he may be in need of some reconstructive surgery now.

I spent yesterday looking at disassembled ACPI tables and working out the sequence of commands the firmware was sending to the hard drive. I'm planning on spending tomorrow writing x86 assembler to parse EFI memory maps. I spend a lot of time caring about stupidly awkward implementation details worked out from staring at binary dumps. The last thing I want to do is have to spend more than three minutes working out how to get IPv6 working on my home network because that cuts into the time I can spend drinking to forget.

Thankfully this is the future and punching yourself in the face is now an optional extra rather than bundled. Recent versions of Tomato USB (ie, newer than actually released) have a nice web UI for this. I registered with Tunnelbroker.net, got a tunnel, copied the prefix and endpoint addresses into the UI, hit save and ever since then NetworkManager has given me a routable IPv6 address. It's like the future.

Because I'm lazy I ended up getting an unofficial build from here. The std built doesn't seem to include IPv6, so I grabbed the miniipv6 one. The cheat-sheet for identifying builds is here. And I didn't edit a single text file. Excellent.

Here be gremlins

Date: 2011-06-09 07:33 am (UTC)
From: (Anonymous)
I'll take this opportunity to bitch and moan a bit. Beware that NetworkManager+IPv6+Wifi can result in quite some loss of hair as the result of frustrated pulling.

The issue is that if you manage to lose one or two of the router advertisement packets (which isn't completely unlikely on wifi), NM will consider the interface broken and restart the entire shebang. This means that all your NM enabled applications will disconnect and reconnect on you, preferably in the middle of that oh so important session.

Gnome bug 643456 for those who want in on the fun...

Fritzbox with Freetz: IPv6 via the GUI

Date: 2011-06-09 08:44 am (UTC)
From: (Anonymous)
My Fritzbox modem is running Freetz firmware, and with that firmware you can configure your IPv6 tunnel via the GUI. So no text file editing.

Oh, to be honest: to create a freetz image itself, you have to type some commands on your Ubuntu like "make menuconfig"

Date: 2011-06-09 11:02 am (UTC)
cjwatson: (Default)
From: [personal profile] cjwatson
My Netgear router is sufficiently elderly that, although it does at least run Linux and has some pretence at available source code for its firmware and such, OpenWRT doesn't really support it (I think it works but without wifi, or something amazingly useful like that) and building modified versions of the manufacturer's firmware is rather more work than I'm prepared to go to. I already have a separate server that all my devices are configured to treat as the gateway anyway (since otherwise using a VPN was excessively painful), so I made that be the HE endpoint.

tunnelbroker.net is indeed very nice.

I think I'm going to switch to A&A soon, though, as they've actually got to the point of having a real native IPv6 consumer router now ...

Date: 2011-06-12 12:53 pm (UTC)
cjwatson: (Default)
From: [personal profile] cjwatson
Yeah, it's a Netgear DG834G v2, which Wikipedia says has a TI chipset. It's well overdue for replacement anyway; its non-configurable habit of doing layer-2 bridging between Ethernet and wireless is a right pain, particularly (though not exclusively) with IPv6 where it means that RAs show up on both subnets and there's not much you can do about it.

Date: 2011-06-09 03:02 pm (UTC)
From: (Anonymous)
Do you actually use IPv6, or why did you bother with this at all? Is there any advantage to enabling IPv6 on your home router?

Date: 2011-06-09 03:30 pm (UTC)
From: (Anonymous)
I would imagine that going the tunnel broker route funnels all of your traffic (although maybe it only handles the ipv6 packets?) through the brokers servers. Since they are not native routers on your ISPs network, do you see a noticeable increase in latency and decrease in bandwidth? I haven't seen any speed tests before and after the switch over and I would be curious.

Date: 2011-06-12 01:11 pm (UTC)
cjwatson: (Default)
From: [personal profile] cjwatson
For me, there's very little to choose in terms of latency and bandwidth between non-tunnelled IPv4 and tunnelled IPv6. (And, yes, only IPv6 packets go through the tunnel broker's servers; a router on my side routes ::/0 through the tunnel interface assuming that no more specific route matches, so IPv4 isn't affected.)

My ISP peers directly with Hurricane Electric, which is a major backbone ISP; so it's really very little different from my packets happening to go out from my ISP via Level 3 or BT or whoever. In fact, the vagaries of Internet routing mean that I often get slightly better latency from IPv6: for example, although the hop to my tunnel is about 10ms slower than the hops to my ISP's external border, my route to www.debian.org is about 10ms quicker over IPv6.

source verification

Date: 2011-06-09 03:24 pm (UTC)
From: (Anonymous)
How do the unofficial builds that you link to differ from the official miniipv6 weekly development builds linked on the Tomato USB website at the bottom of the Download page?
http://manveru.pl/tomato/index.html

I feel a bit nervous downloading the one you used because I don't know enough about the heritage of the firmware that you linked to. Could you include the source page that pointed to some random guys equivalent to a Dropbox account?

Re: source verification

Date: 2011-06-09 07:39 pm (UTC)
From: (Anonymous)
LOL ... yes ... I suppose that is a significant difference :]

In looking into the same thing recently, I have found finding the right firmware to be a bit of a mess. Thanks for providing some suggestions.

Date: 2011-06-09 09:34 pm (UTC)
From: (Anonymous)
Why do you need to disassemble ACPI tables to figure out what hard drive commands they run, rather than just logging what commands they attempt to run when you interpret them? Linux already has code to do the latter...

Date: 2011-06-11 03:14 am (UTC)
From: (Anonymous)
>The last thing I want to do is have to spend more than three minutes working out how to get IPv6 working on my home network because that cuts into the time I can spend drinking to forget.

Golden.

I will have to check out Tomato USB and the unofficial build. But probably I'll spend my time drinking until someone wraps up with a bow.

Date: 2011-06-13 02:26 pm (UTC)
From: (Anonymous)
Be great if you could do a post on how you "disassembled ACPI tables and working out the sequence of commands the firmware was sending to the hard drive." AND "writing x86 assembler to parse EFI memory maps."

Profile

Matthew Garrett

About Matthew

Power management, mobile and firmware developer on Linux. Security developer at nvidia. Ex-biologist. Content here should not be interpreted as the opinion of my employer. Also on Mastodon and Bluesky.

Page Summary

Expand Cut Tags

No cut tags