Looking for some help/inputs in sorting this issue. Basically trying to force 1000Mb/s with the intel i210 nic using the ethtool utility. command was "ethtool -s eth5 speed 1000 duplex full autoneg off". Ensured that link partner is capable of 1000Mb/s and using the cat5e cable. It works fine for 100Mb/s. With the default code, it was NOT working and when I collect the ethtool statistics ; it shows speed/duplex as "unknown".
Later tweaked the kernel (3.12 - igb driver) code in the below sequence by configuring these registers with the below values .
E1000_82580_PHY_POWER_MGMT (0x0E14) -> 0x00000000
E1000_CTRL_EXT (0x0018) -> 0x10000000
PHY Register 0 -> 0x4140
PHY Register 9 -> 0x1e00
PHY Register 16 -> 0x5f70
mac->forced_speed_duplex = ADVERTISE_1000_FULL;
reset link/reset adapters
Looking for some input on validating the above sequence !!! With the above sequence., even when 1000Mb/s was forced it was at 10Mb/s. As per datasheet, Link speeds are influenced by Power states. But I believe, PHY power management register as shown above was configured with right value (set "disable 1000 in nonD0 states" - 0). Please let me know , if there are other areas (other than power management) that I need to look into which is preventing 1000Mb/S speed.
And below is the output of important registers .
DEVICE STATUS REGISTER(8) - 280303
EXTENDED DEVICE CONTROL REGISTER(18) - 10000000
INTERNAL PHY CONFIGURATION REGISTER(e38) - d
PHY POWER MANAGEMENT REGISTER(e14) - 10
PCS LINK STATUS REGISTER(420c) - 40000d
PAGE 0: REGISTER 0 - 100
PAGE 0: REGISTER 1 - 794d
PAGE 0: REGISTER 2 - 141
PAGE 0: REGISTER 3 - c00
PAGE 0: REGISTER 4 - de1
PAGE 0: REGISTER 5 - 0
PAGE 0: REGISTER 6 - 4
PAGE 0: REGISTER 7 - 2001
PAGE 0: REGISTER 8 - 0
PAGE 0: REGISTER 9 - 1e00
PAGE 0: REGISTER 10 - 0
PAGE 0: REGISTER 13 - 3
PAGE 0: REGISTER 14 - 0
PAGE 0: REGISTER 15 - 3000
<span style="font-size: 12pt; font-family: calibr...
Can you try execute the command separately?
ethtool -s eth5 autoneg off
ethtool -s eth5 speed 1000 duplex full
Or another way is to use Linux command:
modprobe e1000 AutoNeg=0x020 (Restricts autonegotiation to 1000 Full)
Please make sure the switch has the same setting, gigabit speed and autonego off
Hello wb, Kesav,
Is the i210 issue resolved ? I mean, Is it possible to disable auto negotiation in i210 ?
Or does it require eeprom programming ?
We noticed that it takes about ~8seconds till i210 returns ping. We think it is related to auto negotiation issue,
Could you update here on the resolution on this issue? we too have almost similar issue, still trying to resolve it. Appreciate your reply on this.
We have got I210 working with a customized driver on our product.
However, the ports are functional for 10MB Half/Full Duplex and 100 MB half/full duplex, unable to get it working for 1000 MB. Any idea what is going wrong here?
- We are using a CAT5e cable (8 core or 4 pair)
- Used Flash image: Dev_Start_I210_Copper_NOMNG_4Mb_A2_3.25_0.03.hex
- Test is done between a laptop and this I210 Eth port. Laptop is cable of 1GB and is put into Auto negotiation.
- Like #3, this I210 port is tested with a 10/100/1000 MB switch as well, works with 10/100 MB, but does not work for 1000 MB
Appreciate your support to get some leads on finding the root cause and possible fix.