Embedded Connectivity
Intel network controllers, Firmware, and drivers support systems
848 Discussions

Issue during initialization of Retimer C287 on board with FM10840

vera_fed
Beginner
1,373 Views

Hello,

We got a problem with initialization c827 and need help to bring up the Intel Retimer C827 chip.

Our board is equipped with the Intel chips: switch FM10840 and Retimer C827 (4 pcs) (lettering on the chip: EZC827AM T09S180.2).

Initially we can’t get the valid OUI values from the internal registers of the c827 chip. The values we get mismatch the values in the datasheet. 

We assumed that external library is needed, so we copy libIntelRetimer.so to ../3rdparty/retimers/libraries/IntelRetimer/ and add the following line to fm_platform_attributes.cfg file "api.platform.config.switch.0.externalSharedLibrary.0.libName text libIntelRetimer.so". 

But we have only very old version of libIntelRetimer.so library, taken from SDK IES_SDK-4.3.6-20171121.tar.gz, which we got from Intel several years ago, when we bought our first FM10840. Last FM10840 has been purchased last summer.

Could you please provide to us new version of IES_SDK or similar product, which contains library/application to initialize of Retimer C287 properly?

0 Kudos
7 Replies
vera_fed
Beginner
1,342 Views

A detailed description of the problem is provided below.

To bring up the Intel C827 retimers installed on the board, we added the following lines to the fm_platform_attributes.cfg file:

 

api.platform.config.switch.0.externalSharedLibrary.0.libName text libIntelRetimer.so
api.platform.config.switch.0.numPhys int 4

api.platform.config.switch.0.phy.0.model text IntelRetimer
api.platform.config.switch.0.phy.0.addr int 0x0

api.platform.config.switch.0.phy.1.model text IntelRetimer
api.platform.config.switch.0.phy.1.addr int 0x1

api.platform.config.switch.0.phy.2.model text IntelRetimer
api.platform.config.switch.0.phy.2.addr int 0x2

api.platform.config.switch.0.phy.3.model text IntelRetimer
api.platform.config.switch.0.phy.3.addr int 0x3

 

 

We built our application using the libraries from IES_SDK-4.3.6-20171121.tar.gz and copied the libIntelRetimer.so (md5sum: 5f9db461f7276320023a67b58cc0ba7e) library from the SDK IES_SDK-4.3.6-20171121.tar.gz (md5sum: fe54bafb80d7bcdc5b1eb073eb5cc8ac) to the folder ../3rdparty/retimers/libraries/IntelRetimer/.
 
The following error messages were received when launching the application:
Loading fm_platform_attributes.cfg
Connect to host driver using /dev/uio0
Found netdev enp2s0 (derived from uio device /dev/uio0)
Switch #0 inserted!
mxdGetChipRevision: incorrect OUI: 0x11
mxdInitDriver: mxdGetChipRevision Failed.
ERROR:iz_ta:InitializeExternalRetimers:1119:sw=0, Unable to initialize phyNum=0 model=4
mxdGetChipRevision: incorrect OUI: 0x11
mxdInitDriver: mxdGetChipRevision Failed.
ERROR:iz_ta:InitializeExternalRetimers:1119:sw=0, Unable to initialize phyNum=1 model=4
mxdGetChipRevision: incorrect OUI: 0x11
mxdInitDriver: mxdGetChipRevision Failed.
ERROR:iz_ta:InitializeExternalRetimers:1119:sw=0, Unable to initialize phyNum=2 model=4
mxdGetChipRevision: incorrect OUI: 0x11
mxdInitDriver: mxdGetChipRevision Failed.
ERROR:iz_ta:InitializeExternalRetimers:1119:sw=0, Unable to initialize phyNum=3 model=4
Next, we inserted the debug output into the sources of IES_SDK-4.3.6-20171121:
printf("Try MDIO Read: fmPlatformMdioRead(%i, %i, %i, dev:%i, reg:0x%.04X, val:0x%.04X)\n", sw, type, addr, dev, reg, ntohs(*data));

printf("Try MDIO Write: fmPlatformMdioRead(%i, %i, %i, dev:%i, reg:0x%.04X, val:0x%.04X)\n", sw, type, addr, dev, reg, ntohs(data));
 
and after re-run we got the following errors:
 
Loading fm_platform_attributes.cfg
Connect to host driver using /dev/uio0
Found netdev enp2s0 (derived from uio device /dev/uio0)
Switch #0 inserted!
 
Try MDIO Read: fmPlatformMdioRead(0, 1, 0, dev:1, reg:0x0000, val:0x2840)
Try MDIO Read: fmPlatformMdioRead(0, 1, 0, dev:31, reg:0xF411, val:0x0010)
Try MDIO Read: fmPlatformMdioRead(0, 1, 0, dev:3, reg:0x1002, val:0x002B)
Try MDIO Read: fmPlatformMdioRead(0, 1, 0, dev:3, reg:0x1003, val:0x0B45)
mxdGetChipRevision: incorrect OUI: 0x11
mxdInitDriver: mxdGetChipRevision Failed.
ERROR:iz_ta:InitializeExternalRetimers:1119:sw=0, Unable to initialize phyNum=0 model=4

