Reduce power consumption with powertop


Recommended Posts

On 1/8/2024 at 10:22 AM, mgutt said:

No, because the virtualization itself has an impact on idle load, even if the machine does nothing. I read about custom settings in the xml vm config files to reduce this load, but never tested them by myself. Here is an example:

 

 

But even Docker containers can have an impact on load / c-states. For example a Minecraft server kills all my c-states. Or some people reported loosing c-states after passing through a Zigbee USB Stick to a HA container, but this does not happen for me, so it is maybe depended on the used motherboard?!

 

But then, if you don't have docker containers, nothing installed, not array started, high c states should be mantained (so, increasing their percentages values)? If they should, in my case only get's 48% of the time.

On 12/20/2023 at 1:46 AM, vmasip said:

By the way,I never see c8 state going beyond >42% everytime I open powertop. As time pass by at this state, shouldn't it increase? Maybe powertop stops refreshing too.

 

 

Maybe the powertop is not refreshing?

 

 

Edited by vmasip
Link to comment

Hello all. Im try to find the reason why I don´t come over C3. 

 

In the current Ubuntu Live USB (ubuntu-22.04.3-desktop-amd64 ) my system goes to C8 and once HDMI plugged out C10.

 

Can you help me ?

My System is:

  • ASUS MB PRO H610T -CSM
  • Intel i3 12100
  • Crucial RAM CT32G4SFD832A 32GB DDR4 3200MHz
  • LEICKE ULL 19V 6,32A/6,3A 120W 
  • Transcend 32GB JetFlash 780  TS32GJF780 (Bootstick)
  • No HDD at the moment
  • Unraid 6.12.6

 

Thanks

Sascha

image.thumb.png.aa89f0f161ce8227871cee7046636aaf.png

image.thumb.png.996f227e19ed4e0462deed1e19543563.png

Edited by de-sascha
Link to comment

@de-sascha please use script to enable ASPM on PCI devices. Because powertop --auto-tune from some reason doesn't do that.

https://github.com/Mechitworks/Linuxscripts/blob/main/H610-ASPM.bash

please read it carefully and you need to set correct values for variables:

ROOT_COMPLEX=
ENDPOINT=

 

and what is your output of:

lspci -vvPPDq | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:./]+|:\sASPM (\w+)? ?((En|Dis)abled)?)';

?

Edited by bagican
Link to comment

I enabled all related setting in the BIOS related to C Stated and ASPM from Page 1. But I'm not sure is in the unraid OS beside powertop --auto-tune needs to be done. Here I'm really new with this unraid OS. The only diff I can see ist the Kernel Versions from the Ubuntu and Unraid. Hence my idea was this may come from the kernel. 

 

Did some check if ASPM Enabled:

root@Tower:~# lspci -vv | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:.]+|ASPM )'
00:1c.0 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #1 (rev 11) (prog-if 00 [Normal decode])
		LnkCap:	Port #1, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk-
00:1c.2 PCI bridge: Intel Corporation Device 7aba (rev 11) (prog-if 00 [Normal decode])
		LnkCap:	Port #3, Speed 8GT/s, Width x1, ASPM L1, Exit Latency L1 <64us
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+

 



Thanks @bagican i need to look on and come back. 

Thanks guys for the support. Really very helpful. 

Edited by de-sascha
Link to comment

Based on my lspci output, Root_Complex and Endpoint is than like this?

 

root@Tower:~# lspci -t
-[0000:00]-+-00.0
           +-02.0
           +-0a.0
           +-0e.0
           +-14.0
           +-14.2
           +-15.0
           +-16.0
           +-17.0
           +-1c.0-[01]--
           +-1c.2-[02]----00.0
           +-1f.0
           +-1f.4
           \-1f.5

 

ROOT_COMPLEX=00:1c.2

ENDPOINT=02:00.0

Edited by de-sascha
Link to comment

Is the only thin I need to change in the script  and run it? This is what I understood from the documentation. 
Do I need a reboot to see results? 
What I also not understand, why do we need to run this script if lspci -vvPPDq shows ASPM enabled?
 

# You just need to modify these three values:

 

#ROOT_COMPLEX="00:1c.1"

ROOT_COMPLEX="00:1c.0" ---- (Intel Corporation Alder Lake-S PCH PCI Express Root Port)

ROOT_COMPLEX="00:1c.2" ---- ( Intel Corporation Device 7aba)

#ENDPOINT="03:00.0"

#ENDPOINT="05:00.0"

ENDPOINT="02:00.0" ---- (Ethernet controller: Realtek Semiconductor)

 

