05-27-2024 11:49 AM - edited 05-27-2024 11:54 AM
I have a problem very similar to "No IPV6 access on some clients(Android) with AP230". I have some AP230s running firmware 10.4.4.0. I have an Android client that is picking up IPv6 addresses from my router, but which is not getting a default route. It can talk to other IPv6 devices on the LAN, but without a default route, it can't access the IPv6 Internet.
I saw it suggested that the "Convert IP Multicast to Unicast" setting on the SSID, under "Additional Settings" and then the "Optional settings" "Customize" button, might be relevant here. I did a packet capture with my Windows machine and compared the IPv6 RA router advertisement packets received over Ethernet and over WiFi to the AP230, and the only difference in their content was that the advertisement frame received over Ethernet was addressed to what Wireshark called "IPv6mcast_01" (33:33:00:00:00:01), while the advertisement frame received over WiFi was addressed directly to the WiFi adapter's MAC.
So I went and turned off "Convert IP Multicast to Unicast" on all my SSIDs. I also turned off "Enable Non-Essential Broadcast Filtering", and turned off "IGMP Snooping" in the "Switching/Routing" section. I applied the config to the devices, and I also rebooted them for good measure.
But the "Convert IP Multicast to Unicast" setting of off is not respected by the APs, as far as I can tell, at least for router advertisements. When I capture an RA over WiFi from my Windows machine, I still see it as addressed to that machine's WiFi MAC. When I capture an RA via Ethernet, I correctly see it as addressed to the multicast group.
Does anybody know how to get the "Convert IP Multicast to Unicast" setting to actually turn off on these devices? How would I go about downgrading the firmware to an older version like 10.0r10b which is supposed to be the documented solution to the no-default-route-for-Android problem that @jackhsweeney1 had? Is there some *other* solution to Android not creating a default IPv6 route on an AP230 AP?
For reference, someone on StackOverflow had a similar problem with Android clients never getting an IPv6 default route, in a different environment, which they apparently fixed by throwing out their router and getting a different one.
05-27-2024 01:39 PM - edited 05-27-2024 01:40 PM
I did some more testing, comparing the AP230 behavior to an openWRT AP.
Note that the radvd on the router on this network is version 2.16, which is from before the AdvRASolicitedUnicast option was introduced (and turned on by default) in 2.17. So router advertisements sent in response to solicitations on this network are Ethernet multicast *and* IPv6 multicast (to address ff02::1). Newer radvd versions will unicast a router advertisement to the soliciting node's link-local IPv6 and its actual MAC.
When I connect to WiFi over the OpenWRT AP, I can see the router advertisements properly addressed to the multicast IPv6 address and the multicast MAC. On the OpenWRT AP, the Android device will happily pick up a default route from the multicast RA.
But over the AP230 network, the multicast MAC gets rewritten to the WiFi client's unicast MAC, but the multicast IPv6 destination address is *not* rewritten. So I end up getting RAs that don't look like old-style multicast RAs, but also don't look like legitimate unicast RAs, and I think this causes Android to refuse to use them for routing.