We are using an 82599 part with a Haswell processor. We are using
the part in 10G XAUI mode connected to a Marvell switch. The part
sends data to the switch and reports link up. However, the part never
receives any data or gets any errors. Counters in the Marvell
switch show that data is being sent to the 82599. Getting linkup
implies to me that the 82599 is recognizing the idle pattern sent by
the Marvell switch. So why does it not receive data? With other
devices, we have found that a poorly performing link can result
in getting link up, but errors occur with data transfers, but here
we get no errors and no data. The connections between the
Marvell switch and the 82599 are less than 2 inches long and
are 100 Ohm differential pairs. We have other, longer connections
to different ports on the Marvell switch operating in XAUI mode
to other devices. We have used this same port on the Marvell
switch in XAUI mode on other designs, so we know the port on
the switch is correctly set up for XAUI operation.
Hello PVWB ,
Thank you for contacting the Intel Embedded Community.
We suggest you review that your implementation is unaffected by the erratum 55. This information can be found on pages 48 and 49 of the http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/82599-10-gbe-contr... Intel(R) 82599 10 GbE Controller Specification Update.
Also, please review the information of the Specification Clarifications section, specifically the seventh point on page 17 of the listed Specification Update.
We hope that this information may help you.
We didn't see increments in the ILLERRC or ERRBC registers either,
we just saw transmission counts increase.
Is it possible that the EEPROM files turn on Rx lane swapping or
polarity swapping? It's wierd that we get link up but no data or errors
at all. The differential traces are only about 2" (50mm) long. We
have had XAUI work with other parts over much longer distances than this.
We found we had the polarity swapped on one of the lanes by
mistake. This can be corrected by setting a bit in the Marvell switch.
We now get data transfer in both directions. Marvell told us the
either polarity swaps or lane swaps result in this symptom of
link-up but no data transfers occur.