Intel i210 PCI Gigabit not showing up as ethernet interface

Hello,

I’ve spent a bunch of time looking over the forums and came across a couple of relevant posts. I’ve followed the topic here closely:

https://devtalk.nvidia.com/default/topic/810648/-solved-dual-gigabit-mini-pci-express-card/

My device shows up using lspci here:

ubuntu@tegra-ubuntu:~$ lspci
00:02.0 PCI bridge: NVIDIA Corporation Device 0faf (rev a1)
01:00.0 Ethernet controller: Intel Corporation Device 1531 (rev 03)

Doing lshw -C net I get:

*-network UNCLAIMED
description: Ethernet controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: 03
width: 32 bits
clock: 33MHz
capabilities: cap_list
configuration: latency=0
resources: memory:13000000-137fffff ioport:1000(size=32) memory:13800000-13803fff

I downloaded the kernel sources, compiled them, installed the modules. From my understanding I will need the igb module to get this to work. I enabled that in my kernel as a module. Copied modules. Ran depmod -a. Finally:

modprobe igb

inserted my modules list is:

Module                  Size  Used by
igb                   196618  0
bnep                   14800  2
bcmdhd               7466322  0
cfg80211              450635  1 bcmdhd
bluedroid_pm           11244  0

After this I still have no interface. dmesg shows:

1993.640453] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.0.3-k
[ 1993.640462] igb: Copyright (c) 2007-2013 Intel Corporation.
ubuntu@tegra-ubuntu:~$

I’m perplexed why it still doesn’t load an interface.

Any thoughts? Thanks!

I’m not where I can look, but what do you see for the gigabit from this:

sudo lspci -vvv

Hi GimpMaster,

Not sure if it is helpful. We support Intel Corporation 82572EI Gigabit Ethernet Controller and I can use my Intel® PRO/1000 PT Desktop Adapter on TX1 directly.

Module Size Used by
igb 207473 0
bnep 18123 2
bluetooth 610864 7 bnep
bcmdhd 7666757 0
bluedroid_pm 13770 0
e1000e 267822 0
ptp 14495 2 igb,e1000e
pps_core 13409 1 ptp

Thank you Linuxdev,

I’m assuming your only interested in the Intel device.

01:00.0 Ethernet controller: Intel Corporation Device 1531 (rev 03)
        Subsystem: Intel Corporation Device 0000
        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-
        Interrupt: pin A routed to IRQ 130
        Region 0: Memory at 13000000 (32-bit, non-prefetchable) [disabled] 
        Region 2: I/O ports at 1000 [disabled] 
        Region 3: Memory at 13800000 (32-bit, non-prefetchable) [disabled] 
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
                Address: 0000000000000000  Data: 0000
                Masking: 00000000  Pending: 00000000
        Capabilities: [70] MSI-X: Enable- Count=5 Masked-
                Vector table: BAR=3 offset=00000000
                PBA: BAR=3 offset=00002000
        Capabilities: [a0] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 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+ FLReset-
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
                LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <16us
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR+, OBFF Via WAKE#
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [100 v2] 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: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
        Capabilities: [140 v1] Device Serial Number 00-a0-c9-ff-ff-00-00-00
        Capabilities: [1a0 v1] Transaction Processing Hints
                Device specific mode supported
                Steering table in TPH capability structure
        Capabilities: [1c0 v1] Latency Tolerance Reporting
                Max snoop latency: 0ns
                Max no snoop latency: 0ns

Thank you, I have the e1000e and e1000 compiled directly into the kernel. From all my surfing I’m pretty sure it is the igb driver for this device.

FYI, I’m using the 3.10.96 kernel.

Was that lspci truncated? There may be a note about driver at the bottom of the lspci which didn’t make it to the thread. From what I see though it is a working PCIe V1 (gen. 1 speed capability successfully running at gen. 1 speed).

When I run lspci -v I get the following:

ubuntu@tegra-ubuntu:~$ sudo lspci -v
00:02.0 PCI bridge: NVIDIA Corporation Device 0faf (rev a1) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0, IRQ 130
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        I/O behind bridge: 00001000-00001fff
        Memory behind bridge: 13000000-13bfffff
        Capabilities: [40] Subsystem: NVIDIA Corporation Device 0000
        Capabilities: [48] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/2 Maskable- 64bit+
        Capabilities: [60] HyperTransport: MSI Mapping Enable- Fixed-
        Capabilities: [80] Express Root Port (Slot+), MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] L1 PM Substates
        Kernel driver in use: pcieport

01:00.0 Ethernet controller: Intel Corporation Device 1531 (rev 03)
        Subsystem: Intel Corporation Device 0000
        Flags: fast devsel, IRQ 130
        Memory at 13000000 (32-bit, non-prefetchable) [disabled] 
        I/O ports at 1000 [disabled] 
        Memory at 13800000 (32-bit, non-prefetchable) [disabled] 
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
        Capabilities: [70] MSI-X: Enable- Count=5 Masked-
        Capabilities: [a0] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Device Serial Number 00-a0-c9-ff-ff-00-00-00
        Capabilities: [1a0] Transaction Processing Hints
        Capabilities: [1c0] Latency Tolerance Reporting

