Does hybernate/wakeup work?

Ian Smith smithi at nimnet.asn.au
Wed Nov 4 07:25:56 UTC 2009


On Tue, 3 Nov 2009, Yuri wrote:
 > Ian Smith wrote:
 > > As Paul said, hibernation only works if the machine's BIOS supports it
 > > (hw.acpi.s4bios = 1) AND you've already prepared a suitable disk area,
 > > usually a separate slice (DOS partition) or as a file in a 'doze slice.
 > > 
 > > To make even a vaguely informed guess as to whether hibernation and/or
 > > acpiconf -s3 (suspend/resume) might work, we'd need to know:
 > > 
 > >  What version of FreeBSD on which architecture?  (output of 'uname -a')
 > > 
 > >  What make and model of laptop?  (someone may know if that one works)
 > > 
 > >  Whether it runs a single or multiple CPUs?  (see /var/run/dmesg.boot)
 > > 
 > >  The output of 'sysctl hw.acpi' ?
 > > 
 > > cheers, Ian
 > >   
 > 
 > Here is this information:
 > FreeBSD-8.0-RC2

i386 or amd64?  It matters, which is why we ask for uname -a .. obscure 
your hostname etc if needed.  Some Atom models (230 and 330, I read) 
have feature 'LM' and so can run amd64; others don't and must run i386.

 > Laptop is Lenovo S10-2, single CPU, Intel Atom.

But with hyperthreading enabled or not?  How many CPUs launched (dmesg)? 
Again, it matters.  As I understand it, on 8.0 amd64 SMP suspend/resume 
(S3) should work, i386 SMP is currently broken, i386 non-SMP should 
(still) work, but I'm really not sure about the Atoms.

head -50 /var/run/dmesg.boot (or so) should clear this up.  We don't 
need the whole thing, but show anything to do with ACPI and CPU(s).

 > --- sysctl hw.acpi output ---
 > 
 > hw.acpi.supported_sleep_state: S3 S4 S5
 > hw.acpi.power_button_state: S5
 > hw.acpi.sleep_button_state: S3
 > hw.acpi.lid_switch_state: NONE
 > hw.acpi.standby_state: NONE
 > hw.acpi.suspend_state: S3
 > hw.acpi.sleep_delay: 1
 > hw.acpi.s4bios: 0

So, hibernate won't work.  There was talk of someone doing that for a 
Google SoC project but I've heard no more about it for a long while.

 > hw.acpi.verbose: 0
 > hw.acpi.disable_on_reboot: 0
 > hw.acpi.handle_reboot: 0
 > hw.acpi.reset_video: 0
 > hw.acpi.thermal.min_runtime: 0
 > hw.acpi.thermal.polling_rate: 10
 > hw.acpi.thermal.user_override: 0
 > hw.acpi.thermal.tz0.temperature: 43.0C
 > hw.acpi.thermal.tz0.active: -1
 > hw.acpi.thermal.tz0.passive_cooling: 0

Slightly surprising, but again I know nothing about Atom BIOSes.

 > hw.acpi.thermal.tz0.thermal_flags: 0
 > hw.acpi.thermal.tz0._PSV: -1
 > hw.acpi.thermal.tz0._HOT: -1
 > hw.acpi.thermal.tz0._CRT: 102.0C
 > hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
 > hw.acpi.thermal.tz0._TC1: -1
 > hw.acpi.thermal.tz0._TC2: -1
 > hw.acpi.thermal.tz0._TSP: 300
 > hw.acpi.battery.life: -1
 > hw.acpi.battery.time: -1
 > hw.acpi.battery.state: 7
 > hw.acpi.battery.units: 1
 > hw.acpi.battery.info_expire: 5
 > hw.acpi.acline: 1
 > hw.acpi.cpu.cx_lowest: C1

If this is either i386 uniprocessor or amd64 SMP, suspend/resume should 
work, though possibly needing some settings tweaked and/or some modules 
unloaded/reloaded in /etc/rc.{suspend,resume} to do so successfully.

If so, I'd next try the freebsd-mobile@ list where several people who 
should be able to advise on this tend to hang out.  If not, you may be 
out of luck at this stage.

cheers, Ian


More information about the freebsd-questions mailing list