Skip to content

DDC communication failed - PL2473HD (but works on windows) #570

@flagg19

Description

@flagg19

ddcutil 2.2.0-dev
6.12.57+deb13-amd64

I can't get ddcutil to works on one specific monitor, i get: DDCRC_READ_ALL_ZERO

  • same ddcutil works on another monitor
  • two other debian13 PCs (1 wayland, 1 xorg, but I don't think it matters) behaves the same, that monitor never works, the other always does
  • another windows pc can reliably work with that monitor with many different utilities, here a screenshot of that monitor working on windows:
Image

myuser@debian:~$ ddcutil environment

The following tests probe the runtime environment using multiple overlapping methods.
*** Basic System Information ***

ddcutil version: 2.2.0-dev

/proc/version:
   Linux version 6.12.57+deb13-amd64 (debian-kernel@lists.debian.org) (x86_64-linux-gnu-gcc-14 (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05)

Architecture:     x86_64
Distributor id:   Debian
Release:          13
Found a known architecture

/proc/cmdline:
   BOOT_IMAGE=/boot/vmlinuz-6.12.57+deb13-amd64 root=UUID=2738540b-bff2-4bf3-8f3a-487db99566e4 ro quiet

*** Primary Check 1: Identify video card and driver ***

Obtaining card and driver information from /sys...
Primary video controller at PCI address 0000:00:02.0 (boot_vga flag is set)
   Device class:        x030000    VGA compatible controller
   Vendor:              x8086      Intel Corporation
   Device:              x5a84      Apollo Lake [HD Graphics 505]
   Subvendor/Subdevice: 1025/1190  Acer Incorporated [ALI]
   Driver name:         i915
   Driver version:      Unable to determine
   I2C device:          i2c-10     name: i915 gmbus dpc
   I2C device:          i2c-11     name: i915 gmbus misc
   I2C device:          i2c-9      name: i915 gmbus dpb

*** Primary Check 2: Check that /dev/i2c-* exist and writable ***

Current user: myuser (1000)

Checking /dev/i2c-* devices...

Devices /dev/i2c-* must exist and the logged on user must have read/write permission for those devices (or at least those devices associated
with monitors).

Typically, this access is enabled by:
  - setting the group for /dev/i2c-* to i2c
  - setting group RW permissions for /dev/i2c-*
  - making the current user a member of group i2c

Alternatively, this can be enabled by just giving everyone RW permission
The following tests probe for these conditions.

Checking for /dev/i2c-* devices...
   crw-rw----  1 root i2c 89,  0 Jan  4 17:18 /dev/i2c-0
   crw-rw----  1 root i2c 89,  1 Jan  4 17:18 /dev/i2c-1
   crw-rw----+ 1 root i2c 89, 10 Jan  4 17:18 /dev/i2c-10
   crw-rw----+ 1 root i2c 89, 11 Jan  4 17:18 /dev/i2c-11
   crw-rw----+ 1 root i2c 89, 12 Jan  4 17:18 /dev/i2c-12
   crw-rw----  1 root i2c 89,  2 Jan  4 17:18 /dev/i2c-2
   crw-rw----  1 root i2c 89,  3 Jan  4 17:18 /dev/i2c-3
   crw-rw----  1 root i2c 89,  4 Jan  4 17:18 /dev/i2c-4
   crw-rw----  1 root i2c 89,  5 Jan  4 17:18 /dev/i2c-5
   crw-rw----  1 root i2c 89,  6 Jan  4 17:18 /dev/i2c-6
   crw-rw----  1 root i2c 89,  7 Jan  4 17:18 /dev/i2c-7
   crw-rw----  1 root i2c 89,  8 Jan  4 17:18 /dev/i2c-8
   crw-rw----+ 1 root i2c 89,  9 Jan  4 17:18 /dev/i2c-9

Current user (myuser) has RW access to all /dev/i2c-* devices.

*** Primary Check 3: Check that module i2c_dev is loaded ***

Checking for driver i2c_dev...
   sysfs reports module i2c_dev is loaded.
   Module i2c_dev is NOT built into the kernel
   Loadable i2c-dev module found
   Module i2c_dev is loaded

*** Primary Check 4: Driver specific checks ***

Performing driver specific checks...
No driver specific checks apply.

*** Additional probes ***

Examining /sys/bus/i2c/devices...
   /sys/bus/i2c/devices/i2c-ELAN0501:00/name: ELAN0501:00
   /sys/bus/i2c/devices/i2c-0/name:   Synopsys DesignWare I2C adapter
   /sys/bus/i2c/devices/i2c-1/name:   Synopsys DesignWare I2C adapter
   /sys/bus/i2c/devices/i2c-2/name:   Synopsys DesignWare I2C adapter
   /sys/bus/i2c/devices/i2c-3/name:   Synopsys DesignWare I2C adapter
   /sys/bus/i2c/devices/i2c-4/name:   Synopsys DesignWare I2C adapter
   /sys/bus/i2c/devices/i2c-5/name:   Synopsys DesignWare I2C adapter
   /sys/bus/i2c/devices/i2c-6/name:   Synopsys DesignWare I2C adapter
   /sys/bus/i2c/devices/i2c-7/name:   Synopsys DesignWare I2C adapter
   /sys/bus/i2c/devices/i2c-8/name:   SMBus I801 adapter at 1040
   /sys/bus/i2c/devices/i2c-9/name:   i915 gmbus dpb
   /sys/bus/i2c/devices/i2c-10/name:  i915 gmbus dpc
   /sys/bus/i2c/devices/i2c-11/name:  i915 gmbus misc
   /sys/bus/i2c/devices/i2c-12/name:  AUX A/DDI A/PHY A

Env_Accumulator:
   architecture:                  x86_64
   distributor_id                 Debian
   Drivers detected:              i915
   /dev/i2c device numbers:       0 1 2 3 4 5 6 7 8 9 10 11 12
   sysfs_i2c_devices_exist:       true
   /sys/bus/i2c device numbers:   0 1 2 3 4 5 6 7 8 9 10 11 12
   dev_i2c_devices_required:      true
   module_i2c_dev_needed:         true
   module_i2c_dev_builtin:        false
   loadable_i2c_dev_exists:       true
   i2c_dev_loaded_or_builtin:     true
   group_i2c_checked:             true
   group_i2c_exists:              true
   dev_i2c_common_group_name:     i2c
   all_dev_i2c_has_group_i2c:     true
   any_dev_i2c_has_group_i2c:     true
   all_dev_i2c_is_group_rw:       true
   any_dev_i2c_is_group_rw:       true
   cur_uname:                     myuser
   cur_uid:                       1000
   cur_user_in_group_i2c:         true
   cur_user_any_devi2c_rw:        true
   cur_user_all_devi2c_rw:        true

Configuration suggestions:
   Current user has RW access to all /dev/i2c-N devices.
   Skipping further group and permission checks.

myuser@debian:~$ ddcutil detect --verbose --disable-dynamic-sleep --sleep-multiplier 2

Invalid display
   I2C bus:  /dev/i2c-10
      DRM connector:                         card0-HDMI-A-1
      /sys/class/drm/card0-HDMI-A-1/dpms     On
      /sys/class/drm/card0-HDMI-A-1/enabled  enabled
      /sys/class/drm/card0-HDMI-A-1/status   connected
      /sys/class/drm/card0-HDMI-A-1/connector_id123
      Driver:                                i915
      EDID exists:                           true
      I2C address 0x37 (DDC)  responsive:    true
      Is LVDS or EDP display:                false
      Is laptop display by EDID:             false
      Is laptop display:                     false
      /sys/bus/i2c/devices/i2c-10/name       i915 gmbus dpc
      PCI device path:                       /sys/devices/pci0000:00/0000:00:02.0/i2c-10
   EDID synopsis:
      Mfg id:               IVM - Iiyama North America
      Model:                PL2473HD
      Product code:         24839  (0x6107)
      Serial number:        0
      Binary serial number: 16843009 (0x01010101)
      Manufacture year:     2012,  Week: 0
      EDID version:         1.3
      Extra descriptor:
      Video input definition:    0x80 - Digital Input
      Supported features:
         DPMS active-off
         Digital display type: RGB 4:4:4 + YCrCb 4:4:4
         Standard sRGB color space: False
      White x,y:        0.313, 0.329
      Red   x,y:        0.641, 0.338
      Green x,y:        0.315, 0.629
      Blue  x,y:        0.159, 0.059
      Extension blocks: 1
   EDID source: SYSFS
   EDID hex dump:
        +0          +4          +8          +c            0   4   8   c
+0000   00 ff ff ff ff ff ff 00 26 cd 07 61 01 01 01 01   ........&..a....
+0010   00 16 01 03 80 34 1d 78 2a 2c c5 a4 56 50 a1 28   .....4.x*,..VP.(
+0020   0f 50 54 bf ef 00 b3 00 a9 40 95 00 81 40 81 80   .PT......@...@..
+0030   95 0f 71 4f d1 c0 02 3a 80 18 71 38 2d 40 58 2c   ..qO...:..q8-@X,
+0040   45 00 09 25 21 00 00 1e 00 00 00 ff 00 30 0a 20   E..%!........0.
+0050   20 20 20 20 20 20 20 20 20 20 00 00 00 fd 00 37             .....7
+0060   4c 1e 53 11 00 0a 20 20 20 20 20 20 00 00 00 fc   L.S...      ....
+0070   00 50 4c 32 34 37 33 48 44 0a 20 20 20 20 01 c9   .PL2473HD.    ..
   DDC communication failed
   Failure detail: getvcp of feature x10 returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_READ_ALL_ZERO(10)]
   Monitor Model Id:  IVM-PL2473HD-24839
   Feature definition file IVM-PL2473HD-24839.mccs not found.

myuser@debian:~$ ddcutil detect --verbose --skip-ddc-checks --disable-dynamic-sleep --sleep-multiplier 2 --ddcdata --stats

Display 1
   I2C bus:  /dev/i2c-10
      DRM connector:                         card0-HDMI-A-1
      /sys/class/drm/card0-HDMI-A-1/dpms     Off
      /sys/class/drm/card0-HDMI-A-1/enabled  disabled
      /sys/class/drm/card0-HDMI-A-1/status   connected
      /sys/class/drm/card0-HDMI-A-1/connector_id123
      Driver:                                i915
      EDID exists:                           true
      I2C address 0x37 (DDC)  responsive:    false
      Is LVDS or EDP display:                false
      Is laptop display by EDID:             false
      Is laptop display:                     false
      /sys/bus/i2c/devices/i2c-10/name       i915 gmbus dpc
      PCI device path:                       /sys/devices/pci0000:00/0000:00:02.0/i2c-10
   EDID synopsis:
      Mfg id:               IVM - Iiyama North America
      Model:                PL2473HD
      Product code:         24839  (0x6107)
      Serial number:        0
      Binary serial number: 16843009 (0x01010101)
      Manufacture year:     2012,  Week: 0
      EDID version:         1.3
      Extra descriptor:
      Video input definition:    0x80 - Digital Input
      Supported features:
         DPMS active-off
         Digital display type: RGB 4:4:4 + YCrCb 4:4:4
         Standard sRGB color space: False
      White x,y:        0.313, 0.329
      Red   x,y:        0.641, 0.338
      Green x,y:        0.315, 0.629
      Blue  x,y:        0.159, 0.059
      Extension blocks: 1
   EDID source: SYSFS
   EDID hex dump:
        +0          +4          +8          +c            0   4   8   c
+0000   00 ff ff ff ff ff ff 00 26 cd 07 61 01 01 01 01   ........&..a....
+0010   00 16 01 03 80 34 1d 78 2a 2c c5 a4 56 50 a1 28   .....4.x*,..VP.(
+0020   0f 50 54 bf ef 00 b3 00 a9 40 95 00 81 40 81 80   .PT......@...@..
+0030   95 0f 71 4f d1 c0 02 3a 80 18 71 38 2d 40 58 2c   ..qO...:..q8-@X,
+0040   45 00 09 25 21 00 00 1e 00 00 00 ff 00 30 0a 20   E..%!........0.
+0050   20 20 20 20 20 20 20 20 20 20 00 00 00 fd 00 37             .....7
+0060   4c 1e 53 11 00 0a 20 20 20 20 20 20 00 00 00 fc   L.S...      ....
+0070   00 50 4c 32 34 37 33 48 44 0a 20 20 20 20 01 c9   .PL2473HD.    ..
   VCP version:         Detection failed
DDC: All zero response detected in ddc_i2c_write_read_raw
(get_controller_mfg_string_t) Freeing exception:
   Exception in function i2c_check_open_bus_alive: status=DDCRC_DPMS_ASLEEP(-3030): display is in a DPMS sleep mode
      /dev/i2c-10
   Controller mfg:      DDC communication failed
DDC: Unexpected source address 0x00, should be 0x6e
DDC: i2c_response_bytes: 00 00 80 9e be ae 6e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
DDC: All zero response detected in ddc_i2c_write_read_raw
DDC: All zero response detected in ddc_i2c_write_read_raw
DDC: All zero response detected in ddc_i2c_write_read_raw
DDC: All zero response detected in ddc_i2c_write_read_raw
DDC: All zero response detected in ddc_i2c_write_read_raw
DDC: All zero response detected in ddc_i2c_write_read_raw
DDC: All zero response detected in ddc_i2c_write_read_raw
DDC: All zero response detected in ddc_i2c_write_read_raw
DDC: All zero response detected in ddc_i2c_write_read_raw
   Exception in function ddc_write_read_with_retry: status=DDCRC_RETRIES(-3007): maximum retries exceeded
   Caused by:
      Exception in function ddc_write_read: status=DDCRC_DDC_DATA(-3001): DDC data error
      Exception in function ddc_write_read: status=DDCRC_READ_ALL_ZERO(-3006): packet contents entirely 0x00
      Exception in function ddc_write_read: status=DDCRC_READ_ALL_ZERO(-3006): packet contents entirely 0x00
      Exception in function ddc_write_read: status=DDCRC_READ_ALL_ZERO(-3006): packet contents entirely 0x00
      Exception in function ddc_write_read: status=DDCRC_READ_ALL_ZERO(-3006): packet contents entirely 0x00
      Exception in function ddc_write_read: status=DDCRC_READ_ALL_ZERO(-3006): packet contents entirely 0x00
      Exception in function ddc_write_read: status=DDCRC_READ_ALL_ZERO(-3006): packet contents entirely 0x00
      Exception in function ddc_write_read: status=DDCRC_READ_ALL_ZERO(-3006): packet contents entirely 0x00
      Exception in function ddc_write_read: status=DDCRC_READ_ALL_ZERO(-3006): packet contents entirely 0x00
      Exception in function ddc_write_read: status=DDCRC_READ_ALL_ZERO(-3006): packet contents entirely 0x00
   Firmware version:    DDC communication failed
   Monitor uses invalid feature flag in DDC reply packet to indicate unsupported feature.
   Monitor Model Id:  IVM-PL2473HD-24839
   Feature definition file IVM-PL2473HD-24839.mccs not found.

##########################################################################
####### I removed my laptop display data to shorten the text wall ########
##########################################################################

EXECUTION STATISTICS

Maxtries Settings:
Operation Type                    Current  Default     Min     Max
Write only exchange tries:              4        4       4       4
Write read exchange tries:             10        4      10      10
Multi-part read exchange tries:         8        4       8       8
Multi-part_write exchange tries:        8        4       8       8


Retry statistics for write only
   No tries attempted

Retry statistics for write-read
   Max tries allowed: 10
   Successful attempts by number of tries required: None
   Total successful attempts:          0
   Failed due to max tries exceeded:   3
   Failed due to fatal error:          0
   Total attempts:                     3

Retry statistics for multi-part read
   No tries attempted

Retry statistics for multi-part write
   No tries attempted

DDC Related Errors:

Count   Status Code                          Description
    1   ENXIO                        (   -6) No such device or address
   20   EREMOTEIO                    ( -121) Remote I/O error
    1   DDCRC_DDC_DATA               (-3001) DDC data error
   10   DDCRC_READ_ALL_ZERO          (-3006) packet contents entirely 0x00
    3   DDCRC_RETRIES                (-3007) maximum retries exceeded  (derived)
Total errors: 35

Errors Wrapped in Retry:

Count   Status Code                          Description
    1   ENXIO                        (   -6) No such device or address
   20   EREMOTEIO                    ( -121) Remote I/O error
    1   DDCRC_DDC_DATA               (-3001) DDC data error
   10   DDCRC_READ_ALL_ZERO          (-3006) packet contents entirely 0x00
Total errors: 32


IO and Sleep Events:
   Total IO events:         74
   IO error count:          35
   Total sleep events:      24

   Sleep Event type      Count
   SE_WRITE_TO_READ             12
   SE_POST_WRITE                 0
   SE_POST_READ                 12
   SE_POST_SAVE_SETTINGS         0
   SE_PRE_MULTI_PART_READ        0
   SE_POST_CAP_TABLE_SEGMENT     0
   SE_SPECIAL                    0

Call Stats:
   Type                                     Count    Millisec  (      Nanosec)
   i2c writes using ioctl (I2_IOCTL_WRITE)     43         569  (    569350883)
   i2c reads using ioctl  (I2_IOCTL_READ)      19          60  (     60552756)
   open file calls        (IE_OPEN)             6           0  (        86783)
   close file calls       (IE_CLOSE)            6           0  (        78148)
   Totals:                                     74         630  (    630068570)

Sleep Call Stats:
   Total sleep calls:                                      24
   Requested sleep time milliseconds :                   2400
   Actual sleep milliseconds (nanosec):                  2408  (   2408807738)

Total elapsed milliseconds (nanoseconds):                6492  (   6492087676)

Total non sleep system call time:        630 milliseconds
Total sleep call time:                  2408 milliseconds
Elapsed time:                           6492 milliseconds

Any idea? Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions