Bug 37393 - [arrandale] external VGA output doesn't output anything (bios update fixes)
Summary: [arrandale] external VGA output doesn't output anything (bios update fixes)
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Daniel Vetter
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-19 21:50 UTC by Bryce Harrington
Modified: 2017-07-24 23:05 UTC (History)
6 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg-5345 (129.69 KB, text/plain)
2011-05-19 21:51 UTC, Bryce Harrington
no flags Details
dmesg - bad (123.20 KB, text/plain)
2011-05-19 21:54 UTC, Bryce Harrington
no flags Details
dmesg - good (123.42 KB, text/plain)
2011-05-19 21:55 UTC, Bryce Harrington
no flags Details
XorgLog.txt (25.44 KB, text/plain)
2011-05-19 21:56 UTC, Bryce Harrington
no flags Details
intel_reg_dumper output with NEW bios, prior to suspending. (7.08 KB, text/plain)
2011-07-20 07:52 UTC, Daniel Manrique
no flags Details
intel_reg_dumper output with NEW bios, after suspending and resuming. (7.08 KB, text/plain)
2011-07-20 07:53 UTC, Daniel Manrique
no flags Details
properly clear SSC1 (851 bytes, patch)
2012-04-01 07:03 UTC, Daniel Vetter
no flags Details | Splinter Review

Description Bryce Harrington 2011-05-19 21:50:32 UTC
Forwarding this bug from Ubuntu reporter Daniel Manrique:
http://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/754799

[Problem]
xrandr cannot enable the external monitor.  According to the log files it should be there, and the screen size is expanded as if it were there, but nothing displays on the monitor.  At the point that the external monitor is hotplugged, dmesg shows this error:

[ 135.356761] [drm] GMBUS timed out, falling back to bit banging on pin 2 [i915 gmbus vga]

and this shows up in Xorg.0.log:

[ 531.748] (II) intel(0): Allocated new frame buffer 3072x1050 stride 12288, tile

Problem has been tested with the 11.04 kernel as well as 2.6.39-994.201104200727 and shows same behavior in both cases.

[Original Description]
Steps to reproduce:

1- Plug a monitor into the VGA output
2- Press the monitor switching key (fn-F5)

Expected result: 
- Display appears on external monitor, either mirrored or as additional desktop space.

Actual result:
- The external monitor is shown in the Monitors panel, and gets correctly identified (I see Acer 19" or Dell 22", tested with two different screens)
- However, the monitor itself reports "no signal", and displays nothing.

I went as far back as Lucid and the problem still persists, so at least it doesn't appear to be a regression.

Oops, sorry, you're right about the hotkey, I'm repeating the test with xrandr this time.

I'm running the same experimental kernel:

http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-next-proposed/current/linux-image-2.6.39-994-generic_2.6.39-994.201104200727_amd64.deb

On booting I see the following references to the "GMBUS timed out, falling back to bit banging" message:

[ 14.327182] [drm] GMBUS timed out, falling back to bit banging on pin 3 [i915 gmbus panel]
[ 15.375376] [drm] GMBUS timed out, falling back to bit banging on pin 4 [i915 gmbus dpc]

I then tailed both /var/log/syslog and /var/log/Xorg.0.log, then plugged in the external display (no key presses, no xrandr yet). Here's what happens right when I plug it in (you're right, the GMBUS message appears right when I plug the external display):

==> /var/log/syslog <==
Apr 27 15:14:49 201002-5345 kernel: [ 530.567145] [drm] GMBUS timed out, falling back to bit banging on pin 2 [i915 gmbus vga]

==> /var/log/Xorg.0.log <==
[ 531.748] (II) intel(0): Allocated new frame buffer 3072x1050 stride 12288, tiled

I produced a dmesg file with this experimental kernel and the xdiagnose settings as described on #6. I do see some events when plugging in the external display and also when running xrandr --auto:

