We have just brought up a board with an 82576, and followed the datasheet and reference schematics very carefully.
We programmed the EEPROM using eeupdate, cloning an Intel E1G42ET board which uses the same chip.
PCIe works flawlessly with 4 lanes from PEG, windows and linux device drivers find the chip and talk to it properly.
However, both ports only run at 10 MBit/sec. When a cable is plugged in the autonegotiation takes about 8 seconds, and comes up in 10 MBit mode. It works fine, we can saturate the 10 MBit connection, but we are obviously looking for Gigabit.
We have verified the following:
25 MHz oscillator input (1.2 V at chip, 50 ppm, used 0.9 pF active probe), added capacitor using suggested formula
Proper wiring and routing of the pairs
Proper magnetics selection and performance
Correct settings in the EEPROM to enable gigabit
Forcing either port to gigabit does not work.
Linux ethtool -t offline shows 13 failures on internal loopback, which points to the oscillator, but again, it looks correct.
We will proceed with eye diagram on the gigabit ports next.
Question: What is the most likely reason for both ports to fail to come up in 100 or 1000 Mbps?
Just for the record, we got everything working.
Answer: The SERDES SER_RCOMP 1.4k resistor was left off (even though this is not used by the PHY).
The reference design has it, but we missed it.