Page 1 of 7 123 ... LastLast
Results 1 to 10 of 63

Thread: Kernel Issues - DRM/Radeon EDID Invalid SPAMMING logs

  1. #1
    Join Date
    Dec 2009
    Beans
    16

    Kernel Issues - DRM/Radeon EDID Invalid SPAMMING logs

    Before anyone says this has been addressed, I'd like to mention that I've looked in-depth and can't find an actual -fix- for this issue, simply workarounds (which cause other things to break, for me.)

    Okay so this is a rather convoluted story. Last night I updated my system, which turned out to be a mistake. At the time, I was running Karmic/10.04, I forget which kernel. Reboot required. I put it off, but for some reason I still haven't figured out, my machine locked up.

    Whatever. So I reboot, and......black screen. After messing around for far too long, I manage to get the system to boot via SystemRescueCD - seriously, look it up, you need it - and I instruct that to boot my hard-drive-installed Linux since its tools said everything was OK.

    From within that, I was able to get my system powered up and in X, but random things weren't working - kernel modules I didn't have proper versions of, of course, since it was running the SysRescCD kernel with my Ubuntu install. I figure I'll update to Maverick, since it's been released and - in theory - should be stable. Update goes fine, reboot, and everything works.....sort of. During boot, I saw a few pages of messages fly by, somewhat akin to this;

    Code:
    [10497.020926] radeon 0000:01:05.0: HDMI Type A-1: EDID block 0 invalid.
     [10497.020936] [drm:radeon_dvi_detect] *ERROR* HDMI Type A-1: probed a monitor but no|invalid EDID
     [10507.192334] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 8
     [10507.192348] [drm:drm_edid_block_valid] *ERROR* Raw EDID:
     [10507.192357] <3>01 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00  ................
     [10507.192363] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.192370] <3>01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.192376] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.192382] <3>00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.192388] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.192394] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.192400] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.192405]
     [10507.243588] [drm:drm_edid_block_valid] *ERROR* Raw EDID:
     [10507.243596] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.243603] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.243609] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.243616] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.243622] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.243628] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.243634] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.243640] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.243645]
     [10507.294774] [drm:drm_edid_block_valid] *ERROR* Raw EDID:
     [10507.294781] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.294788] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.294794] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.294800] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.294806] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.294813] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.294819] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.294825] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.294830]
     [10507.347274] [drm:drm_edid_block_valid] *ERROR* Raw EDID:
     [10507.347282] <3>00 00 00 00 00 00 00 00 00 00 7f 00 00 00 00 00  ................
     [10507.347289] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.347295] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.347301] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.347307] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.347313] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.347319] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
     [10507.347326] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    (Sometimes one or two of those sets of 00's will have a different number in a random location, I assume that's simply a bad read on the EDID data bus.)

    I should note, this is a laptop, and I have NO external display connected. JUST the build-in LCD panel.

    Then X comes up, and I have.....nothing. Well, a Gmail Notifier login prompt, then nothing. Background image loads, but nothing else..if I alt-Tab, I see "mutter" (at the time I had NO idea what that was) and a small two-inch square window border highlighted - no bars, no dock, no icons or desktop. Alt-F2 won't work to run things, luckily I had Guake installed so I could F12 myself a terminal.. Blah blah blah, switched out of the Netbook launcher. Since then, ANY IO (network or drive) results in 50% IOWAIT load, I've had to write a script to flush my /var/log/{messages,kern.log,debug,syslog} files or it fills with literally hundreds of megabytes of messages in under a day! and kills my free space at alarming rates.

    So, to summarize;
    A) Unity is unusable. The sidebars/top bar flash from time to time when alt-tabbing, but that's all I get. If I use the 'radeon.modset=0' kernel parameter, mutter complains about requiring a video device with this or that on boot.
    B) Literally every five or ten seconds, my console window and several log files receive between four and twelve lines of crap about EDID problems (depending on which file)
    C) During normal use, I can EXPECT my touchpad to halt for three to ten seconds any time I'm trying to do anything, and the keyboard will halt for a few seconds randomly as well. My screen stops updating during this period, I abruptly lose network throughput (transferring large files SUCKS because of this) and in general I'm hating it.
    D) With radeon.modset=0 in linux kernel parameters, my screen will go black for several seconds, every minute or less. Usually less. Also causes random applications to complain, mostly those using 'extended' features of video hardware.
    E) Extremely high IOWAIT times. Xorg is up near 2 hours of CPU time after being up for only 8 hours, doing very little - Firefox, no flash/animations. Console windows. Pidgin. Even now, simply typing this and copying a file;
    Code:
    5.4%us,  5.6%sy,  0.0%ni, 10.1%id, 76.2%wa,   0.0%hi,  2.6%si,  0.0%st
    NONE of these problems existed before that update last night. I don't remember what kernel I was on, or which kernel it went to, but here's some random info I think might help; it's 5:15am and I know I'm leaving a lot out. Let me know what I forgot, I'll add that.

    Kernel; Linux 2.6.36-020636-generic #201010210905 SMP Thu Oct 21 09:08:58 UTC 2010 x86_64 GNU/Linux
    OS; Ubuntu 10.10 x64
    Video; 01:05.0 VGA compatible controller: ATI Technologies Inc RS690M [Radeon X1200 Series]

    Computer; TOSHIBA; Satellite P305D

    `lsmod | grep radeon`
    Code:
    lsmod | grep rad
     radeon                915834  2 
     ttm                    66976  1 radeon
     drm_kms_helper         34518  1 radeon
     drm                   219952  4 radeon,ttm,drm_kms_helper
     i2c_algo_bit            5870  1 radeon
    `lshw` (Clips of it anyways)
    Code:
            *-pci:0
                  description: PCI bridge
                  product: RS690 PCI to PCI Bridge (Internal gfx)
                  vendor: ATI Technologies Inc
                  physical id: 1
                  bus info: pci@0000:00:01.0
                  version: 00
                  width: 32 bits
                  clock: 66MHz
                  capabilities: pci ht normal_decode bus_master cap_list
                  resources: ioport:9000(size=4096) memory:f8000000-f81fffff ioport:f0000000(size=134217728)
                *-display
                     description: VGA compatible controller
                     product: RS690M [Radeon X1200 Series]
                     vendor: ATI Technologies Inc
                     physical id: 5
                     bus info: pci@0000:01:05.0
                     version: 00
                     width: 64 bits
                     clock: 33MHz
                     capabilities: pm msi vga_controller bus_master cap_list rom
                     configuration: driver=radeon latency=64
                     resources: irq:18 memory:f0000000-f7ffffff  memory:f8100000-f810ffff ioport:9000(size=256) memory:f8000000-f80fffff
                *-multimedia
                     description: Audio device
                     product: Radeon X1200 Series Audio Controller
                     vendor: ATI Technologies Inc
                     physical id: 5.2
                     bus info: pci@0000:01:05.2
                     version: 00
                     width: 64 bits
                     clock: 33MHz
                     capabilities: pm msi bus_master cap_list
                     configuration: driver=HDA Intel latency=64
                     resources: irq:19 memory:f8110000-f8113fff
    According to Additional Drivers, no proprietary drivers are installed on this system. I'd attach more files, but it seems they're larger than allowed. I'm not sure where to go from here. Any ideas will be investigated, and any help will be appreciated. Thank you. (Side note, I'm on my way to sleep right now. I work in four hours. I'll reply ASAP, thanks!)

  2. #2
    Join Date
    Oct 2010
    Beans
    1

    Re: Kernel Issues - DRM/Radeon EDID Invalid SPAMMING logs

    Same problem here, running Ubuntu 10.10 on1 a hp compaq 6820s laptop with no external screen, no DVI connector. Kernel version is 2.6.36 64-bit.

    I started having problems when upgraded from 9.10 to 10.04. The boot process started to take ages (about 2 minutes), and after checking the logs, I found the aforementioned tons of spam related to "drm/edid" errors. At that point, it only caused problems during start-up. I upgraded the system to 10.10 hoping a new kernel version would solve the problem, but instead, things got worse. Now the system freezes every 10 seconds for about 5 seconds, making it almost impossible to use it. The display, the mouse cursor and the keyboard are frozen during that interval. Not even the BIOS keyboard buffer works: if you keep on typing when the system gets stuck, most characters are never read by the system.

    These periods of inactivity occur simultaneously to the dumping of several blocks of "drm/edid" error followed by a bunch of double zeros to the kernel log file, so my impression is that both things are related.

    Oct 28 07:44:58 mulobomba kernel: [57898.503883] [drm:drm_edid_block_valid] *ERROR* Raw EDID:
    Oct 28 07:44:58 mulobomba kernel: [57898.503890] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:58 mulobomba kernel: [57898.503893] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:58 mulobomba kernel: [57898.503896] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:58 mulobomba kernel: [57898.503898] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:58 mulobomba kernel: [57898.503901] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:58 mulobomba kernel: [57898.503903] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:58 mulobomba kernel: [57898.503906] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:58 mulobomba kernel: [57898.503909] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:58 mulobomba kernel: [57898.503911]
    Oct 28 07:44:59 mulobomba kernel: [57899.888241] [drm:drm_edid_block_valid] *ERROR* Raw EDID:
    Oct 28 07:44:59 mulobomba kernel: [57899.888247] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:59 mulobomba kernel: [57899.888250] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:59 mulobomba kernel: [57899.888253] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:59 mulobomba kernel: [57899.888256] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:59 mulobomba kernel: [57899.888258] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:59 mulobomba kernel: [57899.888261] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:59 mulobomba kernel: [57899.888264] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    Oct 28 07:44:59 mulobomba kernel: [57899.888266] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    (etc.)

  3. #3
    Join Date
    Dec 2009
    Beans
    16

    Re: Kernel Issues - DRM/Radeon EDID Invalid SPAMMING logs

    ...yup, still having the same problem... Anyone even come close to touching this?

  4. #4
    Join Date
    Nov 2010
    Beans
    1

    Re: Kernel Issues - DRM/Radeon EDID Invalid SPAMMING logs

    Hello,

    same problem in my Compaq 6820s . About every 10 seconds Ubuntu freezes for about 5 seconds, which makes it inpossible to use it. Hope anyone has got a solution for this.
    In a virtual machine (VirtualBox) it runs perfect.

    markus111

  5. #5
    Join Date
    Dec 2009
    Beans
    16

    Re: Kernel Issues - DRM/Radeon EDID Invalid SPAMMING logs

    And for every person who posts here, there's gotta be at least fifty people who have the issue and haven't found this thread. Unfortunately, I haven't been able to find a fix, and it seems nobody else is willing/able to help.

    The problem is kernel-side, their new (annoyingly bad) EDID handling seems to think - at least in my case - that I have something plugged in via HDMI when it's not.

    Instead of disabling the HDMI after X failures, or ignoring the input that returns garbage every time it polls, it's decided it's going to hammer it until it answers back "properly" and eventually it segfaults some kernel code rather than intelligently managing its errors. It spams your logs with FAR too much junk, there's no way to disable it.

    YES, I know, radeon.modeset=0 in the kernel parameters line in Grub. Guess what though? When I do that, something randomly segfaults Xorg on init. Worth it? No. Because then I have NO Xorg functionality, instead of annoying, stuttery, halting, occasionally screen-mode-resetting functionality. It's a trade-off. And it's rapidly becoming a trade-off I'm not willing to deal with.

    One of the Ubuntu bug reports that I found - which I can't find again, and don't feel like digging out - had a kernel patch that changed the "errors" from EDID invalid checksumming, to "warnings"....that's a half-assed fix. It's meant to make people (who can't get it to run at all) get some functionality back there. I'm betting it still hesitates every time it tries to scan EDID on everything. I'm betting it still causes tons of error log flooding. And I'm definitely going to bet that it still randomly resets my screen.

  6. #6
    Join Date
    Aug 2008
    Location
    California
    Beans
    124
    Distro
    Ubuntu Development Release

    Re: Kernel Issues - DRM/Radeon EDID Invalid SPAMMING logs

    https://bugs.launchpad.net/ubuntu/+s...ux/+bug/547147

    the grub edit someone proposed in the comments is nice temporary fix

  7. #7
    Join Date
    Dec 2009
    Beans
    16

    Re: Kernel Issues - DRM/Radeon EDID Invalid SPAMMING logs

    Quote Originally Posted by LiquidMeson View Post
    https://bugs.launchpad.net/ubuntu/+s...ux/+bug/547147

    the grub edit someone proposed in the comments is nice temporary fix
    Oh sure it is. Except that, as mentioned, when I have modeset turned off, Xorg segfaults. Granted I turned it off directly in the radeon driver instead of simply specifying 'nomodeset' - but it still segfaults. And yes, I did try that method, since I haven't seen it specifically before.

  8. #8
    Join Date
    Jan 2010
    Beans
    21

    Re: Kernel Issues - DRM/Radeon EDID Invalid SPAMMING logs

    @DaninFuchs

    From the information you have posted I can see that your laptop uses ATI's RS690M [Radeon X1200 Series] integrated graphics chipset. My PC is based on the Asus M2A-VM HDMI board, which uses the same chipset. After day's of investigation, I found a solution for the invalid EDID spamming problem you mentioned. At least for my PC it works fine now using Ubuntu kernel 2.6.35-22-generic. The problem relates to KSM using the drm.ko and radeon.ko kernel driver modules, which are not failure tolerant against hardware problems of this chipset and periodically spam the logs with their error notifications.

    To solve it, first check the i2c interface of the display data channel (DDC). For this you need the package i2c-tools:
    Code:
    sudo aptitude install i2c-tools
    Code:
    rdratlos@Mark-Aurel:~$ sudo i2cdetect -l
    i2c-0    smbus         SMBus PIIX4 adapter at 0b00         SMBus adapter
    i2c-1    i2c           Radeon i2c bit bus VGA              I2C adapter
    i2c-2    i2c           Radeon i2c bit bus HDMI             I2C adapter
    i2c-3    i2c           Radeon i2c bit bus DVI              I2C adapter
    rdratlos@Mark-Aurel:~$ sudo i2cdetect 1
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-1.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    rdratlos@Mark-Aurel:~$ sudo i2cdetect 2
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-2.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y   
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
    10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 
    20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 
    30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 
    40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 
    50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 
    60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 
    70: 70 71 72 73 74 75 76 77                         
    rdratlos@Mark-Aurel:~$ sudo i2cdetect 3
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-3.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --
    In my case, a Samsung monitor is connected to the DVI-I interface. HDMI has been disabled in BIOS settings. The extended display identification data (EDID) from the monitor is accessed on port 0x50. From the i2cdump you see, that the graphics chipset correctly reports the required DDC to be available for the DVI interface but also for the disabled HDMI interface. The drm kernel module now tries to get the EDID data, which cannot be loaded, as there's no monitor connected.

    Before you start fixing your problem double-check the availability of a valid EDID by using the tool read-edid-i2c. You will find the source code and further instructions here. In order to use it, you also need to install the package read-edit:
    Code:
    sudo aptitude install read-edid
    If the following command succeeds, you can start to fix the kernel problem:
    Code:
    sudo /usr/src/kernel/read-edid-i2c/read-edid-i2c | parse-edid
    In order ro fix the problem you need to correct and rebuild the kernel driver module radeon.ko. Compiling kernel modules requires further Ubuntu packages (fakeroot, build-essentials). More information is available on the Ubuntu wiki.

    Follow the steps below (for kernel version 2.6.35-22):
    1. Download kernel source (same kernel version as currently used)
    Code:
    sudo apt-get source linux-image-2.6.35-22-generic
    2. Patch the kernel using the attached patch (save to drm_radeon.diff to the location where apt-get downloaded the kernel source tarball)
    Code:
    sudo patch -p0 < drm_radeon.diff
    3. Enter source directory
    Code:
        cd linux-2.6.35
    4. Get kernel build configuration that has been used to build the now running kernel
    Code:
        sudo cp /boot/config-2.6.35-22-generic .config
        sudo cp /usr/src/linux-headers-2.6.35-22-generic/Module.symvers .
    5. Configure kernel build
    Code:
        sudo make oldconfig
        sudo make prepare
        sudo make modules SUBDIRS=scripts
    6. Compile the module sources
    Code:
        sudo make modules SUBDIRS=drivers/gpu/drm/radeon
    7. Copy the updated module into the kernel library
    Code:
        sudo cp drivers/gpu/drm/radeon/radeon.ko /lib/modules/2.6.35-22-generic/kernel/drivers/gpu/drm/radeon/
    8. Restart your system and test the updated module

    The spamming of invalid EDID notifications should have stopped.

    Code:
    dmesg
    should show EDID availability for each of your connectors and an EDID dump for the buggy connector. /var/log/syslog should not have any EDID spamming.

    I saw that there will be a huge amount of changes and updates to the two kernel drivers in the 2.6.36 kernel. From a brief check of the source code, I doubt that they will fix our problem. The attached patch does only work for kernel version 2.6.35-22. For any kernel updates the patch has also to be updated and the radeon.ko module must be built again.
    Attached Files Attached Files

  9. #9
    Join Date
    Dec 2009
    Beans
    16

    Re: Kernel Issues - DRM/Radeon EDID Invalid SPAMMING logs

    Quote Originally Posted by rdratlos View Post
    @DaninFuchs

    From the information you have posted I can see that your laptop uses ATI's RS690M [Radeon X1200 Series] integrated graphics chipset. My PC is based on the Asus M2A-VM HDMI board, which uses the same chipset. After day's of investigation, I found a solution for the invalid EDID spamming problem you mentioned. At least for my PC it works fine now using Ubuntu kernel 2.6.35-22-generic. The problem relates to KSM using the drm.ko and radeon.ko kernel driver modules, which are not failure tolerant against hardware problems of this chipset and periodically spam the logs with their error notifications.

    To solve it, first check the i2c interface of the display data channel (DDC). For this you need the package i2c-tools:
    Code:
    sudo aptitude install i2c-tools
    Code:
    rdratlos@Mark-Aurel:~$ sudo i2cdetect -l
    i2c-0    smbus         SMBus PIIX4 adapter at 0b00         SMBus adapter
    i2c-1    i2c           Radeon i2c bit bus VGA              I2C adapter
    i2c-2    i2c           Radeon i2c bit bus HDMI             I2C adapter
    i2c-3    i2c           Radeon i2c bit bus DVI              I2C adapter
    rdratlos@Mark-Aurel:~$ sudo i2cdetect 1
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-1.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    rdratlos@Mark-Aurel:~$ sudo i2cdetect 2
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-2.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y   
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
    10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 
    20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 
    30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 
    40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 
    50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 
    60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 
    70: 70 71 72 73 74 75 76 77                         
    rdratlos@Mark-Aurel:~$ sudo i2cdetect 3
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-3.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --
    In my case, a Samsung monitor is connected to the DVI-I interface. HDMI has been disabled in BIOS settings. The extended display identification data (EDID) from the monitor is accessed on port 0x50. From the i2cdump you see, that the graphics chipset correctly reports the required DDC to be available for the DVI interface but also for the disabled HDMI interface. The drm kernel module now tries to get the EDID data, which cannot be loaded, as there's no monitor connected.

    Before you start fixing your problem double-check the availability of a valid EDID by using the tool read-edid-i2c. You will find the source code and further instructions here. In order to use it, you also need to install the package read-edit:
    Code:
    sudo aptitude install read-edid
    If the following command succeeds, you can start to fix the kernel problem:
    Code:
    sudo /usr/src/kernel/read-edid-i2c/read-edid-i2c | parse-edid
    In order ro fix the problem you need to correct and rebuild the kernel driver module radeon.ko. Compiling kernel modules requires further Ubuntu packages (fakeroot, build-essentials). More information is available on the Ubuntu wiki.

    Follow the steps below (for kernel version 2.6.35-22):
    1. Download kernel source (same kernel version as currently used)
    Code:
    sudo apt-get source linux-image-2.6.35-22-generic
    2. Patch the kernel using the attached patch (save to drm_radeon.diff to the location where apt-get downloaded the kernel source tarball)
    Code:
    sudo patch -p0 < drm_radeon.diff
    3. Enter source directory
    Code:
        cd linux-2.6.35
    4. Get kernel build configuration that has been used to build the now running kernel
    Code:
        sudo cp /boot/config-2.6.35-22-generic .config
        sudo cp /usr/src/linux-headers-2.6.35-22-generic/Module.symvers .
    5. Configure kernel build
    Code:
        sudo make oldconfig
        sudo make prepare
        sudo make modules SUBDIRS=scripts
    6. Compile the module sources
    Code:
        sudo make modules SUBDIRS=drivers/gpu/drm/radeon
    7. Copy the updated module into the kernel library
    Code:
        sudo cp drivers/gpu/drm/radeon/radeon.ko /lib/modules/2.6.35-22-generic/kernel/drivers/gpu/drm/radeon/
    8. Restart your system and test the updated module

    The spamming of invalid EDID notifications should have stopped.

    Code:
    dmesg
    should show EDID availability for each of your connectors and an EDID dump for the buggy connector. /var/log/syslog should not have any EDID spamming.

    I saw that there will be a huge amount of changes and updates to the two kernel drivers in the 2.6.36 kernel. From a brief check of the source code, I doubt that they will fix our problem. The attached patch does only work for kernel version 2.6.35-22. For any kernel updates the patch has also to be updated and the radeon.ko module must be built again.
    Fantastic! Finally a reply from someone who has some clue what I'm going through. Thank you so much for your time, however - I ran into a block real early. Doing the I2C checking resulted in discovering that it's not working. I installed a non-Ubuntu kernel a while ago; Linux Gemini 2.6.36-020636rc8-generic #201010150908 SMP

    At this point, i2c reported nothing when checked. (i2cdetect -l) I manually inserted the I2C modules I could find from the /lib/modules tree, to no avail. When run, it now finds my SMBus PIIX4 adapter, and nothing further.

    I tried to move ahead to see if the read-edid-i2c may help, but that failed as I don't have the full kernel source installed - at least, I assume this is why. I was hoping to not have to recompile a kernel to get this working, as it's something that should just work....but clearly that's not an option, haha. My concern there is, I suppose, as simple as, it's been years since I've scratch-built a kernel, so I'm feeling stunningly lazy about hand-configuring it. I assume it'd be easy enough to scrape the config out of /proc (if the Ubuntu devs were so gracious as to include it, which I'll assume they were) but from there, I'd need to ensure the whole shebang is configured to "typical" Ubuntu spec, so I don't have to beat Grub into submission yet again...

    However, I assume I'm getting ahead of myself - what's your recommendation at this point? Go back to a stocker Ubuntu kernel? Load some I2C module I didn't consider/find? Thanks again for your time.

  10. #10
    Join Date
    Jan 2010
    Beans
    21

    Re: Kernel Issues - DRM/Radeon EDID Invalid SPAMMING logs

    Quote Originally Posted by DaninFuchs View Post
    Fantastic! Finally a reply from someone who has some clue what I'm going through. Thank you so much for your time, however - I ran into a block real early. Doing the I2C checking resulted in discovering that it's not working. I installed a non-Ubuntu kernel a while ago; Linux Gemini 2.6.36-020636rc8-generic #201010150908 SMP

    At this point, i2c reported nothing when checked. (i2cdetect -l) I manually inserted the I2C modules I could find from the /lib/modules tree, to no avail. When run, it now finds my SMBus PIIX4 adapter, and nothing further.
    You're right. Just installing i2c-tools is not sufficient. I should have been more precise. We need a chain to get user-based access to the i2c bus. In case of my Asus board it worked this way:
    1. Install the lm-sensors package and let it probe your HW
    Code:
    sudo sensors-detect
    One of the steps of sensors-detect is to probe the I2C/SMBus adapters. You should see your graphics adapters in the output. For this purpose sensors-detect loads the i2c-dev kernel module and unloads it after probing. At least on my system, this module was not part of the default kernel module suit. If this is true also for your system, load the i2c-dev module again:
    Code:
    sudo modprobe i2c-dev
    With lsmod you should see now following kernel modules loaded:
    Code:
    rdratlos@Mark-Aurel:~$ lsmod |grep i2c
    i2c_dev                 6310  0 
    i2c_piix4              10047  0 
    i2c_algo_bit            6208  1 radeon
    If this is true, just edit /etc/modules and add following two lines to get i2c-dev also loaded at boot time:
    Code:
    # Get access to monitor EDID EEPROM via i2c
    i2c_dev
    Now you should have permant user access to the i2c adapters.

Page 1 of 7 123 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •