OpenWrt TP-Link MR3020 IPv6 Using TSP Tunneling

Currently as the time of this post is written October 13, 2014 most of the Malaysia’s ISP have not yet supported IPv6 natively. They also disable ping and the using NAT. One of the left choice of option for me to get IPv6 on my router is through Tunnel Setup Protocol (TSP). There are few broker that offer this type of tunneling, one of them is gogo6/ Freenet (


Before proceeding to the installation and configuration I assume you have already install OpenWrt and know how to use SSH.

From your SSH client issue the following commands to install required packages.

You may omit the radvdump and luci-app-radvd if you want to, as I’m using extroot so disk space doesn’t matter right now to me (refer this post to setup extroot) 🙂 .

After the installation completed, reboot the router.

Open the /etc/config/gw6c using your favourite editor, mine is vim.

Change the one that I bold

config gw6c basic
#Comment out next line to enable gw6c
#option disabled 1

#Leave empty if connecting anonymously
option userid myuserid
option passwd mypassword

#For anonymous use and
#account holders should use
option server

#auth_method <anonymous|any|passds-3des-1|digest-md5|plain>
#Use anonymous with anonymous access and
#any if you are account holder
option auth_method any

config gw6c routing
#host_type <host|router>
option host_type router
option prefixlen 64
option ifprefix br-lan

#DNS server list to which the reverse prefix
#will be delegated. Separate servers with :
#option dns_server
option dns_server

config gw6c advanced
#Location where to store configuration file
option gw6c_conf /tmp/gw6c.conf
option gw6c_dir /usr/share/gw6c
option auto_retry yes
option retry_delay 30
option keepalive yes
#keepalive interval
option interval 30
#tunnel_mode <v6v4|v6udpv4|v6anyv4|v4v6>
option if_tunnel_mode v6anyv4
option if_v6v4 sit1
option if_v6udpv4 tun
option if_v4v6 sit0
option client_v4 auto
option client_v6 auto
option template openwrt
option proxy_client no

config gw6c broker
option broker_list /tmp/gw6c-broker-list.txt
option last_server /tmp/gw6c-last-server.txt
# Always use last known working server? <yes|no>
option always_same_serv no

config gw6c logging
option log_console 0
option log_stderr 1
option log_file 1
option log_syslog 0

option log_filename /var/log/gw6c.log
option log_rotation yes
#Max size when using log file rotation
#possible values: 16|32|128|1024
option log_maxsize 32

option syslog_facility USER


Registered user for the Freenet can get fix ipv6 address but require you to make donation as low as $5.

Start the tunneling and make it auto start after boot up.

If you see the log similar to following mean the tunneling is success and the router have global IPv6 address.

You may use ping6 -c 3 to test IPv6 connectivity.