Closed yochananmarqos closed 1 year ago
Hi @yochananmarqos
Could you tell me if you have a AMD or Intel CPU?
Also, does lm-sensors show CPU core temps, something like this?
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +47.0°C (high = +100.0°C, crit = +100.0°C)
Core 0: +47.0°C (high = +100.0°C, crit = +100.0°C)
Core 1: +46.0°C (high = +100.0°C, crit = +100.0°C)
Core 2: +46.0°C (high = +100.0°C, crit = +100.0°C)
Core 3: +47.0°C (high = +100.0°C, crit = +100.0°C)
Core 4: +47.0°C (high = +100.0°C, crit = +100.0°C)
Core 5: +45.0°C (high = +100.0°C, crit = +100.0°C)
If you are running an AMD CPU, I would need to locate k10temp
in /sys
. Could you please send me the output of the following commands:
grep -r . /sys/class/hwmon/hwmon*/name
grep -r . /sys/class/hwmon/hwmon*/temp*
P.S. I unfortunately do not have an AMD CPU to test with, so this fix may be a bit of trial and error
EDIT: Updated information needed to locate CPU temps
I have an AMD Ryzen 5 2500U.
Hi @yochananmarqos
Could you please give the version in the development branch (https://github.com/razman786/i8kgui/tree/development) a test please?
Also, can you kindly send me the terminal line output when you run i8kgui, as I'm coding in the dark without an AMD CPU to test with?
The terminal output should be something like the following:
Found: Intel CPU
Found: Sysfs AC power
Found: Sysfs scaling governor
Found: Sysfs RAPL TDP
Found: Sysfs SMT active
Found: Sysfs CPU siblings
Found Intel sensors:
Sensor: shwtemp(label='Package id 0', current=87.0, high=100.0, critical=100.0)
Sensor: shwtemp(label='Core 0', current=87.0, high=100.0, critical=100.0)
Sensor: shwtemp(label='Core 1', current=69.0, high=100.0, critical=100.0)
Sensor: shwtemp(label='Core 2', current=75.0, high=100.0, critical=100.0)
Sensor: shwtemp(label='Core 3', current=71.0, high=100.0, critical=100.0)
Sensor: shwtemp(label='Core 4', current=74.0, high=100.0, critical=100.0)
Sensor: shwtemp(label='Core 5', current=65.0, high=100.0, critical=100.0)
Found: 6 Sysfs Intel coretemps
Found: Sysfs CPU Turbo
Found: Sysfs CPU min perf
Found: Sysfs CPU max perf
Found: Sysfs CPU min scaling
Found: Sysfs CPU max scaling
Found: i8kctl /usr/bin/i8kctl
Found: dell_smm_hwmon fan1
Found: dell_smm_hwmon fan1_target
Found: dell_smm_hwmon fan2
Found: dell_smm_hwmon fan2_target
Found: dell_smm_hwmon CPU temp
Found: i8kmon.conf /etc/i8kmon.conf
Found: (SM)BIOS Thermal Control /usr/sbin/smbios-thermal-ctl
qt.dbus.integration: Could not connect "org.freedesktop.IBus" to globalEngineChanged(QString)
Found: AMD CPU
Error: Sysfs AC power not found
Found: Sysfs scaling governor
Error: Sysfs RAPL TDP not found
Found: Sysfs SMT active
Found: Sysfs CPU siblings
Found AMD sensors:
Sensor: shwtemp(label='Tctl', current=76.375, high=None, critical=None)
Found AMD k10temp /sys/class/hwmon/hwmon6
Found AMD k10temp Tctl /sys/class/hwmon/hwmon6/temp1_label
/sys/class/hwmon/hwmon6/temp1_label
Found: Sysfs CPU Turbo
Error: Sysfs CPU min perf not found
Error: Sysfs CPU max perf not found
Error: Sysfs CPU max perf not found
Found: Sysfs CPU min scaling using alternative
Found: Sysfs CPU max scaling using alternative
Found: i8kctl /usr/bin/i8kctl
Found: dell_smm_hwmon fan1
Found: dell_smm_hwmon fan1_target
Error: dell_smm_hwmon fan2 not found
Found: dell_smm_hwmon CPU temp
Error: i8kmon.conf not found
Found: (SM)BIOS Thermal Control /usr/bin/smbios-thermal-ctl
Traceback (most recent call last):
File "/usr/bin/i8kgui", line 1712, in <module>
tray = I8kGui()
^^^^^^^^
File "/usr/bin/i8kgui", line 59, in __init__
self.check_prerequisites()
File "/usr/bin/i8kgui", line 755, in check_prerequisites
self.thermal_control_menu.setTitle("Thermal Control N/A")
^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'I8kGui' object has no attribute 'thermal_control_menu'
My i8kmon.conf
is in /etc/i8kutils/
, however I customize using one in ~/
.
Hi @yochananmarqos, Please give the latest development branch version a test, and paste the same terminal output please (fingers crossed).
Found: AMD CPU
Error: Sysfs AC power not found
Found: Sysfs scaling governor
Error: Sysfs RAPL TDP not found
Found: Sysfs SMT active
Found: Sysfs CPU siblings
Found AMD sensors:
Sensor: shwtemp(label='Tctl', current=75.375, high=None, critical=None)
Found AMD k10temp /sys/class/hwmon/hwmon6
Found AMD k10temp Tctl /sys/class/hwmon/hwmon6/temp1_label
Found: AMD k10temp input /sys/class/hwmon/hwmon6/temp1_input
Found: 8 Sysfs AMD coretemps
Found: Sysfs CPU Turbo
Error: Sysfs CPU min perf not found
Error: Sysfs CPU max perf not found
Error: Sysfs CPU max perf alternative not found
Found: Sysfs CPU min scaling using alternative
Found: Sysfs CPU max scaling using alternative
Found: i8kctl /usr/bin/i8kctl
Found: dell_smm_hwmon fan1
Found: dell_smm_hwmon fan1_target
Error: dell_smm_hwmon fan2 not found
Found: dell_smm_hwmon CPU temp
Found: i8kmon config file /home/yochanan/.i8kmon
Found: (SM)BIOS Thermal Control /usr/bin/smbios-thermal-ctl
Traceback (most recent call last):
File "/usr/bin/i8kgui", line 1729, in <module>
tray = I8kGui()
^^^^^^^^
File "/usr/bin/i8kgui", line 59, in __init__
self.check_prerequisites()
File "/usr/bin/i8kgui", line 764, in check_prerequisites
self.thermal_control_menu.setTitle("Thermal Control N/A")
^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'I8kGui' object has no attribute 'thermal_control_menu'
Hi @yochananmarqos Thanks for the output and help. The error on line 764 is a bug my system didn't expose. Please try the development branch again.
This time it popped up a dialog:
There was no prompt for a password, however.
qt.dbus.integration: Could not connect "org.freedesktop.IBus" to globalEngineChanged(QString)
Found: AMD CPU
Error: Sysfs AC power not found
Found: Sysfs scaling governor
Error: Sysfs RAPL TDP not found
Found: Sysfs SMT active
Found: Sysfs CPU siblings
Found AMD sensors:
Sensor: shwtemp(label='Tctl', current=68.0, high=None, critical=None)
Found AMD k10temp /sys/class/hwmon/hwmon6
Found AMD k10temp Tctl /sys/class/hwmon/hwmon6/temp1_label
Found: AMD k10temp input /sys/class/hwmon/hwmon6/temp1_input
Found: 8 Sysfs AMD coretemps
Found: Sysfs CPU Turbo
Error: Sysfs CPU min perf not found
Error: Sysfs CPU max perf not found
Error: Sysfs CPU max perf alternative not found
Found: Sysfs CPU min scaling using alternative
Found: Sysfs CPU max scaling using alternative
Found: i8kctl /usr/bin/i8kctl
Found: dell_smm_hwmon fan1
Found: dell_smm_hwmon fan1_target
Error: dell_smm_hwmon fan2 not found
Found: dell_smm_hwmon CPU temp
Found: i8kmon config file /home/yochanan/.i8kmon
Found: (SM)BIOS Thermal Control /usr/bin/smbios-thermal-ctl
Error systemctl dell-bios-fan-control.service not found
Traceback (most recent call last):
File "/usr/bin/i8kgui", line 1729, in <module>
tray = I8kGui()
^^^^^^^^
File "/usr/bin/i8kgui", line 137, in __init__
self.load_sys_tray()
File "/usr/bin/i8kgui", line 1299, in load_sys_tray
self.build_thermal_menu() # menu created based on settings
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/i8kgui", line 977, in build_thermal_menu
if int(mode[1]) == self.left_fan_mode_map[self.left_fan_mode]:
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
KeyError: 0
QProcess: Destroyed while process ("pkexec") is still running.
Hi @yochananmarqos Good, we have progress. If the pol-kit configuration files are in place, then no password is needed, otherwise a prompt will appear.
The last error should be fixed, as far as I can tell, it seems your laptop only has a single fan.
Please remove any i8kgui settings, typically found in ~/.config/i8kgui (i.e. rm -r ~/.config/i8kgui
), before trying again.
Progress, indeed! :tada: This time it prompted for authentication twice and the tray icon loaded. I clicked through the menu and opened the Information & Settings. The SMBIOS Information button prompted for authentication again.
The polkit files are installed:
❯ pacman -Ql i8kgui | grep polkit
i8kgui /usr/share/polkit-1/
i8kgui /usr/share/polkit-1/actions/
i8kgui /usr/share/polkit-1/actions/com.ubuntu.pkexec.i8kgui_thermal_control.policy
i8kgui /usr/share/polkit-1/actions/com.ubuntu.pkexec.smbios-thermal-ctl.policy
These are the Dell related modules loaded currently:
❯ lsmod | grep dell
dell_laptop 36864 0
dell_wmi 32768 1 dell_laptop
dell_smbios 32768 2 dell_wmi,dell_laptop
ledtrig_audio 16384 4 snd_ctl_led,snd_hda_codec_generic,dell_wmi,dell_laptop
dcdbas 24576 1 dell_smbios
sparse_keymap 16384 1 dell_wmi
dell_wmi_descriptor 20480 2 dell_wmi,dell_smbios
dell_rbtn 20480 0
rfkill 40960 10 bluetooth,dell_laptop,dell_rbtn,cfg80211
dell_smm_hwmon 32768 0
i8042 53248 1 dell_laptop
video 73728 3 dell_wmi,amdgpu,dell_laptop
wmi 45056 5 video,dell_wmi,wmi_bmof,dell_smbios,dell_wmi_descriptor
Hi @yochananmarqos
The authentication dialog box will prompt the first time it is loaded without a settings file, if i8kutils is not running. I believe the second prompt will be linked to this output Error systemctl dell-bios-fan-control.service not found
. The i8kgui_thermal_control
script is looking for the systemd service file to be located at /etc/systemd/system/dell-bios-fan-control.service
.
If these steps https://github.com/razman786/i8kgui#dell-bios-fan-control have been followed, then the location of the service file needs to be checked for Manjaro. Likewise, the polkit configuration files need to be checked that they are correctly formatted and located for Manjaro, and for it's version of pkexec
.
The SMBIOS Information button always requires a password.
The FileNotFoundError: [Errno 2] No such file or directory: '/some/where/0'
error in the output can ignored.
This Error: handle_thermal_stderr ERROR: Could not execute SMI
error would indicate that i8kgui_thermal_control
, permissions failed somewhere. Try running pkexec /usr/bin/smbios-thermal-ctl --status
from a terminal?
This error if int(mode[1]) == self.left_fan_mode_map[self.left_fan_mode]:
should be fixed now, please give it a go.
The authentication dialog box will prompt the first time it is loaded without a settings file, if i8kutils is not running.
I deleted the settings file as you asked. The i8kmon
service was running.
The i8kgui_thermal_control script is looking for the systemd service file to be located at /etc/systemd/system/dell-bios-fan-control.service.
On Arch and Arch-based distros like Manjaro, services are installed to /usr/lib/systemd/
. When they are enabled, they are symlinked to /etc/systemd/
. Since the dell-bios-fan-control
service is a oneshot, it's symlinked to /etc/systemd/system/multi-user.target.wants/
.
I'm currently doing the following in my PKGBUILD:
# Correct service path
sed -i 's|etc/systemd|usr/lib/systemd|g' i8kgui/i8kgui_thermal_control
Try running pkexec /usr/bin/smbios-thermal-ctl --status from a terminal?
Usage: smbios-thermal-ctl
smbios-thermal-ctl: error: no such option: --status
Running sudo smbios-thermal-ctl --get-thermal-info
returns the same message as in my log above.
This error if int(mode[1]) == self.left_fan_mode_map[self.left_fan_mode]: should be fixed now, please give it a go.
It's still coming up:
The authentication dialog box will prompt the first time it is loaded without a settings file, if i8kutils is not running.
I deleted the settings file as you asked. The
i8kmon
service was running.The i8kgui_thermal_control script is looking for the systemd service file to be located at /etc/systemd/system/dell-bios-fan-control.service.
On Arch and Arch-based distros like Manjaro, services are installed to
/usr/lib/systemd/
. When they are enabled, they are symlinked to/etc/systemd/
. Since thedell-bios-fan-control
service is a oneshot, it's symlinked to/etc/systemd/system/multi-user.target.wants/
.
I assume from this that systemctl start dell-bios-fan-control.service
and sudo /usr/bin/dell-bios-fan-control 0
work from the terminal?
If they do work, then you can comment out these two lines and see if it helps as a workaround? https://github.com/razman786/i8kgui/blob/ea0466aa77c7fc694f117e0b4ef21f687727e366/i8kgui/i8kgui_thermal_control#L63-L64
I'm currently doing the following in my PKGBUILD:
# Correct service path sed -i 's|etc/systemd|usr/lib/systemd|g' i8kgui/i8kgui_thermal_control
Try running pkexec /usr/bin/smbios-thermal-ctl --status from a terminal?
Usage: smbios-thermal-ctl smbios-thermal-ctl: error: no such option: --status
Running
sudo smbios-thermal-ctl --get-thermal-info
returns the same message as in my log above.
My bad that was a typo, I meant to run sudo i8kgui_thermal_control --status
, however running the smbios-thermal-ctl
is what would have been invoked anyhow.
My module list looks like:
dell_rbu 20480 0
dell_laptop 32768 0
dell_wmi 24576 1 dell_laptop
ledtrig_audio 16384 4 snd_ctl_led,snd_hda_codec_generic,dell_wmi,dell_laptop
dell_smbios 28672 2 dell_wmi,dell_laptop
dell_smm_hwmon 24576 0
dell_wmi_sysman 40960 0
dcdbas 20480 1 dell_smbios
firmware_attributes_class 16384 1 dell_wmi_sysman
dell_wmi_descriptor 20480 2 dell_wmi,dell_smbios
dell_smo8800 20480 0
sparse_keymap 16384 2 intel_hid,dell_wmi
video 69632 4 dell_wmi,dell_laptop,i915,nvidia_modeset
wmi 32768 8 dell_wmi_sysman,video,intel_wmi_thunderbolt,dell_wmi,wmi_bmof,dell_smbios,dell_wmi_descriptor,mxm_wmi
The only module missing from your setup that might be of significance is dell_wmi_sysman
- Dell platform setting control interface for querying and modifying BIOS settings. Which kernel and libsmbios versions are you running? I am using version 6.1.20
and previously 5.15.0
. This is the libsmibios info that I get:
:: sudo smbios-thermal-ctl -i
Libsmbios version : 2.4.3
smbios-thermal-ctl version : 2.4.3
Print all the Available Thermal Information of your system:
-------------------------------------------------------------------
Supported Thermal Modes:
Balanced
Cool Bottom
Quiet
Performance
Supported Active Acoustic Controller (AAC) modes:
Supported AAC Configuration type:
Global (AAC enable/disable applies to all supported USTT modes)
The only other thing I have passed by so far, is a similar smbios error for a Dell 5520 laptop (https://github.com/dell/libsmbios/issues/18). It was a BIOS bug and was resolved by updating to 'Dell BIOS 1.3.3 as of 5/22/17'. It's probably worth checking the thread for the legacy BIOS setting changes mentioned and seeing if disabling 'SMM Mitigations' in the BIOS also works.
Other than that, is there any errors listed in dmesg
?
If none of the above, it might be an idea to raise an issue with https://github.com/dell/libsmbios ?
This error if int(mode[1]) == self.left_fan_mode_map[self.left_fan_mode]: should be fixed now, please give it a go.
It's still coming up:
My poor man's assumption that, the 'Left Fan' is always Fan 1 is coming back to haunt me... I'll update the code
Just a quick note if changing the BIOS settings do not work and libsmbios is still not communicating correctly, it might be worth trying the official Dell tool https://www.dell.com/support/kbdoc/en-uk/000178000/dell-command-configure
For example:
:: sudo ./cctk --SmmSecurityMitigation
SmmSecurityMitigation=Disabled
If Dell's own utility does not work, with all the correct BIOS options, then I would say its a firmware issue and upgrading or downgrading your BIOS may fix things.
I'm running the 6.3.4 kernel & libsmbios
2.4.3.
I've never had any success with the Dell Command Confgure tool. I don't think it supports Inspirons at all.
There is no option in BIOS for SMM Mitigations. I have version 1.6.0 from 03/21/2022. Secure Boot is disabled and Legacy Option ROMs is enabled.
❯ sudo cctk --SmmSecurityMitigation
The option 'SmmSecurityMitigation' is not available or cannot be configured
through this tool.
There is no option in BIOS for SMM Mitigations. I have version 1.6.0 from 03/21/2022. Secure Boot is disabled and Legacy Option ROMs is enabled.
Ok, so on my laptop updating the BIOS messed up the fan control - some security fix as I recall. I would roll back your BIOS to either version 1.1.9 or 1.3.3. I am still running version 1.14.1 from 10 Nov 2021 (6 versions behind the latest), as I saw issues being reported with versions after this. In some cases resetting the BIOS to factory defaults works to give fan control access again.
In short, if you cannot get libsmbios
working after downgrading the BIOS and factory resetting its settings, then I would think that this model of laptop simply doesn't like to play ball?
I will look to decouple the smbios-thermal-ctl
calls so that it does not causes issues when it has such errors.
Did commenting out these lines resolve the issues if only using i8kutils? https://github.com/razman786/i8kgui/blob/ea0466aa77c7fc694f117e0b4ef21f687727e366/i8kgui/i8kgui_thermal_control#L63-L64
There never were fan controls in the BIOS. I don't know what BIOS version I started with when I bought the laptop used maybe in 2018. The dell-bios-fan-control
service runs successfully, but it doesn't actually do anything since there's not actually anything for it to do.
I would rather stick with the latest firmware update as there were security fixes.
No, commenting those lines didn't seem to make any difference.
There never were fan controls in the BIOS. I don't know what BIOS version I started with when I bought the laptop used maybe in 2018. The
dell-bios-fan-control
service runs successfully, but it doesn't actually do anything since there's not actually anything for it to do.
The dell-bios-fan-control.service
is simply running the equivalent of sudo /usr/bin/dell-bios-fan-control 0
when started. This allows i8kutils to take control of the fans, without this working, at least on my laptop, the BIOS is always in control of the fans.
I would rather stick with the latest firmware update as there were security fixes.
Understood.
No, commenting those lines didn't seem to make any difference.
I'll look into it, i8kgui should work without libsmbios, like when I first created it. I use them both depending on the task(s) I'm running, hence it has evolved to combine them.
i8kutils
works fine for me without dell-bios-fan-control
. It apparently depends on the laptop. Perhaps dell-bios-fan-control
and maybe libsmbios
could be optional dependencies. Optional meaning the program will run without them, but if they are installed they will be utilized.
i8kutils
works fine for me withoutdell-bios-fan-control
. It apparently depends on the laptop. Perhapsdell-bios-fan-control
and maybelibsmbios
could be optional dependencies. Optional meaning the program will run without them, but if they are installed they will be utilized.
Ah! I did not realise that i8kutils works for you without the dell-bios-fan-control being needed. Agreed they should be optional for such a use case.
Just out of curiosity, the output from Dell's command and configure shows some fan options, do they work at all?
--FanSpdCpuMemZone
--FanSpdLowerPcieZone
--FanSpdStorageZone
--FanSpdUpperPcieZone
--FanSpeedLvl
No, they all report:
The required BIOS interfaces cannot be found on this system.
HI @yochananmarqos
I have decoupled libsmbios
and the dell-bios-fan-control.service
requirements for i8kgui. I have also fixed some of the Sysfs paths. Please give it a go and let me know how it goes.
Hi @yochananmarqos I have given Manjaro a spin in a VM using commit a7773e91a85f75f3b369ef707a0929ba3248c472 and your PKGBUILD, all seems to load ok.
If I do not hear back, I will assume all is well - I will close this issue once the branch is merged into master.
Log from the latest development commit without dell-bios-fan-control
installed. libsmbios
is still installed as it's also required by fwupd
. It's no longer showing fan speeds, clock speeds or Turbo Boost status.
Found: AMD CPU
Found: Sysfs ACAD power
Found: Sysfs scaling governor
Error: Sysfs RAPL TDP not found
Found: Sysfs SMT active
Found: Sysfs CPU siblings
Found AMD sensors:
Sensor: shwtemp(label='Tctl', current=73.25, high=None, critical=None)
Found AMD k10temp /sys/class/hwmon/hwmon6
Found AMD k10temp Tctl /sys/class/hwmon/hwmon6/temp1_label
Found: AMD k10temp input /sys/class/hwmon/hwmon6/temp1_input
Found: 8 Sysfs AMD coretemps
Found: Sysfs CPU Turbo
Error: Sysfs CPU min perf not found
Error: Sysfs CPU max perf not found
Error: Sysfs CPU max perf alternative not found
Found: Sysfs CPU min scaling using alternative
Found: Sysfs CPU max scaling using alternative
Found: dell_smm_hwmon fan1
Found: dell_smm_hwmon fan1_target
Error: dell_smm_hwmon fan2 not found
Found: dell_smm_hwmon CPU temp
Error: systemd service check Warn: systemctl dell-bios-fan-control.service not found
Found: i8kmon.service is active
Found: i8kctl /usr/bin/i8kctl
Found: i8kmon config file /home/yochanan/.i8kmon
Found: (SM)BIOS Thermal Control /usr/bin/smbios-thermal-ctl
Error: (SM)BIOS Thermal Control not found
Info: switching thermal mode to enable i8k
Traceback (most recent call last):
File "/usr/bin/i8kgui", line 1939, in monitor
self.read_proc()
File "/usr/bin/i8kgui", line 1842, in read_proc
self.read_power_supply_status()
File "/usr/bin/i8kgui", line 1827, in read_power_supply_status
if self.power_enabled:
^^^^^^^^^^^^^^^^^^
AttributeError: 'I8kGui' object has no attribute 'power_enabled'. Did you mean: 'cpu_ht_enabled'?
@yochananmarqos the latest commit b3a4c539e43220badb04d27b0d9c5460ebd0117b should fix the error shown - oversight when processing a different laptop.
That did the trick. It's showing a different error now, but I'm not sure if it's actually affecting anything:
Found: AMD CPU
Found: Sysfs ACAD power
Found: Sysfs scaling governor
Error: Sysfs RAPL TDP not found
Found: Sysfs SMT active
Found: Sysfs CPU siblings
Found AMD sensors:
Sensor: shwtemp(label='Tctl', current=81.25, high=None, critical=None)
Found AMD k10temp /sys/class/hwmon/hwmon6
Found AMD k10temp Tctl /sys/class/hwmon/hwmon6/temp1_label
Found: AMD k10temp input /sys/class/hwmon/hwmon6/temp1_input
Found: 8 Sysfs AMD coretemps
Found: Sysfs CPU Turbo
Error: Sysfs CPU min perf not found
Error: Sysfs CPU max perf not found
Error: Sysfs CPU max perf alternative not found
Found: Sysfs CPU min scaling using alternative
Found: Sysfs CPU max scaling using alternative
Found: dell_smm_hwmon fan1
Found: dell_smm_hwmon fan1_target
Error: dell_smm_hwmon fan2 not found
Found: dell_smm_hwmon CPU temp
Error: systemd service check Warn: systemctl dell-bios-fan-control.service not found
Found: i8kmon.service is active
Found: i8kctl /usr/bin/i8kctl
Found: i8kmon config file /home/yochanan/.i8kmon
Found: (SM)BIOS Thermal Control /usr/bin/smbios-thermal-ctl
Error: (SM)BIOS Thermal Control not found
Info: switching thermal mode to enable i8k
Traceback (most recent call last):
File "/usr/bin/i8kgui", line 1940, in monitor
self.read_proc()
File "/usr/bin/i8kgui", line 1845, in read_proc
self.read_cpu_info()
File "/usr/bin/i8kgui", line 1745, in read_cpu_info
self._get_cpu_temps_load_freqs(all_mhz, coretemps)
File "/usr/bin/i8kgui", line 1770, in _get_cpu_temps_load_freqs
j = self.cpu_temp_sensors[i]
~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range
That did the trick. It's showing a different error now, but I'm not sure if it's actually affecting anything:
Ok cool, definitely getting there. This error should now be fixed in commit 9ba2dbf625930a64ffa92cb7f6064cc89349c905 - there was a hard-coded calculation.
It appears to be almost identical output as above:
Found: AMD CPU
Found: Sysfs ACAD power
Found: Sysfs scaling governor
Error: Sysfs RAPL TDP not found
Found: Sysfs SMT active
Found: Sysfs CPU siblings
Found AMD sensors:
Sensor: shwtemp(label='Tctl', current=76.75, high=None, critical=None)
Found: AMD k10temp /sys/class/hwmon/hwmon6
Found: AMD k10temp Tctl /sys/class/hwmon/hwmon6/temp1_label
Found: AMD k10temp input /sys/class/hwmon/hwmon6/temp1_input
Found: 8 Sysfs AMD coretemps
Found: Sysfs CPU Turbo
Error: Sysfs CPU min perf not found
Error: Sysfs CPU max perf not found
Error: Sysfs CPU max perf alternative not found
Found: Sysfs CPU min scaling using alternative
Found: Sysfs CPU max scaling using alternative
Found: dell_smm_hwmon fan1
Found: dell_smm_hwmon fan1_target
Error: dell_smm_hwmon fan2 not found
Found: dell_smm_hwmon CPU temp
Error: systemd service check Warn: systemctl dell-bios-fan-control.service not found
Found: i8kmon.service is active
Found: i8kctl /usr/bin/i8kctl
Found: i8kmon config file /home/yochanan/.i8kmon
Found: (SM)BIOS Thermal Control /usr/bin/smbios-thermal-ctl
Error: (SM)BIOS Thermal Control is not functional
Info: switching thermal mode to enable i8k
Traceback (most recent call last):
File "/usr/bin/i8kgui", line 1940, in monitor
self.read_proc()
File "/usr/bin/i8kgui", line 1845, in read_proc
self.read_cpu_info()
File "/usr/bin/i8kgui", line 1745, in read_cpu_info
self._get_cpu_temps_load_freqs(all_mhz, coretemps)
File "/usr/bin/i8kgui", line 1770, in _get_cpu_temps_load_freqs
j = self.cpu_temp_sensors[i]
~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range
@yochananmarqos I have added some debug info to the last commit to help me find this bug. Please have a spin and paste the console output for me.
There might be some redundant bits as it was tracking the temperatures for a few seconds.
There might be some redundant bits as it was tracking the temperatures for a few seconds.
Could you kindly run the following command on a terminal and send me the output please? I need to check AMD's topology.
grep -r . /sys/devices/system/cpu/cpu*/topology/thread_siblings_list
/sys/devices/system/cpu/cpu0/topology/thread_siblings_list:0-1
/sys/devices/system/cpu/cpu1/topology/thread_siblings_list:0-1
/sys/devices/system/cpu/cpu2/topology/thread_siblings_list:2-3
/sys/devices/system/cpu/cpu3/topology/thread_siblings_list:2-3
/sys/devices/system/cpu/cpu4/topology/thread_siblings_list:4-5
/sys/devices/system/cpu/cpu5/topology/thread_siblings_list:4-5
/sys/devices/system/cpu/cpu6/topology/thread_siblings_list:6-7
/sys/devices/system/cpu/cpu7/topology/thread_siblings_list:6-7
@yochananmarqos, thank you for the output, it was most helpful. Hopefully, commit 3899821e95f46b316feea690a0140d21feea27be resolves the CPU topology issue. Please paste the output from the console for me.
EDIT: I have also added polkit files for Manjaro (tested on latest stable) in i8kgui/polkit_actions/manjaro
in commit 44880a2944f4cd7bda5af07f225ccc4e5ece3a33
Looks good! I think maybe it's ready to add to the AUR once you merge the development branch to master and create a new release. :+1:
Found: AMD CPU
Found: Sysfs ACAD power
Found: Sysfs scaling governor
Error: Sysfs RAPL TDP not found
Found: Sysfs SMT active
Found: Sysfs CPU siblings
Found AMD sensors:
Sensor: shwtemp(label='Tctl', current=75.5, high=None, critical=None)
Found: AMD k10temp /sys/class/hwmon/hwmon6
Found: AMD k10temp Tctl /sys/class/hwmon/hwmon6/temp1_label
Found: AMD k10temp input /sys/class/hwmon/hwmon6/temp1_input
Found: 8 Sysfs AMD coretemps
Found: Sysfs CPU Turbo
Error: Sysfs CPU min perf not found
Error: Sysfs CPU max perf not found
Error: Sysfs CPU max perf alternative not found
Found: Sysfs CPU min scaling using alternative
Found: Sysfs CPU max scaling using alternative
Found: dell_smm_hwmon fan1
Found: dell_smm_hwmon fan1_target
Error: dell_smm_hwmon fan2 not found
Found: dell_smm_hwmon CPU temp
Error: systemd service check Warn: systemctl dell-bios-fan-control.service not found
Found: i8kmon.service is active
Found: i8kctl /usr/bin/i8kctl
Found: i8kmon config file /home/yochanan/.i8kmon
Found: (SM)BIOS Thermal Control /usr/bin/smbios-thermal-ctl
Error: (SM)BIOS Thermal Control is not functional
Info: switching thermal mode to enable i8k
Found: is CPU SMT active? 1
Found: 4 CPU Cores
Found: 8 Logical CPU Cores
Found: 8 CPU siblings in list
Found: CPU siblings: {0: 1, 1: 0, 2: 3, 3: 2, 4: 5, 5: 4, 6: 7, 7: 6}
Found: CPU temp sensors [0, 1, 2, 3, 0, 1, 2, 3]
Info: switching to i8kmon thermal control
Sounds good and thank you for the help! :+1:
The only things that I cannot seem to get right from the documentation for AMD's are the following:
Error: Sysfs RAPL TDP not found Error: Sysfs CPU min perf not found Error: Sysfs CPU max perf not found Error: Sysfs CPU max perf alternative not found
Could you kindly run and send me the output of the following command please?
sudo find /sys -type f \( -name "*highest*_perf" -o -name "*lowest*_perf" -o -name "*_perf*" -o -name "constraint_0_max_power_uw" \)
EDIT: oops, missed one.
/sys/devices/pci0000:00/0000:00:08.1/0000:04:00.0/power_dpm_force_performance_level
I've added it to the AUR: i8kgui
Describe the bug
I've installed
i8kgui
on my Dell Inspiron 5575 using my own PKGBUILD. It appears I have all the required dependencies, but runningi8kgui
returns:I'm not sure if it's because I don't have the
/sys/devices/platform/coretemp.0/hwmon/
path on my system or not. I have/sys/devices/platform/dell_smm_hwmon/hwmon/
instead.Replacing line 441 with the following did not change the error, however.
Desktop (please complete the following information):
Additional context I use
i8kutils
with no issues.