- Plugged in the external at [ 96.419325]
- xrandr --auto at [ 198.077408]

I'm attaching this new dmesg file as it might provide some information. Still, the problem persists and the external display shows nothing, even though it's being detected and used (terminal windows still appear in the external monitor, for instance, and I have to move them to the built-in to be able to use them).

DistroRelease: Ubuntu 11.04
Package: xorg 1:7.6+4ubuntu3
ProcVersionSignature: Ubuntu 2.6.38-8.41-generic 2.6.38.2
Uname: Linux 2.6.38-8-generic i686
Architecture: i386
CompizPlugins: [core,bailer,detection,composite,opengl,decor,mousepoll,vpswitch,regex,animation,snap,expo,move,compiztoolbox,place,grid,imgpng,gnomecompat,wall,ezoom,workarounds,staticswitcher,resize,fade,unitymtgrabhandles,scale,session,unityshell]
CompositorRunning: compiz
DRM.card0.DP.1:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes: 
 edid-base64:
DRM.card0.DP.2:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes: 
 edid-base64:
DRM.card0.HDMI.A.1:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes: 
 edid-base64:
DRM.card0.HDMI.A.2:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes: 
 edid-base64:
DRM.card0.LVDS.1:
 status: connected
 enabled: enabled
 dpms: On
 modes: 1366x768
 edid-base64:
DRM.card0.VGA.1:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes: 
 edid-base64:
Date: Fri Apr  8 12:43:18 2011
DistUpgraded: Fresh install
DistroCodename: natty
DistroVariant: ubuntu
GdmLog2:
 
GraphicsCard:
 Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 12) (prog-if 00 [VGA controller])
   Subsystem: Toshiba America Info Systems Device [1179:0002]
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Beta i386 (20110407.1)
MachineType: TOSHIBA TECRA A11
ProcEnviron:
 LANGUAGE=en_US:en
 LANG=en_US.UTF-8ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.38-8-generic root=UUID=d3171176-99b3-404b-af92-0531218055e3 ro quiet splash vt.handoff=7
Renderer: Unknown
SourcePackage: xorg
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 12/13/2009
dmi.bios.vendor: TOSHIBA
dmi.bios.version: Version 1.40
dmi.board.asset.tag: 0000000000
dmi.board.name: Portable PC
dmi.board.vendor: TOSHIBA
dmi.board.version: Version A0
dmi.chassis.asset.tag: 0000000000
dmi.chassis.type: 10
dmi.chassis.vendor: TOSHIBA
dmi.chassis.version: Version 1.0
dmi.modalias: dmi:bvnTOSHIBA:bvrVersion1.40:bd12/13/2009:svnTOSHIBA:pnTECRAA11:pvrPTSE0C-00N00N:rvnTOSHIBA:rnPortablePC:rvrVersionA0:cvnTOSHIBA:ct10:cvrVersion1.0:
dmi.product.name: TECRA A11
dmi.product.version: PTSE0C-00N00N
dmi.sys.vendor: TOSHIBA
version.compiz: compiz 1:0.9.4+bzr20110406-0ubuntu1
version.libdrm2: libdrm2 2.4.23-1ubuntu6
version.libgl1-mesa-dri: libgl1-mesa-dri 7.10.1-0ubuntu3
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 7.10.1-0ubuntu3
version.xserver-xorg: xserver-xorg 1:7.6+4ubuntu3
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.0-0ubuntu4
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.14.0-4ubuntu6
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110107+b795ca6e-0ubuntu6

[lspci]
00:00.0 Host bridge [0600]: Intel Corporation Core Processor DRAM Controller [8086:0044] (rev 12)
    	Subsystem: Toshiba America Info Systems Device [1179:0001]
00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 12) (prog-if 00 [VGA controller])
    	Subsystem: Toshiba America Info Systems Device [1179:0002]
Comment 1 Bryce Harrington 2011-05-19 21:51:37 UTC
Created attachment 46927 [details]
dmesg-5345