root@Tower:~# lspci -vvPPDq | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:./]+|:\sASPM (\w+)? ?((En|Dis)abled)?)';
0000:00:1c.0 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #1 (rev 11) (prog-if 00 [Normal decode])
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk-
0000:00:1c.2 PCI bridge: Intel Corporation Device 7aba (rev 11) (prog-if 00 [Normal decode])
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.2/02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+

 

Edited by de-sascha
Link to comment
On 12/20/2023 at 1:46 AM, vmasip said:

By the way,I never see c8 state going beyond >42% everytime I open powertop. As time pass by at this state, shouldn't it increase? Maybe powertop stops refreshing too.

 

I reach c8 state with hdmi connected. In fact, what I have to disconnect is ethernet because of a kernel bug.

 

But could you or anyone provide me some light to this issue?

On 1/10/2024 at 10:05 AM, vmasip said:

But then, if you don't have docker containers, nothing installed, not array started, high c states should be mantained (so, increasing their percentages values)? If they should, in my case only get's 48% of the time.

 

Doing nothing, is 48% of the time desirable or should be ~99% if user is doing literally nothing? Is powertop still refreshing or maybe is frozen and I can't see new values?

 

So for me is relevant an answer which also asked @dopeytree

On 12/14/2023 at 8:20 PM, dopeytree said:

Is there a simple way to track C states over time?

 

And please, could anyone answer me:

ASPM is set enabled for ASM1166, with ssd sata connected. And c8 is achieved. Can we already say that asm1166 firmware is enough?

 

Link to comment
6 hours ago, mgutt said:

And what did you do by now to reach better c-states?


I enables this BIOS settings, as my best knowledge I learned here in this Thread. 
Is this enough? Or did I missed something?

 

Also set the values in /boot/config/go like:
 

root@Tower:~# cat /boot/config/go
#!/bin/bash
# Start the Management Utility
/usr/local/sbin/emhttp &

# -------------------------------------------------
# Set power-efficient CPU governor
# -------------------------------------------------
/etc/rc.d/rc.cpufreq powersave

# -------------------------------------------------
# Disable CPU Turbo
# -------------------------------------------------
[[ -f /sys/devices/system/cpu/intel_pstate/no_turbo ]] && echo "1" > /sys/devices/system/cpu/intel_pstate/no_turbo
[[ -f /sys/devices/system/cpu/cpufreq/boost ]] && echo "0" > /sys/devices/system/cpu/cpufreq/boost

# -------------------------------------------------
# Enable power-efficient ethernet
# -------------------------------------------------

# enable IEEE 802.3az (Energy Efficient Ethernet): Could be incompatible to LACP bonds!
for i in /sys/class/net/eth?; do dev=$(basename $i); [[ $(echo $(ethtool --show-eee $dev 2> /dev/null) | grep -c "Supported EEE link modes: 1") -eq 1 ]] && ethtool --set-eee $dev eee on; done

# Disable wake on lan
for i in /sys/class/net/eth?; do ethtool -s  $(basename $i) wol d; done

# -------------------------------------------------
# powertop tweaks
# -------------------------------------------------

# VM writeback timeout
for i in /proc/sys/vm/dirty_writeback_centisecs; do
    echo '1500' > $i
done

# Enable SATA link power management
echo med_power_with_dipm | tee /sys/class/scsi_host/host*/link_power_management_policy

# Runtime PM for I2C Adapter (i915 gmbus dpb)
echo auto | tee /sys/bus/i2c/devices/i2c-*/device/power/control

# Autosuspend for USB device
echo auto | tee /sys/bus/usb/devices/*/power/control

# Runtime PM for disk
echo auto | tee /sys/block/sd*/device/power/control

# Runtime PM for PCI devices
echo auto | tee /sys/bus/pci/devices/????:??:??.?/power/control

# Runtime PM for ATA devices
echo auto | tee /sys/bus/pci/devices/????:??:??.?/ata*/power/control



Thanks

Sascha

IMG_4094.jpg

IMG_4093.jpg

IMG_4092.jpg

IMG_4091.jpg

IMG_4090.jpg

IMG_4089.jpg

Edited by de-sascha
  • Like 1
Link to comment

What would be my ROOT_COMPLEX & ENDPOINT's?

 

ROOT_COMPLEX= 00:01.0 # (pcie bridge)

ENDPOINT= 02:00.0 # (LSI card)

 

Also how are folks running the ASPM script? User scripts? Do you run it once or are you somehow adding it to the go file? https://github.com/Mechitworks/Linuxscripts/blob/main/H610-ASPM.bash

 

