我正在尝试让英特尔 pro/1000 MT 服务器网卡在我的 ubuntu 桌面 13.10 中工作。无需额外配置,系统就可以正确地将接口视为英特尔 82545 芯片并为其加载 e1000 驱动程序。但在日志中dmesg
有一些无法获取硬件 MAC 的错误,这导致该接口根本无法工作。系统的主板是华硕 z87,虽然此卡使用 64 位 pci-e 接口,但它安装在 32 位插槽上(英特尔表示这是受支持的配置)。这在 Windows 中可以正常工作,我检查过,所以一定是驱动程序问题,而不是硬件问题。有什么建议可以解决什么问题吗?
rmmod e1000
让我补充一下,我尝试编译从源代码构建的最新 e1000 和 e1000e 内核模块,但仍然有同样的问题。(当然,Ubuntu 13.10 的内核,内核 linux_3.11.0-15,内置了 e1000 驱动程序,而不是可加载的内核模块。如果我和,它会起作用吗insmod /the/new/compiled/e1000.ko
?
答案1
尝试几次后,我找到了解决方案。如 dmesg 中所述,e1000 驱动程序无法验证 NIC 的 NVRAM 校验和,因此它拒绝了硬件 MAC 并为 MAC 分配了零。所以我只是为接口分配了一个有效的 MAC,这样接口就启用了。MAC 分配可以通过两种方式完成:
或者通过 ifconfig:
/etc/init.d/networking stop
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
/etc/init.d/networking start
或者通过 /etc/networking/interfaces:
hwaddress ether xx:xx:xx:xx:xx:xx