Other Parts Discussed in Thread: DP83826E
部件号: DP83826E
我们已使用创建了一个定制电路板 DP83826E Phy 。 。 器件树 (DTB) 配置正确的 PHY 地址、并且物理链路检测正常工作。 但是、我们仍然无法通过以太网进行通信。 我们无法发送或接收数据、通过以太网的 SSH 也无法在 Linux 上运行。 我已将 PHY 配置为具有 RMII 的增强模式。 我包含日志以供您查看。
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.
Other Parts Discussed in Thread: DP83826E
部件号: DP83826E
我们已使用创建了一个定制电路板 DP83826E Phy 。 。 器件树 (DTB) 配置正确的 PHY 地址、并且物理链路检测正常工作。 但是、我们仍然无法通过以太网进行通信。 我们无法发送或接收数据、通过以太网的 SSH 也无法在 Linux 上运行。 我已将 PHY 配置为具有 RMII 的增强模式。 我包含日志以供您查看。
尊敬的 Gaurav:
物理链路检测能够正常工作。 只需确认、 您是否能够通过软件访问寄存器? 似乎软件报告链路接通、因此您可能可以访问寄存器、但我想确定。
是否执行了任何环回测试? 如果 PHY 可以响应寄存器、但数据没有通过 PHY、则尝试使用 MII 环回。 我们的DP83826 疑难解答指南对此进行了介绍。
此致、
Shane
嗨、Shane、
是的、我可以通过软件访问寄存器并读取它们的状态。
[ 3962.713300] am-cpsw-nuss 8000000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
[ 3967.823727] am-cpsw-nuss 8000000.ethernet eth1: Link is Down
ethtool eth1
Settings for eth1:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 100Mb/s
Duplex: Full
Auto-negotiation: on
Port: Twisted Pair
PHYAD: 4
Transceiver: external
MDI-X: Unknown
Supports Wake-on: gs
Wake-on: d
SecureOn password: 00:00:00:00:00:00
Current message level: 0x000020f7 (8439)
drv probe link ifdown ifup rx_err tx_err hw
Link detected: yes
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
我已分配了静态 IP 地址并通过 ping 相同的 IP 来检查环回。 下面随附了日志。
ifconfig
eth0 Link encap:Ethernet HWaddr ------present----
inet addr:192.168.30.122 Bcast:192.168.30.255 Mask:255.255.255.0
inet6 addr: fe80::6670:60ff:feff:f338/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:510 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:24824 (24.2 KiB)
eth1 Link encap:Ethernet HWaddr ----present----
inet addr:192.168.31.122 Bcast:192.168.31.255 Mask:255.255.255.0
inet6 addr: fe80::648a:5eff:fe9f:aa85/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:91 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:9126 (8.9 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1749 errors:0 dropped:0 overruns:0 frame:0
TX packets:1749 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:153468 (149.8 KiB) TX bytes:153468 (149.8 KiB)
root@ ping 192.168.30.122
PING 192.168.30.122 (192.168.30.122): 56 data bytes
64 bytes from 192.168.30.122: seq=0 ttl=64 time=0.247 ms
64 bytes from 192.168.30.122: seq=1 ttl=64 time=0.526 ms
# ping 192.168.31.122
PING 192.168.31.122 (192.168.31.122): 56 data bytes
64 bytes from 192.168.31.122: seq=0 ttl=64 time=0.248 ms
64 bytes from 192.168.31.122: seq=1 ttl=64 time=0.528 ms
由于我已经连接了 PHY 在增强模式下工作与 RMII 这是我的硬件布局. 
请考虑将黑色标记的部件标记为 DNP。
是的、ethtool 和 ifconfig 报告了预期的链路和速度状态。 但 ethtool 报告了 RX 错误。
ethtool -S eth1
NIC statistics:
p0_rx_good_frames: 654
p0_rx_broadcast_frames: 494
p0_rx_multicast_frames: 160
p0_rx_crc_errors: 0
p0_rx_oversized_frames: 0
p0_rx_undersized_frames: 0
p0_ale_drop: 0
p0_ale_overrun_drop: 0
p0_rx_octets: 48764
p0_tx_good_frames: 0
p0_tx_broadcast_frames: 0
p0_tx_multicast_frames: 0
p0_tx_octets: 0
p0_tx_64B_frames: 514
p0_tx_65_to_127B_frames: 106
p0_tx_128_to_255B_frames: 34
p0_tx_256_to_511B_frames: 0
p0_tx_512_to_1023B_frames: 0
p0_tx_1024B_frames: 0
p0_net_octets: 48764
p0_rx_bottom_fifo_drop: 0
p0_rx_port_mask_drop: 0
p0_rx_top_fifo_drop: 0
p0_ale_rate_limit_drop: 0
p0_ale_vid_ingress_drop: 0
p0_ale_da_eq_sa_drop: 0
p0_ale_block_drop: 0
p0_ale_secure_drop: 0
p0_ale_auth_drop: 0
p0_ale_unknown_ucast: 0
p0_ale_unknown_ucast_bytes: 0
p0_ale_unknown_mcast: 0
p0_ale_unknown_mcast_bytes: 0
p0_ale_unknown_bcast: 0
p0_ale_unknown_bcast_bytes: 0
p0_ale_pol_match: 0
p0_ale_pol_match_red: 0
p0_ale_pol_match_yellow: 0
p0_ale_mcast_sa_drop: 0
p0_ale_dual_vlan_drop: 0
p0_ale_len_err_drop: 0
p0_ale_ip_next_hdr_drop: 0
p0_ale_ipv4_frag_drop: 0
p0_tx_mem_protect_err: 0
p0_tx_pri0: 0
p0_tx_pri1: 0
p0_tx_pri2: 0
p0_tx_pri3: 0
p0_tx_pri4: 0
p0_tx_pri5: 0
p0_tx_pri6: 0
p0_tx_pri7: 0
p0_tx_pri0_bcnt: 0
p0_tx_pri1_bcnt: 0
p0_tx_pri2_bcnt: 0
p0_tx_pri3_bcnt: 0
p0_tx_pri4_bcnt: 0
p0_tx_pri5_bcnt: 0
p0_tx_pri6_bcnt: 0
p0_tx_pri7_bcnt: 0
p0_tx_pri0_drop: 0
p0_tx_pri1_drop: 0
p0_tx_pri2_drop: 0
p0_tx_pri3_drop: 0
p0_tx_pri4_drop: 0
p0_tx_pri5_drop: 0
p0_tx_pri6_drop: 0
p0_tx_pri7_drop: 0
p0_tx_pri0_drop_bcnt: 0
p0_tx_pri1_drop_bcnt: 0
p0_tx_pri2_drop_bcnt: 0
p0_tx_pri3_drop_bcnt: 0
p0_tx_pri4_drop_bcnt: 0
p0_tx_pri5_drop_bcnt: 0
p0_tx_pri6_drop_bcnt: 0
p0_tx_pri7_drop_bcnt: 0
rx_good_frames: 0
rx_broadcast_frames: 0
rx_multicast_frames: 0
rx_pause_frames: 0
rx_crc_errors: 0
rx_align_code_errors: 0
rx_oversized_frames: 0
rx_jabber_frames: 0
rx_undersized_frames: 0
rx_fragments: 0
ale_drop: 0
ale_overrun_drop: 0
rx_octets: 0
tx_good_frames: 113
tx_broadcast_frames: 0
tx_multicast_frames: 113
tx_pause_frames: 0
tx_deferred_frames: 0
tx_collision_frames: 0
tx_single_coll_frames: 0
tx_mult_coll_frames: 0
tx_excessive_collisions: 0
tx_late_collisions: 0
rx_ipg_error: 0
tx_carrier_sense_errors: 0
tx_octets: 11558
tx_64B_frames: 16
tx_65_to_127B_frames: 77
tx_128_to_255B_frames: 20
tx_256_to_511B_frames: 0
tx_512_to_1023B_frames: 0
tx_1024B_frames: 0
net_octets: 11558
rx_bottom_fifo_drop: 0
rx_port_mask_drop: 0
rx_top_fifo_drop: 0
ale_rate_limit_drop: 0
ale_vid_ingress_drop: 0
ale_da_eq_sa_drop: 0
ale_block_drop: 0
ale_secure_drop: 0
ale_auth_drop: 0
ale_unknown_ucast: 0
ale_unknown_ucast_bytes: 0
ale_unknown_mcast: 0
ale_unknown_mcast_bytes: 0
ale_unknown_bcast: 0
ale_unknown_bcast_bytes: 0
ale_pol_match: 0
ale_pol_match_red: 0
ale_pol_match_yellow: 0
ale_mcast_sa_drop: 0
ale_dual_vlan_drop: 0
ale_len_err_drop: 0
ale_ip_next_hdr_drop: 0
ale_ipv4_frag_drop: 0
iet_rx_assembly_err: 0
iet_rx_assembly_ok: 0
iet_rx_smd_err: 0
iet_rx_frag: 0
iet_tx_hold: 0
iet_tx_frag: 0
tx_mem_protect_err: 0
tx_pri0: 113
tx_pri1: 0
tx_pri2: 0
tx_pri3: 0
tx_pri4: 0
tx_pri5: 0
tx_pri6: 0
tx_pri7: 0
tx_pri0_bcnt: 11558
tx_pri1_bcnt: 0
tx_pri2_bcnt: 0
tx_pri3_bcnt: 0
tx_pri4_bcnt: 0
tx_pri5_bcnt: 0
tx_pri6_bcnt: 0
tx_pri7_bcnt: 0
tx_pri0_drop: 0
tx_pri1_drop: 0
tx_pri2_drop: 0
tx_pri3_drop: 0
tx_pri4_drop: 0
tx_pri5_drop: 0
tx_pri6_drop: 0
tx_pri7_drop: 0
tx_pri0_drop_bcnt: 0
tx_pri1_drop_bcnt: 0
tx_pri2_drop_bcnt: 0
tx_pri3_drop_bcnt: 0
tx_pri4_drop_bcnt: 0
tx_pri5_drop_bcnt: 0
tx_pri6_drop_bcnt: 0
tx_pri7_drop_bcnt: 0
尊敬的 Gaurav:
感谢您分享详细的日志。 这可能是 IP 路由问题、 地址 192.168.30.122 和 192.168.31.122 在掩码范围内共享相同的子网、且 IP 地址不同。
请尝试使用相同的子网掩码 255.255.255.0 设置这些静态 IP:
eth0 到 192.168.30.122
eth1 到 192.168.30.123
在这种情况下 ping 是否起作用?
谢谢您、
Evan
尊敬的 Gaurav:
感谢您的确认。 在 ethtool 日志中、我看到了“rx_good_frames"和“和“tx_good_frames"的“的递增值。 这表明通过 MDI 和 MAC 传输数据包时链路正常运行、但某些路由问题导致无法进行 ping 确认。
两个 PHY 是否连接到同一台主机、您的系统中是否需要此拓扑? 如果可能、请尝试使用唯一的{Host+PHY}端点 ping。
用于调试的应用手册参考: https://www.ti.com/lit/an/spradj8/spradj8.pdf
谢谢您、
Evan