Bug 24970 - [855GM] Lid close with intel 82852/855GM provokes black screen, loss of control and overheat
[855GM] Lid close with intel 82852/855GM provokes black screen, loss of contr...
Status: RESOLVED FIXED
Product: xorg
Classification: Unclassified
Component: Driver/intel
7.4 (2008.09)
x86 (IA32) Linux (All)
: medium major
Assigned To: Jesse Barnes
Xorg Project Team
http://https://bugs.launchpad.net/ubu...
: regression
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-11-07 01:55 UTC by Zenigata
Modified: 2010-07-15 10:43 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg log (6.95 KB, text/plain)
2009-11-07 01:56 UTC, Zenigata
no flags Details
Dependencies (4.14 KB, text/plain)
2009-11-07 01:58 UTC, Zenigata
no flags Details
glxinfo (15.88 KB, text/plain)
2009-11-07 01:58 UTC, Zenigata
no flags Details
lspci (11.50 KB, text/plain)
2009-11-07 01:58 UTC, Zenigata
no flags Details
monitors (563 bytes, text/plain)
2009-11-07 01:59 UTC, Zenigata
no flags Details
pcidisplay (1.16 KB, text/plain)
2009-11-07 01:59 UTC, Zenigata
no flags Details
proccpuinfo (453 bytes, text/plain)
2009-11-07 01:59 UTC, Zenigata
no flags Details
procinterrupts (1.24 KB, text/plain)
2009-11-07 02:00 UTC, Zenigata
no flags Details
procmodules (2.75 KB, text/plain)
2009-11-07 02:00 UTC, Zenigata
no flags Details
xorg conf (1.11 KB, text/plain)
2009-11-07 02:01 UTC, Zenigata
no flags Details
xorg log (5.59 KB, application/x-gzip)
2009-11-07 02:01 UTC, Zenigata
no flags Details
xorg log old (5.59 KB, application/x-gzip)
2009-11-07 02:01 UTC, Zenigata
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Zenigata 2009-11-07 01:55:49 UTC
Binary package hint: xserver-xorg-video-intel

When closing the lid and reopening it, the screen remains black and the laptop is not responding to anything (ctrl alt + Fx, ctrl alt +backspace or even SysRq are not working) the only way to get out is to power off the laptop with button.

This bug is quite dangerous because the PC is NOT in suspend mode : it generates a lot of heat, and thus closing the lid and putting the laptop in a bag may result in dangerous overheat leading irremediable to hardware failure.

 Putting the following in xorg.conf does not help

Section "Device"
 ... <other options here> ...
 Option "ForceEnablePipeA" "true"
EndSection

I believe this bug is very severe.


This bug is very likely a bug that issued on same hardware in Ubuntu 7.10 or so, where a work around was to enable ForceEnablePipeA option, or to set the driver in xorg to i810, but these two options are not working now...

ProblemType: Bug
Architecture: i386
Date: Wed Oct 28 22:54:32 2009
DistroRelease: Ubuntu 9.10
Lsusb:
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: Dell Computer Corporation Latitude D400
Package: xserver-xorg-video-intel 2:2.9.0-1ubuntu2
PccardctlIdent:
 Socket 0:
   no product info available
 Socket 1:
   no product info available
PccardctlStatus:
 Socket 0:
   3.3V 32-bit PC Card
 Socket 1:
   no card
ProcCmdLine: root=UUID=bac99d64-6dae-4fc0-bb2c-1124f8e5a6fa ro quiet splash
ProcEnviron:
 PATH=(custom, user)
 LANG=POSIX
 SHELL=/bin/zsh
ProcVersionSignature: Ubuntu 2.6.31-14.48-generic
RelatedPackageVersions:
 xserver-xorg 1:7.4+3ubuntu7
 libgl1-mesa-glx 7.6.0-1ubuntu4
 libdrm2 2.4.14-1ubuntu1
 xserver-xorg-video-intel 2:2.9.0-1ubuntu2
 xserver-xorg-video-ati 1:6.12.99+git20090929.7968e1fb-0ubuntu1
SourcePackage: xserver-xorg-video-intel
Uname: Linux 2.6.31-14-generic i686
XsessionErrors:
 (gnome-settings-daemon:2467): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (gnome-settings-daemon:2467): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (polkit-gnome-authentication-agent-1:2521): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
 (nautilus:2496): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed
 (gnome-panel:2494): Gdk-WARNING **: /build/buildd/gtk+2.0-2.18.3/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
