|
|
本帖最后由 huo_xing 于 2026-4-29 09:57 编辑
9 V* z, @6 y; @. P4 u$ z* I
' Z3 G' `3 r2 p6 M你这可不是小问题。上面是说了如果是mac对mac要怎么解决。
7 _3 {: P8 g- A! ~给你纠正几个问题:$ p' b9 {$ W8 E% Q, t1 W) e
1. 正常的rgmii中mdc是mac发,phy收。你现在是mac对mac,两端都是发送,没有接受端。
+ G0 _# G0 L/ G$ \0 L7 ~2. 一般支持switch的厂商提供的驱动中处理思路核心是绕开正常的mdio协商。最常规的操作是:关闭cpu的自协商功能,指定cpu工作速率(比如100M),指定双工模式(比如全双工)。说到底就是告诉cpu,你的对面有一个正常的设备,直接进入干活状态。
: w' q# i/ _. g3. 至于cpu和switch后续通讯问题,有的switch有两路mdio,一个给phy(此时switch提供mdc),一个给cpu(此时switch接受mdc)。
- H3 H! h _/ Z& o4. 高级的switch与cpu通讯问题可以通过专门的管理接口,管理接口常规是rmii或rgmii(也可能是目前连接cpu和switch的rgmii,通过特殊报文处理)。
/ {2 G5 q' F3 a7 S3 C5. 最重要一点,mac对mac模式下,常规的mdio是无效的,也不是必须的。
# c+ M5 _, E9 Z) [: Y8 f! D |
|