Asus M2A-VM: kernel demanding EDID for an unconnected monitor
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
There is a problem with mainboard Asus M2A-VM. There is no HDMI monitor connected (monitor uses DVI) but the kernel still tries to read the EDID. Thus, dmesg is spammed every 10 seconds with this message:
[ 21.383270] [drm:drm_
[ 21.383305] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 21.383307] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 21.383310] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 21.383312] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 21.383314] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 21.383317] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 21.383319] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 21.383322] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[ 21.383324]
[ 21.383328] radeon 0000:01:05.0: HDMI-A-1: EDID block 0 invalid.
[ 21.383332] [drm:radeon_
X behaves very jerky because of the load caused by the kernel demanding the EDID every 10 seconds.
For more info see https:/
I found three possible solutions to solve my problem:
1) disable KMS by using the kernel parameter "radeon.modeset=0"
Unfortunately, the X server will then segfault after a short time
2) get the kernel source and patch the radeon driver, see http://
(the patch is not from me!)
this works, but you have to patch the kernel after every update again
3) execute the command
"echo -n N > /sys/module/
This will effectively stop the pollution of the dmesg (and all the quirky X behavior). This option does not exist in kernel 2.6.35 that's why I had update to kernel 2.6.38
It would be fine if the kernel tries to read the EDID only once and then stops trying if it fails (see patch from solution #2).
tags: | added: kj-triage |
Changed in linux (Ubuntu): | |
status: | New → Confirmed |
Changed in linux (Fedora): | |
importance: | Unknown → Medium |
status: | Unknown → Won't Fix |
no longer affects: | linux (Ubuntu) |
affects: | linux (Fedora) → linux (Ubuntu) |
Changed in linux (Ubuntu): | |
importance: | Medium → Undecided |
status: | Won't Fix → New |
no longer affects: | linux (Ubuntu) |
affects: | linux → linux (Ubuntu) |
Changed in linux (Ubuntu): | |
status: | Fix Released → Invalid |
Description of problem:
After upgrading one of machines to Fedora 14 the following started to appear
in dmesg roughly _every_ 10 to 11 seconds:
[drm:radeon_ dvi_detect] *ERROR* HDMI Type A-1: probed a monitor but no|invalid EDID
and each of those messages acompanied by multiple "[drm:drm_ edid_block_ valid] *ERROR* Raw EDID:" dumps - all zeros.
At the same rate I am getting in /var/log/messages a constant stream of:
radeon 0000:01:05.0: HDMI Type A-1: EDID block 0 invalid. dvi_detect] *ERROR* HDMI Type A-1: probed a monitor but no|invalid EDID
[drm:radeon_
The first problem is that there is NO monitor from which these "*ERROR*" readings could possibly occur. In /var/log/Xorg.0.log one can find corresponding to reality:
RADEON(0): Output VGA-0 connected
RADEON(0): Output S-video disconnected
RADEON(0): Output HDMI-0 disconnected
RADEON(0): Output DVI-0 disconnected
Moreover X gets EDID data and reports:
RADEON(0): EDID for output VGA-0 04c2d2b00393151 41 52b5e89a3534698 24 945596159818fc1 40 4009851002a4010 90 e000000fd0032a0 1e 02020000000fc00 53 5720a2020000000 ff 33639360a202000 44
RADEON(0): Manufacturer: SAM Model: 2b Serial#: 1095840057
RADEON(0): Year: 2001 Week: 41
RADEON(0): EDID Version: 1.3
....
RADEON(0): Monitor name: SyncMaster
RADEON(0): Serial No: H3NRA03696
RADEON(0): EDID (in hex):
RADEON(0): 00ffffffffffff0
RADEON(0): 290b010368241b7
RADEON(0): 11484cffff80315
RADEON(0): 010101010101bc3
RADEON(0): 130060081100001
RADEON(0): 5513000a2020202
RADEON(0): 796e634d6173746
RADEON(0): 0048334e5241303
RADEON(0): EDID vendor "SAM", prod id 43
RADEON(0): Using hsync ranges from config file
RADEON(0): Using vrefresh ranges from config file
(The above not entirely corresponds to an ouput of /usr/bin/ edid-decode which is attached).
As it happens an output of 'lspci -vvn -s 01:05.0', which is "01:05.0 VGA compatible controller: ATI Technologies Inc RS690 [Radeon X1200 Series] (prog-if 00 [VGA controller])", starts with:
01:05.0 0300: 1002:791e (prog-if 00 [VGA controller])
Subsystem: 1043:826d
and 'radeon_ atom_apply_ quirks( )' from drivers/ gpu/drm/ radeon/ radeon_ atombios. c has a code like this:
/* Asus M2A-VM HDMI board lists the DVI port as HDMI */
(dev- >pdev-> subsystem_ vendor == 0x1043) &&
(dev- >pdev-> subsystem_ device == 0x826d)) { CONNECTOR_ HDMIA) &&
( supported_ device == ATOM_DEVICE_ DFP3_SUPPORT) )
*connector_ type = DRM_MODE_ CONNECTOR_ DVID;
if ((dev->pdev->device == 0x791e) &&
if ((*connector_type == DRM_MODE_
}
As this happens to be Asus M2A-VM board then it appears that "HDMI Type A" should not be even showing up or I am reading that wrong? Well, unless this DFP3_SUPPORT is not valid but in such case maybe this quirk is
ATOM_DEVICE_
too restrictive?
In any case the hardware worked without such fireworks with older Fedora releases.
Version-Release number of selected component (if applicable): 10-74.fc14. x86_64
all kernels used with Fedora 14 for now up to 2.6.35.
How reproducible:
all the time
Expected results:
Even if this failure has to be reported this does not happen more than once
Addition...