dmi.bios.date: 06/28/2005
dmi.bios.vendor: Dell Computer Corporation
dmi.bios.version: A08
dmi.board.name: 0W0328
dmi.board.vendor: Dell Computer Corporation
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Computer Corporation
dmi.modalias: dmi:bvnDellComputerCorporation:bvrA08:bd06/28/2005:svnDellComputerCorporation:pnLatitudeD400:pvr:rvnDellComputerCorporation:rn0W0328:rvr:cvnDellComputerCorporation:ct8:cvr:
dmi.product.name: Latitude D400
dmi.sys.vendor: Dell Computer Corporation
fglrx: Not loaded
system:
 distro: Ubuntu
 architecture: i686kernel: 2.6.31-14-generic
Comment 1 Zenigata 2009-11-07 01:56:47 UTC
Created attachment 31022 [details]
dmesg log
Comment 2 Zenigata 2009-11-07 01:58:02 UTC
Created attachment 31023 [details]
Dependencies
Comment 3 Zenigata 2009-11-07 01:58:23 UTC
Created attachment 31024 [details]
glxinfo
Comment 4 Zenigata 2009-11-07 01:58:43 UTC
Created attachment 31025 [details]
lspci
Comment 5 Zenigata 2009-11-07 01:59:05 UTC
Created attachment 31026 [details]
monitors
Comment 6 Zenigata 2009-11-07 01:59:28 UTC
Created attachment 31027 [details]
pcidisplay
Comment 7 Zenigata 2009-11-07 01:59:48 UTC
Created attachment 31028 [details]
proccpuinfo
Comment 8 Zenigata 2009-11-07 02:00:10 UTC
Created attachment 31029 [details]
procinterrupts
Comment 9 Zenigata 2009-11-07 02:00:28 UTC
Created attachment 31030 [details]
procmodules
Comment 10 Zenigata 2009-11-07 02:01:08 UTC
Created attachment 31031 [details]
xorg conf
Comment 11 Zenigata 2009-11-07 02:01:31 UTC
Created attachment 31032 [details]
xorg log
Comment 12 Zenigata 2009-11-07 02:01:51 UTC
Created attachment 31033 [details]
xorg log old
Comment 13 Zenigata 2009-11-07 08:55:19 UTC
Using the ppa:x-edgers reposirory does not solve the bug either
Comment 14 Zenigata 2009-11-09 05:05:51 UTC
Seems that disabling modesetting via grub works as workaround with little side effects.
Comment 15 ykzhao 2010-02-11 23:50:57 UTC
Will you please boot the system and do the following test?
   1. kill the process which is using /proc/acpi/event(use the command of "lsof
/proc/acpi/event" to get the process id)
   2. cat /proc/acpi/event > event_log
   3. close and reopen the LID twice and then press the "CTRL+C" 
   4. attach the output of event_log

It will be great if you can attach the output of acpidump on your box.
   The acpidump can be obtained by using the pmtools-20071116, which can be
downloaded in:
    http://www.lesswatts.org/projects/acpi/utilities.php

thanks.
   Yakui

Comment 16 Stanislas Couix 2010-02-23 13:04:07 UTC
Hi, I experience same issue so I tried what you asked but everytime I kill the process using /proc/acpi/event here's what I got :

----
stan@stan-laptop:~$ sudo lsof /proc/acpi/event
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/stan/.gvfs
      Output information may be incomplete.
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF       NODE NAME
acpid   2212 root    3r   REG    0,3        0 4026531937 /proc/acpi/event
stan@stan-laptop:~$ sudo kill 9 2212
stan@stan-laptop:~$ sudo lsof /proc/acpi/event
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/stan/.gvfs
      Output information may be incomplete.
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF       NODE NAME
acpid   2363 root    3r   REG    0,3        0 4026531937 /proc/acpi/event
----

So cat won't work :
----
stan@stan-laptop:~$ sudo cat /proc/acpi/event > event_log
cat: /proc/acpi/event: Périphérique ou ressource occupé
----

Did I miss something ???

Thanks

Stan


(In reply to comment #15)
> Will you please boot the system and do the following test?
>    1. kill the process which is using /proc/acpi/event(use the command of "lsof
> /proc/acpi/event" to get the process id)
>    2. cat /proc/acpi/event > event_log
>    3. close and reopen the LID twice and then press the "CTRL+C" 
>    4. attach the output of event_log
> 
> It will be great if you can attach the output of acpidump on your box.
>    The acpidump can be obtained by using the pmtools-20071116, which can be
> downloaded in:
>     http://www.lesswatts.org/projects/acpi/utilities.php
> 
> thanks.
>    Yakui
> 

Comment 17 ykzhao 2010-03-15 20:05:55 UTC
 ----
> 
> So cat won't work :
> ----
> stan@stan-laptop:~$ sudo cat /proc/acpi/event > event_log
> cat: /proc/acpi/event: Périphérique ou ressource occupé
> ----
> 
> Did I miss something ???

Sorry for the late response.
   Maybe on some distributions the acpid process can't be killed.

Can you try the latest kernel(2.6.34-rc1) and see whether the issue still exist?

Thanks.
> 
> Thanks
> 
> Stan
> 
> 
> (In reply to comment #15)
> > Will you please boot the system and do the following test?
> >    1. kill the process which is using /proc/acpi/event(use the command of "lsof
> > /proc/acpi/event" to get the process id)
> >    2. cat /proc/acpi/event > event_log
> >    3. close and reopen the LID twice and then press the "CTRL+C" 
> >    4. attach the output of event_log
> > 
> > It will be great if you can attach the output of acpidump on your box.
> >    The acpidump can be obtained by using the pmtools-20071116, which can be
> > downloaded in:
> >     http://www.lesswatts.org/projects/acpi/utilities.php
> > 
> > thanks.
> >    Yakui
> > 
> 

Comment 18 Jamie Lentin 2010-04-07 12:58:17 UTC
I also have this issue with a Thinkpad G40 (852GM), it still seems to be there with 2.6.34-rc3.

Whilst I don't have /proc/acpi/event support compiled, I can SSH into the laptop and do:-

# evtest /dev/input/event1
Input driver version is 1.0.0
Input device ID: bus 0x19 vendor 0x0 product 0x5 version 0x0
Input device name: "Lid Switch"
Supported events:
  Event type 0 (Sync)
  Event type 5 (?)
    Event code 0 (?)
Testing ... (interrupt to exit)
Event: time 1266880934.477757, type 5 (?), code 0 (?), value 1
Event: time 1266880934.477760, -------------- Report Sync ------------
Write failed: Broken pipe
... the laptop dies before a "lid open" event is issued.

Also whilst playing music I can close the lid (I don't trigger any action with the lid switch), it keeps on playing until I open the lid again.

I had similar problems with the non-KMS driver for some time, not precisely sure which version fixed it but could try and work it out if it's useful.

Laptop info:-
http://jamie.lentin.co.uk/hardware/g40/lsusb.txt
http://jamie.lentin.co.uk/hardware/g40/lspci.txt
http://jamie.lentin.co.uk/hardware/g40/dmidecode.txt
http://jamie.lentin.co.uk/hardware/g40/acpidump.txt
http://jamie.lentin.co.uk/hardware/g40/kernel_config.txt
http://jamie.lentin.co.uk/hardware/g40/xorg.conf

Thanks!
Comment 19 Victor 2010-04-23 00:05:45 UTC
I have met similar issue with Dell Vostro 1015.

00:02.0 0300: 8086:2a42 (rev 07) (prog-if 00 [VGA controller])
	Subsystem: 1028:0402
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 32
	Region 0: Memory at f6c00000 (64-bit, non-prefetchable) [size=4M]
	Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M]
	Region 4: I/O ports at efe8 [size=8]
	Expansion ROM at <unassigned> [disabled]
	Capabilities: <access denied>
	Kernel driver in use: i915
	Kernel modules: i915

I am running Arch Linux x86_64:
$ uname -a
Linux del-arch 2.6.33-ARCH #1 SMP PREEMPT Sun Apr 4 10:27:30 CEST 2010 x86_64 Intel(R) Core(TM)2 Duo CPU T6670 @ 2.20GHz GenuineIntel GNU/Linux
$ pacman -Q xf86-video-intel-newest xorg-server
xf86-video-intel-newest 2.11.0-2
xorg-server 1.7.6-3

The workaround with "xrandr" doesn't work for me: when I open the lid I see black screen however I can switch to console using CTRL+ALT+Fx. After that when I issue the script with xrandr it says: 

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  150 (RANDR)
  Minor opcode of failed request:  7 (RRSetScreenSize)
  Serial number of failed request:  26
  Current serial number in output stream:  27
Comment 20 Victor 2010-04-23 01:06:30 UTC
Please disregard my comment about not working trick with xrandr.  I performed some debugging and saw that it didn't work due to the fact that lid state in /proc wasn't updated immediately. I added sleep to script and it worked.
Comment 21 Jesse Barnes 2010-07-15 10:43:02 UTC
This one should be fixed now; we don't use lid state anymore, though we do try to reset modes at lid open time.