Thanks

 

 

 

1900339118_Screenshot2024-01-12at19_03_25.thumb.png.e93d5e3fe08564d2216b55a3a43dc46d.png

root@Moulin-rouge:~# lspci -vvPPDq | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:./]+|:\sASPM (\w+)? ?((En|Dis)abled)?)';
0000:00:01.0 PCI bridge: Intel Corporation Device 4c01 (prog-if 00 [Normal decode])
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
0000:00:06.0 PCI bridge: Intel Corporation Device 4c09 (prog-if 00 [Normal decode])
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.0 PCI bridge: Intel Corporation Tiger Lake-H PCIe Root Port #1 (rev 11) (prog-if 00 [Normal decode])
                LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk-
0000:00:1c.4 PCI bridge: Intel Corporation Tiger Lake-H PCI Express Root Port #5 (rev 11) (prog-if 00 [Normal decode])
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.6 PCI bridge: Intel Corporation Device 43be (rev 11) (prog-if 00 [Normal decode])
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1d.0 PCI bridge: Intel Corporation Tiger Lake-H PCI Express Root Port #9 (rev 11) (prog-if 00 [Normal decode])
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:01.0/02:00.0 Serial Attached SCSI controller: Broadcom / LSI SAS3008 PCI-Express Fusion-MPT SAS-3 (rev 02)
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
0000:00:06.0/03:00.0 Non-Volatile memory controller: Phison Electronics Corporation E18 PCIe4 NVMe Controller (rev 01) (prog-if 02 [NVM Express])
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.4/05:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.6/06:00.0 Network controller: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz (rev 1a)
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1d.0/07:00.0 Non-Volatile memory controller: Phison Electronics Corporation E12 NVMe Controller (rev 01) (prog-if 02 [NVM Express])
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
Edited by dopeytree
Link to comment
17 hours ago, de-sascha said:

I enables this BIOS settings, as my best knowledge I learned here in this Thread

Ok and those weren't changed between Ubuntu and unRAID? Than please compare with both OS the asmp states as mentioned in the last posts. Probably Ubuntu uses a better driver for one of your PCIe devices. This is a known issue:

 

 

 

 

Link to comment
15 hours ago, mgutt said:

Ok and those weren't changed between Ubuntu and unRAID? Than please compare with both OS the asmp states as mentioned in the last posts. Probably Ubuntu uses a better driver for one of your PCIe devices. This is a known issue:

 

@mgutt

Thanks for helping out, seems like we normally can speak german, have the impression may you are a lokal 😃

But now I started the issue in english, also fine. 

I am not a deep linux guy but I put some commands into a shell script 
to run the exact code on unraid and ubuntu. Commands and Script in the code. 

I attached a really long file and may I can help to bring light into the tunnel. 

Once I boot Ubuntu from Livestick and installed powertop but NOT execute --auto-tune the Poerstate is C2 with approx. 15 Watt
Once --auto-tune done I reach in Ubuntu C10 with 5 Watt.

But now the confusing part: 

lspci -vvPPDq | awk '/ASPM/{print \$0}' RS= | grep --color -P '(^[a-z0-9:./]+|:\sASPM (\w+)? ?((En|Dis)abled)?)'

delivers the same ASPM output no matter if powertop tuned or not. 



See:

Before and after powertop tuned:
 

BEFORE --auto-tune:

OS and Kernel Information
---------------------------------------------------
Operating System: GNU/Linux
Kernel Version: 6.2.0-26-generic


Executing command: lspci -vvPPDq | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:./]+|:\sASPM (\w+)? ?((En|Dis)abled)?)'
---------------------------------------------------
0000:00:1c.0 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #1 (rev 11) (prog-if 00 [Normal decode])
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk-
0000:00:1c.2 PCI bridge: Intel Corporation Device 7aba (rev 11) (prog-if 00 [Normal decode])
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.2/02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
		
After --auto-tune:

OS and Kernel Information
---------------------------------------------------
Operating System: GNU/Linux
Kernel Version: 6.2.0-26-generic


Executing command: lspci -vvPPDq | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:./]+|:\sASPM (\w+)? ?((En|Dis)abled)?)'
---------------------------------------------------
0000:00:1c.0 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #1 (rev 11) (prog-if 00 [Normal decode])
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk-
0000:00:1c.2 PCI bridge: Intel Corporation Device 7aba (rev 11) (prog-if 00 [Normal decode])
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.2/02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+


 


# Kernel Version
uname -r

