Podobná záležitosť sa v mojom prípade objavila približne pred piatimi či šiestimi rokmi, odvtedy som ju nevidel. Až v tomto čase po inštalácii LM verzie 22. Problém s USB portami alebo ventilátorom sa prejavuje pri pokuse uviesť PC či notebook do režimu spánku. Operačný systém (OS) sa nedá uspať alebo ventilátor sa nezastaví.
Ventilátor sa točí aj po zdanlivom uspaní OS ?
Zdá sa, že kernel (jadro OS) momentálne použité v základe 6.8.0-38-generic či 6.8.0-47-generic bude potrebovať ešte vylepšiť. Dovtedy si užívateľ linuxového systému môže pomôcť sám. Tak, že pred uspaním OS vysunie modul ovládača xhci_pci z jadra OS zadaním príkazu do terminálu:
sudo modprobe -r xhci_pci
Po prebudení zo spánku nefungujú USB porty ?
Podobne môže nastať situácia, že po prebudení OS zo spánku nefungujú USB porty. V takom prípade možno znovu zaviesť modul ovládača xhci_pci do jadra OS zadaním príkazu do terminálu:
sudo modprobe xhci_pci
Že je nejaký problém s uspaním naznačujú aj nasledujúce riadky či podobné, ktoré môžete nájsť vo výpise.
[ 2057.279504] xhci_hcd 0000:04:00.0: WARN: xHC save state timeout
[ 2057.279512] xhci_hcd 0000:04:00.0: PM: suspend_common(): xhci_pci_suspend+0x0/0x1e0 [xhci_pci] returns -110
[ 2057.279520] xhci_hcd 0000:04:00.0: PM: pci_pm_suspend(): hcd_pci_suspend+0x0/0x20 returns -110
[ 2057.279524] xhci_hcd 0000:04:00.0: PM: dpm_run_callback(): pci_pm_suspend+0x0/0x1b0 returns -110
[ 2057.279547] xhci_hcd 0000:04:00.0: PM: failed to suspend async: error -110
[ 2057.510072] PM: Some devices failed to suspend, or early wake event detected
Stačí zadať príkaz do terminálu, ktorý vypíše hlášky jadra OS:
dmesg
Chyby minulosti sa znova objavujú a tento momenálny stav na niektorom hardvéri v Ubuntu a Linux Mint môže byť toho príkladom.
Vyriešené
Táto záležitosť má nakoniec ešte jedno riešenie. Ak patríte k užívateľom, ktorí sa stretli s hore opísanými problémami, možno vám napadla myšlienka, či sa proces ručného vysunutia či zavedenia modulu ovládača xhci_pci z a do jadra OS dá nejako automatizovať.
Predsa len, zadávať príkazy do terminálu pred každým uspaním, či po prebudení PC z režimu spánku nebude práve obľúbená činnosť. Riešením je vytvoriť alebo kopírovať súbor s názvom unload_module v zložke
/etc/pm/config.d/
Bude obsahovať nasledovný text:
SUSPEND_MODULES="xhci-pci"
V mojom prípade aj po tomto vytvorení súboru s nastavením unload_module, bola funkčnosť taká polovičná. Na prvý pokus sa OS neuspal, bolo nutné odstrániť modul z jadra ručne, pri ďalších pokusoch uspať systém to už bolo dobré.
Takže posledným krokom bolo nutné ešte aktualizovať ramdisk, zadaním príkazu do terminálu:
sudo update-initramfs -u
Potom, po reštarte operačného systému to už funguje. Ak sa stretnete s podobným správaním, toto by to malo vyriešiť aj vo vašom prípade.
.