我刚刚在一台全新的 Dell T110 服务器上安装了 Ubuntu Server 10.04 LTS,运行内核 2.6.32-24-server,据说与 Ubuntu Server 完全兼容。
我有两个 NIC:一个是板载的,另一个是 PCI 上的附加网卡。它们都是 Broadcom netXtreme 5572。
在系统第一次启动时,我可以看到两个卡分别为 eth0 和 eth1(使用 ifconfig)我将 eth0 配置为静态 IP(按计划),并且没有配置 eth1。
重新启动后,两个 NIC 中的一个“消失”:它根本没有出现在 ifconfig 中。
消失的是 ONBOARD。我调查了一下,发现了以下事情:
该卡已被查看到,但尚未“安装”,在 lshw 中显示为“UNCLAIMED”:
*-network UNCLAIMED
description: Ethernet controller
product: NetXtreme BCM5722 Gigabit Ethernet PCI Express
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:04:00.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm vpd msi pciexpress cap_list
configuration: latency=0
resources: memory:df9f0000-df9fffff
*-network
description: Ethernet interface
product: NetXtreme BCM5722 Gigabit Ethernet PCI Express
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:05:00.0
logical name: eth0
version: 00
serial: 00:10:18:60:23:64
size: 100MB/s
capacity: 1GB/s
width: 64 bits
clock: 33MHz
capabilities: pm vpd msi pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.102 duplex=full firmware=5722-v3.09 ip=10.129.167.25 latency=0 link=yes multicast=yes port=twisted pair speed=100MB/s
resources: irq:35 memory:dfaf0000-dfafffff
因此我检查了我的 dmesg,发现了几行奇怪的内容,表明启动这张卡确实存在问题:
[ 3.737506] tg3: Could not obtain valid ethernet address, aborting.
[ 3.737527] tg3 0000:04:00.0: PCI INT A disabled
[ 3.737535] tg3: probe of 0000:04:00.0 failed with error -22
[ 3.737553] alloc irq_desc for 17 on node -1
[ 3.737555] alloc kstat_irqs on node -1
[ 3.737560] tg3 0000:05:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 3.737566] tg3 0000:05:00.0: setting latency timer to 64
[ 3.793529] eth0: Tigon3 [partno(BCM95722A2202G) rev a200] (PCI Express) MAC address 00:10:18:60:23:64
[ 3.793532] eth0: attached PHY is 5722/5756 (10/100/1000Base-T Ethernet) (WireSpeed[1])
[ 3.793534] eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
[ 3.793536] eth0: dma_rwctrl[76180000] dma_mask[64-bit]
这实际上表明一个 NIC 已被识别,而另一个则未被识别。
我使用 lspci -v 进行了进一步研究:
04:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
Subsystem: Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
Flags: fast devsel, IRQ 16
Memory at df9f0000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [48] Power Management version 3
Capabilities: [50] Vital Product Data <?>
Capabilities: [58] Vendor Specific Information <?>
Capabilities: [e8] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
Capabilities: [d0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting <?>
Capabilities: [13c] Virtual Channel <?>
Capabilities: [160] Device Serial Number 00-00-00-fe-ff-00-00-00
Kernel modules: tg3
05:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
Subsystem: Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
Flags: bus master, fast devsel, latency 0, IRQ 35
Memory at dfaf0000 (64-bit, non-prefetchable) [size=64K]
Expansion ROM at <ignored> [disabled]
Capabilities: [48] Power Management version 3
Capabilities: [50] Vital Product Data <?>
Capabilities: [58] Vendor Specific Information <?>
Capabilities: [e8] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+
Capabilities: [d0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting <?>
Capabilities: [13c] Virtual Channel <?>
Capabilities: [160] Device Serial Number 64-23-60-fe-ff-18-10-00
Capabilities: [16c] Power Budgeting <?>
Kernel driver in use: tg3
Kernel modules: tg3
在这里我可以看到 MAC 地址是 00-00-00-FE-FF-00-00-00,根据一些网站上的论坛帖子,这可能是一个问题。
我在网上搜索了所有能搜索到的内容,发现有几个人遇到了略微类似的问题,但他们通常涉及不同的硬件,并且没有提供适当的解释/解决方案...如果这里有人能分享一些信息,我将不胜感激!
谢谢
答案1
“一台全新的戴尔 T110 服务器,据称与 Ubuntu Server 完全兼容”
您此时是否已联系戴尔以获取安装/保修支持?
答案2
假设该模块已内置于内核,您可以执行以下操作:
modprobe bnx2
答案3
我关闭了盒子并移除了 PCI NIC。
重新启动:板载 NIC 被识别并安装(作为 eth1)。我将其配置为最终想要的配置(DHCP)。确认连接。注意:MAC 地址不再为空!
然后我重新插入 PCI NIC,再次启动系统:两个 NIC 现在均可见且已安装!
我不知道发生了什么。问题解决了,但我毫无头绪......