This is a dmesg against the drm-intel-next kernel with debugging turned on.

"""
I produced a dmesg file with this experimental kernel and the xdiagnose settings as described on #6. I do see some events when plugging in the external display and also when running xrandr --auto:

- Plugged in the external at [ 96.419325]
- xrandr --auto at [ 198.077408]

I'm attaching this new dmesg file as it might provide some information. Still, the problem persists and the external display shows nothing, even though it's being detected and used (terminal windows still appear in the external monitor, for instance, and I have to move them to the built-in to be able to use them).
"""
Comment 2 Bryce Harrington 2011-05-19 21:54:22 UTC
Created attachment 46928 [details]
dmesg - bad

These two good/bad dmesgs were produced by the following test procedure:

1. Please install 'xdiagnose' and check the checkbox for turning on debugging messages. Reboot your system so this takes effect.

2. Boot first with the monitor disconnected. Once it's up, attach the monitor and run this command:

dmesg > dmesg_bad.txt

3. Reboot leaving the monitor attached. Verify it comes up good. Now run the command again:

dmesg > dmesg_good.txt
Comment 3 Bryce Harrington 2011-05-19 21:55:28 UTC
Created attachment 46929 [details]
dmesg - good
Comment 4 Bryce Harrington 2011-05-19 21:56:01 UTC
xrandr --auto doesn't do anything.

xrandr -q shows this with the external display connected:

Screen 0: minimum 320 x 200, current 2646 x 1024, maximum 8192 x 8192
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1366x768 60.2*+
   1360x768 59.8 60.0
   1024x768 60.0
   800x600 60.3 56.2
   640x480 59.9
VGA1 connected 1280x1024+1366+0 (normal left inverted right x axis y axis) 376mm x 301mm
   1280x1024 60.0*+ 76.0 75.0 72.0
   1152x864 75.0
   1024x768 75.1 70.1 60.0
   832x624 74.6
   800x600 72.2 75.0 60.3
   640x480 72.8 75.0 66.7 60.0
   720x400 70.1
   640x350 70.1
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
Comment 5 Bryce Harrington 2011-05-19 21:56:47 UTC
Created attachment 46930 [details]
XorgLog.txt
Comment 6 Luke Hutchison 2011-05-25 15:58:21 UTC
I have had exactly the same symptoms on my Toshiba Satellite Pro S300M with Intel GM45 video, and the problem has existed from at least Fedora 12 to 15 inclusive, so since I'm not on Ubuntu it's definitely an upstream bug.

If I boot with the external monitor plugged in, boot messages are shown on both screens, and dual-monitor support in X works fine. If I don't boot with the external monitor plugged in, but latter plug in a VGA monitor, xrandr detects the monitor fine and says it's connected, but the monitor continues to cycle between blank and an error message screen saying that it has no signal.  Manually switching the xrandr setting for the monitor from "--off" to "--auto" does nothing.

As an aside: this bug report describes problems with external monitor support if the external monitor is *not* plugged in during boot. I also reported the following somewhat-related bugs to the Fedora Bugzilla re. problems with suspend/resume and backlight support being flaky if the machine *is* booted with the monitor plugged in: 
https://bugzilla.redhat.com/show_bug.cgi?id=692759
https://bugzilla.redhat.com/show_bug.cgi?id=692761
Comment 7 Chris Wilson 2011-06-16 03:55:35 UTC
The GMBUS warnings are immaterial, the GPIO fallback is working just fine. Interesting that GMBUS should timeout when unplugged though.

More useful would be an intel_reg_dumper with the monitor plugged in on boot (working), and with the monitor plugged in later (blank).

