You are not logged in.
I have i8kutils package installed which I've been using for the past year without any issues to control fan speed on my Dell XPS 15 9500 (AW article). I also have dell-bios-fan-control installed to disable bios fan control, if it's relevant.
Yesterday I updated the system, after approximately a month of not doing so, and today I noticed that the fans stopped working. i8kmon.service isn't running, apparently because when trying to run any i8.. (kmon, fan, kctl) command manually I get the following error:
can't open /proc/i8k: No such file or directory
There are lots of posts about people having the same issue, but all of them were able to resolve it by coming to the conclusion that they are missing i8k module and running the following command with or without --force flag:
sudo modprobe --force=1 i8k
However, in my case it doesn't do anything. It neither throws an error, nor solves the issue (nor shows any signs of life, even the --verbose flag doesn't give any info).
I also tried creating /etc/modules.d/i8k.conf file with i8k written inside, but to no avail.
Last edited by Akim (2022-05-31 13:42:41)
Offline
I have the same issue. Although on my system none of the modules I manually setup to run are running. I don't know what changed. The problems started after an update for me too.
Offline
Same issue here
Offline
lsmod | grep i8k
and check the system journal for relevant error messages.
Assuming you rebuilt the module after the update, it might still run into the ibt issue w/ 5.18
Try to boot w/ "ibt=off"
Online
lsmod | grep i8k
and check the system journal for relevant error messages.
Assuming you rebuilt the module after the update, it might still run into the ibt issue w/ 5.18
Try to boot w/ "ibt=off"
Lsmod doesn't show i8k, haven't found any related error messages in the journal.
Unfortunately I don't know how to rebuild a module and boot without ibt, so relevant instructions are appreciated.
Offline
It's just a kernewl parameter, https://wiki.archlinux.org/title/Kernel_parameters
Does "sudo modprobe -v i8k" resolve the module file?
Online
Does "sudo modprobe -v i8k" resolve the module file?
No
Offline
Did you rebuild the kernel with CONFIG_I8K re-enabled? https://github.com/archlinux/svntogit-p … 9ab7f571fc
Offline
Did you rebuild the kernel with CONFIG_I8K re-enabled? https://github.com/archlinux/svntogit-p … 9ab7f571fc
Also no, I'm not sure how to rebuild the kernel
Offline
https://wiki.archlinux.org/title/Kernel … ild_System
I guess just loading dell-smm-hwmon doesn't provide the relevant infrastructure for the i8k utils?
Online
The config parameter `CONFIG_I8K` was changed for the package `linux` 7 days ago: https://github.com/archlinux/svntogit-p … 9ab7f571fc
See the diff in file `config`.
Not sure why.
Last edited by pychuang (2022-06-01 07:42:31)
Offline
I'm having the same issue. Sorry if this sounds stupid, but how do I manually add the config parameter again if that seems to be the solution?
Offline
I'm having the same issue. Sorry if this sounds stupid, but how do I manually add the config parameter again if that seems to be the solution?
As for my understanding, you need to build and compile a custom kernel with CONFIG_I8K parameter changed somewhere.
I've never done something like this before, and it seems like a lot of effort, so I'd much rather report this issue somewhere and wait for an official response to then decide what to do.
Offline
You'll have to rebuild the kernel and in that process adjust the kernel config file, see the link I posted in #10
In case this is just an error in the repo kernel config, you can use the LTS kernel for the time being.
Online
In case this is just an error in the repo kernel config, you can use the LTS kernel for the time being.
That seems like the best solution effort-wise. Btw, thank you for your help Seth, I appreciate the effort.
And thanks to everyone else who helped to solve the issue!
Offline
5.18.1 with CONFIG_I8K=M
https://drive.google.com/file/d/1sziOLm … sp=sharing linux-5.18.1.arch1-1.1-x86_64.pkg.tar.zst
https://drive.google.com/file/d/1VHYv6V … sp=sharing linux-headers-5.18.1.arch1-1.1-x86_64.pkg.tar.zst
If the linked kernel works for you consider opening a bug report to see if the module can be added back to the kernel package.
linux-lts will be rebased next year and I would expect it to resync its config with the linux package at that time and drop i8k support unless it has been added back to the linux package.
As an alternative you could investigate controlling the fans without the i8k module.
This build took longer than expect as python-sphinx 5.0.0-1 broke building the kernel documentation which I had forgotten to disable.
Offline
5.18.1 with CONFIG_I8K=M
https://drive.google.com/file/d/1sziOLm … sp=sharing linux-5.18.1.arch1-1.1-x86_64.pkg.tar.zst
https://drive.google.com/file/d/1VHYv6V … sp=sharing linux-headers-5.18.1.arch1-1.1-x86_64.pkg.tar.zst
Thank you, but it doesn't seem like a good security practice to install a kernel compiled by someone else. Feel free to correct me.
Offline
Thank you, but it doesn't seem like a good security practice to install a kernel compiled by someone else. Feel free to correct me.
You have to make your own decision on which prebuilt packages to trust. The following diff applies on top of the current HEAD of origin/packages/linux 9ff7f68d84b3e81d6a8dc30a0f91257a65a7f65b
diff --git a/trunk/PKGBUILD b/trunk/PKGBUILD
index a37ffe0..48eecc3 100644
--- a/trunk/PKGBUILD
+++ b/trunk/PKGBUILD
@@ -2,7 +2,7 @@
pkgbase=linux
pkgver=5.18.1.arch1
-pkgrel=1
+pkgrel=1.1
pkgdesc='Linux'
_srctag=v${pkgver%.*}-${pkgver##*.}
url="https://github.com/archlinux/linux/commits/$_srctag"
@@ -10,7 +10,6 @@ arch=(x86_64)
license=(GPL2)
makedepends=(
bc libelf pahole cpio perl tar xz
- xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick texlive-latexextra
git
)
options=('!strip')
@@ -26,7 +25,7 @@ validpgpkeys=(
'C7E7849466FE2358343588377258734B41C31549' # David Runge <dvzrv@archlinux.org>
)
sha256sums=('SKIP'
- '5e34f17f45b3623bd8350b4d2c23ad7525b75c327cc49ec3dc37e3ee168d2f46')
+ '513939fa9a9dfc5c3fe260dc27c7e86f37428f3e6a1395fd0a9f226d9349b7bf')
export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase
@@ -61,7 +60,6 @@ prepare() {
build() {
cd $_srcname
make all
- make htmldocs
}
_package() {
@@ -174,26 +172,7 @@ _package-headers() {
ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"
}
-_package-docs() {
- pkgdesc="Documentation for the $pkgdesc kernel"
-
- cd $_srcname
- local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
-
- echo "Installing documentation..."
- local src dst
- while read -rd '' src; do
- dst="${src#Documentation/}"
- dst="$builddir/Documentation/${dst#output/}"
- install -Dm644 "$src" "$dst"
- done < <(find Documentation -name '.*' -prune -o ! -type d -print0)
-
- echo "Adding symlink..."
- mkdir -p "$pkgdir/usr/share/doc"
- ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase"
-}
-
-pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
+pkgname=("$pkgbase" "$pkgbase-headers")
for _p in "${pkgname[@]}"; do
eval "package_$_p() {
$(declare -f "_package${_p#$pkgbase}")
diff --git a/trunk/config b/trunk/config
index 4ea2733..ed6324a 100644
--- a/trunk/config
+++ b/trunk/config
@@ -5001,7 +5001,7 @@ CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DELL_SMM=m
-# CONFIG_I8K is not set
+CONFIG_I8K=m
CONFIG_SENSORS_DA9052_ADC=m
CONFIG_SENSORS_DA9055=m
CONFIG_SENSORS_I5K_AMB=m
Offline
Thank you, but it doesn't seem like a good security practice to install a kernel compiled by someone else. Feel free to correct me.
Unless you build it yourself, any kernel will be compiled by 'someone else', including the one you are running right now. If it's built by someone with as many posts as loqs has, I'd say say trust it at least enough to test it to make sure the issue is gone, you can always revert back to the [core] one after testing. Building a kernel from source is a chunk of work - it's a good exercise to undertake it at least once yourself, but if I were you, I'd make use of the work that loqs already did here.
Offline
5.18.1 with CONFIG_I8K=M
https://drive.google.com/file/d/1sziOLm … sp=sharing linux-5.18.1.arch1-1.1-x86_64.pkg.tar.zst
https://drive.google.com/file/d/1VHYv6V … sp=sharing linux-headers-5.18.1.arch1-1.1-x86_64.pkg.tar.zst
Thanks for that. I installed this kernel but I still don't have the i8k module. I'm not an expert so I might have missed something, all I did was install the kernel as follows:
pacman -U linux-5.18.1.arch1-1.1-x86_64.pkg.tar.zst linux-headers-5.18.1.arch1-1.1-x86_64.pkg.tar.zst
grub-mkconfig -o /boot/grub/grub.cfg
Did I miss something?
Offline
Did I miss something?
No I missed something. CONFIG_I8K=m was converted back to # CONFIG_I8K is not set during the build as the option is no longer tristate but bistate with the only valid values being y and n.
I think this shows how the option could become disabled by accident very easily without the package maintainer noticing.
The I8K functionality has been integrated into the dell-smm-hwmon module (now the option is enabled).
https://drive.google.com/file/d/1JH7PIE … sp=sharing linux-5.18.1.arch1-1.2-x86_64.pkg.tar.zst
https://drive.google.com/file/d/1z5QPKa … sp=sharing linux-headers-5.18.1.arch1-1.2-x86_64.pkg.tar.zst
Last edited by loqs (2022-06-02 10:10:20)
Offline
Subbeh wrote:Did I miss something?
No I missed something. CONFIG_I8K=m was converted back to # CONFIG_I8K is not set during the build as the option is no longer tristate but bistate with the only valid values being y and n.
I think this shows how the option could become disabled by accident very easily without the package maintainer noticing.
The I8K functionality has been integrated into the dell-smm-hwmon module (now the option is enabled).https://drive.google.com/file/d/1JH7PIE … sp=sharing linux-5.18.1.arch1-1.2-x86_64.pkg.tar.zst
https://drive.google.com/file/d/1z5QPKa … sp=sharing linux-headers-5.18.1.arch1-1.2-x86_64.pkg.tar.zst
Thanks a lot, that did the trick
Offline
I opened a bug report here since I didn't see one created yet. If you have this issue as well, please vote so it gets some traction.
Offline
Same here. This started last week for me. The problem with the current kernel: "The default kernel build options in Arch Linux stopped to set CONFIG_I8K as of version 5.18. This means it's not possible to use the old /proc/i8k interface anymore with the default kernel shipped by the distribution." according to this link: https://github.com/vitorafsr/i8kutils/issues/34
Even if you restart the service, it won't stay after you reboot your system. I just switched my kernel to lts for now. We'll have to wait until it's fixed.
Offline
Subbeh wrote:Did I miss something?
No I missed something. CONFIG_I8K=m was converted back to # CONFIG_I8K is not set during the build as the option is no longer tristate but bistate with the only valid values being y and n.
I think this shows how the option could become disabled by accident very easily without the package maintainer noticing.
The I8K functionality has been integrated into the dell-smm-hwmon module (now the option is enabled).https://drive.google.com/file/d/1JH7PIE … sp=sharing linux-5.18.1.arch1-1.2-x86_64.pkg.tar.zst
https://drive.google.com/file/d/1z5QPKa … sp=sharing linux-headers-5.18.1.arch1-1.2-x86_64.pkg.tar.zst
Hey loqs, how can I do this for zen kernel?
Offline