Built-in display doesn't work after resume from docking station suspend

Bug #526367 reported by Torsten Spindler
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Steps to reproduce

1) Power off and close Laptop (T61 or x61)
2) Place laptop in docking station
3) Turn on laptop via docking station power button
4) Login and start a session
5) Press the undock button
6) Remove laptop from docking station, laptop will suspend
7) Resume laptop, but it will go back to sleep (not subject of this bug report)
8) Resume laptop second time
9) Laptop built-in display will stay black

Note that the system is still running and can be accessed for example via ssh.

Revision history for this message
Torsten Spindler (tspindler) wrote :

The attached script removes the black display effect on one system, but not others. It has to be placed in /etc/pm/sleep.d.

Revision history for this message
Torsten Spindler (tspindler) wrote :

With the latest 2.6.32-14-generic-pae kernel on Lucid the behaviour changes:

9) Graphics will show, but session is terminated.

Revision history for this message
Torsten Spindler (tspindler) wrote :

Attached is the dmesg output after the graphics fail to come back initially. After using ctrl-alt-f1 to f7 the graphics are back ...

Revision history for this message
Torsten Spindler (tspindler) wrote :

The following sequence resulted in a running graphic 3 out of 3 times:

1) Place turned off laptop in docking station
2) Turn on laptop via docking station
3) login
4) call pm-suspend directly
5) remove laptop from docking station with docking station button 2 (eject) directly, not using button 1
6) resume laptop
7) change virtual terminals 2, then 1 or 7, depending on where X is running

The graphics are restored and everything runs fine.

Revision history for this message
Torsten Spindler (tspindler) wrote :

Here a dmesg when gdm restarts. The log contains these errors, base is
$ uname -a
Linux wm0828 2.6.32-14-generic-pae #20-Ubuntu SMP Sat Feb 20 07:07:46 UTC 2010 i686 GNU/Linux

[ 139.480255] render error detected, EIR: 0x00000000
[ 139.480261] i915: Waking up sleeping processes
[ 139.480325] [drm:i915_wait_request] *ERROR* i915_wait_request returns -5 (awaiting 3690 at 3689)
[ 140.309240] CE: hpet increasing min_delta_ns to 15000 nsec
[ 140.448160] [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
[ 140.448172] render error detected, EIR: 0x00000000
[ 140.448178] i915: Waking up sleeping processes
[ 140.448226] [drm:i915_wait_request] *ERROR* i915_wait_request returns -5 (awaiting 3709 at 3701)
[ 141.020229] eth0: no IPv6 routers present
[ 141.372281] [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
[ 141.372295] render error detected, EIR: 0x00000000
[ 141.372301] i915: Waking up sleeping processes
[ 141.372340] [drm:i915_wait_request] *ERROR* i915_wait_request returns -5 (awaiting 3718 at 3716)
[ 141.686178] [drm] TMDS-15: set mode 1680x1050 27
[ 141.940016] wlan0: no IPv6 routers present
[ 142.083882] [drm] TMDS-15: set mode 1680x1050 27
[ 142.563435] [drm] TMDS-15: set mode 1680x1050 27

Revision history for this message
Bryce Harrington (bryce) wrote :

From those error messages, this appears to be some sort of error in the kernel i915 DRM. So I think we can initially guess this bug report should go to the kernel.

The kernel team is evaluating the 2.6.33 drm for inclusion in Lucid, so as a first step I would recommend testing that. Look in apw's red ppa, which has a package with this .33 drm update. If that does not solve the issue, then the kernel team can take further action; if it does solve it, then that'll be another point in favor of moving to .33 drm.

tags: added: lucid
affects: ubuntu → linux (Ubuntu)
tags: added: xorg-needs-kernel-fix
Revision history for this message
Bryce Harrington (bryce) wrote :

Also, run `apport-collect 526367` which should attach some files the kernel team likes to have on these bugs.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Torsten Spindler (tspindler) wrote :

With the latest kernel the system does not show the desktop when booting with laptop lid closed in the docking station anymore. Instead the Ubuntu login sound can be heard, a mouse pointer is available on a black desktop and on the top left edge there is a blinking cursor.
$ uname -a
Linux lvm-laptop 2.6.32-15-generic #22-Ubuntu SMP Tue Mar 2 02:24:17 UTC 2010 i686 GNU/Linux

When switching to virtual console 7 the system will go to sleep (bug 515465), come back and show the message:
[timestamp] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id

All of this happens with the laptop with closed lid in the docking station.

tags: added: apport-collected
Revision history for this message
Torsten Spindler (tspindler) wrote :

apport-collect crashed when trying to submit information for this bug. I will try again as soon as there's an update for apport.

Revision history for this message
Torsten Spindler (tspindler) wrote :

The PPA kernel behaves differently:
Linux lvm-laptop 2.6.32-16-generic #23~drm33v5-Ubuntu SMP Thu Mar 4 17:21:31 UTC 2010 i686 GNU/Linux

1) Power off and close Laptop (T61 or x61)
2) Place laptop in docking station
3) Turn on laptop via docking station power button
4) Login and start a session
5) Press the undock button
6) Remove laptop from docking station, laptop will suspend
7) Resume laptop, but it will go back to sleep (not subject of this bug report)
8) Resume laptop second time
9) Session is restarted

The dmesg contains traces of drm:915 driver:
~$ dmesg | grep drm
[ 0.000000] Linux version 2.6.32-16-generic (buildd@seaborgium) (gcc version 4.4.3 (Ubuntu 4.4.3-3ubuntu1) ) #23~drm33v5-Ubuntu SMP Thu Mar 4 17:21:31 UTC 2010 (Ubuntu 2.6.32-16.23~drm33v5-generic)
[ 18.399384] [drm] Initialized drm 1.1.0 20060810
[ 18.558716] [drm] set up 7M of stolen space
[ 19.128755] [drm] initialized overlay support
[ 19.477979] fb0: inteldrmfb frame buffer device
[ 19.483705] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[ 133.632218] [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
[ 133.632488] [drm:i915_do_wait_request] *ERROR* i915_do_wait_request returns -5 (awaiting 2487 at 2484)
[ 135.960250] [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
[ 135.960504] [drm:i915_do_wait_request] *ERROR* i915_do_wait_request returns -5 (awaiting 2489 at 2488)
[ 137.920240] [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
[ 137.920501] [drm:i915_do_wait_request] *ERROR* i915_do_wait_request returns -5 (awaiting 2496 at 2492)

Complete dmesg is attached.

Revision history for this message
Torsten Spindler (tspindler) wrote :

The latest kernel, 2.6.32-16-generic seems to have fixed this problem.

Changed in linux (Ubuntu):
status: Incomplete → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.