Re: suspend on ThinkPad X31 hangs

Dan Pelleg <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
Dave Tweten writes:
 > [email protected] said:
 > >I recently installed 4.8-RC on an IBM thinkpad X31. APM seems to work
 > >(reporting battery status), and hibernation to a special partition
 > >(created with the IBM tool) works. But suspend has problems resuming.
 > 
 > That's strange, since FreeBSD 4.8 doesn't know about hibernation.  It just 
 > thinks it's being put to sleep.  The BIOS knows to copy things to the 
 > hibernation partition and shut down after the OS has gone to sleep.
 > 
 > You didn't answer any of the following questions in your original message, 
 > so:
 > 
 > 1. Did you put
 > 
 > 	options		CPU_SUSP_HALT
 > 
 >    and
 > 
 > 	device		apm0
 > 
 >    into your custom kernel config?
 > 
 > 2. Did you put all of:
 > 
 > 	apm_enable="YES"
 > 	apmd_enable="YES"
 > 	apmd_flags="-f /usr/local/etc/apmd.conf"
 > 
 >    into /etc/rc.conf (changing the path name to the location of your
 >    customized apmd configuration file)?
 > 
 > 3. Did you customize apmd.conf to incorporate
 > 
 > 	apm_event SUSPENDREQ, USERSUSPENDREQ {
 > 	    exec "/usr/local/etc/rc.suspend";
 > 	}
 > 
 > 	apm_event NORMRESUME, CRITRESUME, STANDBYRESUME {
 > 	    exec "/usr/local/etc/rc.resume";
 > 	}
 > 
 >    or the rough equivalent, to invoke your customized suspend and
 >    resume scripts?
 > 
 > 4. Does your customized suspend script do
 > 
 > 	sync && sync && sync
 > 	sleep 3
 > 	zzz
 > 
 >    to make sure all outstanding disk I/O is complete before you
 >    actually suspend?
 > 
 > 5. Are you running any detachable devices (PCCard or USB) when you
 >    suspend?  If so, you may want to detach them in rc.suspend and
 >    re-attach them in rc.resume.
 > 
 > You said you've already created a hibernation slice.  If you've done all 
 > these things, and if your X31 works at all like my T23, suspend and 
 > hibernate should work well, except for the need to switch to a virtual 
 > console and back to X when you wake up from hibernation.

Thank you for the reply. I have CPU_SUSP_HALT and apm0. apmd_flags is not
set in my rc.conf. But it seems that syncing is taken care of in
/etc/rc.suspend. I tried this with and without detachable devices, and with
and without X running. No luck.

This is strange. My X23 suspends and resumes fine (I don't have an
hibernation partition on it).

Here is a more detailed description of the failure (from booting with -v):

At resume, it shows:

ata0: resetting devices .. ata0: mask=03 ostat0=50 ostat2=00
ad0: ATAPI 00 00
ata0-slave: ATAPI 00 00
ata0: mask=03 stat0=50 stat1=00
ad0: ATA 01 a5
ata0: devices=01
ad0: success setting WDMA2 on generic chip
done
ata1: resetting devices .. ata1: mask=03 ostat0=00 ostat2=00
ata1-master: ATAPI 00 00
ata1-slave: ATAPI 00 00
ata1: mask=o3 stat0=00 stat1=00
ata1: devices=00
done

about a second later is shows:
ad0: WRITE command timeout tag=0 serv=0 - resetting
ata0: resetting devices ..

and then locks

sometimes it will instead show this before locking::
ad0: READ command timeout tag=0 serv=0 - restting
ata0: resetting devices ..

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.