Bug 60263 - [IVB] Apple DP to dual link DVI: [drm:intel_dp_i2c_aux_ch] *ERROR* too many retries, giving up
Summary: [IVB] Apple DP to dual link DVI: [drm:intel_dp_i2c_aux_ch] *ERROR* too many r...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Chris Wilson
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-04 05:01 UTC by Nicolas Suzor
Modified: 2017-07-24 22:59 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg with drm.debug=0xe (227.00 KB, text/plain)
2013-02-04 05:01 UTC, Nicolas Suzor
no flags Details
Xorg log (40.94 KB, text/plain)
2013-02-04 05:02 UTC, Nicolas Suzor
no flags Details
dmesg with debug=14 (11.92 KB, text/plain)
2013-02-17 16:30 UTC, Mathias Fußenegger
no flags Details
dmesg with debug=14, using drm-intel-nightly branch as of Sun 5 May 2013 (131.89 KB, text/plain)
2013-05-05 14:41 UTC, Ronald Moore
no flags Details
Xorg.0.log with drm-intel-nightly branch (cf. dmesg, above). (29.72 KB, text/plain)
2013-05-05 14:51 UTC, Ronald Moore
no flags Details
dmesg output after booting with the DP connector already connected (not a "hot plug") (209.48 KB, text/plain)
2013-05-05 15:47 UTC, Ronald Moore
no flags Details
drm/i915: debug log DPCD downstream ports if available (1.05 KB, patch)
2013-05-06 10:08 UTC, Jani Nikula
no flags Details | Splinter Review
dmes output (debug=0x3) after patchiing the drm-intel-nightly branch (132.73 KB, text/plain)
2013-05-06 13:03 UTC, Ronald Moore
no flags Details
dmes output (debug=0x3) after patchiing the drm-intel-nightly branch, without hot-plugging (186.82 KB, text/plain)
2013-05-06 13:06 UTC, Ronald Moore
no flags Details
drm/i915: Don't fallback to ddc probe if downstream port is dummy (1.42 KB, patch)
2013-07-09 16:00 UTC, Mika Kuoppala
no flags Details | Splinter Review
xrandr output when X is started after DP>DVI-D DL dongle is plugged in (734 bytes, text/plain)
2013-08-11 23:26 UTC, Nicolas Suzor
no flags Details
dmesg output when X is started after DP>DVI-D DL dongle is plugged in (59.00 KB, text/plain)
2013-08-11 23:27 UTC, Nicolas Suzor
no flags Details
xrandr output when X is started before DP>DVI-D DL dongle is plugged in (898 bytes, text/plain)
2013-08-11 23:27 UTC, Nicolas Suzor
no flags Details
dmesg output when X is started before DP>DVI-D DL dongle is plugged in (72.57 KB, text/plain)
2013-08-11 23:27 UTC, Nicolas Suzor
no flags Details
dmesg output for drm-intel-nightly #25, X started before DP>DVI-D DL dongle is plugged in (123.33 KB, text/plain)
2013-10-20 22:00 UTC, Nicolas Suzor
no flags Details
dmesg output for drm-intel-nightly, booting with DVI-D dongle (94.82 KB, text/plain)
2014-01-15 21:32 UTC, Nicolas Suzor
no flags Details

Description Nicolas Suzor 2013-02-04 05:01:57 UTC
Created attachment 74159 [details]
dmesg with drm.debug=0xe

My error is similar to #56834, but with the Apple active Mini DisplayPort to Dual Link DVI adapter. I compiled from http://cgit.freedesktop.org/~danvet/drm-intel.

I am running a 2012 Macbook Air with Intel HD4000 chip. I am trying to connect a Samsung 305T @ 2560x1600. When I plug in the adapter and attempt to enable it, I get the following error printed many times:

[drm:intel_dp_i2c_aux_ch] *ERROR* too many retries, giving up

I have attached the xorg log and the dmesg log with drm.debug=0xe. Please let me know if there is any other information I can provide.
Comment 1 Nicolas Suzor 2013-02-04 05:02:30 UTC
Created attachment 74160 [details]
Xorg log
Comment 2 Mathias Fußenegger 2013-02-17 16:30:58 UTC
Created attachment 74991 [details]
dmesg with debug=14

Im experiencing the same issue - also reported that in #56834.

Attached is the dmesg log with debug=14
Comment 3 Imre Deak 2013-04-30 06:54:31 UTC
Could you please try the latest drm-intel tree drm-intel-nightly branch, if the problem is still reproducible? There are some recent DP AUX IRQ fixes merged there.
Comment 4 Ronald Moore 2013-05-05 14:41:24 UTC
Created attachment 78876 [details]
dmesg with debug=14, using drm-intel-nightly branch as of Sun 5 May 2013

I'm having this problem too, so I downloaded the drm-intel-nightly branch.  

Good news: Hardly any error messages "*ERROR*" too many retries..." (etc.).

Bad News: Absolutely no connection made to my external monitor over the Apple DP connector.

Hardware: I'm using a Lenova Think Pad S430, which uses "Intel® Ivybridge  Mobile" graphics.  I'm trying to connect an external monitor via an Apple DP to VGA connector (so, not exactly the same hardware discussed above, but very similar symptoms - if the difference means this is the wrong ticket, sorry, please instruct as to where I should post this).  

My "real" use-case is a little different - I need to connect to the projectors at work.

By the way, I have a work-around that works most of the time - downgrade to the 3.6.11 kernel - the last kernel that came with a "normal" Arch Linux upgrade which works.  After that came the 3.7 and 3.8 kernels, and none of those have worked with my hardware.

Here's what I did: I connected the Apple connector.

I'll attach the Xorg.0.log next.
Comment 5 Ronald Moore 2013-05-05 14:51:13 UTC
Created attachment 78877 [details]
Xorg.0.log with drm-intel-nightly branch (cf. dmesg, above).

See my last attachment/comment (dmesg output) - this is the Xorg log that goes with that.

By the way, I forgot to describe what/how I tested the software 
0) I booted the notebook with the external monitor & Apple connector NOT connected,
1) then connected the adaptor to the VGA cable, 
2) then the connector to the DisplayPort.  No reaction. 
3) Then I opened the "Display Setting" (Gnome-3 settings panel) and clicked on "Detect Displays".  I had dmesg -w running the whole time and first saw some "*ERROR* Too many retries" messages on clicking "detect displays".  
4) I then disconnected the monitor/adaptor, and repeated the whole process, only this time... 
5) I first connected the adaptor to the notebook, and 
6) then the cable to the adaptor, and 
7) then tried "detect displays", 
8) then diconnected the cable from the adaptor, 
9) then disconnected the adaptor from the notebook -- and 
10) then captured the dmesg output and the Xorg log.

Hope this helps.
Comment 6 Ronald Moore 2013-05-05 15:47:53 UTC
Created attachment 78884 [details]
dmesg output after booting with the DP connector already connected (not a "hot plug")

After uploading my last two attachments (see above), another test occurred to me, so for what it's worth...

This time I tried connecting the external monitor BEFORE booting the notebook (so, no "hot plugging").  Test Result: No signal reaches the external monitor (exactly as in the other tests).  The one possible difference is that the last thing in the dmesg output - before I disconnected the adapter - was a number of our good old "*ERROR* too many retries" error messages.  

So, apparently I have to retract even my weak attempt at "good news" (see above).  

By the way, I disconnected the adapter before capturing the dmesg output (this attachment), so you'll see that in the dmesg output after the "*ERROR*" messages.
Comment 7 Jani Nikula 2013-05-06 10:08:16 UTC
Created attachment 78913 [details] [review]
drm/i915: debug log DPCD downstream ports if available

Ronald, please try the attached patch on top of drm-intel-nightly, and attach the resulting dmesg with drm.debug=0xe. This won't fix the problem, but it might shed a little more light on the issue. Thanks.
Comment 8 Ronald Moore 2013-05-06 13:03:34 UTC
Created attachment 78924 [details]
dmes output (debug=0x3) after patchiing the drm-intel-nightly branch

OK, as requested, I patched (my copy of) the drm-intel-nightly branch, rebuilt, reinstalled, and retested - here is the dmesg output (with dmesg.debug=0xe).

Tests performed: 

At time 70 (roughly), having already connected the vga cable to the Apple adapter, I connected the adapter to the notebook.  No response from the desktop, but a fair amount of activity from dmesg.

At time 141 I hit "detect displays" (Gnome-3 display settings panel, see above). 

At time 162 I disconnected the Apple adapter (and thus the external monitor).

