5.2. Intel Pro/1000 - emllIntelGbe

The parameters to the Real-time Ethernet Driver Intel Pro/1000 are setup-specific. The function “CreateLinkParmsFromCmdLineIntelGbe” in EcSelectLinkLayer.cpp demonstrates how to initialize the Real-time Ethernet Driver instance.

Public Members

Common link parameters. Signature must be set to EC_LINK_PARMS_SIGNATURE_INTELGBE

Receive buffer count, 0: default to 96

Receive buffer size for a single Ethernet frame. 0: buffer optimized for standard Ethernet frame.

Transmit buffer count, 0: default to 96

Transmit buffer size for a single Ethernet frame. 0: buffer optimized for standard Ethernet frame.

Disable locks

Timeout [ms] for auto negotiation

EC_FALSE: Use buffers from DMA for receive (default), EC_TRUE: use buffers from heap for receive. EcLinkAllocSendFrame is not supported if bNotUseDmaBuffers = EC_TRUE.

EC_TRUE: No PHY control (e.g. PHY reset, PHY PM settings, Gbits Ctrl) on link connection detected

NICs equipped with 82577, 82579 or 82567 may need HardCodedPhySettings. This must be set after emInitMaster(), before using the NIC, e.g.:

dwRes = emInitMaster(&oInitParms);
if (dwRes != EC_E_NOERROR)
{
    dwRetVal = dwRes;
    LogError("ERROR EtherCAT-Master! %s (0x%x)", emGetText(dwRes), dwRes);
    goto Exit;
}
{
    EC_T_IOCTLPARMS oIoCtlParms = {0};
    oIoCtlParms.pbyInBuf        = (EC_T_BYTE*)EC_NULL + 0x20103;
    oIoCtlParms.dwInBufSize     = sizeof(EC_T_DWORD);
    emIoControl(EC_IOCTL_LINKLAYER_MAIN + EC_LINKIOCTL_FORCELINKMODE, &oIoCtlParms);
    OsSleep(1000);
}

5.2.1. TTS Feature

The IntelGbe Real-time Ethernet Driver can optionally use Time-Triggered Send (TTS) feature. Ethernet/EtherCAT frames are sent and time stamped according to the NIC timer instead of the CPU timer. Which is usally more accurate.

5.2.2. Supported PCI devices

Intel PRO-1000 PCI specific definitions (VendorId, DeviceId)

  • PCI_DEVICE_I82540EM_DESKTOP (0x8086, 0x100E)

  • PCI_DEVICE_I82545EM_COPPER (0x8086, 0x100F)

  • PCI_DEVICE_I82546EB_COPPER_DUAL (0x8086, 0x1010)

  • PCI_DEVICE_I82541EI_COPPER (0x8086, 0x1013)

  • PCI_DEVICE_I82547GI_COPPER (0x8086, 0x1019)

  • PCI_DEVICE_I82545GM_COPPER (0x8086, 0x1026)

  • PCI_DEVICE_I82566MM (0x8086, 0x1049)

  • PCI_DEVICE_I82566DM (0x8086, 0x104A)

  • PCI_DEVICE_I82566MC (0x8086, 0x104D)

  • PCI_DEVICE_N1E5132_SERVER (0x8086, 0x105E)

  • PCI_DEVICE_I82547EI (0x8086, 0x1075)

  • PCI_DEVICE_I82541GI_COPPER (0x8086, 0x1076)

  • PCI_DEVICE_I82541GI_MOBILE (0x8086, 0x1077)

  • PCI_DEVICE_I82541ER (0x8086, 0x1078)

  • PCI_DEVICE_I82546GB_COPPER_DUAL (0x8086, 0x1079)

  • PCI_DEVICE_I82541PI_DESKTOP (0x8086, 0x107C)

  • PCI_DEVICE_I82572EI (0x8086, 0x107D)

  • PCI_DEVICE_I82573E (0x8086, 0x108B)

  • PCI_DEVICE_I82573 (0x8086, 0x108C)

  • PCI_DEVICE_I82573L (0x8086, 0x109A)

  • PCI_DEVICE_I82571GB_QUAD (0x8086, 0x10A4)

  • PCI_DEVICE_I82575_ZOAR (0x8086, 0x10A7)

  • PCI_DEVICE_I82572GI (0x8086, 0x10B9)

  • PCI_DEVICE_I82571GB_QUAD_2 (0x8086, 0x10BC)

  • PCI_DEVICE_I82566L (0x8086, 0x10BD)

  • PCI_DEVICE_I82576 (0x8086, 0x10C9)

  • PCI_DEVICE_I82567V (0x8086, 0x10CE)

  • PCI_DEVICE_I82574L (0x8086, 0x10D3)

  • PCI_DEVICE_I82567LM3 (0x8086, 0x10DE)

  • PCI_DEVICE_I82577LM (0x8086, 0x10EA)

  • PCI_DEVICE_I82577LC (0x8086, 0x10EB)

  • PCI_DEVICE_I82578DM (0x8086, 0x10EF)

  • PCI_DEVICE_I82578DC (0x8086, 0x10F0)

  • PCI_DEVICE_I82567LM (0x8086, 0x10F5)

  • PCI_DEVICE_I82567V3 (0x8086, 0x1501)

  • PCI_DEVICE_I82579LM (0x8086, 0x1502)

  • PCI_DEVICE_I82579V (0x8086, 0x1503)

  • PCI_DEVICE_I82576NS (0x8086, 0x150A)

  • PCI_DEVICE_I82583V (0x8086, 0x150C)

  • PCI_DEVICE_I82580_QUAD (0x8086, 0x150E)

  • PCI_DEVICE_I350 (0x8086, 0x1521)

  • PCI_DEVICE_I82576_ET2 (0x8086, 0x1526)

  • PCI_DEVICE_I82580_QUAD_FIBRE (0x8086, 0x1527)

  • PCI_DEVICE_I210AT (0x8086, 0x1531)

  • PCI_DEVICE_I210AT_2 (0x8086, 0x1532)

  • PCI_DEVICE_I210_COPPER (0x8086, 0x1533)

  • PCI_DEVICE_I210IT (0x8086, 0x1535)

  • PCI_DEVICE_I210_SERDES (0x8086, 0x1537)

  • PCI_DEVICE_I211AT (0x8086, 0x1539)

  • PCI_DEVICE_I210_COPPER_FLASHLESS (0x8086, 0x157B)

  • PCI_DEVICE_I210_BACKPLANE (0x8086, 0x157C)

  • PCI_DEVICE_I217LM (0x8086, 0x153A)

  • PCI_DEVICE_I217V (0x8086, 0x153B)

  • PCI_DEVICE_I218LM (0x8086, 0x155A)

  • PCI_DEVICE_I218V (0x8086, 0x1559)

  • PCI_DEVICE_I218LM_2 (0x8086, 0x15A0)

  • PCI_DEVICE_I218V_2 (0x8086, 0x15A1)

  • PCI_DEVICE_I218LM_3 (0x8086, 0x15A2)

  • PCI_DEVICE_I218V_3 (0x8086, 0x15A3)

  • PCI_DEVICE_I219LM (0x8086, 0x156F)

  • PCI_DEVICE_I219LM_2 (0x8086, 0x15B7)

  • PCI_DEVICE_I219LM_3 (0x8086, 0x15B9)

  • PCI_DEVICE_I219LM_4 (0x8086, 0x15D7)

  • PCI_DEVICE_I219LM_5 (0x8086, 0x15E3)

  • PCI_DEVICE_I219LM_6 (0x8086, 0x15BD)

  • PCI_DEVICE_I219LM_7 (0x8086, 0x15BB)

  • PCI_DEVICE_I219LM_8 (0x8086, 0x15DF)

  • PCI_DEVICE_I219LM_9 (0x8086, 0x15E1)

  • PCI_DEVICE_I219V (0x8086, 0x1570)

  • PCI_DEVICE_I219V_2 (0x8086, 0x15B8)

  • PCI_DEVICE_I219V_4 (0x8086, 0x15D8)

  • PCI_DEVICE_I219V_5 (0x8086, 0x15D6)

  • PCI_DEVICE_I219V_6 (0x8086, 0x15BE)

  • PCI_DEVICE_I219V_7 (0x8086, 0x15BC)

  • PCI_DEVICE_I219V_8 (0x8086, 0x15E0)

  • PCI_DEVICE_I219V_9 (0x8086, 0x15E2)

  • PCI_DEVICE_I219LM_10 (0x8086, 0x0D4E)

  • PCI_DEVICE_I219V_10 (0x8086, 0x0D4F)

  • PCI_DEVICE_I219LM_11 (0x8086, 0x0D4C)

  • PCI_DEVICE_I219V_11 (0x8086, 0x0D4D)

  • PCI_DEVICE_I219LM_12 (0x8086, 0x0D53)

  • PCI_DEVICE_I219V_12 (0x8086, 0x0D55)

  • PCI_DEVICE_I219LM_18 (0x8086, 0x0DC5)

  • PCI_DEVICE_I219V_18 (0x8086, 0x0DC6)

  • PCI_DEVICE_I219LM_13 (0x8086, 0x15FB)

  • PCI_DEVICE_I219V_13 (0x8086, 0x15FC)

  • PCI_DEVICE_I219LM_14 (0x8086, 0x15F9)

  • PCI_DEVICE_I219V_14 (0x8086, 0x15FA)

  • PCI_DEVICE_I219LM_15 (0x8086, 0x15F4)

  • PCI_DEVICE_I219V_15 (0x8086, 0x15F5)

  • PCI_DEVICE_I219LM_16 (0x8086, 0x1A1E)

  • PCI_DEVICE_I219V_16 (0x8086, 0x1A1F)

  • PCI_DEVICE_I219LM_17 (0x8086, 0x1A1C)

  • PCI_DEVICE_I219V_17 (0x8086, 0x1A1D)

  • PCI_DEVICE_I225LM (0x8086, 0x15F2)

  • PCI_DEVICE_I225V (0x8086, 0x15F3)

  • PCI_DEVICE_I225I (0x8086, 0x15F8)

  • PCI_DEVICE_I225K (0x8086, 0x3100)

  • PCI_DEVICE_I225K_2 (0x8086, 0x3101)

  • PCI_DEVICE_I225LMVP (0x8086, 0x5502)

  • PCI_DEVICE_I225IT (0x8086, 0x0D9F)

  • PCI_DEVICE_I226LM (0x8086, 0x125B)

  • PCI_DEVICE_I226V (0x8086, 0x125C)

  • PCI_DEVICE_I226IT (0x8086, 0x125D)