I have a dual-port Intel Pro/1000 (82571EB) PCIe card. I've installed in into a Dell PowerEdge 1950 running CentOS 6.2 x64. The card is detected and the kernel module is loaded, but a start-up script is not created in /etc/sysconfig/network-scripts
. Manually creating a startup script doesn't help; I get an error about the device not being detected.
Thinking it might be a bad card, I tried another card (same model) and even put it in a different slot. No help. However, the strange thing is that this card works without issue in a PowerEdge 2950. Does anyone have any suggestions? Thanks!
dmesg
output:
[root@rbn1 ~]# dmesg | grep e1000
e1000e: Intel(R) PRO/1000 Network Driver - 1.9.5-NAPI
e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
e1000e 0000:0e:00.0: Disabling ASPM L1
e1000e 0000:0e:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
e1000e 0000:0e:00.0: setting latency timer to 64
e1000e 0000:0e:00.0: irq 95 for MSI/MSI-X
e1000e 0000:0e:00.0: eth0: (PCI Express:2.5GT/s:Width x4) 00:15:17:3d:19:0c
e1000e 0000:0e:00.0: eth0: Intel(R) PRO/1000 Network Connection
e1000e 0000:0e:00.0: eth0: MAC: 1, PHY: 4, PBA No: C57721-005
e1000e 0000:0e:00.1: Disabling ASPM L1
e1000e 0000:0e:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
e1000e 0000:0e:00.1: setting latency timer to 64
e1000e 0000:0e:00.1: irq 96 for MSI/MSI-X
e1000e 0000:0e:00.1: eth1: (PCI Express:2.5GT/s:Width x4) 00:15:17:3d:19:0d
e1000e 0000:0e:00.1: eth1: Intel(R) PRO/1000 Network Connection
e1000e 0000:0e:00.1: eth1: MAC: 1, PHY: 4, PBA No: C57721-005
lspci
output:
[root@rbn1 ~]# lspci -vv -s 0e:00.0
0e:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06)
Subsystem: Intel Corporation PRO/1000 PT Dual Port Server Adapter
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 95
Region 0: Memory at fc3e0000 (32-bit, non-prefetchable) [size=128K]
Region 1: Memory at fc3c0000 (32-bit, non-prefetchable) [size=128K]
Region 2: I/O ports at ece0 [size=32]
Capabilities: [c8] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Address: 00000000feeff00c Data: 41a9
Capabilities: [e0] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal+ Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 256 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr+ TransPend-
LnkCap: Port #6, Speed 2.5GT/s, Width x4, ASPM L0s L1, Latency L0 <4us, L1 <64us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
Capabilities: [100] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO+ CmpltAbrt+ UnxCmplt+ RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
UESvrt: DLP+ SDES- TLP+ FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr+ BadTLP+ BadDLLP+ Rollover+ Timeout+ NonFatalErr-
AERCap: First Error Pointer: 14, GenCap- CGenEn- ChkCap- ChkEn-
Capabilities: [140] Device Serial Number 00-15-17-ff-ff-3d-19-0c
Kernel driver in use: e1000e
Kernel modules: e1000e
modinfo
output:
[root@rbn1 ~]# modinfo e1000
filename: /lib/modules/2.6.32-220.4.2.el6.x86_64/kernel/drivers/net/e1000/e1000.ko
version: 7.3.21-k6-1-NAPI
license: GPL
description: Intel(R) PRO/1000 Network Driver
author: Intel Corporation, <[email protected]>
srcversion: 1E2D367750FBA71152AA4A7
alias: pci:v00008086d00002E6Esv*sd*bc*sc*i*
alias: pci:v00008086d000010B5sv*sd*bc*sc*i*
alias: pci:v00008086d00001099sv*sd*bc*sc*i*
alias: pci:v00008086d0000108Asv*sd*bc*sc*i*
alias: pci:v00008086d0000107Csv*sd*bc*sc*i*
alias: pci:v00008086d0000107Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000107Asv*sd*bc*sc*i*
alias: pci:v00008086d00001079sv*sd*bc*sc*i*
alias: pci:v00008086d00001078sv*sd*bc*sc*i*
alias: pci:v00008086d00001077sv*sd*bc*sc*i*
alias: pci:v00008086d00001076sv*sd*bc*sc*i*
alias: pci:v00008086d00001075sv*sd*bc*sc*i*
alias: pci:v00008086d00001028sv*sd*bc*sc*i*
alias: pci:v00008086d00001027sv*sd*bc*sc*i*
alias: pci:v00008086d00001026sv*sd*bc*sc*i*
alias: pci:v00008086d0000101Esv*sd*bc*sc*i*
alias: pci:v00008086d0000101Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000101Asv*sd*bc*sc*i*
alias: pci:v00008086d00001019sv*sd*bc*sc*i*
alias: pci:v00008086d00001018sv*sd*bc*sc*i*
alias: pci:v00008086d00001017sv*sd*bc*sc*i*
alias: pci:v00008086d00001016sv*sd*bc*sc*i*
alias: pci:v00008086d00001015sv*sd*bc*sc*i*
alias: pci:v00008086d00001014sv*sd*bc*sc*i*
alias: pci:v00008086d00001013sv*sd*bc*sc*i*
alias: pci:v00008086d00001012sv*sd*bc*sc*i*
alias: pci:v00008086d00001011sv*sd*bc*sc*i*
alias: pci:v00008086d00001010sv*sd*bc*sc*i*
alias: pci:v00008086d0000100Fsv*sd*bc*sc*i*
alias: pci:v00008086d0000100Esv*sd*bc*sc*i*
alias: pci:v00008086d0000100Dsv*sd*bc*sc*i*
alias: pci:v00008086d0000100Csv*sd*bc*sc*i*
alias: pci:v00008086d00001009sv*sd*bc*sc*i*
alias: pci:v00008086d00001008sv*sd*bc*sc*i*
alias: pci:v00008086d00001004sv*sd*bc*sc*i*
alias: pci:v00008086d00001001sv*sd*bc*sc*i*
alias: pci:v00008086d00001000sv*sd*bc*sc*i*
depends:
vermagic: 2.6.32-220.4.2.el6.x86_64 SMP mod_unload modversions
parm: TxDescriptors:Number of transmit descriptors (array of int)
parm: RxDescriptors:Number of receive descriptors (array of int)
parm: Speed:Speed setting (array of int)
parm: Duplex:Duplex setting (array of int)
parm: AutoNeg:Advertised auto-negotiation setting (array of int)
parm: FlowControl:Flow Control setting (array of int)
parm: XsumRX:Disable or enable Receive Checksum offload (array of int)
parm: TxIntDelay:Transmit Interrupt Delay (array of int)
parm: TxAbsIntDelay:Transmit Absolute Interrupt Delay (array of int)
parm: RxIntDelay:Receive Interrupt Delay (array of int)
parm: RxAbsIntDelay:Receive Absolute Interrupt Delay (array of int)
parm: InterruptThrottleRate:Interrupt Throttling Rate (array of int)
parm: SmartPowerDownEnable:Enable PHY smart power down (array of int)
parm: KumeranLockLoss:Enable Kumeran lock loss workaround (array of int)
parm: copybreak:Maximum size of packet that is copied to a new buffer on receive (uint)
parm: debug:Debug level (0=none,...,16=all) (int)
Manually created init script:
[root@rbn1 network-scripts]# cat ifcfg-p1p1
DEVICE="p1p1"
HWADDR="00:15:17:3d:19:0c"
ONBOOT=yes
USERCTL=no
NM_CONTROLLED="no"
BOOTPROTO=none
TYPE=Ethernet
IPADDR=192.168.200.2
NETMASK=255.255.255.0
[root@rbn1 network-scripts]# ifup p1p1
Device p1p1 does not seem to be present, delaying initialization.
ip link
output:
[root@rbn1 network-scripts]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: p2p1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:15:17:3d:19:0c brd ff:ff:ff:ff:ff:ff
3: p2p2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:15:17:3d:19:0d brd ff:ff:ff:ff:ff:ff
4: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
link/ether 00:1d:09:69:1a:26 brd ff:ff:ff:ff:ff:ff
5: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
link/ether 00:1d:09:69:1a:26 brd ff:ff:ff:ff:ff:ff
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 00:1d:09:69:1a:26 brd ff:ff:ff:ff:ff:ff
7: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether 00:1d:09:69:1a:26 brd ff:ff:ff:ff:ff:ff
8: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether 52:54:00:7b:e9:cb brd ff:ff:ff:ff:ff:ff
9: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 500
link/ether 52:54:00:7b:e9:cb brd ff:ff:ff:ff:ff:ff
10: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
link/ether fe:54:00:c5:40:3f brd ff:ff:ff:ff:ff:ff
11: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
link/ether fe:54:00:4f:2d:4c brd ff:ff:ff:ff:ff:ff
12: vnet2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
link/ether fe:54:00:fc:5e:7f brd ff:ff:ff:ff:ff:ff
14: vnet3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
link/ether fe:54:00:56:4b:33 brd ff:ff:ff:ff:ff:ff
Edit:
I see that the device is showing up as "p2p1" in the ip link
. I altered my manually created init script and the interface now comes online with an ifup
command. I can ping myself too. Working to get it online in the proper VLAN now. I will update this post again with the results.
Edit: Very cool. It's now working! I wish I knew why a) the device name is "p2p1" and b) the OS didn't automatically add the init script? Thanks again for your suggestions!
See this post to read why it's p2p1 - PCI slot 2, port 1. http://fedoraproject.org/wiki/Features/ConsistentNetworkDeviceNaming
I don't yet know why the OS didn't automagically add the correct ifcfg file.
Hi you need to remove the file
to get detect your network card properly. Also reboot your machine after removal of the file. After rebooting do setup from command line to configure the network, if this also didn't work then you will have to create a file for the each devices / interfaces.
Please refer to the blog.
To my experiences, you should use the commands: ip link, ifup
Then
That's it.