This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
尊敬的专家:
我使用 AutoSar 在 MCU2_1上集成以太网虚拟 Mac。 我使用 PC ping MCU2_1、但无法 ping 通、但 Cddipc 可以正常与 MCU2_0通信。 它基于 sdk8.6。
原因是什么?
MCU2_0日志
我根据开发板进行调试。
您好!
EthFw 将代表客户端响应客户端 IP 地址的 ARP 请求。
因此、AutoSAR 客户端 MCU2_1应向 EthFw 注册 IPv4。 否则 ARP 将无法解析、Ping 将无法成功。
此致、
Sudheer
如何 向 EthFw 注册 IPv4。 我该怎么办?
您好!
我们有"EthFw 400" API、用于向 Eth_Dispatch 服务器注册 IPv4。
借助上面的、您可以向 EthFw 注册 MCU2_1客户端的 IP。
此致、
Sudheer
我在 Ethfw 注册的 MAC 地址使用如下所示的功能,这是不可能的?
您好!
我在 Ethfw 注册的 Mac 地址使用如下所示的函数、这是不可能的吗?
以上将仅注册 MAC。
但仅 ARP MAC 还不够、我们需要 MAC 地址+ IP 地址。
因此、您必须使用"int387macAssociateIPv4Macaddr"向 EthFW 注册 IP Eth_Dispatch。
此致、
Sudheer
我在 EthFW 中使用 Eth_Dispatch 4.12.05tmacAssociateIPv4Macaddr 寄存器 IP、 但无法 ping。
MCU2_0日志
Wireshark 日志
您好!
通常 ARP 应持续到运行了 RESPONSE 或 ping 命令。
您是否在 IP 注册 Ethfw 后运行 ping?
您能否确认、您是否能够 ping 通 br4 (ethfw) 172.41.1.200?
此致、
Sudheer
如果在 MCU2_1启动之前 ping br4 (ethfw) 172.41.200、我们可以对其执行 ping 操作。 此外、此时开始时不会对 ethfw 执行 ping 操作、但在 MCU2_1寄存器与 EthFW 对应 ethfw 后、无法对 ethfw 执行 ping 操作、无法对 MCU2_1执行 ping 操作。
我无法上传文件、
这是 ping 失败 MCU2_0 MCU2_1
这是 ping ok MCU2_0
抱歉、我不知道如何上传 Wireshark 日志。
这是 MCU2_1运行前的 ALE 日志。
e2e.ti.com/.../ALE_5F00_CPSW9G_5F00_MCU2_5F00_1_5F00_befor.txt
这是 MCU2_1运行后的 ALE 日志。
e2e.ti.com/.../ALE_5F00_CPSW9G_5F00_MCU2_5F00_1_5F00_after.txt
您好!
将是 ooo,将在星期三检查,并得到你。 请耐心等待。
此致、
Sudheer
问题现已解决、现在我可以 ping MCU2_1、但现在我有一个问题、为什么要使用 Eth_Dispatch t387macAddMcastAddr 向 Ethfw 添加广播地址导致无法 ping MCU2_1?
EthVirtmacApp_addMcastAddr(BcastAddr, FALSE); static void EthVirtmacApp_addMcastAddr(uint8 *macAddr, boolean addHostPort) { Std_ReturnType status; Eth_PortListType portList; portList.numPorts = 0; #if defined (SOC_J721E) portList.numPorts += 6; portList.ports[0] = ETH_PORT_MAC_PORT_2; portList.ports[1] = ETH_PORT_MAC_PORT_3; portList.ports[2] = ETH_PORT_MAC_PORT_5; portList.ports[3] = ETH_PORT_MAC_PORT_6; portList.ports[4] = ETH_PORT_MAC_PORT_7; portList.ports[5] = ETH_PORT_MAC_PORT_8; #elif defined (SOC_J784S4) portList.numPorts += 2; portList.ports[0] = ETH_PORT_MAC_PORT_3; portList.ports[1] = ETH_PORT_MAC_PORT_5; #else portList.numPorts += 2; portList.ports[0] = ETH_PORT_MAC_PORT_2; portList.ports[1] = ETH_PORT_MAC_PORT_3; #endif if (addHostPort) { portList.ports[portList.numPorts] = ETH_PORT_HOST_PORT; portList.numPorts++; } expectedSid = ETH_SID_DISPATCH_VIRTMAC_ADD_MCAST_MACADDR; status = Eth_DispatchVirtmacAddMcastAddr(0, macAddr, 0, 0, &portList); ETHAPP_BUSY_WAIT(); }
我是指 sdk8.6 eth_virtmac_app 演示逻辑。
您好!
[报价用户 id="600959" url="~/support/processors-group/processors/f/processors-forum/1383556/tda4vm-tda4vm-cpsw9g-pc-cannot-ping-mcu2_1/5292589 #5292589"]但现在我有一个问题、为什么要使用 Eth_Dispatch 3899 tmacAddMcastAddr 向 Ethfw 添加广播地址导致无法 ping MCU2_1? [报价]此时、客户端将覆盖由 EthFw 写入的 ALE 广播条目、并从端口掩码中删除了"主机端口"和"仅 MAC 端口"。
因此、这些端口将不会接收广播数据包。
在最新 SDK 版本中修复了此问题。 客户端未添加任何广播条目。
此外、这是 TI 为客户提供的用于验证 MCAL Eth 驱动程序的示例测试应用程序参考。
此致、
Sudheer
感谢您的支持、此问题已得到解决。