This is a short and very specific post which I’m primarily making in the hopes that it shows up in search results for the next person who encounters this problem.
I have a Zyxel VMG1312-B10D consumer router which handles our broadband connection. It worked fine for IPv4, but the IPv6 connectivity was broken – it would receive most of the information from my ISP (DNS resolvers, IP address etc.) but failed to hand out the necessary data to devices on the network.
After faffing around with settings and getting no response from my ISP, I decided to check the manufacturer’s website on the off-chance that they were aware of this issue. On the Zyxel download library, the changelog for the latest firmware included a number of IPv6 fixes. I upgraded my router, and lo and behold IPv6 networking “just worked”.
So if you’re having problems with this particular router (it’s provided by a number of ISPs in the UK), try applying the 5.11(AAXA.3)C0 firmware update. Make sure you backup your router settings first though, as firmware updates do occasionally fail.