Ubuntu – ddccontrol is not working, but it used to work

brightnessdriverskernel

I want to change my monitor (Dell S2216H) brightness with commands

ddccontrol -p -r 0x10 -w 53

This command used to work on 16.10 now it doesn't, but gives this output

robing for available monitors.......
Detected monitors :
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).

Output of ddccontrol -p is same

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 :
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).

Output of i2cdetect -l

i2c-3   unknown     i915 gmbus dpc                      N/A
i2c-1   unknown     i915 gmbus vga                      N/A
i2c-6   unknown     DPDDC-D                             N/A
i2c-4   unknown     i915 gmbus dpb                      N/A
i2c-2   unknown     i915 gmbus panel                    N/A
i2c-0   unknown     i915 gmbus ssc                      N/A
i2c-5   unknown     i915 gmbus dpd                      N/A

Here is the output of ddcontrol -p when it used to work at pastebin

It stopped working while I was doing this process described by Jacob Vlijm, But after that I've gone through multiple fresh installs but It never worked, the only thing that seems to be different now is I'm running 17.04 but I distinctly remember it working on 16.10 and then failing on fresh installs of 16.10


More info

I2C dev interface – The Linux Kernel Archives

Linux Framebuffer Drivers

What are DPDDC-B/C i2c devices?


Ultimately I'm trying to achieve this but ddccontrol needs to work for that

Best Answer

On my machine (which runs on ubuntu 16.04), ddccontrol -p shows nothing, but sudo ddccontrol -p shows my monitor.

On 16.04 you must be a member of the i2c group to access /dev/i2c-X devices. i2cdetect -l works because it list i2c buses, it does not try to open them.