# lspci command with specific formatting
lspci -vvPPDq | awk '/ASPM/{print \$0}' RS= | grep --color -P '(^[a-z0-9:./]+|:\sASPM (\w+)? ?((En|Dis)abled)?)'

# Reading CPU scaling governor for each CPU
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

# Reading SCSI host link power management policy
cat /sys/class/scsi_host/host*/link_power_management_policy

# Reading PCIe ASPM policy
cat /sys/module/pcie_aspm/parameters/policy"

# List installed drivers using lsmod
lsmod

# List PCI devices and their kernel drivers
lspci -k

# Display kernel message buffer with dmesg
execute_and_log "dmesg | tail -n 100"

 

#!/bin/bash

# Define the log file location
LOGFILE="command_output.log"

# Function to check if sudo is required and available
check_sudo() {
    if sudo -n true 2>/dev/null; then
        SUDO="sudo"
    else
        SUDO=""
    fi
}

# Check if the log file exists and delete it if it does
if [ -f "$LOGFILE" ]; then
    rm $LOGFILE
fi

# Check if sudo is required
check_sudo

# Function to echo, execute a command, and log its output
execute_and_log() {
    # Echoing the command to the console and log file
    echo "Executing command: $1" | tee -a $LOGFILE
    echo "---------------------------------------------------" | tee -a $LOGFILE

    # Executing the command and appending output to log file
    eval $SUDO $1 | tee -a $LOGFILE

    # Adding a newline for better separation of commands
    echo -e "\n" | tee -a $LOGFILE
}

# Print and log OS and Kernel version
echo "OS and Kernel Information" | tee -a $LOGFILE
echo "---------------------------------------------------" | tee -a $LOGFILE
echo "Operating System: $(uname -o)" | tee -a $LOGFILE
echo "Kernel Version: $(uname -r)" | tee -a $LOGFILE
echo -e "\n" | tee -a $LOGFILE

# lspci command with specific formatting
execute_and_log "lspci -vvPPDq | awk '/ASPM/{print \$0}' RS= | grep --color -P '(^[a-z0-9:./]+|:\sASPM (\w+)? ?((En|Dis)abled)?)'"

# Reading CPU scaling governor for each CPU
execute_and_log "cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor"

# Reading SCSI host link power management policy
execute_and_log "cat /sys/class/scsi_host/host*/link_power_management_policy"

# Reading PCIe ASPM policy
execute_and_log "cat /sys/module/pcie_aspm/parameters/policy"

# List installed drivers using lsmod
execute_and_log "lsmod"

# List PCI devices and their kernel drivers
execute_and_log "lspci -k"

# Display kernel message buffer with dmesg
execute_and_log "dmesg | tail -n 100"

# Final message
echo "All commands executed and logged in $LOGFILE."




 

 

 

15 hours ago, mgutt said:

 

 

 

 

aspm compare ubuntu unraid.txt

Edited by de-sascha
Link to comment

Thanks @dopeytree

 

I changed it with the python script.  But for me nothing changed still no ASPM enabled in dmesg. Strange 🤔
Is this something in Unraid themselve that this is not supported?
 

root_complex = "00:1c.2"

endpoint = "02:00.0"

 

root@Tower:~# dmesg | grep ASPM
[    0.186221] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
[    0.348829] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
[    0.350546] acpi PNP0A08:00: FADT indicates ASPM is unsupported, using BIOS configuration
[    7.100918] r8169 0000:02:00.0: can't disable ASPM; OS doesn't have ASPM control

 

root@Tower:~# python3 aspm.py
00:1c.2 PCI bridge: Intel Corporation Device 7aba (rev 11)
0x34 points to 0x40
Value at 0x40 is 0x10
Found the byte at: 0x40
Adding 0x10 to the register...
Final register reads: 0x42
Byte to patch: 0x50
Byte is set to 0x42
-> ASPM_L1_ONLY
Value doesn't match the one we want, setting it!
Byte is set to 0x43
-> ASPM_L1_AND_L0s
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
0x34 points to 0x40
Value at 0x40 is 0x1
Value is not 0x10!
Reading the next byte...
0x41 points to 0x50
Value at 0x50 is 0x5
Value is not 0x10!
Reading the next byte...
0x51 points to 0x70
Value at 0x70 is 0x10
Found the byte at: 0x70
Adding 0x10 to the register...
Final register reads: 0x42
Byte to patch: 0x80
Byte is set to 0x42
-> ASPM_L1_ONLY
Value doesn't match the one we want, setting it!
Byte is set to 0x43
-> ASPM_L1_AND_L0s



 

