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.
在我们的硬件上、我们尝试从 eth1 (环回) ping eth0以进行板级功能测试、但我无法从 eth1 ping eth0、反之亦然。
注:
请参阅以下以太网电缆连接的方框图。
以下是 eth0和 eth1配置以及 ping 命令结果:
root@picv6-1:~#[275.209337] cpsw 4a100000.ethernet eth1:链路断开 [279.849350] cpsw 4a100000.ethernet eth0:链路断开 [286.089616] cpsw 4a100000.以太网 eth0:链路向上- 100Mbps/全-流控制关闭 [286.169688] cpsw 4a100000.以太网 eth1:链路接通- 100Mbps/全-流控制关闭
root@picv6-1:~ ifconfig -a eth0 Link encap:以太网 HWaddr 14:42:FC:D2:84:61 iNet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr:2001:db8::1642:fcff:fed2:8461/128范围:全局 inet6 addr:fe80::1642:fcff:fed2:8461/64范围:链接 运行 PROMISC 多播 MTU:1500 公制:1的上广播 RX 数据包:177错误:0丢弃:3溢出:0帧:0 TX 数据包:43错误:0丢弃:0超限:0载波:0 冲突:0 txqueuelen:3000 RX 字节:22610 (22.0 KiB) TX 字节:9169 (8.9KiB) 中断:48
ETH1 链路连接:以太网 HWaddr 14:42:FC:D2:84:63 iNet addr:192.168.2.100 Bcast:192.168.2.255 掩码:255.255.255.0 inet6 addr:fe80::1642:fcff:fed2:8463/64范围:链接 inet6 addr:2001:db8::1642:fcff:fed2:8463/128范围:全局 运行 PROMISC 多播 MTU:1500 公制:1的上广播 RX 数据包:182错误:0丢弃:3溢出:0帧:0 TX 数据包:45错误:0丢弃:0超限:0载波:0 冲突:0 txqueuelen:3000 RX 字节:23611 (23.0 KiB) TX 字节:9307 (9.0 KiB)
LO 链路环接:本地环回 iNet addr:127.0.0.1 掩码:255.0.0.0 inet6 addr:::1/128范围:Host inet6 addr:2001:db8:200:ff:fe00:0/128范围:全局 运行 PROMISC MTU:65536 公制:1. RX 数据包:2错误:0丢弃:0超限:0帧:0 TX 数据包:2错误:0丢弃:0超限:0载波:0 冲突:0 txqueuelen:3000 RX 字节:140 (140.0 B) TX 字节:140 (140.0 B)
sit0 Link encap:IPv6-in IPv4 NOARP MTU:1480 公制:1. RX 数据包:0错误:0丢弃:0超限:0帧:0 TX 数据包:0错误:0丢弃:0超限:0载波:0 冲突:0 txqueuelen:1000 RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)
wlan0 Link encap:以太网 HWaddr 30:EB:1F:1D:A9:9A 向上广播 PROMISC 多播 MTU:1500 公制:1 RX 数据包:0错误:0丢弃:0超限:0帧:0 TX 数据包:0错误:0丢弃:0超限:0载波:0 冲突:0 txqueuelen:3000 RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)
root@picv6-1:~# netstat -rn 内核 IP 路由表 目标 网关 Genmask Flags MSS Window irtt iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 0 eth0 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 0 ETH1 root@picv6-1:~ ping# ping -i eth0 192.168.2.100 从192.168.1.100 eth0 ping 192.168.2.100 (192.168.2.100):56 (84)个字节的数据。 ^C --192.168.2.100 ping 统计信息-- 发送15个数据包、接收0个数据包、100%数据包丢失、时间558ms 管道3. root@picv6-1:~ ping# ping -i eth1 192.168.1.100 从192.168.2.100 eth1 ping 192.168.1.100 (192.168.1.100):56 (84)字节数据。 ^C --192.168.1.100 ping 统计信息-- 发送9个数据包、接收0个数据包、100%数据包丢失、时间346ms 管道3. |
我们使用 Processor SDK 06_03_00_106、在介绍 CPSW 驱动程序部分时、我在使用双独立 EMAC 模式时遇到了以下限制:
限制
以下是双 EMAC 模式实现的限制
|
我有以下问题:
您好!
子网是 IP 地址中的第三个数字。 因此、对于 eth0 = 192.168.1.100、子网为1。 即使两个以太网端口已物理连接、它们也只会在其子网上查找通信。 由于一个以太网端口位于子网1上,而另一个以太网端口位于子网2上,因此您不能从一个端口 ping 另一个端口是很有意义的。
该约束条件表示、如果以太网端口彼此物理连接(例如、两者都插入同一个外部以太网交换机或同一个网络)、则它们应位于不同的子网上。 如果您想知道为什么需要这样做、请告诉我、我会找到我们在哪里记录推理。
在我的脑海中、我不确定如果您从一个以太网端口回送至另一个以太网端口会发生什么情况。 尝试将它们放在同一子网(例如192.168.1.100和192.168.1.101)上、看看会发生什么情况。
此致、
Nick
跟进:如果不进行测试、我无法肯定使用 Linux 以太网端口执行回送时会发生什么情况。 但是、可能1)回送测试不起作用、或2)内核会确定源和目标是主机、然后在两个应用之间传递数据、而无需从以太网端口发送任何内容。 因此、我最初的建议是使用单独的链路合作伙伴(PC、第二个 AM437x EVM 等)测试以太网。
此致、
Nick
您好、Nick、
我尝试将 eth0和 eth1放在硬件和 AM4378 SK EVM 上的同一子网上、但我无法看到 Ping 在硬件和 AM4378 SK EVM 上工作。
请参阅以下日志:
#Our hardware root@picv6-1:~# ifconfig eth0; ifconfig eth1 eth0 Link encap:Ethernet HWaddr 14:42:FC:D2:84:61 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: 2001:db8::1642:fcff:fed2:8461/128 Scope:Global inet6 addr: fe80::1642:fcff:fed2:8461/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:86 errors:0 dropped:0 overruns:0 frame:0 TX packets:54 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3000 RX bytes:16451 (16.0 KiB) TX bytes:9965 (9.7 KiB) Interrupt:48 eth1 Link encap:Ethernet HWaddr 14:42:FC:D2:84:63 inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::1642:fcff:fed2:8463/64 Scope:Link inet6 addr: 2001:db8::1642:fcff:fed2:8463/128 Scope:Global UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:52 errors:0 dropped:0 overruns:0 frame:0 TX packets:86 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3000 RX bytes:9873 (9.6 KiB) TX bytes:16107 (15.7 KiB) root@picv6-1:~# ping -I eth0 192.168.1.101 PING 192.168.1.101 (192.168.1.101) from 192.168.1.100 eth0: 56(84) bytes of data. ^C --- 192.168.1.101 ping statistics --- 9 packets transmitted, 0 received, 100% packet loss, time 326ms pipe 3 root@picv6-1:~# ping -I eth1 192.168.1.100 PING 192.168.1.100 (192.168.1.100) from 192.168.1.101 eth1: 56(84) bytes of data. ^C --- 192.168.1.100 ping statistics --- 6 packets transmitted, 0 received, 100% packet loss, time 233ms pipe 3 root@picv6-1:~# #SK EVM root@am437x-evm:~# ifconfig -a eth0 Link encap:Ethernet HWaddr C4:BE:84:CC:87:B2 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:20 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:6840 (6.6 KiB) Interrupt:72 eth1 Link encap:Ethernet HWaddr C4:BE:84:CC:87:B4 inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:118 errors:0 dropped:0 overruns:0 frame:0 TX packets:118 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:193518 (188.9 KiB) TX bytes:193518 (188.9 KiB) root@am437x-evm:~# ping -I eth0 192.168.1.101 PING 192.168.1.101 (192.168.1.101): 56 data bytes ^C --- 192.168.1.101 ping statistics --- 9 packets transmitted, 0 packets received, 100% packet loss root@am437x-evm:~# ping -I eth1 192.168.1.100 PING 192.168.1.100 (192.168.1.100): 56 data bytes ^V^C --- 192.168.1.100 ping statistics --- 7 packets transmitted, 0 packets received, 100% packet loss root@am437x-evm:~
1) 1)回送测试将不起作用
2) 2)内核会确定源设备和目标设备是主机、然后在两个应用程序之间传递数据、而无需从以太网端口发送任何数据
因此、我最初的建议是使用单独的链路合作伙伴(PC、第二个 AM437x EVM 等)测试以太网
您好!
ping 失败的原因是内核与 MAC 地址所属的端口混淆。 本 演示 将介绍所发生的情况。
您遇到的是内核级问题、而不是驱动程序问题。 正如您指出的那样,指定接口端口确实会导致数据包被传输,但 MAC 地址混乱的问题仍然存在。
我无法解释为什么您在 AM335x 上取得成功、也许使用了一些 IP 表规则、允许数据包与正确的端口关联。
此致、
Schuyler