- Žádné nadcházející události
Suspend na Lenovo TP R400
Notebooky Lenovo (dříve IBM) Thinkpad jsou známé svým bezproblémovým během na Linuxu. Na Solarisu je to podobné - vše mi na mém R400 fungovalo out of the box. Kromě uspání na disk.
V původním zápisku jsem myslel, že problém byl vyřešen vypnutím jednoho jádra před uspáním - zmýlil jsem se.
Přišel jsem na to, že pokud je systém nabootuju z baterky a uspím - neprobudím se.
Pokud systém nabootuju z napájení (resp. mám docking station) a uspím - taktéž se neprobudím.
Pokud systém nabootuju z baterky, napojím na napájení a uspím - probuzení funguje.
Pokud systém nabootuju z napájení, odpojím ho a uspím - taktéž se probudím.
Docela divné chování, zatím neznám příčinu, ale řešením je hodit notebook alespon na pár vteřin na napájení anebo ho z něj vyhodit a pak až uspávat :-)
Původní zápisek:
Nejprve povolíme S3 suspend, přidáním řádku S3-support enable do /etc/power.conf a spustíme pfexec pmconfig, čímž refreshneme nastavení power managera.
Můj celý /etc/power.conf:
autopm enable autoS3 default cpu-threshold 1s # Auto-Shutdown Idle(min) Start/Finish(hh:mm) Behavior autoshutdown 30 9:00 9:00 noshutdown S3-support enable cpupm enable
Pokud teď zkusíme systém uspat např. příkazem sys-suspend, systém usne, ale při probuzení (pouze stisknutím power buttonu, tady je rozdíl oproti např. Linuxu) se rozeběhne pouze hardware.
Pak jsem našel tento bug:
Bug:
Resume stopped working in nevada build 115 on Lenovo T400/T500. It "worked" in nv114 (see 6824365), but not in nv115. When I run "uadmin 3 22" resume works fine (with fixed bug in audihd which causes panic - see 6845120). When second processor is disable system wakeup. It works like nv114.
Řešení:
Disable second processor(core).
Příkazem psrinfo dostaneme výpis všech našich procesorů/jader, spravovaných systémem.
$ psrinfo 0 on-line od 08/21/2009 12:58:02 1 on-line od 08/21/2009 13:47:17
Příkazem psradm je můžeme ovládat, například takto:
$ pfexec psradm -f 1 $ psrinfo 0 on-line od 08/21/2009 12:58:02 1 off-line od 08/21/2009 13:52:20
Tím jsme vypnuli procesor s číslem 1, takže zkusíme suspend příkazem
sys-suspend.Pokud jsme se probudili, můžeme zase zapnout druhé jádro:
$ pfexec psradm -n 1 $ psrinfo 0 on-line od 08/21/2009 12:58:02 1 on-line od 08/21/2009 13:53:40
Je poměrně neohrabané dělat tohle pokaždé, když chci laptop uspat, což se děje několikrát denně, takže jsem si na to napsal skript:
#!/bin/zsh pfexec psradm -f 1 sys-suspend pfexec psradm -n 1
#!/bin/zsh změňte na shell, který používáte, soubor umístěte někam do vaší cesty ($PATH), já zvolil /usr/bin/susp a učiňte spustitelným pfexec chmod +x /usr/bin/susp.Pro spuštění skriptu budete potřebovat oprávnění na správu CPU, anebo oprávnění Primary Administrator.
Do panelu nebo menu si pak můžete umístit spouštěč, který jen spustí /usr/bin/susp a dále se nemusíte o nic víc starat.
Přeji hezký spánek :-)

