Po přečtení zdrojových kódů jádra jsem našel funkci, kterou musíme zakázat!
Děkujeme Stephenu Kittovi za tip na initcall_blacklist
.
Přidejte initcall_blacklist=dw_i2c_init_driver
na příkazový řádek jádra. To mi funguje na jádře 4.15.0.
Pro každého, kdo najde tuto odpověď. Můžete to udělat úpravou /etc/default/grub
:
- Spusťte v terminálu:
sudo -H gedit /etc/default/grub
. - Přidejte řetězec zakázaných položek do
GRUB_CMDLINE_LINUX_DEFAULT
:GRUB_CMDLINE_LINUX_DEFAULT="… initcall_blacklist=dw_i2c_init_driver"
. - Uložte soubor a zavřete editor.
- Spusťte v terminálu:
sudo update-grub
. - Restartujte a otestujte!
Přidání initcall_blacklist=i2c_dw_init_master
na příkazový řádek jádra by měl zastavit inicializaci ovladače Designware během spouštění a zcela se vyhnout problému.
Velmi stručný popis initcall_blacklist
naleznete v parametrech jádra a vlákno kolem opravy pro další užitečné informace o pozadí.
Příkaz k vynucení pohybu ramene pevného disku na konkrétní pozici na talíři
Jak získat fyzickou velikost souboru v Linuxu?