Hello, we are using an i210 NIC on a Tegra K1 ARM platform.
Our reference testing has been done with a PCIe card (MPX-210D-G - Intel i210-AT Mini-PCI Express (Mini-PCIe) Gigabit LAN Module Commell) on a Jetson TK1 development board. This PCIe card has an external NVM flash chip and the device ID appears as 0x1531. In this situation, the NIC performs fine for file transfers, Internet access, and GigE vision streaming (our production use case).
eth0 Link encap:Ethernet HWaddr 00:03:1d:10:7d:ff
inet addr:169.254.2.2 Bcast:169.254.255.255 Mask:255.255.0.0
inet6 addr: fe80::203:1dff:fe10:7dff/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1
RX packets:747259 errors:0 dropped:0 overruns:0 frame:0
TX packets:1314075 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2551469529 (2.5 GB) TX bytes:10075762394 (10.0 GB)
Memory:32200000-32300000
We have developed our own custom board with an embedded i210, but it is operating in iNVM mode and does not have external flash attached. The device ID enumerates as 0x157b. We were able to program the chip using eepromARMtool and we can use it for network file transfers, Internet access, etc. without difficulty. However when connecting to the GigE camera using GVSP, we find an unacceptably high packet drop rate. Note the drop/overrun packet count in ifconfig:
eth0 Link encap:Ethernet HWaddr 00:50:c2:c9:9a:fc
inet addr:169.254.2.2 Bcast:169.254.255.255 Mask:255.255.0.0
inet6 addr: fe80::250:c2ff:fec9:9afc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1
RX packets:257864 errors:0 dropped:20960 overruns:20960 frame:0
TX packets:450 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2308711001 (2.3 GB) TX bytes:29940 (29.9 KB)
We have attempted the following:
* Increase MTU size to 9000
* Edit sysctl variables net.core.{rmem_max, rmem_default, wmem_max, wmem_default} to maximum value (33554432)
* Update i210 driver to latest stable version 5.3.4.4
* Run iperf tests on NIC (average result in all cases = 900 Mbits/sec)
* Verifying reference design works as expected (Jetson TK1 + i210 mPCIe card + PointGrey GigE Camera)
Short of kernel and driver debugging we have exercised all our debugging tools. The only hardware difference between our custom and reference design is the (lack of) external NVM. I would like to know whether Intel has any information regarding how iNVM mode can affect performance in general, and also specifically on ARM Linux.
Thank you,
Neel
edit 2016-04-06 formatting