Tool/software: Linux
Hi,
(This question is observed while trying to implement CarPlay over TI J6 (Android OS; 6AM.1.3))
I have the USB gadget configured to use USB Bulk In/Out and NCM control and data interfaces.
When TI J6 is connected to the iPhone as USB device and 'usb0' network interface is setup.
They exchange ICMPv6 Neighbor Solicitation and Neighbor Advertisement and the iPhone tries to send a TCP packet to the TI J6.
This fails and also all the multiple TCP retransmissions that follow.
Running 'ip -6 neigh' on TI J6 does return the IPv6 address of the iPhone but display as STALE.
> root@jacinto6evm:/data/local/tmp # ip -6 neigh
> fe80::14c0:1650:d9d6:701 dev usb0 lladdr 52:f0:b7:98:dd:5f STALE
I cannot ping the address.
> root@jacinto6evm:/data/local/tmp # ping6 fe80::14c0:1650:d9d6:71%usb0
> connect: Network is unreachable
I cleared the 'ip6tables' before the connection to make sure no rules are affecting the packets.
> root@jacinto6evm:/data/local/tmp # ip6tables -S
> -P INPUT ACCEPT
> -P FORWARD ACCEPT
> -P OUTPUT ACCEPT
Wireshark PCAP file can be downloaded from the following link if needed:
drive.google.com/.../view
I also tried connecting with a Ubuntu host and I see similar results.
Now if I configure 'usb0' with IPv4 address, then I can communicate fine between the TI J6 and the Ubuntu host using IPv4.
CarPlay does seem to work using the IPv4 address as a fallback. (But we must have it work over IPv6)
Please provide some advice on how this issue can be resolved.
Thanks,
Alan