What's new

Solved Telus PureFibre IPV6

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

ChronoReverse

New Around Here
I've been trying to get IPV6 to work consistently with Telus PureFibre (my ISP in Canada) with Optik TV and have gotten from it not working at all to it working for about 90 minutes at a time.
[edit]I'm using an RT-AC3100 on Merlin 386.2_6[/edit]


First some background. This configuration apparently should work and even displays the WAN IPv6 Address but not the WAN IPv6 Gateway:
Connection type: Native
DHCP-PD: Enabled
Release prefix on exit: Disabled
Auto Configuration Setting: Stateless
Connect to DNS Server automatically: Enabled
Enable Router Advertisement: Enabled


From reading online, the problem is that Telus (and apparently some other ISPs like Comcast) does something somewhat unusual (probably vendor disagreement on what the standards say to do) in that you must only send an IA_PD or else it won't work. On AsusWRT, odhcp6c is configured to send IA_NA and IA_PD which leaves you using the incorrect prefix (it should be incremented by 1) so your IPV6 won't work at all ("Network is unreachable").

I've gotten around this by killing odhcp6c and running it again with the appropriate flag. That is, instead of:
odhcp6c -df -R -s /tmp/dhcp6c -N try -c <STRING> -FP 0:<STRING> -r23 -r24 -k eth0
I'm using this (try >> none):
odhcp6c -df -R -s /tmp/dhcp6c -N none -c <STRING> -FP 0:<STRING> -r23 -r24 -k eth0

This immediately works and IPV6 is fully functional. So far so good (if this is the wrong way, please let me know which conf I should be editing instead).


But now I've found that about 90 minutes from IPV6 starts working, it'll stop working again in the same way ("Network is unreachable") even if I'm pinging an IPV6 address every minute. From more reading online, this is yet another strange ISP behavior from Telus where their edge router is only sending RAs as a response to a Router Solicit instead of at regular intervals.

I can do a cron job to simply restart odhcp6c every 88 minutes but this is an unsatisfactory solution since it interrupts IPV6 connectivity for several seconds.


My Question is this: is there a way to just send a router solicitation on demand without restarting odhcp6c? It really seems like if I could have a cron job doing this every 60 minutes then it should also keep my IPV6 connection alive continuously.

Any advice would be greatly appreciated.
 
Last edited:
No issues with that ISP, that router, and that firmware on IPv6.

What did you upgrade your RT-AC3100 from when you flashed 386.2_6 on it? When was the last time you did a full reset on the router and/or the network?

Have you unplugged the modem/ONT for at least 20 minutes (an hour or more is better, if possible), including the router and all client devices you're using to test with?

Instead of trying to fix the symptoms, I would prefer if you 'cure' the router instead.
 
I've done the full power cycle of the Nokia ONT before starting to work on the router but only for 5 minutes. What makes you think unplugging it for a full hour would make a difference here? I've never heard of such an inconveniently long power cycle.

The AC3100 was on the latest stock firmware before I moved it to Merlin. I did a full factory reset and configured everything from scratch without restoring anything.


The specific problems with Telus and IPV6 vary by locale since Telus doesn't use the same edge routers everywhere. Unless you happen to live in my same neighborhood, there's no expectation that you'd encounter the same problem. I'm assuming you went to https://test-ipv6.com/ and got 10/10?
 
Last edited:
I don’t believe you’ll find much relief or customization since Merlin has no IPv6 service and wouldn’t be able to test any IPv6 enhancements.

I do think John’s fork lets you customize IA_NA and IA_PD, but that’s no use for your AC3100. It doesn’t use odhcp6c.
 
The AC3100 is using odhcp6c. It looks like I may be able to manually send router solicitations using rdisc6. I'll have to figure out how to install that.

[edit]Okay that was simple. Just had to stick in an EXT3 thumbdrive, install entware and then use that to install rdisc6. Now to wait 90 minutes to see if the theory is correct. It's notable that the rdisc6 output includes this line which is coincidentally (?) 90 minutes:
Code:
Router lifetime           :         5400 (0x00001518) seconds
[/edit]

[edit2]If John's fork can customize IA_NA/IA_PD, that solves the first problem but does it have the ability to send router solicitations on a timer to solve the second issue? It's the second issue that's proving more difficult to figure out[/edit2]

[edit3]John's fork is the LTS one right? Doesn't look like the AC3100 is supported anyway D= [/edit3]
 
Last edited:
It's been over two hours since I set up rdisc6 and my IPV6 is still working whereas in the past it would cut out at 90 minutes nearly on the dot. I think this is what I'll have to go with unless someone knows where the odhcp6c conf files are (or the script that starts it up).

In summary, on Telus PureFibre (or another ISP with similar behavior like Comcast or Starlink), using an Asus router:

If you are afflicted by non-working IPV6, this is what worked for me to fix it:
1) The minimal settings for IPV6 are:
Native, DHCP-PD, Router Advertisement​
2) The odhcp6c daemon needs to be restarted with modified settings
a) ssh into the router and run "ps" to get the existing odhcp6c command (e.g., "odhcp6c -df -R -s /tmp/dhcp6c -N try -c <STRING> -FP 0:<STRING> -r23 -r24 -k eth0")​
b) Copy that command line since it includes data that's specific to your device (keep it private)​
c) Edit that command line, replacing "try" with "none"​
d) Run "killall odhcp6c"​
e) After 5 seconds, execute the edited command line (e.g., "odhcp6c -df -R -s /tmp/dhcp6c -N none -c <STRING> -FP 0:<STRING> -r23 -r24 -k eth0")​
3) If it goes well, you'll see the "WAN IPv6 Gateway" under "System Log>>IPV6" populate with the local IPV6 address

At this point, IPV6 should be working. The change makes odhcp6c send only IA_PD and not IA_NA. These commands could be put into a script to run at startup.


If you're additionally afflicted by the IPV6 connection subsequently dropping over time issue (for me it was 90 minutes) then this is what worked for me to fix it:
1) Plug in an USB thumbdrive and format it to ext3
2) Install entware
3) Install rdisc6 by running "opkg install rdisc6"
4) Set up a cron job to execute every 15 minutes "rdisc6 -1 eth0"

This sends a router solicitation every 15 minutes (could probably set a longer period) to which the ISP should send back an RA which keeps the IPV6 connection alive.


This is just what worked for me and I'm only putting it out here so that others might be able to draw ideas while troubleshooting. I don't claim to be correct or even really understand what's actually happening. I just googled around.
 
Last edited:
I live in North Vancouver, and I am using Telus. I got exactly same issue with you.

using "odhcp6c -df -R -s /tmp/dhcp6c -N none -c xxxxxxxxxxxxxx -P xxxxx -r23 -r24 eth4" can fix my issue temporally.

I still losing ipv6 gateway every 90 mins, then ipv6 gone.
 

Similar threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top