Try MDIO Read: fmPlatformMdioRead(0, 1, 1, dev:1, reg:0x0000, val:0x2840)
Try MDIO Read: fmPlatformMdioRead(0, 1, 1, dev:31, reg:0xF411, val:0x0010)
Try MDIO Read: fmPlatformMdioRead(0, 1, 1, dev:3, reg:0x1002, val:0x002B)
Try MDIO Read: fmPlatformMdioRead(0, 1, 1, dev:3, reg:0x1003, val:0x0B45)
mxdGetChipRevision: incorrect OUI: 0x11
mxdInitDriver: mxdGetChipRevision Failed.
ERROR:iz_ta:InitializeExternalRetimers:1119:sw=0, Unable to initialize phyNum=1 model=4

Try MDIO Read: fmPlatformMdioRead(0, 1, 2, dev:1, reg:0x0000, val:0x2840)
Try MDIO Read: fmPlatformMdioRead(0, 1, 2, dev:31, reg:0xF411, val:0x0010)
Try MDIO Read: fmPlatformMdioRead(0, 1, 2, dev:3, reg:0x1002, val:0x002B)
Try MDIO Read: fmPlatformMdioRead(0, 1, 2, dev:3, reg:0x1003, val:0x0B45)
mxdGetChipRevision: incorrect OUI: 0x11
mxdInitDriver: mxdGetChipRevision Failed.
ERROR:iz_ta:InitializeExternalRetimers:1119:sw=0, Unable to initialize phyNum=2 model=4

Try MDIO Read: fmPlatformMdioRead(0, 1, 3, dev:1, reg:0x0000, val:0x2840)
Try MDIO Read: fmPlatformMdioRead(0, 1, 3, dev:31, reg:0xF411, val:0x0010)
Try MDIO Read: fmPlatformMdioRead(0, 1, 3, dev:3, reg:0x1002, val:0x002B)
Try MDIO Read: fmPlatformMdioRead(0, 1, 3, dev:3, reg:0x1003, val:0x0B45)
mxdGetChipRevision: incorrect OUI: 0x11
mxdInitDriver: mxdGetChipRevision Failed.
ERROR:iz_ta:InitializeExternalRetimers:1119:sw=0, Unable to initialize phyNum=3 model=4

WARNING:iz_ta:fmInitializePhysicalInterfaces:1252:External retimers improperly initialized.
 
0 Kudos
vera_fed
Beginner
1,172 Views

Hello!
Is there anyone here?

Could you please answer? Do you need more infromation from me?
Possible we did something wrong and you know another way to initialize c827?

Or you can answer what Intel Product contains working version of libIntelRetimer.so?

0 Kudos
CarlosAM_INTEL
Moderator
1,165 Views

Hello, @vera_fed:

Thank you for contacting Intel Embedded Community.

We want to address the following questions to understand the reported situation:

Could you please clarify if the device related to this situation has been designed by you or by a third-party company?

Could you please let us know the part number, name of the manufacturer, and where to find the information related to the affected project?

Could you please list the source that you used to develop the design associated with the mentioned Ethernet Controller and if it has been verified by Intel?

We are waiting for your answer to these questions.

Best regards,

@CarlosAM_INTEL.

0 Kudos
vera_fed
Beginner
1,136 Views

Hello, @CarlosAM_INTEL


Thanks for the answer, I will address these questions to my team and will get back to you during several days

0 Kudos
CarlosAM_INTEL
Moderator
1,131 Views

Hello, @vera_fed:

Thanks for your answer.

Please let us know as soon as you have an update related to this.

Best regards,

@CarlosAM_INTEL.

0 Kudos
vera_fed
Beginner
1,098 Views

Hello, @CarlosAM_INTEL

 

Device has been designed by company "Teleplatforms" (in russian "Телеплатформы"). 

Intel FM10840 chips (works fine) and Intel Retimer C827 chips, lettering on the chip: EZC827AM T09S180.2, (doesn't work properly) are used for this. 

Official project is opened by company "Teleplatforms" in the Intel for this development, so provided by Intel documents has been used for this, in particular "Intel® Ethernet Connection C827-AM/C827-IM/XL827-AM Datasheet January 2018".

Also library libIntelRetimer.so from the Intel switch SDK IES_SDK-4.3.6 has been used for programming realization of C827, but during startup, this library throws an error regarding the wrong version of C827, stops and does not continue to run.

 

So it is needed new version of libIntelRetimer.so or another library, newer supported by Intel, which can initialized our C827 (EZC827AM T09S180.2)

 

(earlier my colleagues opened https://supporttickets.intel.com/requestdetail?id=5004U00000tbsYrQAI&lang=en-US , but support redirected us to this forum)

 

0 Kudos
CarlosAM_INTEL
Moderator
1,088 Views

Hello, @vera_fed:

Thanks for your clarification.

You should confirm with the developer of the affected design that the device that you need to use is compatible with their design.

Due to this fact, you should contact them to address your questions related to their products using the options listed as a reference on the following website:

https://teleplatforms.com/contacts/

Best regards,

@CarlosAM_INTEL.

0 Kudos
Reply