Here’s a solution for this issue (at least it works for me) courtesy of alexisdm (here’s his stack overflow profile). This snippet has to be added to the NVIDIA configuration file in /etc/X11/xorg.conf.d/*.conf:
------------------------- The original message -------------------------
sudo ddccontrol -p
ddccontrol version 0.4.2
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.
Probing for available monitors.........
Detected monitors :
- Device: dev:/dev/i2c-0
DDC/CI supported: No
Monitor Name: LG (DVI)
Input type: Digital
No monitor supporting DDC/CI available.
If your graphics card need it, please check all the required kernel modules are loaded (i2c-dev, and your framebuffer driver).
BTW, this monitor used to work with previous NVIDIA drivers (albeit many years ago).
ddccontrol -p -c -d -v -v
ddccontrol version 0.4.2
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.
ddcpci initing...
Starting /usr/bin/ddcpci 2 -318606226 &...
Probing for available monitors...
==>Received!
==>Listing...
==>01:00.0 vendor=10de device=11c0 class=0300 irq=54 base0=f6000000 size0=1000000
==>Supported
==>01:00.0-0
==>01:00.0-1
==>01:00.0-2
==>EOL
Found PCI device (pci:01:00.0-0)
Found PCI device (pci:01:00.0-1)
Found PCI device (pci:01:00.0-2)
Device: pci:01:00.0-0
==>Received!
==>Opening...
==>01:00.0-0
==>01:00.0 vendor=10de device=11c0 class=0300 irq=54 base0=f6000000 size0=1000000
==>Opened (status=0)...
==>Received!
==>Data, mquery->flags = 0
Error while reading write message answer: Bad message
Reading EDID 0x50 failed.
ddcci_open returned -2
Device: pci:01:00.0-1
==>Received!
==>Opening...
==>01:00.0-1
==>01:00.0 vendor=10de device=11c0 class=0300 irq=54 base0=f6000000 size0=1000000
==>Opened (status=0)...
==>Received!
==>Data, mquery->flags = 0
Error while reading write message answer: Bad message
Reading EDID 0x50 failed.
ddcci_open returned -2
Device: pci:01:00.0-2
==>Received!
==>Opening...
==>01:00.0-2
==>01:00.0 vendor=10de device=11c0 class=0300 irq=54 base0=f6000000 size0=1000000
==>Opened (status=0)...
==>Received!
==>Data, mquery->flags = 0
Error while reading write message answer: Bad message
Reading EDID 0x50 failed.
ddcci_open returned -2
Found I2C device (dev:/dev/i2c-5)
ioctl(): Input/output error
ioctl returned -1
Reading EDID 0x50 failed.
ddcci_open returned -2
Found I2C device (dev:/dev/i2c-4)
ioctl(): Input/output error
ioctl returned -1
Reading EDID 0x50 failed.
ddcci_open returned -2
Found I2C device (dev:/dev/i2c-3)
ioctl(): Input/output error
ioctl returned -1
Reading EDID 0x50 failed.
ddcci_open returned -2
Found I2C device (dev:/dev/i2c-2)
ioctl(): Input/output error
ioctl returned -1
Reading EDID 0x50 failed.
ddcci_open returned -2
Found I2C device (dev:/dev/i2c-1)
ioctl(): Input/output error
ioctl returned -1
Reading EDID 0x50 failed.
ddcci_open returned -2
Found I2C device (dev:/dev/i2c-0)
Send: 00 | .
Recv: 00 | .
ioctl(): Input/output error
ioctl returned -1
ioctl(): Input/output error
ioctl returned -1
ioctl(): Input/output error
ioctl returned -1
Control colortemp has been discarded by the caps string.
Control hpos has been discarded by the caps string.
Control vpos has been discarded by the caps string.
Control hsize has been discarded by the caps string.
Control vsize has been discarded by the caps string.
Control auto has been discarded by the caps string.
Control hpincushion has been discarded by the caps string.
Control hpincushionbalance has been discarded by the caps string.
Control vlinearity has been discarded by the caps string.
Control vlinearitybalance has been discarded by the caps string.
Control hmisconvergence has been discarded by the caps string.
Control vmisconvergence has been discarded by the caps string.
Control keybalance has been discarded by the caps string.
Control key has been discarded by the caps string.
Control tdistortionctrl has been discarded by the caps string.
Control tdistortionbalance has been discarded by the caps string.
Control bdistortionctrl has been discarded by the caps string.
Control bdistortionbalance has been discarded by the caps string.
Control tilt has been discarded by the caps string.
Control hmoire has been discarded by the caps string.
Control vmoire has been discarded by the caps string.
Control focus has been discarded by the caps string.
Control coarse has been discarded by the caps string.
Control fine has been discarded by the caps string.
Control defaultluma has been discarded by the caps string.
Control defaultgeom has been discarded by the caps string.
Control defaultcolor has been discarded by the caps string.
Control settings has been discarded by the caps string.
Control audiospeakervolume has been discarded by the caps string.
Control degauss has been discarded by the caps string.
Control secdegauss has been discarded by the caps string.
Control osdorientation has been discarded by the caps string.
Control inputsource has been discarded by the caps string.
Control dpms has been discarded by the caps string.
Control power has been discarded by the caps string.
ioctl(): Input/output error
ioctl returned -1
ddcci_open returned -1
Detected monitors :
- Device: dev:/dev/i2c-0
DDC/CI supported: No
Monitor Name: LG (DVI)
Input type: Digital
No monitor supporting DDC/CI available.
If your graphics card need it, please check all the required kernel modules are loaded (i2c-dev, and your framebuffer driver).
ddcpci being released...
==>Received!
==>Quitting...
==>ddcpci is quitting.
Aaron? Have you recently altered the DDC protocol in your drivers? I have the same monitor I had 5 years ago, and it previously worked (albeit on 8800GT - now I have GTX 660).
Works for me. Is there any chance you could find out which release caused the problem? That would be extremely helpful. Also, do you have a different monitor you could try it with?
$ sudo ddccontrol -p
ddccontrol version 0.4.2
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.
Probing for available monitors...........
Detected monitors :
- Device: dev:/dev/i2c-4
DDC/CI supported: No
Monitor Name: Sony (DVI)
Input type: Digital
No monitor supporting DDC/CI available.
If your graphics card need it, please check all the required kernel modules are loaded (i2c-dev, and your framebuffer driver).
I hv tested r337 driver + both Quadro 4000 fermi and Quadro K4000 kepler cards + FC 19. start X before running ddccontrol -p. I have DELL 2407WFPHC display on which its working fine. But on another display Acer AL2216W is not working. So seems like this issue related to monitor rather than driver.
I dont have a Quadro card but just a Geforce (NVIDIA Corporation GK106 [GeForce GTX 650 Ti] (rev a1)).
My monitors are Samsung 2443’s. I did test it with Acers before AL24*-types.
The strange thing is that the (E)EDID-info is read out correctly, so it seems there IS an i2c-communication with the display, only the extended command set does not work.
Found I2C device (dev:/dev/i2c-4)
Send: 00 | .
Recv: 00 | .
ioctl(): Input/output error
ioctl returned -1
ioctl(): Input/output error
ioctl returned -1
ioctl(): Input/output error
ioctl returned -1
Control colortemp has been discarded by the caps string.
Control hpos has been discarded by the caps string.
Control vpos has been discarded by the caps string.
Control hsize has been discarded by the caps string.
Control vsize has been discarded by the caps string.
Control auto has been discarded by the caps string.
Control hpincushion has been discarded by the caps string.
Control hpincushionbalance has been discarded by the caps string.
Control vlinearity has been discarded by the caps string.
Control vlinearitybalance has been discarded by the caps string.
Control hmisconvergence has been discarded by the caps string.
Control vmisconvergence has been discarded by the caps string.
Control keybalance has been discarded by the caps string.
Control key has been discarded by the caps string.
Control tdistortionctrl has been discarded by the caps string.
Control tdistortionbalance has been discarded by the caps string.
Control bdistortionctrl has been discarded by the caps string.
Control bdistortionbalance has been discarded by the caps string.
Control tilt has been discarded by the caps string.
Control hmoire has been discarded by the caps string.
Control vmoire has been discarded by the caps string.
Control focus has been discarded by the caps string.
Control coarse has been discarded by the caps string.
Control fine has been discarded by the caps string.
Control defaultluma has been discarded by the caps string.
Control defaultgeom has been discarded by the caps string.
Control defaultcolor has been discarded by the caps string.
Control settings has been discarded by the caps string.
Control audiospeakervolume has been discarded by the caps string.
Control degauss has been discarded by the caps string.
Control secdegauss has been discarded by the caps string.
Control osdorientation has been discarded by the caps string.
Control inputsource has been discarded by the caps string.
Control dpms has been discarded by the caps string.
Control power has been discarded by the caps string.
ioctl(): Input/output error
ioctl returned -1
ddcci_open returned -1
Today I got GK106 [GeForce GTX 660] card. I observed some time after startx ddccontrol -p will run properly. But if you re-run it again and again it will fail. If you pkill X > rmmod nvidia > startx then run it again > It will just run fine. Strange !!! Looks like some timing issue.