We also need to rule out whether this is just the mishandling of DPMS information between the kernel and X. Normally that can be resolved by e.g. xrandr --output VGA1 --off; xrandr --output VGA1 --mode 800x600; xrandr --output VGA1 --auto;
Comment 8 Daniel Manrique 2011-06-17 11:27:00 UTC
(In reply to comment #7)
> The GMBUS warnings are immaterial, the GPIO fallback is working just fine.
> Interesting that GMBUS should timeout when unplugged though.
> 
> More useful would be an intel_reg_dumper with the monitor plugged in on boot
> (working), and with the monitor plugged in later (blank).
> 
> We also need to rule out whether this is just the mishandling of DPMS
> information between the kernel and X. Normally that can be resolved by e.g.
> xrandr --output VGA1 --off; xrandr --output VGA1 --mode 800x600; xrandr
> --output VGA1 --auto;

Hi Chris,

I'm the original reporter of this problem and I have access to the hardware in question (Toshiba Tecra A11).

While looking at another, backlight-related problem (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/719620) it was suggested that it might be a BIOS bug. So I updated this machine's BIOS to the latest available from the manufacturer (Toshiba). The new BIOS made the backlight problem go away, and interestingly, it also took care of this problem; so now, with the updated BIOS, I can plug in an external monitor at any moment and everything works just fine.

The versions the machine shipped with were:
System BIOS Version: 1.40 (dated 12/13/09)
EC Version: 1.30

I downloaded an update that was published on May 25th, 2011. New versions are:

System BIOS Version: 3.10
EC Version: 1.90

Please let me know if you're still interested in more information about this machine, or how best to handle this report now.
Comment 9 Chris Wilson 2011-07-20 06:20:19 UTC
Daniel, if you do get a chance can you grab an intel_reg_dumper with the old and new BIOSes.

At this point we want to find out what state the BIOS left the registers in that caused us to fail.
Comment 10 Daniel Manrique 2011-07-20 07:51:42 UTC
(In reply to comment #9)
> Daniel, if you do get a chance can you grab an intel_reg_dumper with the old
> and new BIOSes.
> 
> At this point we want to find out what state the BIOS left the registers in
> that caused us to fail.

Thanks Chris, I'll attach two text files, one showing the registers after the system has booted, and another one with the registers post-suspend. I diffed the files and here's what changed (- is pre-suspend, + is post-suspend):


-    PCH_DREF_CONTROL: 0x00001402 (cpu source disable, ssc_source enable, nonspread_source enable, superspread_source disable, ssc4_mode downspread, ssc1 enable, ssc4 disable)
+    PCH_DREF_CONTROL: 0x00001400 (cpu source disable, ssc_source enable, nonspread_source enable, superspread_source disable, ssc4_mode downspread, ssc1 disable, ssc4 disable)

-               HDMIB: 0x0000089c
+               HDMIB: 0x0000001c

I'll try to downgrade the bios to reproduce the original problem and collect the same information with that, though I'm not sure that I'll be able to do so :( If so, I'll report back here.

Thanks so much for following up on this report!
Comment 11 Daniel Manrique 2011-07-20 07:52:25 UTC
Created attachment 49343 [details]
intel_reg_dumper output with NEW bios, prior to suspending.
Comment 12 Daniel Manrique 2011-07-20 07:53:17 UTC
Created attachment 49344 [details]
intel_reg_dumper output with NEW bios, after suspending and resuming.
Comment 13 Daniel Vetter 2012-04-01 07:03:27 UTC
Created attachment 59339 [details] [review]
properly clear SSC1

... a patch for you to try. Please test, maybe we're lucky.
Comment 14 Daniel Vetter 2012-05-11 05:59:25 UTC
Ping.

If you can't test this any longer because the bios downgrade is a royal pain - no problem, we'll just close this one as fixed.
Comment 15 Daniel Vetter 2012-08-22 15:51:42 UTC
So then let's just close this as fixed, proper patch is merged:

commit e77166b5a653728f312d07e60a80819d1c54fca4
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Mar 30 22:14:05 2012 +0200

    drm/i915: properly clear SSC1 bit in the pch refclock init code


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.