koljah-de / e1000e-dkms-debian

Intel e1000e ethernet adapter driver (DKMS version) for Debian
https://sourceforge.net/projects/e1000/
GNU General Public License v2.0
69 stars 14 forks source link

EEE settings #10

Open pclinuxer opened 3 years ago

pclinuxer commented 3 years ago

Hello:

I've managed to download/compile/install the latest Intel(R) PRO/1000 Network Driver 3.8.4-NAPI in my Linux box.

The previously installed version was 3.2.6-k. Glad to see that with this version EEE settings can (apparently) be changed.

I say apparently because both ethtool --show-eee eth0 and ethtool --set-eee eth0 eee off return: Cannot get EEE settings: Operation not supported.

But it seems that it can be set it via an e1000.conf file in /etc/modprobe.d/ with options e1000e EEE=0. ie: options e1000e SmartPowerDownEnable=0 EEE=0

But ... How do I know it is properly set as required by the *.conf file? Is there any other way to reliably query the e1000e EEE status?

I ask because when I shut down my box, I get the output you can see in this image:

3-8-4-NAPI-EEE

And although dmesg reports Smart Power Down Disabled, there is nothing reported with respect to EEE being disabled.

~$ sudo dmesg | grep e1000e
--- snip ---
[    2.132642] e1000e: loading out-of-tree module taints kernel.
[    2.200936] e1000e: module verification failed: signature and/or required key missing - tainting kernel
[    2.260723] e1000e: Intel(R) PRO/1000 Network Driver - 3.8.4-NAPI
[    2.260723] e1000e: Copyright(c) 1999 - 2020 Intel Corporation.
[    2.260926] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    2.260928] e1000e 0000:00:19.0: PHY Smart Power Down Disabled
[    2.626992] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 00:14:4f:4a:a2:81
[    2.626993] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[    2.627023] e1000e 0000:00:19.0 eth0: MAC: 7, PHY: 6, PBA No: FFFFFF-0FF
--- snip ---

Please advise.

Thanks in advance,

benleb commented 3 years ago

image

works with 3.8.7 from here

pclinuxer commented 3 years ago

Hello:

works with 3.8.7 from here

Thank you so very much for looking into this for me. 8^D I was sort of starting to lose hope.

I'll compile v 3.8.7, try it out and report back. Best, pcl

pclinuxer commented 3 years ago

Hello:

I'll compile v 3.8.7, try it out and report back.

I'm back. Unfortunately, I'm getting the same results with 3.8.7. ie: Both ethtool --show-eee eth0 and ethtool --set-eee eth0 eee off return: Cannot get EEE settings: Operation not supported.

dmesg only reports Smart Power Down Disabled, there is nothing for EEE.

groucho@devuan:~$ sudo dmesg | grep e1000e
[    2.136781] e1000e: loading out-of-tree module taints kernel.
[    2.182135] e1000e: module verification failed: signature and/or required key missing - tainting kernel
[    2.215477] e1000e: Intel(R) PRO/1000 Network Driver - 3.8.7-NAPI
[    2.226561] e1000e: Copyright(c) 1999 - 2020 Intel Corporation.
[    2.237812] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    2.260090] e1000e 0000:00:19.0: PHY Smart Power Down Disabled
[    2.599143] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 00:14:4f:4a:a2:81
[    2.599145] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[    2.599166] e1000e 0000:00:19.0 eth0: MAC: 7, PHY: 6, PBA No: FFFFFF-0FF
[   26.883869] e1000e 0000:00:19.0 eth0: NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
[   26.895995] e1000e 0000:00:19.0 eth0: 10/100 speed: disabling TSO
groucho@devuan:~$ 

I understand that I should be getting a line with either e1000e: EEE Disabled or e1000e: unknown parameter 'eee' ignored.

And when I shut down my box, I'm still getting the e1000e: EEE TX LPI TIMER: 00000000 which would suggest that the EEE timer is active and EEE not disabled.

3-8-7-NAPI-EEE

Thanks in advance.

Best,

pcl

benleb commented 3 years ago

maybe your nic does not support EEE?

pclinuxer commented 3 years ago

Hello:

maybe your nic does not support EEE?

I can't say for sure. But I have not seen anything anywhere stating that it does not support EEE. Intel is not clear about it, the specs make reference to parts that support it.

According to lspci:

~$ lspci 00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit Network Connection (rev 02)

The line in the tty1 output would imply that it does support it and that it is active up to the moment the system is going into S5.

ie: e1000e EEE TX LPI TIMER 00000000

Make sense?

Thanks for your input.

Best,

pcl

pclinuxer commented 3 years ago

maybe your nic does not support EEE?

Apparently EEE is only supported on parts 82579 and newer. As the 82566 part is older that that, it obviously does not support EEE. I had to go through a lot of lines of code in the module to come up with that data. Never seen it in any Intel manual or read.me file.

So ... If it does not support EEE, why the e1000e EEE TX LPI Timer line on shutdown?

From what I have seen and if I understand it correctly, it would seem that the e1000e module has EEE set to Enabled by default on all the devices it is used on, irrespective of the hardware supporting EEE or not. A real mess.

I'll post back when I get more information. pcl