11 Replies Latest reply on May 13, 2010 3:36 PM by jpuche

    DQ45CB mobo does not suspend properly on linux

    jpuche

      Dear all,

       

      I have my PC with a DQ45CB motherboard (with integrated intel graphics card 4500), a Quad Core Q9300 processor and 4 GB RAM with Linux. I have tryed Opensuse 11.1 (kernel 2.6.27) and Ubuntu 9.04 (kernel 2.6.28) both 64 bits architecture. When I suspend machine seems to suspend ok, but pushing the power button will initiate a normal boot. I updated BIOS today with ISO I got from intel web site (I guess it should be the latest, as it showed only one possible download for bios update for that mobo)

       

      I tryed states S2 and others, changing /etc/defaults/acpi-supports and other similar tricks (s2ram with several options) found in several web pages (see below) without success. I seem to remember that once I installed windows on this machine it did work (32 bits)

       

      Thanks for any recomendation on hoy to solve this problem. Tell me if I should provide any additional data.

       

      Regards,

       

      Javier.

      PD: the urls I visited:

      http://en.opensuse.org/S2ram#Integration_into_other_projects_.28or_.22How_to_get_the_GUI_buttons_working.22.29

      http://en.opensuse.org/ACPI_Suspend_debugging

      http://en.opensuse.org/Powersave_s2ram

      http://people.freedesktop.org/~hughsient/quirk/quirk-suspend-advanced.html

      http://ubuntuforums.org/showthread.php?t=999885

        • 1. Re: DQ45CB mobo does not suspend properly on linux
          asdfqwer

          I can confirm this problem.

          System:
          - 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?

          • 2. Re: DQ45CB mobo does not suspend properly on linux
            asdfqwer

            This seems to be a linux issue. Using vanilla 2.6.30 kernel resume *works*.

            • 3. Re: DQ45CB mobo does not suspend properly on linux
              jpuche

              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 ...

              • 4. Re: DQ45CB mobo does not suspend properly on linux
                asdfqwer

                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.

                • 5. Re: DQ45CB mobo does not suspend properly on linux
                  jpuche

                  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 ....
                  • 6. Re: DQ45CB mobo does not suspend properly on linux
                    jpuche

                    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 ...???

                     

                    Regards,

                     

                    Javier.

                    • 7. Re: DQ45CB mobo does not suspend properly on linux
                      asdfqwer

                      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 ]---

                      • 8. Re: DQ45CB mobo does not suspend properly on linux
                        jpuche

                        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 ...

                         

                        Regards,

                         

                        Javier.

                        • 9. Re: DQ45CB mobo does not suspend properly on linux
                          asdfqwer

                          Hi,

                          thanks for testing!

                          Somewhere I read that 2.6.30.1 improves suspend/resume handling of Intel GPUs. Today I upgraded to kernel.org kernel 2.6.30.3 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.

                          1 of 1 people found this helpful
                          • 10. Re: DQ45CB mobo does not suspend properly on linux
                            jpuche

                            Ok, I updated kernels for my ubuntu 9.04 and I get the following results:

                             

                            - with kernel 2.9.30.5 suspend works fine, it works with and without the acpi=rsdt trick.

                            - with kernel 2.9.29.6 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 ...

                            • 11. Re: DQ45CB mobo does not suspend properly on linux
                              jpuche

                              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....

                               

                              Regards,

                              Javier.