Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Reduce power consumption with powertop

Featured Replies

Out of interest what is your idle cpu with boost disabled?

My 11900t is 800mhz - 11000mhz so too slow for lots of things.

Currently using turbo boost on schedule via the tips & tweaks plugin.

  • Replies 1.2k
  • Views 643.5k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • genesisdoeswhatnintendont
    genesisdoeswhatnintendont

    Good news everyone! I managed to get C10 pkg C-State (previously I get no higher than C3) on Asrock LGA1700 mobo and you can too. Yay!   My setup is:   Motherboard: Asroc

  • I added a warning:   And a further explanation to the initial post:

  • TheLinuxGuy
    TheLinuxGuy

    Yeah I faced problems with proxmox GUI installer; I had to do CTRL+ALT+F2 to get console then add some forced configuration override to properly detect the iGPU. Here's the guide for the error (e

Posted Images

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

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

  • Author
11 hours ago, de-sascha said:

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

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

@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

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

and one more thing! To have higher C-states you need to have LCD monitor (HDMI) unplugged. Also is good to unplug USB keyboard and mouse.

Only LAN cable should be plugged and you need to be connected via ssh to that PC.

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

probably. My command tell you exactly in format ROOT.../ENDPOINT:

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

 

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

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?

 

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

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

Sorted. and only enables APSM on devices with APSM. I still need to follow the deep guide on forcing APSM on the hba card. https://z8.re/blog/aspm

 

576879937_Screenshot2024-01-12at19_55_23.thumb.png.edd49f133abd7daa195690a10b5146ea.png

Edited by dopeytree

  • Author
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:

 

 

 

 

The history of how ASPM got removed from HBA Cards drivers (mp2sas / mp3sas) & how some guy managed to override it - https://z8.re/blog/aspm

 

1780219125_Screenshot2024-01-13at17_27_51.thumb.png.221affc1f6db5a8ef971f6aa3e19866c.png

Edited by dopeytree

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

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

 

Try toggling the 'native ASPM' setting in bios see if you get same result with it on / off.

Also have you updated bios firmware? sometimes they ship with crappy firmware.

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

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

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

@de-sascha 

 

Just guessing now but how does it look if you dive further into the network card settings?

 

MTU

Disable NIC Flow Control

Disable NIC Offload

Ethernet NIC Rx Buffer

Ethernet NIC Tx Buffer

 

Do you have Wake On Lan turned on?

 

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.

 

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.