我正在尝试部署基于 Intel EP80579 (Tolapai) 芯片的嵌入式系统 (Nexcom 的 NISE 110)。Tolapai 显然在单个芯片上集成了以太网等控制器 (英特尔主页)。
机器无法连接网络。我所能做的诊断如下:
驱动程序
- 英特尔驱动程序编译并安装无问题(版本 1.0.3-144)。内核版本和 Linux 发行版(CentOS 5.2、2.6.18)与驱动程序安装说明相符。
- 驱动程序已加载并显示在
lsmod
(模块名称为gcu
和iegbe
) - 接口
eth0
并eth1
显示在 ifconfig 中
是否配置
- 我可以启动具有固定 IP 的接口
- 在本地 ping 接口有效
ifconfig
显示标志UP
,但不是RUNNING
关联
ethtool
显示“检测到链接:否”、“速度:未知(65536)”和“双工:未知(255)”- 链路 LED 亮起
- 在电缆的另一端,
ethtool
显示“检测到链接:是”,并报告速度为 1000 Mbps,据称该速度已与有问题的设备自动协商。
网络流量分析
- 设备不响应 ARP、ICMP 回应或其他任何消息(
iptables
已关闭) - 尝试发送 ICMP 或 DHCP 请求时,它们永远无法到达另一端
- 设备上的活动 LED 熄灭,另一端则亮起。
我尝试了以下操作,但没有任何效果:
- 不同的电缆(2 条直电缆,1 条交叉电缆),每条电缆上的链接 LED 都亮起。
- 另一端有三种不同的设备(一台 PC、一台上网本、一台路由器)
- 修复了双方的 ARP 表条目
- 将机器的两个网络端口连接在一起,无法通过电缆 ping 通,但可以本地 ping 通。为此尝试了直通电缆和交叉电缆。
答案1
哎哟。Nexcom 支持人员是这样说的:
NISE 110 使用双 Marvell GbE LAN 端口,您需要使用这些芯片的驱动程序而不是 EP80579 驱动程序。
所以我设置了没有连接任何东西的以太网控制器(集成在 Tolapai 中)。
我很抱歉,各位。
混乱仍在继续。在无法找到任何Marvell 设备,在尝试之后三不同的驱动程序应该可以工作,我向支持人员抱怨,他们现在进行了更多研究并回复:
我很抱歉在这个问题上造成了混淆。我发现了更多信息,Marvell 芯片实际上只是收发器,LAN 是通过 EP80597 实现的。
并进一步:
HQ 表示 Linux 与 NISE 110 的兼容性不佳,他们已使用 RedHat 5 (CentOS 5) 进行了测试,但仍然存在一些限制,注意:英特尔从 RedHat 5 更改为 CentOS 5。最好使用 Windows XP Embedded
这很烦人,因为我们明确地选择了它所宣传的 Linux 兼容性,并且我们需要这个组件是可靠的,因为我们将在客户站点上部署它,而我们不想一直派遣服务人员。
答案2
有ethtool ethN
報告Link detected: yes
嗎?
您使用的是哪个驱动程序?我记得对于某些 Intel NIC,有两种可能的驱动程序 (e1000 和 e1000e),其中一种对于某些芯片不起作用 (很好)。
答案3
我会尝试安装OpenWrt 12.09在设备上并再次尝试实验。
过去,我曾让 openwrt 的 iegbe 驱动程序在 Redhat 6.4 上运行。我遇到的一个问题是 PHY 与错误的 MAC 匹配。