工具/软件:Linux
您好!
(在尝试 通过 TI J6实现 CarPlay (Android OS;6A.1.3)时会观察到这个问题)
我已将 USB 小工具配置为使用 USB 大容量输入/输出以及 NCM 控制和数据接口。
当 TI J6作为 USB 设备连接到 iPhone 并设置了'usb0'网络接口时。
它们交换 ICMPv6邻居请求和邻居通告、而 iPhone 尝试向 TI J6发送 TCP 数据包。
这种情况会失败、随后的所有多个 TCP 重新传输也会失败。
在 TI J6上运行"IP -6 neigh"确实会返回 iPhone 的 IPv6地址、但显示为过时。
> root@jacinto6evm:/data/local/tmp # ip -6 neigh
>fe80::14c0:1650:d9d6:701 dev usb0 lladdr 52:f0:b7:98:dd:5F 过时
我无法 ping 该地址。
> root@jacinto6evm:/data/local/tmp # ping6 fe80:14c0:1650:d9d6:71%usb0
>连接:无法访问网络
我在连接之前清除了'ip6tables',以确保没有规则影响数据包。
> root@jacinto6evm:/data/local/tmp # ip6tables -S
>-P 输入接受
>-P 正向接受
>-P 输出接受
如有需要、可以从以下链接下载 Wireshark PCAP 文件:
drive.google.com/.../view
我还尝试连接 Ubuntu 主机、并看到类似结果。
现在、如果我使用 IPv4地址配置"usb0"、那么我可以使用 IPv4在 TI J6和 Ubuntu 主机之间进行良好的通信。
CarPlay 似乎可以使用 IPv4地址作为回退。 (但我们必须让它通过 IPv6工作)
请提供一些有关如何解决此问题的建议。
谢谢、
Alan