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

disable auto negotiation on I217-LM under linux

ajb
Beginner
3,318 Views

How do I set the Main setup option Word 0x30 FSD to 1000Mb full duplex.  My BIOS doesn't support this directly.  Is it possible with bootutil?

 

Thank you.

0 Kudos
21 Replies
Mike_Intel
Moderator
3,065 Views

Hello ajb,

 

Thank you for posting in Intel Ethernet Communities. 

 

Before we proceed, let me gather the following details:

 

  1. Are you using an onboard I217-LM?
  2. What is the brand an model of your board?
  3. Have you tried updating the drivers? If yes, can you share the link of your latest driver?

 

 

If you have questions, please let us know. In case we do not hear from you, we will make a follow up after 3 workings days. Thank you.

 

Best regards,

Michael L.

Intel® Customer Support Technician

 

0 Kudos
ajb
Beginner
3,058 Views

Hello,

The device is built into an IEI SBC Model WSB-H810.  It contains both an I217-LM and an I211-AT.

I am PXE booting this unit so would require the onboard flash to power-up with auto negotiation off.  The Ctl-S features from the BIOS only allows access to PT DSM and LWS in word 0x30.  I need to set FSD in that word to 111b to enable 1000Mb/s Full duplex.  This is required by a limitation of the switch I am connecting to.

ethtool -i returns:

driver: igb

version: 5.6.0-k

firmware version: 0. 4-1

FYI. I have already enabled the retry bit  via "bootutil -MODE"

Thank you.

0 Kudos
Mike_Intel
Moderator
3,021 Views

Hello ajb,


Can you try the following steps:


To enable or disable auto-negotiation:

 

# ethtool -s <ethX> autoneg <on|off>

 

Then to set the speed and auto-negotiation setting....

 

The ethtool –s command can be used to change the current settings by defining the values for “speed,” “duplex,” and “autoneg” in the following format

 

sudo ethtool –s [device_name] speed [10/100/1000] duplex [half/full] autoneg [on/off]

 

Example: Set the speed at 1000Mb/s, the duplex mode to ‘full’ and the auto-negotiation to ‘on’ the command would be:

 

sudo ethtool –s enp0s3 speed 1000 duplex full autoneg on

 

The ethtool [device_name] command can be used to confirm that the changes have been applied.


If you have questions, please let us know. In case we do not hear from you, we will make a follow up after 3 workings days. Thank you.


Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
ajb
Beginner
3,015 Views

This machine is being PXE booted and does not have an OS loaded so the NIC needs to have its flash programmed first to make this change permanent prior to booting.

0 Kudos
Mike_Intel
Moderator
3,007 Views

Hello ajb,


Thank you for the clarifications and the additional information that you just provided for us to understand the environment and your end goal. Let me further check this issue and get back to you once I found something. Please give us 2 to 3 working days to provide an update.



Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
Mike_Intel
Moderator
2,965 Views

Hello ajb,


You may try these steps below:


  1. Log in as root. The command prompt appears.
  2. At the command prompt type ethtool -s ethx autoneg off speed 1000 duplex full, where ethx is the name of your network device, and then press <Enter>.
  3. Ethtool displays any output results and returns to a command prompt.

 

Just an additional information: Auto-Negotiation is preferred. Forcing link can result in a speed-duplex mismatch. This is common when one device is set to forced and its link partner is set as Auto-Negotiate. In addition, some

speeds cannot be forced.


If you have questions, please let us know. In case we do not hear from you, we will make a follow up after 3 workings days. Thank you.

 

Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
ajb
Beginner
2,959 Views

Michael,

Should I expect these values to remain set after a reboot?

Thank you,

Alan

0 Kudos
Mike_Intel
Moderator
2,955 Views

Hello ajb,


Is it resetting after reboot? Have you tried the commands? How was it?

If you are having issues after trying the commands, can you share some screenshots before and after the commands was entered.


If you have questions, please let us know. In case we do not hear from you, we will make a follow up after 3 workings days. Thank you.

 

Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
ajb
Beginner
2,957 Views

Hi Michael,

Here is the ethtool output as requested.

 

[root@localhost ~]# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes


[root@localhost ~]# ifdown eth0
Connection 'System eth0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)


[root@localhost ~]# ethtool -s eth0 autoneg off speed 1000 duplex full


[root@localhost ~]# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes


[root@localhost ~]# ifup eth0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
[root@localhost ~]# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
[root@localhost ~]#

0 Kudos
Mike_Intel
Moderator
2,908 Views

Hello ajb,


Thank you for providing the ethtool output.


However, just to confirm. Are you getting the settings "speed 1000 duplex full" every reboot?

And are you also getting the actual speed that you set on every reboot?


If you have questions, please let us know. In case we do not hear from you, we will make a follow up after 3 workings days. Thank you.

 

Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
ajb
Beginner
2,905 Views

The default setting is 1000 full duplex auto-negotiation on.  Any other setting does not remain after a reboot.

0 Kudos
Mike_Intel
Moderator
2,875 Views

Hello ajb,


Okay, and what is the settings that you want to set?


If you have questions, please let us know. In case we do not hear from you, we will make a follow up after 3 workings days. Thank you.

 

Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
ajb
Beginner
2,868 Views

Trying to set 1000 full duplex auto-negotiation off.  No operating system as this is a PXE boot.

I217-LM <-- copper --> MEDIA CONVERTER <-- Fiber --> SWITCH

The switch doesn't support auto-negotiation.

0 Kudos
Mike_Intel
Moderator
2,829 Views

Hello ajb,


Thank you for the clarification. Let me check this issue again and get back to you as soon as I have an update.

Please give us another 2 to 3 business days to provide an update on this.



 

Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
Mike_Intel
Moderator
2,803 Views

Hello ajb,


Thank you for patiently waiting for our update and here is our latest update for this thread.


Please note that changes made with Ethtool are by default reverted after a system is re-booted.

 

To Permanently Set Ethtool Command Settings please perform the following:

 

1) To apply custom settings each time a system boots edit the file for the device interface:

vi /etc/sysconfig/network-scripts/ifcfg-[device_name]

 

2) Add the desired values as a line at the end of the file using the following syntax:

ETHTOOL_OPTS="speed [100|1000|10000] duplex [half|full] autoneg [on|off]”

 

For example:

ETHTOOL_OPTS="speed 1000 duplex full autoneg off”

 

3) Save the changes and exit the file.

 

Changes should now be applied after every reboot and are permanent unless changed in the file.

 

Note: Make sure the switch is set with the same duplex settings. The settings at the switch must always match the adapter settings. If the switch does not support auto negotiation then this is likely the issue.


If you have questions, please let us know. In case we do not hear from you, we will make a follow up after 3 workings days.


Thank you.

 

Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
ajb
Beginner
2,771 Views

Michael,

Thanks for your suggestion but this machine is PXE booting.  It has no drive storage.  I was looking for a solution to program the flash memory.  Intel's Boot Agent Application Notes documentation indicates setup word 0x30 contains a structure to include a FSD element enabling this feature.  Setting Bits 12:10 to 111b enables 1000 Mb/s full duplex auto-negotiation off.  I was looking for a method to flash these bits.

0 Kudos
Mike_Intel
Moderator
2,761 Views

Hello ajb,


Okay, for us to address your exact inquiry, What flash memory would you like to edit? Can you be more specific, which flash memory of what particular hardware?


Can you also direct us to the Intel Boot application Note and what page? Please share the link.


If you have questions, please let us know. In case we do not hear from you, we will make a follow up after 3 workings days.


Thank you.

 

Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
Mike_Intel
Moderator
2,731 Views

Hello ajb,


I hope you are having a good day. I just want to make a follow up on the information that we requested for us to

further assist you.


If you have questions, please let us know. In case we do not hear from you, we will make a follow up after 3 workings days.


Thank you.

 

Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
Mike_Intel
Moderator
2,664 Views

Hello ajb,


Upon further checking of your inquiry, we have specific forum for these issues and I will be transferring this thread for faster response and to address your specific inquiry better.


Thank you.

 

Best regards,

Michael L.

Intel® Customer Support Technician


0 Kudos
Adolfo_S_Intel
Moderator
2,578 Views

Hello @ajb 

In summary, your question at this moment is for a way to write to the Internal Memory of the I217 device, or does your board includes an external flash memory for the I217?

 

BR,

Adolfo S.

0 Kudos
Reply