通过交换机连接两台计算机有效,但不能直接连接

网络工程 转变 以太网
2021-07-31 18:43:01

我有两台 Linux 机器,我试图通过有线以太网连接它们。我已经通过交叉适配器尝试了直通电缆和同一根电缆。当以这种方式连接时,两台计算机看起来彼此都死了。以太网端口上的灯熄灭,两台计算机都报告链接未准备好。但是,当我将两台机器连接到交换机时,一切正常:指示灯亮起,dmesg 报告就绪链接,机器可以相互 ping 通。这让我相信它们至少设置正确(/etc/network/interfaces、路由表等),并且我可能面临其他类型的问题。这可能是什么原因造成的?就好像两台机器都在等待对方复活一样。我是否需要将以太网接口置于某种“可识别模式” 或者执行一些其他魔法来实现这一点?谷歌搜索这个问题给出了一堆答案,几乎等于“确保两台机器在相同的 IP 范围内并检查你的电缆”。

编辑:“计算机”是安装在 Ixora 载板上的 2 个 Toradex Apalis iMX6Q。 http://developer.toradex.com/product-selector/apalis-imx6 http://developer.toradex.com/product-selector/ixora-carrier-board

自从发布后,我了解到 Toradex 在复制我的设置时也面临同样的问题,所以现在我正在等待他们方面的可能解决方案。

编辑 2:它现在可以工作了,问题出在物理层,并通过对 Linux 内核的更改得到修复。

2个回答

我不知道你的电脑有多老,但是,似乎是 MIDx 问题。交换机可以做到这一点,如果它们在自动模式下具有 de MIDx 功能,它们会检测去链接,然后进行交叉或不交叉。

交叉电缆用于连接2个相同类型的设备,直通电缆连接2个不同的设备

这个问题已经解决。结果证明这是由于 Linux 内核 PHY 中的一个小故障,有时它不会返回到正确的状态。我不确定这是否仅适用于 Toradex Apalis 模块,但留下这个问题和这个答案,以防将来可能对其他人有所帮助。这是解决问题的提交:

http://git.toradex.com/cgit/linux-toradex.git/commit/?h=toradex_imx_3.10.17_1.0.0_ga-next&id=eedcb125cd8bcaba5872c3a6f0f4f0705d10758b