Filesystems disappear upon resume from suspend-to-ram (AHCI) (2.6.30) (amd64)
Linux - Laptop and NetbookHaving a problem installing or configuring Linux on your laptop? Need help running Linux on your netbook? This forum is for you. This forum is for any topics relating to Linux and either traditional laptops or netbooks (such as the Asus EEE PC, Everex CloudBook or MSI Wind).
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Filesystems disappear upon resume from suspend-to-ram (AHCI) (2.6.30) (amd64)
I don't know if exactly this is the right place (out of all of the places on the internet to post this), so please let me know if this would be best directed at a mailing list or elsewhere.
Laptop successfully resumes from suspend, but for one thing: The hard disks are unmounted/missing when I get X back!
I can't access dmesg in this state, nor ls, cat or any useful utilities (since they are on the hard disk). I tried copying some utilities to a tmpfs, but this doesn't seem to work either (the tmpfs doesn't seem to contain any of the files I copied to it before suspend, bash just says "/mnt/tmpfs/{ls,cat,dmesg} cannot be found")
I did manage to set the loglevel with sysrq-4, and then I get something akin to the following text (transcribed to paper):
This text is repeated about once every half a second, interspersed with random ext3 errors about not finding bits of filesystem. (Also, it is repeated with ata1: and lines beginning with ata2: ).
Code:
ata1: SATA link down (SStatus 1 SControl 310)
ata1: EH complete
ata1: exception Emask 0x10 SAct 0x0 SError 0x4000000 action 0xe frozen
ata1: irq_stat 0x00000040 connection status changed
ata1: SError: { DevExch }
ata1: limiting SATA link speed to 1.5Gbps
ata1: hard resetting link
Possibly relevent bit from dmesg from boot:
Code:
[ 2.735612] Loading iSCSI transport class v2.0-870.
[ 2.735821] Driver 'sd' needs updating - please use bus_type methods
[ 2.735876] Driver 'sr' needs updating - please use bus_type methods
[ 2.736927] ahci 0000:00:1f.2: version 3.0
[ 2.736938] ahci 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[ 2.737800] ahci 0000:00:1f.2: irq 29 for MSI/MSI-X
[ 2.737871] ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 4 ports 3 Gbps 0x33 impl SATA mode
[ 2.738712] ahci 0000:00:1f.2: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part ems
[ 2.739560] ahci 0000:00:1f.2: setting latency timer to 64
[ 2.742783] scsi0 : ahci
[ 2.743790] scsi1 : ahci
[ 2.744753] scsi2 : ahci
[ 2.745737] scsi3 : ahci
[ 2.746712] scsi4 : ahci
[ 2.747718] scsi5 : ahci
[ 2.748770] ata1: SATA max UDMA/133 abar m2048@0xdb305000 port 0xdb305100 irq 29
[ 2.749695] ata2: SATA max UDMA/133 abar m2048@0xdb305000 port 0xdb305180 irq 29
[ 2.750713] ata3: DUMMY
[ 2.751653] ata4: DUMMY
[ 2.752656] ata5: SATA max UDMA/133 abar m2048@0xdb305000 port 0xdb305300 irq 29
[ 2.753653] ata6: SATA max UDMA/133 abar m2048@0xdb305000 port 0xdb305380 irq 29
[ 2.754745] ATL1E 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
<snip snip snip>
[ 3.282692] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 3.284425] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 3.288567] ata2.00: ATAPI: HL-DT-ST BDDVDRW CT10N, WA02, max UDMA/133
[ 3.294780] ata2.00: configured for UDMA/133
[ 3.317295] ata1.00: ATA-8: WDC WD3200BEKT-22F3T0, 11.01A11, max UDMA/133
[ 3.319090] ata1.00: 625142448 sectors, multi 0: LBA48 NCQ (depth 31/32)
[ 3.322010] ehci_hcd 0000:00:1a.7: port 2 high speed
[ 3.322017] ehci_hcd 0000:00:1a.7: GetStatus port 2 status 001005 POWER sig=se0 PE CONNECT
[ 3.324005] ata1.00: configured for UDMA/133
[ 3.342700] scsi 0:0:0:0: Direct-Access ATA WDC WD3200BEKT-2 11.0 PQ: 0 ANSI: 5
[ 3.345451] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 3.347192] sd 0:0:0:0: [sda] 625142448 512-byte hardware sectors: (320 GB/298 GiB)
[ 3.348908] sd 0:0:0:0: [sda] Write Protect is off
[ 3.350614] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 3.350642] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 3.352484] sda:<5>scsi 1:0:0:0: CD-ROM HL-DT-ST BDDVDRW CT10N WA02 PQ: 0 ANSI: 5
[ 3.360947] sda1 sda2 sda3 sda4 <sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
[ 3.372847] Uniform CD-ROM driver Revision: 3.20
[ 3.375233] sr 1:0:0:0: Attached scsi CD-ROM sr0
[ 3.375446] sr 1:0:0:0: Attached scsi generic sg1 type 5
[ 3.387155] sda5 sda6 >
[ 3.409532] sd 0:0:0:0: [sda] Attached SCSI disk
Check out the kernel docs in /Documentation/power in the kernel source code, specifically the one called 'basic-pm-debugging.txt'
If you haven't tried it, following the methods outlined in there for testing your software & hardware during the stages of sleeping, might point out where to look deeper. What I did was in a console, run 'tail -f /var/log/kernel.log' to see the kernel output of the suspend debug code, while in another console, execute the actual debug commands from that .txt file I mention above.
At a glance, I do not see 'CONFIG_PM_DEBUG" in your kernel config; if it isn't enabled, you will need to rebuild and enable that to debug pm/suspend.
Also, that documentation and other stuff I have read, suggests that one try to get 'suspend to disk' working first, as it tends to work more readily on more systems, and THEN when that works, start working on suspend-to-ram. ( I for one didn't follow that advice, I just dove right into the s2ram method. It now works!)
If you're using SuSE-Linux's s2ram tool, check if your machine is listed in the whitelist, and if it is, does it have any particular special things mentioned that need to be done? If it isn't listed in the whitelist, you're starting from scratch..
I have read of people also having troubles with the suspend code in 2.6.29 but no troubles with 2.6.30.. Are you using a stable kernel release? or still the -rc kernel? Perhaps a stable kernel will help?
Hope this gets you started in some useful direction--- FWIW I am using Slack-11 with 2.6.30, on an MSI P6N-SLI desktop motherboard (which amazingly was IN the whitelist I mentioned above!!) and I'm not real handy with Gentoo, so I can't provide super-specific Gentoo or Laptop help.. But good luck for now, and keep us posted
Sasha
PS - Have you looked into "TuxOnIce" ?? Me neither, as it is a bunch of kernel patches as I understand, and I would prefer to have an un-patched kernel generally.. But there are a lot of reports of it working great, in cases where the usual methods fail.. Might be worth a look..
Last edited by GrapefruiTgirl; 06-15-2009 at 09:14 AM.
Reason: mention TuxonIce
I have the same laptop and I have managed to get suspend&resume working by changing the SATA option in the BIOS from AHCI to ATA. I have no idea what that option does except that now I can use suspend&resume with confidence that suspended programs will not be crashed during resume.
The only remaining issue with that laptop is disabled VT-x CPU flag. There is no option in the BIOS to enable it and programs like VMware or VirtualBox are a bit restricted. I have emailed ACER support but I don't think I will get valuable answer...
Thanks for taking the time to post this, karolbe. I haven't yet had a chance to try it yet.
Turning off AHCI is a bit of an unfortunate issue, but if I have to live with slightly slower I/O to get my computer to sleep, then maybe so be it. It would still be nice to find a solution to it. I'm currently thinking it might be a SATA driver bug or something along those lines.
Ah, the famous VT-x flag issue. A real pain that one. I also contacted ACER and they were useless. They tried to get me to call a premium support line, which I refused to do, and they did eventually give me a response by e-mail, but didn't actually answer any of the questions I asked in my e-mail to them.
It is a real pain because to turn it on the BIOS changes would be trivial. At the moment the BIOS is doing a priviledged WRMSR instruction first thing when the computer turns on which disables VT-x, and it can't be re-enabled until "next boot" at which poinat the same thing happens again. One instruction! A few bytes of machine code! If only it were possible to find out where it was and remove it.
Quote:
Originally Posted by ACER support
Hello, Thank you for contacting Acer.
Regarding your enquiry,
I understand what your saying but the BIOS will not support this software and as of yet there are no plans by ACER to release a BIOS update that will support the VT software
Yes...this is very unfair that they have crippled such a nice laptop. I was thinking about returning it but then decided to keep it, after all VirtualBox or VMware is running and at least now I don't need SMP or emulating 64 bit on 32 bit CPU...
The same VT-x situation is with Sony Vaio laptops. For some of them (ones which have Phoenix BIOS) there is a patch which can enable VT-x, for rest of them with Insyde BIOS and others there isn't
I have read somewhere that Windows 7 is using hardware virtualization to run some legacy code. Maybe when Windows 7 will be finally released ACER will change their mind and enable it. We can only hope as Insyde BIOS is supposedly very difficult to hack...
DUDE!! you have one drastically overloaded kernal there !!
start with "cd /usr/src/linux-2.6.>=27whatever your version"
"make x86_64_defconfig"
"make menuconfig" add the file systems ,network protocols,usb modules that make since move some built in stuff out to modules
leave in the stuff needed to boot in move the rest out to modules
I have noticed that the latest BIOS 1.13 most probably fixes the issue with disappearing filesystems after resume. I am using the same kernel (2.6.30) as with the older BIOS 1.10 and after at least 10 suspend-resume cycles all is working fine.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.