5.2. Intel Pro/1000 - emllI8254x

The parameters to the Intel Pro/1000 Link Layer are setup-specific. The function CreateLinkParmsFromCmdLinei8254x() in EcSelectLinkLayer.cpp demonstrates how to initialize the Link Layer instance.

Public Members

Common link parameters. Signature must be set to EC_LINK_PARMS_SIGNATURE_I8254X

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

Use buffers from DMA (EC_FALSE) or from heap for receive. AllocSend is not supported, when EC_TRUE.

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. 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_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)