I can confirm this problem.
- Intel DQ45CB (using Intel GMA 4500), Core 2 Duo
- 8GB RAM
- Ubuntu 9.04 64-bit
- BIOS version 85
Suspend to ram seems to work at first. Fans and drives stop spinning, Standby LED indicates S3.
But when pressing the power button to wake the machine up it behaves as if it has not
been in S3 state and reboots.
Could this be fixed with a new BIOS?
This seems to be a linux issue. Using vanilla 2.6.30 kernel resume *works*.
I tried kernel 2.6.30-020630-generic from http://kernel.ubuntu.com/~kernel-ppa/mainline/ for my Ubuntu 9.04 and suspend keeps not working. In fact situation got worse, now when I try to suspend the fans keeps working and I get a black screen with a blinking cursor and then I have to press power button for 5 secons to shut down, as just pushing it does nothing :-( ... ok, I'll keep trying ...
In the motherboard I desactivated TXT and VT-d as I read somewhere that that could interfere ...
Since a few days after my first post I also have this problem, or - if suspend works - there is memory corruption after resume and I have to reboot. I believe that this issue was introduced either by using the intel driver instead of vesa for the x-server or by installing a sound card. Before I had resume working for a few days and did about 10 suspends and resumes without problems. Perhaps you can try using the vesa driver for xorg and removing all additional hardware except for keyboard, mouse, drives. I used 2.6.30 from kernel.org and made oldconfig with ubuntu config of 2.6.28-13-generic, disabled all new features.
I tried vesa driver but I got the same behaviour ..
I saw this post: http://bugzilla.kernel.org/show_bug.cgi?id=12350
and tried acpi=rsdt boot option (I interpret adding to kernel line of /boot/grub/menu.lst) and it didn'd solve my problem, I tried with kernel 2.6.28 and 2.6.30 ... I guess I should rebuild the kernel removing all additional hardware as you propose, I'll report as soon as I have time to do it ....
The post also says something about setting
CONFIG_DRM_I915=y (where?? /etc/default/acpi-support?? maybe) that could have to do with your graphics corruption problem ...
I keep trying ....
Ok, I got it working, It works ok with kernel 2.6.29 (from ppa) and acpi=rsdt appended to kernel boot line (/boot/grub/menu.lst) (ok, I did not try without this anyhow) ...
It is quite weird that it works with 2.6.29 and it does not with 2.6.30 ...???
I tried 2.6.29 from ppa but it does not change anything for me. I can resume as with 2.6.30 but I have memory corruption after resume. I found out that disabling HPET in bios setup at least makes my onboard ethernet work again after resume.
Could you do this about 1 to 2 minutes after a resume:
dmesg | grep -B 6 -A 20 "Call Trace:"
and tell me if you get something like this
[ 1020.860110] ------------[ cut here ]------------
[ 1020.860113] WARNING: at /home/kernel-ppa/mainline/build/arch/x86/kernel/check.c:134 check_for_bios_corruption+0xe7/0x100()
[ 1020.860115] Hardware name:
[ 1020.860116] Memory corruption detected in low memory
[ 1020.860118] Modules linked in: i915 drm i2c_algo_bit binfmt_misc ppdev bridge stp bnep nls_iso8859_1 nls_cp437 vfat fat lp parport snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_emul snd_emu10k1 snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_page_alloc snd_util_mem snd_hwdep snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq dvb_usb_dib0700 snd_timer dib7000p snd_seq_device dib7000m dvb_usb video snd emu10k1_gp dvb_core psmouse intel_agp iTCO_wdt iTCO_vendor_support output soundcore gameport dib3000mc dibx000_common dib0070 serio_raw pcspkr joydev sha256_generic aes_x86_64 aes_generic cbc hid_cherry usbhid ohci1394 ieee1394 e1000e dm_crypt
[ 1020.860167] Pid: 10, comm: events/0 Tainted: G W 2.6.29-02062906-generic #02062906
[ 1020.860169] Call Trace:
[ 1020.860174] [<ffffffff80251a0c>] warn_slowpath+0xdc/0x110
[ 1020.860177] [<ffffffff8025245c>] ? release_console_sem+0xbc/0xe0
[ 1020.860182] [<ffffffff805256a5>] ? usb_free_urb+0x15/0x20
[ 1020.860186] [<ffffffff80526501>] ? usb_start_wait_urb+0x91/0xe0
[ 1020.860188] [<ffffffff80252a87>] ? printk+0x67/0x70
[ 1020.860194] [<ffffffff802654f3>] ? queue_delayed_work_on+0xb3/0xf0
[ 1020.860197] [<ffffffff8022eac7>] check_for_bios_corruption+0xe7/0x100
[ 1020.860200] [<ffffffff8022eae0>] ? check_corruption+0x0/0x30
[ 1020.860203] [<ffffffff8022eae9>] check_corruption+0x9/0x30
[ 1020.860206] [<ffffffff8026484c>] run_workqueue+0xec/0x1a0
[ 1020.860209] [<ffffffff80265123>] worker_thread+0xa3/0x110
[ 1020.860212] [<ffffffff80268bc0>] ? autoremove_wake_function+0x0/0x40
[ 1020.860215] [<ffffffff80265080>] ? worker_thread+0x0/0x110
[ 1020.860218] [<ffffffff802686dd>] kthread+0x4d/0x80
[ 1020.860222] [<ffffffff8021381a>] child_rip+0xa/0x20
[ 1020.860224] [<ffffffff80268690>] ? kthread+0x0/0x80
[ 1020.860227] [<ffffffff80213810>] ? child_rip+0x0/0x20
[ 1020.860229] ---[ end trace 826004ac5d4f60cc ]---
I tried and I got nothing ...
Did you try appending acpi=rsdt to the first non-commented line of /boot/grub/menu.lst ?? (it should be the kernel 2.9.29 line ....)
Suspend is working for me 99 percent of times, I got just 1 time non working, I resumed and I spent some time before touching the computer and then it was freezed (black screen, nothing working - CTRL-ALT-F1 nothing ...) but in general is now always working ok. The problem will come whenever I want to switch to kernel 2.6.30 ... I hope they'll solve the problem ...
1 of 1 people found this helpful
thanks for testing!
Somewhere I read that 18.104.22.168 improves suspend/resume handling of Intel GPUs. Today I upgraded to kernel.org kernel 22.214.171.124 and now I don't have memory corruption after resume any more. Now everything works as expected for me. I can enable HPET in bios setup and don't need any acpi kernel command line parameters.
BTW: Sometimes I had the black screen with a blinking cursor too. On my system the reason for this was a TV app (me-tv) which remained active in the background and was probably preventing the usb dvb device driver from suspending.
Ok, I updated kernels for my ubuntu 9.04 and I get the following results:
- with kernel 126.96.36.199 suspend works fine, it works with and without the acpi=rsdt trick.
- with kernel 188.8.131.52 suspend only works when acpi=rsdt is specified
- with kernel 2.9.28-15 suspend does not work, not even with acpi=rsdt ...
that's all, it finally works and for next ubuntu release (9.10) the ubuntu default kernel should work ...
Hi again, ok, a long time passed, I have now just installed Ubuntu 10.04 (amd64) and I see that suspend works properly ... but only if TXT feature is not enabled in BIOS. I guess is the former tests I had already unset intel TXT feature to avoid suspend not working ... When I have some spare time I'll see if this issue is known, happens to other people, etc....