Thinkpad x13 gen3 amd を Linux で使っているとフリーズする
2022年からずっとArch Linux で使用してきたが、先月ぐらいから急にフリーズするようになった。
ウェブブラウザを使っているときにフリーズしたり、ターミナル呼び出してしばらくしてからフリーズしたりと、全く原因がつかめん。
フリーズするとキーボードの入力を受け付けず、tty も切り替えられず、電源ボタン長押ししかない。ここまで深刻なら、カーネルが原因だと思い、カーネルをダウングレードしても、LTS にしても、効果がない。う〜ん……わからん。
ええ機会やし、環境ファイルがなにか悪いことをしていることにし、デュアルブートしているWindowsもそろそろ入れ替えるか。Arch で XFCE4 という異端児?だったが、ついでにWaylandにしてしまおう。
心機一転、Windows11 25H2 から全部入れ直してみたが、意味がなかった。やはり特定できないタイミングでフリーズしてしまう。なんでや。そんなところの再現性は求めてないんや。でもそうだよな。Linux は残酷なまでに正直なんだ……環境ファイルもテキストベースで書いたとおりにしか動かないんだ……。
ディストリビューション変えてみるか……?試しに CachyOS は……あかん。そりゃそうだよな、一緒やもん。
う〜ん……ど定番すぎる Ubuntsu は避けて、MX Linux の LXQt で入れてみる……あかん。フリーズする。もしかしなくてもハードウェアがぶっ壊れたか?今の時期、パソコンなんて買えないよ。
でも、Windows は何も問題ないんだよなぁ……腑に落ちん。
MX Linux で XFCE4 で入れてみよう……あれ?フリーズしない?意味がわからん。なんで?全ては己のトラブルシュート能力にかかってきた気がする。これはきっつい。
気のせいかもしれんが、なんか排熱熱くないか?MX Linux にある Hardinfo2 を見てみると、何も作業をしていないのに、CPU 温度が 78℃ 超えてる。んん?
Windows11 に戻って、HWinfo で確認すると、45℃くらいまで下がった。良かった良かった。とはいかん。
これで確定してしまった。さぁ地獄の始まりだ。Linux を使いたければ、原因を特定しなければならない。
MX Linux 側に戻り、ターミナルを立ち上げて htop をみてみると、CPU 3 の占拠率のみが50%-80%の間を行き来している。起動したばかりで、ブラウザしか起動していないぞ?やっぱり変だ。
プロセスで CPU 占拠を特定する。
$ ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head
PID PPID CMD %CPU
767 2 [irq/91-nxp-nci_i2c] 30.7
4136 4135 /app/lib/floorp/floorp --na 12.4
4467 4240 /app/lib/floorp/floorp -con 4.1
2897 2747 /usr/lib/xorg/Xorg -dpi $DP 3.9
4001 3406 hardinfo2 3.2
4114 4108 htop 2.4
4311 4240 /app/lib/floorp/floorp -con 1.6
……なんか変なやつが居る。
Google 先生に聞いてみると
https://bbs.archlinux.org/viewtopic.php?id=312733
これ当たりじゃね?ハードウェアも同一臭いぞ? dmesg みてみると、
$ sudo dmesg | grep -i nxp-nci
[ 4.820828] nxp-nci_i2c i2c-NXP1001:00: NFC: Read failed with error -121
[ 289.509086] nxp-nci_i2c i2c-NXP1001:00: NFC: Read failed with error -121
あー……嫌な匂いがプンプンするぜ。
とりあえず、その場で外してみてCPU占拠率に影響があるかどうか見てみる。
$ sudo modprobe -r nxp-nci_i2c nxp-nci
$ ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head
PID PPID CMD %CPU
4136 4135 /app/lib/floorp/floorp --na 24.1
4638 4240 /app/lib/floorp/floorp -con 5.0
2897 2747 /usr/lib/xorg/Xorg -dpi $DP 3.9
4001 3406 hardinfo2 2.8
4114 4108 htop 2.5
4467 4240 /app/lib/floorp/floorp -con 2.4
3369 3117 xfwm4 1.3
下がった。マジか。
ハードウェアを読み込めないとこんなこと起こるのか。どうせ読み込めないならと放置してたら駄目なんだな。
sudo vi /etc/modprobe.d/blacklist-nfc.conf
blacklist nxp-nci_i2cblacklist nxp-nci
コメント
コメントを投稿