Discussion:
[E1000-devel] Ethtool not setting pause parameters when auto-negotiation is on
Bilal Nurhusien
2012-07-20 10:01:01 UTC
Permalink
ethtool -i eth0
driver: igb
version: 3.0.6-k2
firmware-version: 3.2-3
bus-info: 0000:01:00.0
ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000003 (3)
drv probe
Link detected: yes
ethtool -a eth0
Pause parameters for eth0:
Autonegotiate: on
RX: on
TX: on
ethtool -A rx off tx off
ethtool -a eth0
Pause parameters for eth0:
Autonegotiate: on
RX: on
TX: on
ethtool -A eth0 rx off tx off autoneg off
Pause parameters for eth0:
Autonegotiate: off
RX: off
TX: off

Why am I not allowed to modify the tx and rx pause parameters when the autoneg pause parameter is on?

Also, how can I set the Advertised pause frame so that it
s tx-only or tx&rx?

Also, I am allowed to change the pause parameters when the auto-negotiated duplex is half, but not when duplex is full.

Thanks for your help,
Bilal
Bilal Nurhusien
2012-07-20 17:41:38 UTC
Permalink
Hi,

I would really appreciate your help.
ethtool -i eth0
driver: igb
version: 3.0.6-k2
firmware-version: 3.2-3
bus-info: 0000:01:00.0
ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000003 (3)
drv probe
Link detected: yes
ethtool -a eth0
Pause parameters for eth0:
Autonegotiate: on
RX: on
TX: on
ethtool -A rx off tx off
ethtool -a eth0
Pause parameters for eth0:
Autonegotiate: on
RX: on
TX: on
ethtool -A eth0 rx off tx off autoneg off
Pause parameters for eth0:
Autonegotiate: off
RX: off
TX: off

Why am I not allowed to modify the tx and rx pause parameters when the autoneg pause parameter is on?

Also, how can I set the Advertised pause frame so that it
s tx-only or tx&rx?

Also, I am allowed to change the pause parameters when the auto-negotiated duplex is half, but not when duplex is full.

Thanks for your help,
Bilal
Abodunrin, Akeem G
2012-07-20 18:07:10 UTC
Permalink
Hi Bilal,

Ethtool setting and getting pause parameters is working as designed - if you have autoneg on, and connected to another device (Link Partner) that has both RX and TX = on with its Autoneg ON, your igb-device would not allowed you to force RX and TX OFF without setting Autoneg OFF.
So, to force flow control parameters (RX, TX), you have to set autoneg to OFF.

Also, at half duplex, igb-drivers do not support flow control.

Please let me know if you have additional questions,

Regards,

Akeem G. Abodunrin
Linux Development
LAN Access Division
Intel Corporation


-----Original Message-----
From: Bilal Nurhusien [mailto:***@sfu.ca]
Sent: Friday, July 20, 2012 10:42 AM
To: e1000-***@lists.sourceforge.net
Subject: [E1000-devel] Fwd: Ethtool not setting pause parameters when auto-negotiation is on

Hi,

I would really appreciate your help.
ethtool -i eth0
driver: igb
version: 3.0.6-k2
firmware-version: 3.2-3
bus-info: 0000:01:00.0
ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000003 (3)
drv probe
Link detected: yes
ethtool -a eth0
Pause parameters for eth0:
Autonegotiate: on
RX: on
TX: on
ethtool -A rx off tx off
ethtool -a eth0
Pause parameters for eth0:
Autonegotiate: on
RX: on
TX: on
ethtool -A eth0 rx off tx off autoneg off
Pause parameters for eth0:
Autonegotiate: off
RX: off
TX: off

Why am I not allowed to modify the tx and rx pause parameters when the autoneg pause parameter is on?

Also, how can I set the Advertised pause frame so that it s tx-only or tx&rx?

Also, I am allowed to change the pause parameters when the auto-negotiated duplex is half, but not when duplex is full.

Thanks for your help,
Bilal

Loading...