There isn't enough flash space, so connect USB pen drive.
Enable USB support:
"Services", "USB", enable "Core USB support and "USB Storage Support", "Automatic Drive Mount" to /jffs.
(May require JFFS2 support enabled first, in "Administration", "Management")
Hit "Apply". If router didn't crash, hit save.
remove "--passive-port" from ipkg (copy ipkg to /jffs, edit with sed or whatever)
./ipkg -d / -o /jffs update
./ipkg -d / -o /jffs install ntpclient # ignore warning about sort not found.
./ipkg -d / -o /jffs install aiccu
Enable IPV6. "Administration" -> "Management" (blergh, terrible navigation)
Radvd enabled: Enabled (lol, terrible option name)
Apply, Save, then Apply again, then maybe wait and Apply again, and even reboot. The goal is to run "aiccu" without it complaining "No IPv6 Stack found! Please check your kernel and module configuration".
No insmod or command-line commands are required to enable IPv6. The web GUI method should work, just wait enough or hit "apply" enough times.
cat <<EOF> /jffs/etc/aiccu.conf
If it doesn't work, add "daemonize false" to /jffs/etc/aiccu.conf to see whats up.
# aiccu start etc/aiccu.conf
The clock is off by 3600 seconds, use NTP to sync it!
Couldn't retrieve first tunnel for the above reason, aborting
starts fine now.
sed -e 's/daemonize false/daemonize true/g' -i etc/
# ping6 ipv6.google.com
PING ipv6.google.com (2a00:1450:4001:c01::6a): 56 data bytes
64 bytes from 2a00:1450:4001:c01::6a: seq=0 ttl=55 time=19.673 ms
64 bytes from 2a00:1450:4001:c01::6a: seq=1 ttl=55 time=21.078 ms
64 bytes from 2a00:1450:4001:c01::6a: seq=2 ttl=55 time=20.836 ms
Per the dd-wrt page below, config the startup script for the tunnel. Just change the config path for the "aiccu stop" command. Also, the name of the file in my case should end with ".wanup" since ".ipup" is for PPP interfaces.
cat <EOF> /jffs/etc/config/sixxs.wanup
chmod a+x /jffs/etc/aiccu.conf
Reboot to ensure this will work next-time without intervention.
ip -6 addr add 2001:1620:fb7::1/64 dev br0
ip -6 addr route 2001:1620:fb7/64 dev br0
Set in the dd-wrt interface, radvd config:
Use rdisc6 in debian to see if the RA stuff is working.
In my case, I fixed it by doing sysctl -w net.ipv6.conf.wlan0.accept_ra=1.
Optional: DNS via RDNSS