root@Tower:~# dmesg | grep ASPM
[    0.186221] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
[    0.348829] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
[    0.350546] acpi PNP0A08:00: FADT indicates ASPM is unsupported, using BIOS configuration
[    7.100918] r8169 0000:02:00.0: can't disable ASPM; OS doesn't have ASPM control

 

Link to comment

Hi good point with the BIOS but i am current running the news one. But I also try to downgrade the picture is the same. It make no difference if I enable or disable native APSM in BIOS. System stock on C3 even all devices disconnected like HDMI and Keyboard and Mouse.  

 

Pro H610T D4 BIOS 3010

BIOS Native ASPM = enabled (controlled by OS)

Befor execute aspm.py

root@Tower:~# dmesg | grep ASPM
[    0.348880] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
root@Tower:~#



root@Tower:~# lspci -vvPPDq | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:./]+|:\sASPM (\w+)? ?((En|Dis)abled)?)';
0000:00:1c.0 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #1 (rev 11) (prog-if 00 [Normal decode])
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk-
0000:00:1c.2 PCI bridge: Intel Corporation Device 7aba (rev 11) (prog-if 00 [Normal decode])
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.2/02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+


After execute aspm.py


root@Tower:~# dmesg | grep ASPM
[    0.348880] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]


root@Tower:~# lspci -vvPPDq | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:./]+|:\sASPM (\w+)? ?((En|Dis)abled)?)';
0000:00:1c.0 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #1 (rev 11) (prog-if 00 [Normal decode])
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk-
0000:00:1c.2 PCI bridge: Intel Corporation Device 7aba (rev 11) (prog-if 00 [Normal decode])
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
0000:00:1c.2/02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+
		

 

Edited by de-sascha
Link to comment

Okay I tried to isolate the issue. I'm thinking this come from the Realtek NIC from the Pro H610T D4 Board. 
I disabled the NIC in the BIOS and after powertop --auto-tune i reach C8. After disconnecting HDMI and wait some time --> C10

 

But I have no Idea how to Fix. Does some of you have ideas?
I tried to find the difference  in driver and firmware so I compare  ubuntu live stick with unraid via ethtool. But I don´t see a difference only the Kernel version. 
 

root@Tower:~# ethtool -i eth0
driver: r8169
version: 6.1.64-Unraid
firmware-version: rtl8168h-2_0.0.2 02/26/15
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
root@Tower:~#

ubuntu@ubuntu:~$ sudo ethtool -i enp2s0
driver: r8169
version: 6.2.0-26-generic
firmware-version: rtl8168h-2_0.0.2 02/26/15
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
ubuntu@ubuntu:~$




Thanks 

IMG_4143.JPG

Edited by de-sascha
  • Upvote 1
Link to comment

Hey all,

 

thank you mgutt for your guide!

 

System:

I3 12100

Asus B760 ITX MB

2x NVME WD Red NVME

3x WD Red 6 TB

32 GB Corsair Venegance

650W Corsair NT

 

I got similar issue whit my 2,5 GBit Intel NIC. If the Networkcable is attached my system won't reach anything lower then C2/C3.

After adding the Script to reduce the Power consumption, the System gets unstable if the Networkcable isn't attached

(just for testing purpose)

 

Actually i got a support Ticket open at the Asus Support Website but it doesn't look good they say the behavior is normal that the Network-Chip prevent higher C-States.

 

Greetings 

JT

Edited by FlowDE
Link to comment

Had a moment of boredom the other day and decided to swap the M.2 NVME drive and SATA adapters in my build... the NVME drive is where docker and such live including Home Assistant so it never gets to "spin down" state; SATA drives on the adapter is cache and file-share requiring good read/write performance. I'd had the drive in the slot on CPU lanes and moved it to chipset.

On average it seems to have changed nothing, perhaps half a watt higher mean consumption, but I have now seen overnight lows reach about 1W lower than previous on just a couple rare occasions. Nothing conclusive. Chipset temps seem slightly higher so my guess at the moment is it's leading to higher fan speeds; the new lows may be tied to the temperature outside (and therefore inside overnight) reaching particularly chilly levels (-10°F/-23°C). I'll probably go swap 'em back today to see if fan speeds change (temps are going to be the same for the next couple days).

I also tried disabling the on-board LAN ports and... there doesn't seem to be a setting to do that anywhere. I can probably still save a bit leaving them unused, we'll see. I was left frustrated on this particular chase so gave it up for now. Not sure it's worth it.

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.