I got a bit further now... I can get thread working in a reproducible (yet annoying) but not reliable way. I would like to ask for some help, as I don't know how to tackle this.
my normal IPv6 operation
If I use my normal IPv6-enabled configuration on my main router (native IPv6) and I reboot the S200 and continuously ping a thread device during the reboot, I get a few successful pings just when the S200 reboot has completed. This successful state lasts for a few seconds only though, and then it does not work anymore.
In this state, I ssh-ed into the S200 and looked at the output of a few commands to check.
root@GL-S200:~# ip route
default via 10.0.0.1 dev eth0 proto static src 10.0.0.79 metric 10
10.0.0.0/24 dev eth0 proto static scope link metric 10
192.168.8.0/24 dev br-lan proto kernel scope link src 192.168.8.1
192.168.9.0/24 dev br-guest proto kernel scope link src 192.168.9.1 linkdown
192.168.255.0/24 dev wpan0 metric 100
root@GL-S200:~# ip -6 route
2001:9e8:d7fd:9200::/64 dev eth0 proto static metric 256 pref medium
unreachable 2001:9e8:d7fd:9200::/64 dev lo proto static metric 2147483647 pref medium
fd47:b9f5:218c:b1ae::/64 dev eth0 proto static metric 256 pref medium
unreachable fd47:b9f5:218c:b1ae::/64 dev lo proto static metric 2147483647 pref medium
fd52:206a:9b8b:10::/64 dev br-lan proto static metric 1024 pref medium
unreachable fd52:206a:9b8b::/48 dev lo proto static metric 2147483647 pref medium
fdb6:8ad6:7399:26d7::/64 dev wpan0 proto kernel metric 256 pref medium
fdc1:8e0a:d4f4:1::/64 dev wpan0 proto kernel metric 256 pref medium
fe80::/64 dev br-lan proto kernel metric 256 pref medium
fe80::/64 dev wpan0 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via fe80::ca7f:54ff:fe20:8f18 dev eth0 proto static metric 512 pref medium
default via fe80::ca7f:54ff:fe20:8f18 dev eth0 proto ra metric 1024 expires 595sec mtu 1484 hoplimit 64 pref medium
root@GL-S200:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP group default qlen 1000
link/ether 94:83:c4:2f:8a:ff brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 94:83:c4:2f:8a:fe brd ff:ff:ff:ff:ff:ff
inet 10.0.0.79/24 brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fd47:b9f5:218c:b1ae:9683:c4ff:fe2f:8afe/64 scope global deprecated dynamic noprefixroute
valid_lft 1644sec preferred_lft 0sec
inet6 2001:9e8:d7fd:9200:9683:c4ff:fe2f:8afe/64 scope global dynamic noprefixroute
valid_lft 593sec preferred_lft 593sec
inet6 fe80::9683:c4ff:fe2f:8afe/64 scope link
valid_lft forever preferred_lft forever
5: br-guest: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 42:f0:58:3c:e5:25 brd ff:ff:ff:ff:ff:ff
inet 192.168.9.1/24 brd 192.168.9.255 scope global br-guest
valid_lft forever preferred_lft forever
6: wpan0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 500
link/none
inet6 fdb6:8ad6:7399:26d7:0:ff:fe00:fc11/64 scope global nodad deprecated
valid_lft forever preferred_lft 0sec
inet6 fdc1:8e0a:d4f4:1:f549:983f:9bfd:17c1/64 scope global nodad
valid_lft forever preferred_lft forever
inet6 fdb6:8ad6:7399:26d7:0:ff:fe00:fc38/64 scope global nodad deprecated
valid_lft forever preferred_lft 0sec
inet6 fdb6:8ad6:7399:26d7:0:ff:fe00:fc10/64 scope global nodad deprecated
valid_lft forever preferred_lft 0sec
inet6 fdb6:8ad6:7399:26d7:0:ff:fe00:5c00/64 scope global nodad deprecated
valid_lft forever preferred_lft 0sec
inet6 fdb6:8ad6:7399:26d7:e723:6e43:d596:6906/64 scope global nodad deprecated
valid_lft forever preferred_lft 0sec
inet6 fe80::64ed:d924:d0ec:f112/64 scope link nodad
valid_lft forever preferred_lft forever
7: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 94:83:c4:2f:8a:ff brd ff:ff:ff:ff:ff:ff
inet 192.168.8.1/24 brd 192.168.8.255 scope global br-lan
valid_lft forever preferred_lft forever
inet6 fd52:206a:9b8b:10::1/60 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::9683:c4ff:fe2f:8aff/64 scope link
valid_lft forever preferred_lft forever
thread (kind of) working
The way I got thread working for longer periods is like this: I leave the S200 running after the reboot I described in the section above (so, no rebooting), and set my main router's IPv6 settings from stateless to stateful (nothing else). After that it typically takes about 30 seconds and thread works fine, and also for a longer period (several hours). However, if I reboot the S200 with the stateful IPv6 setting on the main router, things do not work anymore though.
In this state, the same commands as above with ssh into the S200 give me this:
root@GL-S200:~# ip route
default via 10.0.0.1 dev eth0 proto static src 10.0.0.79 metric 10
10.0.0.0/24 dev eth0 proto static scope link metric 10
192.168.8.0/24 dev br-lan proto kernel scope link src 192.168.8.1
192.168.9.0/24 dev br-guest proto kernel scope link src 192.168.9.1 linkdown
192.168.255.0/24 dev wpan0 metric 100
root@GL-S200:~# ip -6 route
2001:9e8:d7fd:9200::/64 dev eth0 proto static metric 256 pref medium
unreachable 2001:9e8:d7fd:9200::/64 dev lo proto static metric 2147483647 pref medium
2001:9e8:d7fd:9900::/64 dev eth0 proto static metric 256 pref medium
fd47:b9f5:218c:b1ae::/64 dev eth0 proto static metric 256 pref medium
unreachable fd47:b9f5:218c:b1ae::/64 dev lo proto static metric 2147483647 pref medium
fd52:206a:9b8b:10::/64 dev br-lan proto static metric 1024 pref medium
unreachable fd52:206a:9b8b::/48 dev lo proto static metric 2147483647 pref medium
fdb6:8ad6:7399:26d7::/64 dev wpan0 proto kernel metric 256 pref medium
fdc1:8e0a:d4f4:1::/64 dev wpan0 proto kernel metric 256 pref medium
fe80::/64 dev br-lan proto kernel metric 256 pref medium
fe80::/64 dev wpan0 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via fe80::ca7f:54ff:fe20:8f18 dev eth0 proto ra metric 1024 expires 592sec hoplimit 64 pref medium
root@GL-S200:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP group default qlen 1000
link/ether 94:83:c4:2f:8a:ff brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 94:83:c4:2f:8a:fe brd ff:ff:ff:ff:ff:ff
inet 10.0.0.79/24 brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fd47:b9f5:218c:b1ae:9683:c4ff:fe2f:8afe/64 scope global deprecated dynamic noprefixroute
valid_lft 1522sec preferred_lft 0sec
inet6 2001:9e8:d7fd:9200:9683:c4ff:fe2f:8afe/64 scope global dynamic noprefixroute
valid_lft 516sec preferred_lft 516sec
inet6 fe80::9683:c4ff:fe2f:8afe/64 scope link
valid_lft forever preferred_lft forever
5: br-guest: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 42:f0:58:3c:e5:25 brd ff:ff:ff:ff:ff:ff
inet 192.168.9.1/24 brd 192.168.9.255 scope global br-guest
valid_lft forever preferred_lft forever
6: wpan0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 500
link/none
inet6 fdb6:8ad6:7399:26d7:0:ff:fe00:fc11/64 scope global nodad deprecated
valid_lft forever preferred_lft 0sec
inet6 fdc1:8e0a:d4f4:1:f549:983f:9bfd:17c1/64 scope global nodad
valid_lft forever preferred_lft forever
inet6 fdb6:8ad6:7399:26d7:0:ff:fe00:fc38/64 scope global nodad deprecated
valid_lft forever preferred_lft 0sec
inet6 fdb6:8ad6:7399:26d7:0:ff:fe00:fc10/64 scope global nodad deprecated
valid_lft forever preferred_lft 0sec
inet6 fdb6:8ad6:7399:26d7:0:ff:fe00:5c00/64 scope global nodad deprecated
valid_lft forever preferred_lft 0sec
inet6 fdb6:8ad6:7399:26d7:e723:6e43:d596:6906/64 scope global nodad deprecated
valid_lft forever preferred_lft 0sec
inet6 fe80::64ed:d924:d0ec:f112/64 scope link nodad
valid_lft forever preferred_lft forever
7: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 94:83:c4:2f:8a:ff brd ff:ff:ff:ff:ff:ff
inet 192.168.8.1/24 brd 192.168.8.255 scope global br-lan
valid_lft forever preferred_lft forever
inet6 fd52:206a:9b8b:10::1/60 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::9683:c4ff:fe2f:8aff/64 scope link
valid_lft forever preferred_lft forever
Could it be that the MTU setting is causing this? If so, how should I set MTU for this to work? As I am using a DSL connection, I cannot put this to 1500.