该机器是IBM ThinkCentre(型号8115LUA),带有两个PCI插槽 – x1和x16,如果我正确记得(指定)。
这些PCIe插槽中有两个相同的网卡。 最初,系统不会启动 – 它似乎是试图使用一个网卡的显卡(预期的结果) – 大概是X16插槽。 该video来自Intel 82945G芯片组。
我卸下了超大的PCIe插槽中的网卡,将BIOS设置为仅使用板载video,然后重新启动。 引导很好。 重新插入网卡后,启动仍然很好。
但是,只有一个网卡被识别(作为eth1) – 然后得到“实施”作为eth2(!)。
[ 5.148758] eth1: Tigon3 [partno(BCM95761) rev 5761100] (PCI Express) MAC address 00:10:18:80:de:36 [ 5.148765] eth1: attached PHY is 5761 (10/100/1000Base-T Ethernet) (WireSpeed[1]) [ 5.148771] eth1: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1] [ 5.148776] eth1: dma_rwctrl[76180000] dma_mask[64-bit]
lspci的:
00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02) 00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02) 00:02.1 Display controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02) 00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01) 00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 01) 00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 01) 00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 01) 00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 01) 00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 01) 00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 01) 00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 01) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1) 00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01) 00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA IDE Controller (rev 01) 00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 01) 02:00.0 Ethernet controller: Intel Corporation 82573E Gigabit Ethernet Controller (Copper) (rev 03) 04:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5761 Gigabit Ethernet PCIe (rev 10)
这两张牌相同, 一个是在04:00.0以上看到的。 02:00.0的networking设备是内部networking设备。
我在所有三个设备(包括PCIe千兆卡和内部networking设备)上都可以看到链路指示灯,并与交通信号灯匹配。 Linux可识别eth0和eth2(识别的设备)上的链路丢失,但在PCIe 16x插槽中使用无法识别的设备时不logging。
在BIOS中,我将活动video设置为IGD(集成graphics设备,我假设)。
如何使第二张网卡工作? 此系统中没有其他PCIe插槽可用; 只是这两个。
我知道这是一个古老的问题,但无论如何,我都会放弃它。
ThinkCentres中的这个PCIe x16插槽是双用途的。 它可以用作PCIe x16插槽,或作为板载graphics的扩展(为板载IGP增加一个DVI-D端口)。
BIOS通常无法正确识别该插槽中的任何PCIe卡。 (我看到这种情况发生在video卡,网卡,电视调谐卡上。)
对我的解决scheme一直是以下几点:
首先,确保你知道两个网卡都可以工作,通过单独testing或者在另一台计算机上testing…我假设你已经这样做了,不过:)
我猜这是一个BIOS问题。 在一些旧的/便宜的networking硬件上,我遇到了一些类似的网卡问题。 我希望自己能记得我所做的,但是我认为这涉及到将BIOS重置为“出厂默认设置”,这改变了一些PCI资源分配特性。
您的Linux内核版本不应该影响lspci的输出 – 应该显示所有连接和启用的PCI设备。
我的build议是:
将BIOS重置为出厂默认值,以确保清除任何非标准PCI资源设置。
禁用任何您不使用的板载设备(例如板载Intel卡),板载video卡等。
再次启动到Linux,看看你的网卡是否都显示出来。
如果它们都没有出现,请调整BIOS设置(特别是与PCI设备有关的设置),然后重复步骤3。
一旦两张显卡再次出现,您可能需要清除udev的网卡概念,具体取决于您的Linux发行版(在Debian中,只需rm /etc/udev/rules.d/70-persistent-net.rules )。