ubuntu@tegra-ubuntu:~$

There is no mention of Kernel driver in use for the Intel device.

The pci device does have a 100 MBit link activity light but that was on from power on.

ifconfig doesn’t list any devices beyond the following:

ubuntu@tegra-ubuntu:~$ ifconfig
enx00044b58309b Link encap:Ethernet  HWaddr 00:04:4b:58:30:9b
          inet addr:10.12.8.34  Bcast:10.12.255.255  Mask:255.255.0.0
          inet6 addr: fe80::204:4bff:fe58:309b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1490 errors:0 dropped:0 overruns:0 frame:0
          TX packets:58 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:326003 (326.0 KB)  TX bytes:11360 (11.3 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:41335 errors:0 dropped:0 overruns:0 frame:0
          TX packets:41335 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3058690 (3.0 MB)  TX bytes:3058690 (3.0 MB)

wlan0     Link encap:Ethernet  HWaddr 00:04:4b:58:30:99
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Ahh…you need “sudo lspci -vvv”, not “sudo lspci -v”. Up to three “-v” options increase verbosity.

Here you go. I hope this helps, I’m really at a loss.

Thanks

ubuntu@tegra-ubuntu:~$ sudo lspci -vvv
[sudo] password for ubuntu:
00:02.0 PCI bridge: NVIDIA Corporation Device 0faf (rev a1) (prog-if 00 [Normal decode])
        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 130
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        I/O behind bridge: 00001000-00001fff
        Memory behind bridge: 13000000-13bfffff
        Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
        BridgeCtl: Parity+ SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
        Capabilities: [40] Subsystem: NVIDIA Corporation Device 0000
        Capabilities: [48] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [50] MSI: Enable- Count=1/2 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [60] HyperTransport: MSI Mapping Enable- Fixed-
                Mapping Address Base: 00000000fee00000
        Capabilities: [80] Express (v2) Root Port (Slot+), MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0
                        ExtTag+ RBE+
                DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                LnkCap: Port #1, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <4us
                        ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp-
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-
                SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
                        Slot #0, PowerLimit 0.000W; Interlock- NoCompl-
                SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
                        Control: AttnInd Off, PwrInd On, Power- Interlock-
                SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
                        Changed: MRL- PresDet+ LinkState+
                RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna+ CRSVisible-
                RootCap: CRSVisible-
                RootSta: PME ReqID 0000, PMEStatus- PMEPending-
                DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR+, OBFF Not Supported ARIFwd-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, OBFF Disabled ARIFwd-
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [100 v1] 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: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
        Capabilities: [140 v1] L1 PM Substates
                L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
                          PortCommonModeRestoreTime=30us PortTPowerOnTime=70us
        Kernel driver in use: pcieport

01:00.0 Ethernet controller: Intel Corporation Device 1531 (rev 03)
        Subsystem: Intel Corporation Device 0000
        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-
        Interrupt: pin A routed to IRQ 130
        Region 0: Memory at 13000000 (32-bit, non-prefetchable) [disabled] 
        Region 2: I/O ports at 1000 [disabled] 
        Region 3: Memory at 13800000 (32-bit, non-prefetchable) [disabled] 
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
                Address: 0000000000000000  Data: 0000
                Masking: 00000000  Pending: 00000000
        Capabilities: [70] MSI-X: Enable- Count=5 Masked-
                Vector table: BAR=3 offset=00000000
                PBA: BAR=3 offset=00002000
        Capabilities: [a0] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 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+ FLReset-
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
                LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <16us
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR+, OBFF Via WAKE#
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [100 v2] 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: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
        Capabilities: [140 v1] Device Serial Number 00-a0-c9-ff-ff-00-00-00
        Capabilities: [1a0 v1] Transaction Processing Hints
                Device specific mode supported
                Steering table in TPH capability structure
        Capabilities: [1c0 v1] Latency Tolerance Reporting
                Max snoop latency: 0ns
                Max no snoop latency: 0ns

ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$
ubuntu@tegra-ubuntu:~$

I think what that means is that PCIe is working, but no driver claimed ownership. A typical set of the last two lines for a working Intel e1000 might be something like this (the module line would be missing if the feature were merely compiled directly into the kernel without using a module):

Kernel driver in use: e1000e
Kernel modules: e1000e

So this just confirms PCIe is doing what it should, and that the driver was never found. It seems this is purely a case of having the right driver.

Looking at your original post at the start of the thread I see this from lshw:

width: 32 bits
clock: 33MHz

This looks more like old style PCI than PCIe. Can you give more exact details of what model of card this is and which connector/slot/interface the card is physically connected through? This seems to predate the e1000 series.

Thank you linuxdev,

We are using the Intel WGI210IT S LJXT.

It is connected to PXIE1 as a single lane PCIe connection.

What would you expect lshw to report for width and clock rate?

Josh

It’s the 32-bit width…it seems old. PCI and PCIe are actually using PCI standards, but PCIe changes the PHY. In the old fashioned PCI slot you had the 33MHz/32-bit for most consumer boards, but you could also get high end boards with up to 133MHz/64-bit (I had one, it was much faster, and much more expensive). 66MHz/32-bit wasn’t rare, but everything the average consumer would get was 33MHz/32-bit. Nostalgia! Since this shows only the non-PHY information I wanted to know for sure that it wasn’t something unusual.

I have an inexpensive (but very common and old) Realtek PCIe card which shows this (this is what the PCIe link translates to/from…most everything would be 64-bit these days; my perception is that it has to be old or very inexpensive to run 33MHz):

width: 64 bits
clock: 33MHz

Looking up that card it does seem the IGB driver should work. On your running system, what is the output of this:

gunzip < /proc/config.gz | egrep 'CONFIG_IGB'

Hello Linux Dev,

This is what I am seeing:

CONFIG_IGB=m
CONFIG_IGB_HWMON=y
# CONFIG_IGBVF is not set

When I modprobe igb I see the following:

root@tegra-ubuntu:/home/ubuntu# modprobe igb
root@tegra-ubuntu:/home/ubuntu# dmesg
[234211.826251] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.0.3-k
[234211.826276] igb: Copyright (c) 2007-2013 Intel Corporation.
root@tegra-ubuntu:/home/ubuntu# lsmod
Module                  Size  Used by
igb                   196618  0
bnep                   14800  2
bcmdhd               7466322  0
cfg80211              450635  1 bcmdhd
bluedroid_pm           11244  0

Thanks,

Josh

Here is a clue I find very interesting.

On startup the intel network PCI device I’m using auto-negotiates with the ethernet switch sitting on my desk at a 100 MBit device (i.e. one light not two).

I’ve been reading up on PCI drivers and I browsed to /sys/bus/pci/devices/0000:01:00.0

In there I looked at most files and found one labeld enable that contains the value 0.

If I “echo 1 > enable” I notice the device stops ethernet communications for a couple seconds then comes back as a gigabit device. I still don’t see any interface with ifconfig. I tried unloading/loading the igb module after it was enabled but with no luck. dmesg now shows…

root@tegra-ubuntu:/sys/bus/pci/devices/0000:01:00.0# dmesg
[   51.759368] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.0.3-k
[   51.759377] igb: Copyright (c) 2007-2013 Intel Corporation.
[   75.939939] PCI: enabling device 0000:01:00.0 (0140 -> 0143)
root@tegra-ubuntu:/sys/bus/pci/devices/0000:01:00.0#

Would you run “sudo depmod -a”, and then reboot and see what “ifconfig” shows (does the interface now show up)? It seems like your manual load of the module would have caused the ifconfig device to show up. “depmod -a” might fix this if that is the case.

OK, Here is the update.

It turns out that the i210 can run with or without an external flash that contains suplimentary firmware for the intel device. Our board designer determined that the extra features were probably not worth having the external flash for the i210.

What then happens is that the i210 boots up with a PCI device ID of 1531 where as the more common device ID is 1533 when this flash with firmware is populated.

Looking at the PCI device id table in the IGB kernel module I see it does not support device ID of 1531. Thus Linux effectively does not have support for the dumbed down i210.

The solution is to re-spin the board with the flash accompanying the i210.

Thank you for all your support. Hopefully this forum post will help those in the future (i.e. DEVICE ID of 1531 vs 1533)

Another update on this. I was able to get the I210 working with a TX2 with no external flash.

Looking at the IGB driver source, it should see several different I210 device IDs depending on how the I210 is configured. In my case the device ID is 0x157B.

#define E1000_DEV_ID_I210_COPPER 0x1533
#define E1000_DEV_ID_I210_COPPER_OEM1 0x1534
#define E1000_DEV_ID_I210_COPPER_IT 0x1535
#define E1000_DEV_ID_I210_FIBER 0x1536
#define E1000_DEV_ID_I210_SERDES 0x1537
#define E1000_DEV_ID_I210_SGMII 0x1538
#define E1000_DEV_ID_I210_COPPER_FLASHLESS 0x157B
#define E1000_DEV_ID_I210_SERDES_FLASHLESS 0x157C

The device ID of 0x1531 means the I210 has not been configured. This is the default of the I210 chip when received by OEMs who place it on their own products. Its iNVM is blank and it will never work in this mode. You must program the iNVM and MAC address using Intel’s EeepromAccessTool (Intel Doc # 572162). You must go directly to Intel support to request this tool. They don’t offer it openly to the public.

With this tool comes hex files that you use to program the I210 in different modes. To get going simply modify the hex file to include your desired MAC address and run the tool to program the I210. Then power cycle the system and you should be good to go. No external flash required.