Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Intel Rapid Start on Linux
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Melsion
n00b
n00b


Joined: 01 Nov 2007
Posts: 8

PostPosted: Mon Mar 04, 2013 1:46 am    Post subject: Intel Rapid Start on Linux Reply with quote

Hi!

just a few days ago I got my new laptop, it's an HP Spectre XT ultrabook. It's a neat machine, and more importantly, everything works on linux with little or no work at all (wifi, webcam, uefi boot... even the touchscreen) which is very important for me as I use Gentoo as my only OS. Anyway, it comes with Intel Rapid Start (iRST) technology... which is the only thing I can't get to work properly.

Basically, you need to have a partition with a size equal to your system's memory. When you suspend to ram (S3), the BIOS wakes up after some time and flushes all pages in RAM to the partition earlier mentioned and shut's down the system. When you open the lid or press the power button, the BIOS directly restores all data to RAM and the OS comes back thinking it has been in a normal S3 state, so you can boot into your system in under 5 seconds. It's like hibernation, but directly from BIOS.

The thing is, I've seen some motherboards (specially for desktops) allow the user to adjust the timer from BIOS, my laptop doesn't, it just allows to deactivate the technology. So it seems the OS passes the timeout and some options to the BIOS (acpi?) before entering S3.

When I close the lid, it enters S3, bot from there on.... it's all random. Sometimes it wakes up inmediatelly to hibernate with iRST, sometimes it does it after a few random minutes, sometimes it stays in S3 forever, and sometimes (and this is troublesome) it actually wakes up the OS after some time and stays on forever, ignoring the lid status and reading random data from the touchscreen causing a mess (apps open, moves all desktop elements, erases files.... it's like leaving your cat playing with the mouse).

So I was wondering if anyone has had any experience playing with this technology and knows how to configure it.

My /proc/acpi only has two entries: button (the lid) and wakeup, it's contents are:
Code:

Device  S-state   Status   Sysfs node
P0P1      S4    *disabled
GLAN      S4    *disabled
EHC1      S3    *enabled   pci:0000:00:1d.0
EHC2      S3    *enabled   pci:0000:00:1a.0
XHC       S3    *enabled   pci:0000:00:14.0
HDEF      S0    *disabled  pci:0000:00:1b.0
RP01      S5    *disabled  pci:0000:00:1c.0
PXSX      S5    *enabled   pci:0000:01:00.0
RP02      S4    *disabled  pci:0000:00:1c.1
PXSX      S4    *disabled  pci:0000:02:00.0
RP03      S4    *disabled
PXSX      S4    *disabled
RP04      S4    *disabled  pci:0000:00:1c.3
PXSX      S4    *disabled  pci:0000:03:00.0
RP05      S5    *disabled  pci:0000:00:1c.4
PXSX      S5    *disabled
HRUP      S5    *disabled
HRDN      S5    *disabled
RP06      S4    *disabled
PXSX      S4    *disabled
RP07      S4    *disabled                                                                                                                                                                                                                   
PXSX      S4    *disabled
RP08      S4    *disabled
PXSX      S4    *disabled
PEG0      S4    *disabled
PEGP      S4    *disabled
PEG1      S4    *disabled
PEG2      S4    *disabled
PEG3      S4    *disabled
LID0      S3    *disabled


Any ideas? Where in the /sys or /proc tree could I find a file related to this system?

Thanks in advance and sorry for my poor english!
Back to top
View user's profile Send private message
jpc22
Apprentice
Apprentice


Joined: 29 Jan 2012
Posts: 187

PostPosted: Fri Mar 08, 2013 1:02 am    Post subject: Reply with quote

I dont know much about that technology but i did some research on hibernation and suspend to ram a while ago and some threads i remember mentioned pretty much the same as irst (saving the ram content in a ``swap`` partition at shutdown/suspend to resume and boot faster from it) but implemented with linux software instead of directly from the bios.
unfortunately i cant remember where i saw this, and im not using this feature on my machines for security issues with cryptography.


Ultrabooks and irst are pretty new , so maybe the linux kernels conflicts with the bios over the control for processor states and confuses irst.


I suggest you do some research and thinker really carefully (acpi controls a lot of important stuff life fans , voltage...) with acpi related boot arguments by passing them to your bootloader in order to enable some features or fix a linux/bios conflict. The method to pass such arguments will vary according to your bootloader.

ie: append=`` acpi_osi=Linux Backlight=vendor`` is what used to work on my laptop to enable keyboard backlight when i used lilo.



just my two cents, that being said, if you cant get the 5 second boot directly from bios and or linux support for irst, the software possibility remains.
Back to top
View user's profile Send private message
Hu
Watchman
Watchman


Joined: 06 Mar 2007
Posts: 8600

PostPosted: Fri Mar 08, 2013 2:50 am    Post subject: Reply with quote

Linux has supported a similar feature for quite a while, although the ordering is necessarily a little different. Linux suspend-to-both writes a hibernation image, then places the machine in S3. If you retain power, you can resume from S3. If power fails, you can resume from hibernation. This requires writing the hibernation image immediately, but for spinning drives, this is a better choice, since it means you do not wake up the drive at some later point (possibly in a laptop bag) for the iRST disk write. Linux suspend-to-both also means that your standard hibernation location is used, so you do not need to dedicate extra storage for iRST.
Back to top
View user's profile Send private message
Melsion
n00b
n00b


Joined: 01 Nov 2007
Posts: 8

PostPosted: Sat Mar 09, 2013 11:24 am    Post subject: Reply with quote

Thanks for the info! I'll do some research.

I've done some testing and, as far as I can tell, irst is barely 2 seconds faster than linux hibernate. I suppose it's the time it takes to read the kernel image before it can load the pages back to memory, wich is something irst avoids. I can live with that. Specially since I load the kernel image from UEFI directly, and I have to compile the boot options in the kernel image itself.... bad idea for toying with boot options.

I didn't know about suspend to both, will give it a try as soon as I can. But there's a function I'd be missing anyway, having the BIOS shutdown the system after a timeout. I'd like to be able to close the lid and have the system automatically suspend but, if I don't get back to the laptop after, say, half an hour, the system should shutdown completelly. With suspend to both, it would resume from RAM if I opened the lid before the timeout and resume from disk afterwards. Is it even possible from linux?

Quick search on google shows nothing... any ideas?
Back to top
View user's profile Send private message
Hu
Watchman
Watchman


Joined: 06 Mar 2007
Posts: 8600

PostPosted: Sat Mar 09, 2013 5:29 pm    Post subject: Reply with quote

As I understand it, suspend-to-both does not directly support the use case you describe. You could probably kludge it with a resume timer to exit S3 and trigger an explicit hibernate to disk, but that would arguably be worse than just trying to make iRST to do the right thing. On most machines, S3 consumes very little power, so unless you expect the machine to go for at least a day, the extra complexity may not be worth it.
Back to top
View user's profile Send private message
invigo
n00b
n00b


Joined: 11 Mar 2013
Posts: 1

PostPosted: Mon Mar 11, 2013 7:08 am    Post subject: Reply with quote

I think that Rapid Start Tech refers to using a small (8gb) SSD as sort of a cache. I do not think its meant to be used on a regular SSD. Some motherboards even come with the tiny SSD soldered on to the motherboard.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum