解決 Intel NUC 升級 Ubuntu Server 22 後當機問題

June 29, 2023

cover
Source: K镜

2017 年初,我買了一台 Intel NUC6I5SYH。我當時在上面裝了 Ubuntu 16,但一直以來都很少用。最近心血來潮,想把系統升級,就裝了 Ubuntu Server 22。

剛裝好後,感覺沒什麼問題。但是隔天要嘗試 ssh 進去的時候,就發現一直 time out,到機器上面看發現原來是當機了,但重開機就又好了,就不以為意。結果,再隔天又 ssh 不進去了,打開來檢查 ssh 的狀態,看不太出什麼問題,但是檢查系統 log,發現一點奇怪的狀況。

$ sudo journalctl --since="-1 day"
...
Jun 26 17:55:39 rex-nuc kernel: rc rc0: receive overflow
Jun 26 17:55:39 rex-nuc kernel: rc rc0: receive overflow
Jun 26 17:55:39 rex-nuc kernel: rc rc0: receive overflow
Jun 26 17:55:39 rex-nuc kernel: rc rc0: receive overflow
Jun 26 17:55:39 rex-nuc kernel: rc rc0: receive overflow
...

一看發現超多這個 rc rc0 的錯誤訊息,wc 了一下結果竟然有 3726452 行!

谷歌了一下發現別人也有遇過同樣的問題:

  1. freeze — kernel: rc rc0: receive overflow — Ask Ubuntu
  2. kernel: rc rc0: receive overflow // Support Tools

看起來,這個問題來自於 NUC 內建的紅外線接受器。我其實也不知道原來這台有這紅外線的功能,但總之我也不需要,所以就決定把他直接關掉。

先檢查一下他是處於開啟的狀態:

$ lsmod | grep ite_cir
ite_cir                28672  0

然後在編輯 /etc/modprobe.d/blacklist.conf,加上一行 blacklist ite_cir,接著重新開機。

再檢查一下他的確被關掉了:

$ lsmod | grep ite_cir

問題就解決啦!