TPLink MR600 advertsing expired prefix & device is not accesable by ipv6 address over the internet

This thread has been locked for further replies. You can start a new thread to share your ideas or ask questions.

TPLink MR600 advertsing expired prefix & device is not accesable by ipv6 address over the internet

This thread has been locked for further replies. You can start a new thread to share your ideas or ask questions.
TPLink MR600 advertsing expired prefix & device is not accesable by ipv6 address over the internet
TPLink MR600 advertsing expired prefix & device is not accesable by ipv6 address over the internet
2025-02-26 14:15:43 - last edited a week ago
Model: Archer MR600  
Hardware Version: V2
Firmware Version: 1.7.0 0.9.1 v0001.0 Build 230801 Rel.61616n_Beta

MR600 sending 2 RA i think one is expired, so to renew ipv6 i has to reboot the device, but i am running a Raspberry Pi web server for hobby projects which has to run 24*7 without reboot
FYI: I have this beta firmware which provides XLAT for JIO ISP(India) & there is no official release yet.

I don't have much experience in networking, so please let me know if its any configuration issue on my side, below is my observation

This was the ipv6 provided by Jio ISP (2409:40f2:300f:c0ec:1e61:b4ff:fec7:d6a)


Currently, the device is connected over wifi & has the correct ipv6 since I rebooted, but sometimes it will have the expired ipv6
but it has one expired route i.e.,  2402:8100:281a:48f0::/64

 

You can see here i got 2 RA,  2402:8100:281a:48f0::/64 & 2409:40f2:300f:c0ec::/64,
i think only 2409:40f2:300f:c0ec::/64 is valid right?
I tested RA on Raspberry Pi 3B+(6.6.51+rpt-rpi-v8), ubuntu 22.04 LTS (5.19.5-051905-generic), & windows 11 and all receiving 2 RA in which one might be invalid
& for Invalid RA the source MAC is also different & not matching with MR600 LAN MAC Address



(ref: https://community.tp-link.com/en/home/forum/topic/673214)

please fix the issue or let me know what could be wrong if its on my side, 
Thanks


my usecase was to use public ipv6 to access home server,
i ended up by writing a shellscript to filter the correct global ipv6 and here is the script,

 cat fix_ipv6.sh
#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

# location: ~/fix_ipv6.sh

# Works when only device its directly connected to modem
interface_id="enp0s31f6"
# router_mac=$(arp -a | grep "(192.168.3.1)" | cut -d ' ' -f4) # extracting MAC from gateway address
router_mac="1c:61:b4:c7:0d:69"
echo "router mac=$router_mac"

ra=$(sudo tcpdump -c1 -nvqt -i $interface_id icmp6 and ip6[40] == 134 and ether host $router_mac 2>/dev/null) # extracting correct Router Adverisement against MAC
echo -e $ra
regex_match_prefix="prefix info[a-zA-Z0-9 \(\)\,]+:\s(([0-9A-Za-z]{1,4}\:){4}\:\/64)"
if [[ $ra =~ $regex_match_prefix ]]
then
    prefix="${BASH_REMATCH[1]}"
    echo "correct prefix=$prefix"
    existing_routes=$(ip -6 r)
    _prefix=$(echo $prefix | sed 's/::\/64//g')
    if ip -6 a | grep -q "$_prefix";
    then
        echo "Already have valid ipv6"
        had_invalid="no"
        while read -r line ; do
            old_routes=$(echo $line | grep -oP "(([0-9A-Za-z]{1,4}\:){4}\:\/64)")
            if [[ -n "$old_routes" ]] && ! grep -q "$_prefix" <<< "$old_routes";
            then
                echo "deleting invalid routes - $old_routes"
                sudo ip -6 route flush $old_routes
                had_invalid="yes"
            fi
        done <<< "$existing_routes"
        sudo ip -6 route add $prefix dev $interface_id metric 10 proto ra # making new prefix with high priority
        if [[ $had_invalid == "yes" ]]
        then
            echo "Restarting network manager since had invalid routes"
            sudo systemctl restart NetworkManager
            exit 0
        fi
        exit 0
    fi
    while read -r line ; do
        old_routes=$(echo $line | grep -oP "(([0-9A-Za-z]{1,4}\:){4}\:\/64)")
        if [[ -n "$old_routes" ]]
        then
            echo "deleting old routes - $old_routes"
            sudo ip -6 route flush $old_routes
        fi
    done <<< "$existing_routes"
    echo "adding correct prefix=$prefix" >> /home/brguru90/ipv6_fixed.txt
    sudo systemctl restart NetworkManager
    sleep 10
    sudo ip -6 route add $prefix dev $interface_id metric 10 proto ra # making new prefix with high priority
    sudo ip -6 addr flush dev $interface_id
    bash /home/brguru90/update_ddns.sh
else
    echo "prefix not found" >&2
    exit 1



And recently, i installed OpenWRT and its working fine but i lost the ability of onemesh, now instead of onemesh mode i am using regular wifi extender feature in RE505X device.

  0      
  0      
#1
Options
1 Accepted Solution
Re:TPLink MR600 advertsing expired prefix & device is not accesable by ipv6 address over the internet-Solution
2025-03-26 02:37:53 - last edited 2025-04-09 08:55:51

  @brguru90 

 

Hi, to assist you efficiently, I've forwarded your case to the TP-Link support engineers who will contact you with your registered email address later.

Please pay attention to your email box for follow-up.

Thank you and best regards.

 

 

 

 

Recommended Solution
  0  
  0  
#2
Options
1 Reply
Re:TPLink MR600 advertsing expired prefix & device is not accesable by ipv6 address over the internet-Solution
2025-03-26 02:37:53 - last edited 2025-04-09 08:55:51

  @brguru90 

 

Hi, to assist you efficiently, I've forwarded your case to the TP-Link support engineers who will contact you with your registered email address later.

Please pay attention to your email box for follow-up.

Thank you and best regards.

 

 

 

 

Recommended Solution
  0  
  0  
#2
Options