derekperrin / rt-n56u

Automatically exported from code.google.com/p/rt-n56u
0 stars 0 forks source link

IPv6 over 2.4Ghz WiFi does not work on certain devices (Apple iPhone/iPod, Lenovo) #551

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. configure Sixxs.net tunnel on RT-N56U
2. connect a device over 2.4Ghz WiFi
3. go to ipv6.google.com

What is the expected output? What do you see instead?
Device should obtain ipv6 address from radvd daemon and open google test page

What version of the product are you using? On what operating system?

Tested on:

Lenovo T61 Ubuntu 12.04 (Intel card,2.4Ghz) - does not work 
Lenovo T61 Ubuntu 12.04 (Intel card, 5Ghz) - works OK
Acer Aspire 6530G Windows 7 SP1 (Atheros card,2.4Ghz) - works OK
Apple iPhone 4S (iOS 5.1.1, 2.4Ghz) - does not work
Apple iPhone 5 (iOS6, 2.4Ghz) - does not work
Apple iPhone 5 (iOS6, 5Ghz) - works OK
Apple iPod (4th gen, iOS6, 2.4 Ghz) - does not work

I've conducted many tests turns out IPv6 Duplicate Address Detection (DAD) is 
broken with RT-n56u. I was able to debug this on Ubuntu

Once laptop following frames:

12:23:30.415194 00:1f:3b:49:c0:5f > 33:33:ff:49:c0:5f, ethertype IPv6 (0x86dd), 
length 78: :: > ff02::1:ff49:c05f: ICMP6, neighbor solicitation, who has 
fe80::21f:3bff:fe49:c05f, length 24
12:23:30.415954 00:1f:3b:49:c0:5f > 00:1f:3b:49:c0:5f, ethertype IPv6 (0x86dd), 
length 78: :: > ff02::1:ff49:c05f: ICMP6, neighbor solicitation, who has 
fe80::21f:3bff:fe49:c05f, length 24
Oct 26 12:23:30 bart-ThinkPad-T61 kernel: [ 7546.068871] IN=wlan1 OUT= 
MAC=00:1f:3b:49:c0:5f:00:1f:3b:49:c0:5f:86:dd 
SRC=0000:0000:0000:0000:0000:0000:0000:0000 
DST=ff02:0000:0000:0000:0000:0001:ff49:c05f LEN=64 TC=0 HOPLIMIT=255 FLOWLBL=0 
PROTO=ICMPv6 TYPE=135 CODE=0 
Oct 26 12:23:30 bart-ThinkPad-T61 kernel: [ 7546.068941] wlan1: IPv6 duplicate 
address fe80::21f:3bff:fe49:c05f detected!
Oct 26 12:23:30 bart-ThinkPad-T61 kernel: [ 7546.076963] IN=wlan1 OUT= 
MAC=00:1f:3b:49:c0:5f:00:1f:3b:49:c0:5f:86:dd 
SRC=0000:0000:0000:0000:0000:0000:0000:0000 
DST=ff02:0000:0000:0000:0000:0000:0000:0016 LEN=96 TC=0 HOPLIMIT=1 FLOWLBL=0 
PROTO=ICMPv6 TYPE=143 CODE=0 

it starts complaining about duplicate IPv6 addresses. I think this frame is the 
cause:
12:23:30.415954 00:1f:3b:49:c0:5f > 00:1f:3b:49:c0:5f, ethertype IPv6 (0x86dd), 
length 78: :: > ff02::1:ff49:c05f: ICMP6, neighbor solicitation, who has 
fe80::21f:3bff:fe49:c05f, length 24

(00:1f:3b:49:c0:5f is MAC address of Lenovo laptop)

On linux you can filter this in ip6tables or set 
net.ipv6.conf.wlan1.accept_dad=0. This works around the issue. There is however 
no way to do this on Apple devices.

I've tried to use ebtables to filter these frames on the router but it didn't 
work. 

The problem does not occur on 5Ghz or on 2.4Ghz using Windows7

(IGMP snooping was ON. Turining it OFF stops all ipv6 on most wifi connected 
devices)

Any idea how to stop these duplicate frames being sent ?

Original issue reported on code.google.com by bartosz....@gmail.com on 26 Oct 2012 at 11:45

GoogleCodeExporter commented 9 years ago
I've tried switching HW_NAT off BTW, no change.

Original comment by bartosz....@gmail.com on 26 Oct 2012 at 1:45

GoogleCodeExporter commented 9 years ago
similiar issue with different router:
http://www.finnie.org/2012/06/08/ipv6-in-apple-ios/

Original comment by bartosz....@gmail.com on 26 Oct 2012 at 2:13

GoogleCodeExporter commented 9 years ago
This is IGMP Snooping bug. Try to disable IGMP Snooping and reconnect to AP. 

Original comment by andy.pad...@gmail.com on 5 Nov 2012 at 7:05

GoogleCodeExporter commented 9 years ago
I can confirm OP's error:

If IGMP Snooping is OFF
 2.4 GHz iOS 6.01 = no client IPv6 address, no IPv6 DNS settings from DHCP
 2.4 Ghz Win 7 = no client IPv6 address, no IPv6 DNS settings from DHCP
 5 GHz iOS 6.01 = no client IPv6 address, no IPv6 DNS settings from DHCP
 5 GHz Win 7 = no client IPv6 address, no IPv6 DNS settings from DHCP

If IGMP Snooping is ON
 2.4 GHz iOS 6.01 = no client IPv6 address, but DNS settings from DHCP OK
 2.4 GHz Win 7 = client IPv6 address OK, DNS settings from DHCP OK
 5 GHZ iOS 6.01 = client IPv6 address OK, DNS settings from DHCP OK
 5 GHZ iOS Win 7 = client IPv6 address OK, DNS settings from DHCP OK

Haven't done tests with Fedora 17 on 5 GHz, but on 2.4 GHz with IGMP Snooping 
ON I got DAD error in dmesg.

Original comment by mattias....@gmail.com on 6 Nov 2012 at 9:07

GoogleCodeExporter commented 9 years ago

Original comment by andy.pad...@gmail.com on 14 Mar 2013 at 3:27