Hope this helps.  I have another dmesg-output-file for you coming right up, by the way, with a different test scenario (see below (hopefully)).
Comment 9 Ronald Moore 2013-05-06 13:06:31 UTC
Created attachment 78925 [details]
dmes output (debug=0x3) after patchiing the drm-intel-nightly branch, without hot-plugging

OK, one more dmesg output file, everything as before (see above), only this time I connected the external monitor (via the Adaptor, of course) /before/ booting the notebook, just to see if that makes any difference.  

Still no connection to the external monitor, but it seemed worth a try.  

(At time around 65, I disconnected the monitor again, before capturing the dmesg output and calling it a day).
Comment 10 Mika Kuoppala 2013-07-09 16:00:25 UTC
Created attachment 82239 [details] [review]
drm/i915: Don't fallback to ddc probe if downstream port is  dummy
Comment 11 Mika Kuoppala 2013-07-09 16:04:16 UTC
Ronald, could you test with the attached patch if it makes any difference?
Comment 12 Ronald Moore 2013-07-11 08:03:02 UTC
(In reply to comment #11)
> Ronald, could you test with the attached patch if it makes any difference?

Yes, I could; yes, I did; and yes, it does! My Display-Port Adapter works now! That seems to be the fix we've been looking for!

(That was the short version - here some details...)

I tried this patch both with the DRM-Intel-Nightly-Branch (3.10.0-rc7) and with the stock arch linux kernel (3.9.9), and the results seemed the same: It works, both with external monitors and with a projector.  Plug-and-play: I plug the cable into the adapter, the adapter into the notebook, and within a second or three the external display lights up.

Curiosity: The log messages "*ERROR* too many tries, giving up" still appear, although everything is working.

Irritation: xrandr, arandr and the Gnome-3-Displays-Settings Interface to xrandr (what is the proper name for that thing?) all consider the external displays to be "unknown" and refuse to offer a resolution larger than 1024x768.  Using xrandr I managed to blank out both screens (notebook and external) until I unplugged the adapter - but this is a problem I have hardly begun to look at, and which I may just decide to live with: My main external monitor has an hdmi cable and that works (has worked the whole time) just fine (and 1024x768 is just barely enough for presentations with a projector).

So, if you need any more information, log files, whatever, please let me know what you need, but I'm happy - for the time being.  Mostly I'm curious now when this patch will make it's way into the stock kernels!
Comment 13 Daniel Vetter 2013-07-11 09:39:10 UTC
Could be that we need to improve our DP downstream sink handling a bit to actually get at the edid, but Mika's patch should at least get things going.

Note that you can try to add more modes with xrandr --addmode meanwhile.
Comment 14 Nicolas Suzor 2013-07-16 22:37:06 UTC
(In reply to comment #11)
> Ronald, could you test with the attached patch if it makes any difference?

Mika, thanks so much for this. I have just compiled with this patch and it enables me to use an external monitor at 2560x1080 over the Mini DP -> DL-DVI dongle. It looks AMAZING and fixes a major issue that has had me working on smaller monitors for a long time now. What can I do to thank you?

For some reason, the display is not detected properly by xrandr if I start X with the dongle plugged in. Plugging it in after X starts works fine.
Comment 15 Chris Wilson 2013-08-11 11:56:44 UTC
Mika, I don't see this patch on the m-l. Daniel, get the extra long cattle prods!

Nicolas, can you attach a drm.debug=6 dmesg for the case where it only works upon hotplugging?
Comment 16 Nicolas Suzor 2013-08-11 23:26:14 UTC
Created attachment 83949 [details]
xrandr output when X is started after DP>DVI-D DL dongle is plugged in
Comment 17 Nicolas Suzor 2013-08-11 23:27:06 UTC
Created attachment 83950 [details]
dmesg output when X is started after DP>DVI-D DL dongle is plugged in
Comment 18 Nicolas Suzor 2013-08-11 23:27:37 UTC
Created attachment 83951 [details]
xrandr output when X is started before DP>DVI-D DL dongle is plugged in
Comment 19 Nicolas Suzor 2013-08-11 23:27:54 UTC
Created attachment 83952 [details]
dmesg output when X is started before DP>DVI-D DL dongle is plugged in
Comment 20 Nicolas Suzor 2013-08-11 23:31:57 UTC
(In reply to comment #15)
> Mika, I don't see this patch on the m-l. Daniel, get the extra long cattle
> prods!
> 
> Nicolas, can you attach a drm.debug=6 dmesg for the case where it only works
> upon hotplugging?

So the different behaviour occurs based on whether I start X before or after plugging in the DVI-D DL dongle. If I plug it in before starting X, it does not correctly detect the higher resolutions, and I am unable to force it to do so by adding the modeline via xrandr. If I plug it in after starting X, it works as expected.

I have attached four files: xrandr and dmesg outputs from both cases.

I just realised that I had drm.debug=0xe, not drm.debug=6. If this is a problem, let me know and I'll reboot to try again.
Comment 21 Chris Wilson 2013-08-12 07:52:20 UTC
Ouch, it is just a fluke that plugging it in after X starts works. We get one clean read of the EDID, and that just happens to correspond to X's query after the hotplug event.

Who has the DP manual to hand and can check whether we have the retry alogrithm correct? And may suggest which parameters might be worth varying?
Comment 22 Jani Nikula 2013-09-12 10:18:09 UTC
Please try intel-dp-fixes branch of git://gitorious.org/jani/drm.git. It's intel-drm-nightly plus some DP aux fixes.
Comment 23 Nicolas Suzor 2013-09-22 22:44:39 UTC
> Please try intel-dp-fixes branch of git://gitorious.org/jani/drm.git. It's
> intel-drm-nightly plus some DP aux fixes.

Yes! This works - xrandr reports the correct resolutions of the external display in the case when the display is connected before X starts. Thanks!
Comment 24 Jani Nikula 2013-10-10 15:44:04 UTC
Nicolas, the fixes have now been merged to drm-intel-nightly branch of [1], headed for 3.13. Please try that so we can close the bug. Thanks.

[1] git://people.freedesktop.org/~danvet/drm
Comment 25 Nicolas Suzor 2013-10-20 21:57:34 UTC
(In reply to comment #24)
> Nicolas, the fixes have now been merged to drm-intel-nightly branch of [1],
> headed for 3.13. Please try that so we can close the bug. Thanks.
> 
> [1] git://people.freedesktop.org/~danvet/drm

Ok, I've tested this branch. It works when the adapter is plugged in after X starts, but not before - same behaviour as Comment #20.
Comment 26 Nicolas Suzor 2013-10-20 22:00:23 UTC
Created attachment 87903 [details]
dmesg output for drm-intel-nightly #25, X started before DP>DVI-D DL dongle is plugged in
Comment 27 Jani Nikula 2014-01-10 15:43:54 UTC
Mika, I presume you're not working on this, resetting assignee.
Comment 28 Nicolas Suzor 2014-01-15 21:32:50 UTC
Created attachment 92182 [details]
dmesg output for drm-intel-nightly, booting with DVI-D dongle

(In reply to comment #24)
> Nicolas, the fixes have now been merged to drm-intel-nightly branch of [1],
> headed for 3.13. Please try that so we can close the bug. Thanks.
> 
> [1] git://people.freedesktop.org/~danvet/drm

Jani, I've just tested again against the drm-intel-nightly branch of  http://cgit.freedesktop.org/~danvet/drm-intel, and it seems to work now - thanks. I don't know whether I did something wrong a few months back, or some new fixes have been added, but it now detects the monitor fine on boot. 

(I must have misconfigured something, because now the console does not display on the internal display - I had to plug the external display in to boot, but then both displays are detected by xrandr - but I assume this is just a mistake on my part.)
Comment 29 Nicolas Suzor 2014-04-28 04:17:12 UTC
Following comment #31 on Bug #56834, I recompiled with branch fdo-56834 of Jani's repo [1]. I now confirm that everything works flawlessly, and suggest that this bug be closed. Jani, thanks so much for consolidating all those fixes.

[1] https://bugs.freedesktop.org/show_bug.cgi?id=56834#c31
Comment 30 Jani Nikula 2014-04-28 10:31:31 UTC
(In reply to comment #29)
> Following comment #31 on Bug #56834, I recompiled with branch fdo-56834 of
> Jani's repo [1]. I now confirm that everything works flawlessly, and suggest
> that this bug be closed. Jani, thanks so much for consolidating all those
> fixes.
> 
> [1] https://bugs.freedesktop.org/show_bug.cgi?id=56834#c31

Great, thanks for the report and testing. Everything in the referenced branch should be in 3.15-rc2 or 3.15-rc3.


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.