monitorcontrol icon indicating copy to clipboard operation
monitorcontrol copied to clipboard

Checking input works for one monitor but not the other (both same model)

Open brilthor opened this issue 2 years ago • 8 comments

  • Monitor manufacturer and model number: See ddcutil info below for list
  • Input source (HDMI, VGA, display port, ect.): DP and DP via DP->HDMI active adapter
  • Output device (video card, discrete graphics, ect.): VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev e7)
  • Operating system: Arch linux
  • Python version: Python 3.9.7
  • monitorcontrol version (monitorcontrol --version):

Steps to Reproduce

Iterate through monitors checking which input is selected:

#!/bin/env python
import monitorcontrol

for monitor in monitorcontrol.get_monitors():
    with monitor:
        print(monitor.get_input_source())

InputSource.DP1
Traceback (most recent call last):
  File "switch_monitor_input.py", line 8, in <module>
    print(monitor.get_input_source())
  File "venv/lib/python3.9/site-packages/monitorcontrol/monitorcontrol.py", line 389, in get_input_source
    value = self._get_vcp_feature(code) & 0xFF
  File "venv/lib/python3.9/site-packages/monitorcontrol/monitorcontrol.py", line 175, in _get_vcp_feature
    current, maximum = self.vcp.get_vcp_feature(code.value)
  File "venv/lib/python3.9/site-packages/monitorcontrol/vcp/vcp_linux.py", line 180, in get_vcp_feature
    ) = struct.unpack(">BBBBHH", payload)
struct.error: unpack requires a buffer of 8 bytes

display info from ddcutil:

Display 1
   I2C bus:  /dev/i2c-11
   EDID synopsis:
      Mfg id:               ACR
      Model:                CB282K
      Product code:         1887
      Serial number:        
      Binary serial number: 1898...
      Manufacture year:     2020,  Week: 12
   VCP version:         2.1

Display 2 <-- this one
   I2C bus:  /dev/i2c-12
   EDID synopsis:
      Mfg id:               ACR
      Model:                CB282K
      Product code:         1887
      Serial number:        
      Binary serial number: 1898...
      Manufacture year:     2020,  Week: 12
   VCP version:         2.1

Display 3
   I2C bus:  /dev/i2c-13
   EDID synopsis:
      Mfg id:               ACR
      Model:                CB282K
      Product code:         1887
      Serial number:        
      Binary serial number: 18983...
      Manufacture year:     2020,  Week: 12
   VCP version:         2.1

brilthor avatar Oct 22 '21 20:10 brilthor

What monitorcontrol version?

Can you re-run with debug logging on, like this?

import logging
import monitorcontrol

logging.basicConfig(level=logging.DEBUG)

for monitor in monitorcontrol.get_monitors():
    with monitor:
        print(monitor.get_input_source())

This it what it shows on my triple-monitor system:

DEBUG:monitorcontrol.vcp.vcp_linux:data=bytearray(b'P\x82\x01`\xe3')
DEBUG:monitorcontrol.vcp.vcp_linux:header=b'n\x88'
DEBUG:monitorcontrol.vcp.vcp_linux:payload=b'\x02\x00`\x00\x00\x03\x00\x0f\xd8'
InputSource.DP1
DEBUG:monitorcontrol.vcp.vcp_linux:data=bytearray(b'P\x82\x01`\xe3')
DEBUG:monitorcontrol.vcp.vcp_linux:header=b'n\x88'
DEBUG:monitorcontrol.vcp.vcp_linux:payload=b'\x02\x00`\x00\x00\x03\x00\x0f\xd8'
InputSource.DP1
DEBUG:monitorcontrol.vcp.vcp_linux:data=bytearray(b'P\x82\x01`\xe3')
DEBUG:monitorcontrol.vcp.vcp_linux:header=b'n\x88'
DEBUG:monitorcontrol.vcp.vcp_linux:payload=b'\x02\x00`\x00\x00\x03\x00\x0f\xd8'
InputSource.DP1

newAM avatar Oct 22 '21 22:10 newAM

ls -al venv/lib/python3.9/site-packages/ | grep mon
drwxr-xr-x  4    4096 Oct 22 16:18 monitorcontrol
drwxr-xr-x  2    4096 Oct 22 16:18 monitorcontrol-2.5.1.dist-info
>>> import logging
>>> import monitorcontrol
>>> 
>>> logging.basicConfig(level=logging.DEBUG)
>>> 
>>> for monitor in monitorcontrol.get_monitors():
...     with monitor:
...         print(monitor.get_input_source())
... 
DEBUG:monitorcontrol.vcp.vcp_linux:data=bytearray(b'P\x82\x01`\xe3')
DEBUG:monitorcontrol.vcp.vcp_linux:header=b'n\x88'
DEBUG:monitorcontrol.vcp.vcp_linux:payload=b'\x02\x00`\x00\x00\x01\x00\x0f\xda'
InputSource.DP1
DEBUG:monitorcontrol.vcp.vcp_linux:data=bytearray(b'P\x82\x01`\xe3')
DEBUG:monitorcontrol.vcp.vcp_linux:header=b'\xbe\x00'
DEBUG:monitorcontrol.vcp.vcp_linux:payload=b'\xdf'
Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
  File "venv/lib/python3.9/site-packages/monitorcontrol/monitorcontrol.py", line 389, in get_input_source
    value = self._get_vcp_feature(code) & 0xFF
  File "venv/lib/python3.9/site-packages/monitorcontrol/monitorcontrol.py", line 175, in _get_vcp_feature
    current, maximum = self.vcp.get_vcp_feature(code.value)
  File "venv/lib/python3.9/site-packages/monitorcontrol/vcp/vcp_linux.py", line 180, in get_vcp_feature
    ) = struct.unpack(">BBBBHH", payload)
struct.error: unpack requires a buffer of 8 bytes

brilthor avatar Oct 25 '21 13:10 brilthor

In the header the first byte is the source address, so that's 0x6E in the working monitor, and 0xBE in the non-working monitor. The second byte is the payload length, which is where things get weird. For your first monitor it is 0x88, 0x08 with the protocol flag cleared, which is valid. In the second monitor it is just zero, which I think isn't valid according to DDC-CI spec (though it has been a while since I read the spec).

Can you run another test like this? This will increase the time given to the monitor to decode and send a reply.

import logging
import monitorcontrol

logging.basicConfig(level=logging.DEBUG)

for monitor in monitorcontrol.get_monitors():
    with monitor:
        monitor.vcp.GET_VCP_TIMEOUT *= 4
        print(monitor.get_input_source())

newAM avatar Oct 28 '21 02:10 newAM

timeout doesn't appear to have improved things:

Python 3.9.7 (default, Oct 10 2021, 15:13:22) 
[GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import logging
>>> import monitorcontrol
>>> 
>>> logging.basicConfig(level=logging.DEBUG)
>>> 
>>> for monitor in monitorcontrol.get_monitors():
...     with monitor:
...         monitor.vcp.GET_VCP_TIMEOUT *= 4
...         print(monitor.get_input_source())
... 
DEBUG:monitorcontrol.vcp.vcp_linux:data=bytearray(b'P\x82\x01`\xe3')
DEBUG:monitorcontrol.vcp.vcp_linux:header=b'n\x88'
DEBUG:monitorcontrol.vcp.vcp_linux:payload=b'\x02\x00`\x00\x00\x01\x00\x0f\xda'
InputSource.DP1
DEBUG:monitorcontrol.vcp.vcp_linux:data=bytearray(b'P\x82\x01`\xe3')
DEBUG:monitorcontrol.vcp.vcp_linux:header=b'\xbe\x00'
DEBUG:monitorcontrol.vcp.vcp_linux:payload=b'\xdf'
Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
  File "venv/lib/python3.9/site-packages/monitorcontrol/monitorcontrol.py", line 389, in get_input_source
    value = self._get_vcp_feature(code) & 0xFF
  File "venv/lib/python3.9/site-packages/monitorcontrol/monitorcontrol.py", line 175, in _get_vcp_feature
    current, maximum = self.vcp.get_vcp_feature(code.value)
  File "venv/lib/python3.9/site-packages/monitorcontrol/vcp/vcp_linux.py", line 180, in get_vcp_feature
    ) = struct.unpack(">BBBBHH", payload)
struct.error: unpack requires a buffer of 8 bytes

brilthor avatar Oct 29 '21 19:10 brilthor

Here is a fully verbose trace from ddcutil in case it's helpful

the full dump:

ddcutil detect --ddc -vv --trace=all
(main                          ) Starting ddcutil execution, Fri Oct 29 15:28:23 2021
ddcutil version:            1.1.0
Output level:               Verbose
Reporting DDC data errors:  true
Trace groups active:        BASE, I2C, DDC, USB, TOP, ENV, API, UDF, VCP, DDCIO, SLEEP, RETRY
Traced functions:           none
Traced files:               none
Force I2C slave address:    false
User defined features:      disabled

Performance and Retry Options:
   Deferred sleep enabled:                      false
   Sleep suppression (reduced sleeps) enabled:  true
   Dynamic sleep adjustment enabled:            false

Configuration file:         (none)
(main                          ) Initialization complete, process commands
(main                          ) Detecting displays...
(i2c_detect_buses              ) Starting.  i2c_buses = (nil)
(i2c_check_bus                 ) Starting. busno=3, buf_info=0x5593ec781dd0
(i2c_open_bus                  ) Starting. busno=3, callopts=0x80
(i2c_open_bus                  ) Done.     busno=3, Returning file descriptor: 3
(i2c_get_parsed_edid_by_fd     ) Starting. fd=3, filename=/dev/i2c-3
(i2c_get_raw_edid_by_fd        ) Getting EDID. File descriptor = 3, filename=/dev/i2c-3
(i2c_set_addr                  ) fd=3, addr=0x50, filename=/dev/i2c-3, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x50. filename = /dev/i2c-3, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) EDID_Read_Size=0, max_tries=-334945776
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=0, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-3, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=1, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-3, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=2, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-3, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=3, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-3, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) tries=4, Returning EIO(-5): Input/output error
(i2c_get_parsed_edid_by_fd     ) Returning: EIO(-5): Input/output error
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-3, callopts=CALLOPT_ERR_MSG
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(i2c_check_bus                 ) Done. flags=0x0cc1, bus info:
      Bus /dev/i2c-3 found:   true
      Bus /dev/i2c-3 probed:  true
      Bus accessible:          true
      Bus is eDP:              false
      Bus is LVDS:             false
      Valid bus name checked:  true
      I2C bus has valid name:  true
      Address 0x37 present:    false
      Address 0x50 present:    false
(i2c_check_bus                 ) Starting. busno=4, buf_info=0x5593ec75d520
(i2c_open_bus                  ) Starting. busno=4, callopts=0x80
(i2c_open_bus                  ) Done.     busno=4, Returning file descriptor: 3
(i2c_get_parsed_edid_by_fd     ) Starting. fd=3, filename=/dev/i2c-4
(i2c_get_raw_edid_by_fd        ) Getting EDID. File descriptor = 3, filename=/dev/i2c-4
(i2c_set_addr                  ) fd=3, addr=0x50, filename=/dev/i2c-4, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x50. filename = /dev/i2c-4, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) EDID_Read_Size=0, max_tries=-334945776
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=0, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-4, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=1, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-4, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=2, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-4, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=3, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-4, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) tries=4, Returning EIO(-5): Input/output error
(i2c_get_parsed_edid_by_fd     ) Returning: EIO(-5): Input/output error
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-4, callopts=CALLOPT_ERR_MSG
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(i2c_check_bus                 ) Done. flags=0x0cc1, bus info:
      Bus /dev/i2c-4 found:   true
      Bus /dev/i2c-4 probed:  true
      Bus accessible:          true
      Bus is eDP:              false
      Bus is LVDS:             false
      Valid bus name checked:  true
      I2C bus has valid name:  true
      Address 0x37 present:    false
      Address 0x50 present:    false
(i2c_check_bus                 ) Starting. busno=5, buf_info=0x5593ec792ed0
(i2c_open_bus                  ) Starting. busno=5, callopts=0x80
(i2c_open_bus                  ) Done.     busno=5, Returning file descriptor: 3
(i2c_get_parsed_edid_by_fd     ) Starting. fd=3, filename=/dev/i2c-5
(i2c_get_raw_edid_by_fd        ) Getting EDID. File descriptor = 3, filename=/dev/i2c-5
(i2c_set_addr                  ) fd=3, addr=0x50, filename=/dev/i2c-5, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x50. filename = /dev/i2c-5, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) EDID_Read_Size=0, max_tries=-334945776
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=0, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-5, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=1, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-5, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=2, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-5, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=3, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-5, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) tries=4, Returning EIO(-5): Input/output error
(i2c_get_parsed_edid_by_fd     ) Returning: EIO(-5): Input/output error
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-5, callopts=CALLOPT_ERR_MSG
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(i2c_check_bus                 ) Done. flags=0x0cc1, bus info:
      Bus /dev/i2c-5 found:   true
      Bus /dev/i2c-5 probed:  true
      Bus accessible:          true
      Bus is eDP:              false
      Bus is LVDS:             false
      Valid bus name checked:  true
      I2C bus has valid name:  true
      Address 0x37 present:    false
      Address 0x50 present:    false
(i2c_check_bus                 ) Starting. busno=6, buf_info=0x5593ec793cc0
(i2c_open_bus                  ) Starting. busno=6, callopts=0x80
(i2c_open_bus                  ) Done.     busno=6, Returning file descriptor: 3
(i2c_get_parsed_edid_by_fd     ) Starting. fd=3, filename=/dev/i2c-6
(i2c_get_raw_edid_by_fd        ) Getting EDID. File descriptor = 3, filename=/dev/i2c-6
(i2c_set_addr                  ) fd=3, addr=0x50, filename=/dev/i2c-6, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x50. filename = /dev/i2c-6, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) EDID_Read_Size=0, max_tries=-334945776
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=0, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-6, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=1, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-6, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=2, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-6, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=3, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-6, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) tries=4, Returning EIO(-5): Input/output error
(i2c_get_parsed_edid_by_fd     ) Returning: EIO(-5): Input/output error
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-6, callopts=CALLOPT_ERR_MSG
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(i2c_check_bus                 ) Done. flags=0x0cc1, bus info:
      Bus /dev/i2c-6 found:   true
      Bus /dev/i2c-6 probed:  true
      Bus accessible:          true
      Bus is eDP:              false
      Bus is LVDS:             false
      Valid bus name checked:  true
      I2C bus has valid name:  true
      Address 0x37 present:    false
      Address 0x50 present:    false
(i2c_check_bus                 ) Starting. busno=7, buf_info=0x5593ec7820a0
(i2c_open_bus                  ) Starting. busno=7, callopts=0x80
(i2c_open_bus                  ) Done.     busno=7, Returning file descriptor: 3
(i2c_get_parsed_edid_by_fd     ) Starting. fd=3, filename=/dev/i2c-7
(i2c_get_raw_edid_by_fd        ) Getting EDID. File descriptor = 3, filename=/dev/i2c-7
(i2c_set_addr                  ) fd=3, addr=0x50, filename=/dev/i2c-7, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x50. filename = /dev/i2c-7, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) EDID_Read_Size=0, max_tries=-334945776
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=0, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-7, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=1, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-7, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=2, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-7, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=3, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-7, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) tries=4, Returning EIO(-5): Input/output error
(i2c_get_parsed_edid_by_fd     ) Returning: EIO(-5): Input/output error
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-7, callopts=CALLOPT_ERR_MSG
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(i2c_check_bus                 ) Done. flags=0x0cc1, bus info:
      Bus /dev/i2c-7 found:   true
      Bus /dev/i2c-7 probed:  true
      Bus accessible:          true
      Bus is eDP:              false
      Bus is LVDS:             false
      Valid bus name checked:  true
      I2C bus has valid name:  true
      Address 0x37 present:    false
      Address 0x50 present:    false
(i2c_check_bus                 ) Starting. busno=8, buf_info=0x5593ec790c00
(i2c_open_bus                  ) Starting. busno=8, callopts=0x80
(i2c_open_bus                  ) Done.     busno=8, Returning file descriptor: 3
(i2c_get_parsed_edid_by_fd     ) Starting. fd=3, filename=/dev/i2c-8
(i2c_get_raw_edid_by_fd        ) Getting EDID. File descriptor = 3, filename=/dev/i2c-8
(i2c_set_addr                  ) fd=3, addr=0x50, filename=/dev/i2c-8, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x50. filename = /dev/i2c-8, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) EDID_Read_Size=0, max_tries=-334945776
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=0, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-8, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=1, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-8, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=2, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-8, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=3, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-8, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) tries=4, Returning EIO(-5): Input/output error
(i2c_get_parsed_edid_by_fd     ) Returning: EIO(-5): Input/output error
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-8, callopts=CALLOPT_ERR_MSG
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(i2c_check_bus                 ) Done. flags=0x0cc1, bus info:
      Bus /dev/i2c-8 found:   true
      Bus /dev/i2c-8 probed:  true
      Bus accessible:          true
      Bus is eDP:              false
      Bus is LVDS:             false
      Valid bus name checked:  true
      I2C bus has valid name:  true
      Address 0x37 present:    false
      Address 0x50 present:    false
(i2c_check_bus                 ) Starting. busno=9, buf_info=0x5593ec75d810
(i2c_open_bus                  ) Starting. busno=9, callopts=0x80
(i2c_open_bus                  ) Done.     busno=9, Returning file descriptor: 3
(i2c_get_parsed_edid_by_fd     ) Starting. fd=3, filename=/dev/i2c-9
(i2c_get_raw_edid_by_fd        ) Getting EDID. File descriptor = 3, filename=/dev/i2c-9
(i2c_set_addr                  ) fd=3, addr=0x50, filename=/dev/i2c-9, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x50. filename = /dev/i2c-9, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) EDID_Read_Size=0, max_tries=-334945776
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=0, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-9, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=1, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-9, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=2, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-9, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=3, max_tries=4, edid_read_size=256, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-9, edid_read_size=256, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) Returning: EIO(-5): Input/output error
(i2c_get_raw_edid_by_fd        ) tries=4, Returning EIO(-5): Input/output error
(i2c_get_parsed_edid_by_fd     ) Returning: EIO(-5): Input/output error
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-9, callopts=CALLOPT_ERR_MSG
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(i2c_check_bus                 ) Done. flags=0x0cc1, bus info:
      Bus /dev/i2c-9 found:   true
      Bus /dev/i2c-9 probed:  true
      Bus accessible:          true
      Bus is eDP:              false
      Bus is LVDS:             false
      Valid bus name checked:  true
      I2C bus has valid name:  true
      Address 0x37 present:    false
      Address 0x50 present:    false
(i2c_check_bus                 ) Starting. busno=10, buf_info=0x5593ec794050
(i2c_open_bus                  ) Starting. busno=10, callopts=0x80
(i2c_open_bus                  ) Done.     busno=10, Returning file descriptor: 3
(i2c_get_parsed_edid_by_fd     ) Starting. fd=3, filename=/dev/i2c-10
(i2c_get_raw_edid_by_fd        ) Getting EDID. File descriptor = 3, filename=/dev/i2c-10
(i2c_set_addr                  ) fd=3, addr=0x50, filename=/dev/i2c-10, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x50. filename = /dev/i2c-10, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) EDID_Read_Size=0, max_tries=-334945776
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=0, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-10, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) write() succeeded
(i2c_get_edid_bytes_directly   ) Returning buffer:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 04 72 5f 07 fd a9 21 01   .........r_...!.
      +0010   0c 1e 01 03 80 3e 22 78 2a ad 65 ad 50 45 9f 25   .....>"x*.e.PE.%
      +0020   0e 50 54 bf ef 80 71 4f 81 40 81 80 81 c0 81 00   .PT...qO.@......
      +0030   95 00 b3 00 d1 c0 56 5e 00 a0 a0 a0 29 50 30 20   ......V^....)P0 
      +0040   35 00 6d 55 21 00 00 1e 56 5e 00 a0 a0 a0 29 50   5.mU!...V^....)P
      +0050   30 20 35 00 6d 55 21 00 00 1e 00 00 00 fd 00 28   0 5.mU!........(
      +0060   3c 1e a0 3c 00 0a 20 20 20 20 20 20 00 00 00 fc   <..<..      ....
      +0070   00 43 42 32 38 32 4b 0a 20 20 20 20 20 20 01 1f   .CB282K.      ..
(i2c_get_edid_bytes_directly   ) Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) tries=1, Returning OK(0): success
(i2c_get_parsed_edid_by_fd     ) Returning OK(0): success, *edid_ptr_loc = 0x5593ec781ed0 -> ...2020011f
(is_laptop_drm_connector       ) busno=10, drm_name_fragment |-eDP-|, Returning: false
(is_laptop_drm_connector       ) busno=10, drm_name_fragment |-LVDS-|, Returning: false
(i2c_set_addr                  ) fd=3, addr=0x37, filename=/dev/i2c-10, i2c_force_slave_addr_flag=false, callopts=CALLOPT_NONE
(i2c_set_addr                  ) addr = 0x37. filename = /dev/i2c-10, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_detect_x37                ) write() for slave address x37 returned EPERM(-1): Operation not permitted
(i2c_detect_x37                ) read() for slave address x37 returned EPERM(-1): Operation not permitted
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-10, callopts=CALLOPT_ERR_MSG
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(i2c_check_bus                 ) Done. flags=0x0ce1, bus info:
      Bus /dev/i2c-10 found:   true
      Bus /dev/i2c-10 probed:  true
      Bus accessible:          true
      Bus is eDP:              false
      Bus is LVDS:             false
      Valid bus name checked:  true
      I2C bus has valid name:  true
      Address 0x37 present:    false
      Address 0x50 present:    true
      EDID synopsis:
         Mfg id:               ACR
         Model:                CB282K
         Product code:         1887
         Serial number:        
         Binary serial number: 18983421 (0x0121a9fd)
         Manufacture year:     2020,  Week: 12
         Extra descriptor:        
         Video input definition:    0x80 - Digital Input
         Supported features:
            DPMS active-off
            Digital display type: RGB 4:4:4
            Standard sRGB color space: False
         White x,y:        0.313, 0.329
         Red   x,y:        0.678, 0.314
         Green x,y:        0.272, 0.622
         Blue  x,y:        0.146, 0.057
         Extension blocks: 1
      EDID source: 
      EDID hex dump:
                 +0          +4          +8          +c            0   4   8   c   
         +0000   00 ff ff ff ff ff ff 00 04 72 5f 07 fd a9 21 01   .........r_...!.
         +0010   0c 1e 01 03 80 3e 22 78 2a ad 65 ad 50 45 9f 25   .....>"x*.e.PE.%
         +0020   0e 50 54 bf ef 80 71 4f 81 40 81 80 81 c0 81 00   .PT...qO.@......
         +0030   95 00 b3 00 d1 c0 56 5e 00 a0 a0 a0 29 50 30 20   ......V^....)P0 
         +0040   35 00 6d 55 21 00 00 1e 56 5e 00 a0 a0 a0 29 50   5.mU!...V^....)P
         +0050   30 20 35 00 6d 55 21 00 00 1e 00 00 00 fd 00 28   0 5.mU!........(
         +0060   3c 1e a0 3c 00 0a 20 20 20 20 20 20 00 00 00 fc   <..<..      ....
         +0070   00 43 42 32 38 32 4b 0a 20 20 20 20 20 20 01 1f   .CB282K.      ..
(i2c_check_bus                 ) Starting. busno=11, buf_info=0x5593ec75d4e0
(i2c_open_bus                  ) Starting. busno=11, callopts=0x80
(i2c_open_bus                  ) Done.     busno=11, Returning file descriptor: 3
(i2c_get_parsed_edid_by_fd     ) Starting. fd=3, filename=/dev/i2c-11
(i2c_get_raw_edid_by_fd        ) Getting EDID. File descriptor = 3, filename=/dev/i2c-11
(i2c_set_addr                  ) fd=3, addr=0x50, filename=/dev/i2c-11, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x50. filename = /dev/i2c-11, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) EDID_Read_Size=0, max_tries=-334945776
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=0, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-11, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) write() succeeded
(i2c_get_edid_bytes_directly   ) Returning buffer:
              +0          +4          +8          +c            0   4   8   c   
      +0000   02 03 37 f1 4e 01 03 04 12 13 05 14 1f 90 07 02   ..7.N...........
      +0010   5d 5e 5f 23 09 07 07 83 01 00 00 e2 00 d5 6d 03   ]^_#..........m.
      +0020   0c 00 10 00 18 78 20 00 60 01 02 03 e3 05 e3 01   .....x .`.......
      +0030   e6 06 07 01 60 60 45 02 3a 80 18 71 38 2d 40 58   ....``E.:..q8-@X
      +0040   2c 45 00 6d 55 21 00 00 1e 01 1d 00 72 51 d0 1e   ,E.mU!......rQ..
      +0050   20 6e 28 55 00 6d 55 21 00 00 1e 8c 0a d0 8a 20    n(U.mU!....... 
      +0060   e0 2d 10 10 3e 96 00 6d 55 21 00 00 18 00 00 00   .-..>..mU!......
      +0070   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f6   ................
(i2c_get_edid_bytes_directly   ) Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) Invalid EDID
(i2c_get_raw_edid_by_fd        ) EDID appears to start with a CEA 861 extension block
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=1, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-11, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) write() succeeded
(i2c_get_edid_bytes_directly   ) Returning buffer:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 04 72 5f 07 f5 a9 21 01   .........r_...!.
      +0010   0c 1e 01 04 b5 3e 22 78 3b ad 65 ad 50 45 9f 25   .....>"x;.e.PE.%
      +0020   0e 50 54 23 08 00 81 40 81 80 81 c0 81 00 95 00   .PT#...@........
      +0030   b3 00 d1 c0 01 01 22 cc 00 50 f0 70 3e 80 18 10   ......"..P.p>...
      +0040   35 00 6d 55 21 00 00 1a 56 5e 00 a0 a0 a0 29 50   5.mU!...V^....)P
      +0050   30 20 35 00 6d 55 21 00 00 1e 00 00 00 fd 00 28   0 5.mU!........(
      +0060   3c a0 a0 3c 01 0a 20 20 20 20 20 20 00 00 00 fc   <..<..      ....
      +0070   00 43 42 32 38 32 4b 0a 20 20 20 20 20 20 01 fb   .CB282K.      ..
(i2c_get_edid_bytes_directly   ) Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) tries=2, Returning OK(0): success
(i2c_get_parsed_edid_by_fd     ) Returning OK(0): success, *edid_ptr_loc = 0x5593ec780d80 -> ...202001fb
(is_laptop_drm_connector       ) busno=11, drm_name_fragment |-eDP-|, Returning: false
(is_laptop_drm_connector       ) busno=11, drm_name_fragment |-LVDS-|, Returning: false
(i2c_set_addr                  ) fd=3, addr=0x37, filename=/dev/i2c-11, i2c_force_slave_addr_flag=false, callopts=CALLOPT_NONE
(i2c_set_addr                  ) addr = 0x37. filename = /dev/i2c-11, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_detect_x37                ) write() for slave address x37 returned 1
(i2c_detect_x37                ) read() for slave address x37 returned 4
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-11, callopts=CALLOPT_ERR_MSG
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(i2c_check_bus                 ) Done. flags=0x0cf1, bus info:
      Bus /dev/i2c-11 found:   true
      Bus /dev/i2c-11 probed:  true
      Bus accessible:          true
      Bus is eDP:              false
      Bus is LVDS:             false
      Valid bus name checked:  true
      I2C bus has valid name:  true
      Address 0x37 present:    true
      Address 0x50 present:    true
      EDID synopsis:
         Mfg id:               ACR
         Model:                CB282K
         Product code:         1887
         Serial number:        
         Binary serial number: 18983413 (0x0121a9f5)
         Manufacture year:     2020,  Week: 12
         Extra descriptor:        
         Video input definition:    0xb5 - Digital Input (DisplayPort)
         Supported features:
            DPMS active-off
            Digital display type: RGB 4:4:4 + YCrCb 4:2:2
            Standard sRGB color space: True
         White x,y:        0.313, 0.329
         Red   x,y:        0.678, 0.314
         Green x,y:        0.272, 0.622
         Blue  x,y:        0.146, 0.057
         Extension blocks: 1
      EDID source: 
      EDID hex dump:
                 +0          +4          +8          +c            0   4   8   c   
         +0000   00 ff ff ff ff ff ff 00 04 72 5f 07 f5 a9 21 01   .........r_...!.
         +0010   0c 1e 01 04 b5 3e 22 78 3b ad 65 ad 50 45 9f 25   .....>"x;.e.PE.%
         +0020   0e 50 54 23 08 00 81 40 81 80 81 c0 81 00 95 00   .PT#...@........
         +0030   b3 00 d1 c0 01 01 22 cc 00 50 f0 70 3e 80 18 10   ......"..P.p>...
         +0040   35 00 6d 55 21 00 00 1a 56 5e 00 a0 a0 a0 29 50   5.mU!...V^....)P
         +0050   30 20 35 00 6d 55 21 00 00 1e 00 00 00 fd 00 28   0 5.mU!........(
         +0060   3c a0 a0 3c 01 0a 20 20 20 20 20 20 00 00 00 fc   <..<..      ....
         +0070   00 43 42 32 38 32 4b 0a 20 20 20 20 20 20 01 fb   .CB282K.      ..
(i2c_check_bus                 ) Starting. busno=12, buf_info=0x5593ec780e60
(i2c_open_bus                  ) Starting. busno=12, callopts=0x80
(i2c_open_bus                  ) Done.     busno=12, Returning file descriptor: 3
(i2c_get_parsed_edid_by_fd     ) Starting. fd=3, filename=/dev/i2c-12
(i2c_get_raw_edid_by_fd        ) Getting EDID. File descriptor = 3, filename=/dev/i2c-12
(i2c_set_addr                  ) fd=3, addr=0x50, filename=/dev/i2c-12, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x50. filename = /dev/i2c-12, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) EDID_Read_Size=0, max_tries=-334945776
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=0, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-12, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) write() succeeded
(i2c_get_edid_bytes_directly   ) Returning buffer:
              +0          +4          +8          +c            0   4   8   c   
      +0000   02 03 4d f1 51 01 03 04 12 13 05 14 1f 10 07 06   ..M.Q...........
      +0010   02 5d 5e 5f 60 61 23 09 07 07 83 01 00 00 6d 03   .]^_`a#.......m.
      +0020   0c 00 10 00 18 3c 20 00 60 01 02 03 67 d8 5d c4   .....< .`...g.].
      +0030   01 78 80 01 68 1a 00 00 01 01 28 3c e6 e3 05 e3   .x..h.....(<....
      +0040   01 e4 0f 00 80 01 e6 06 07 01 60 60 45 02 3a 80   ..........``E.:.
      +0050   18 71 38 2d 40 58 2c 45 00 6d 55 21 00 00 1e 8c   .q8-@X,E.mU!....
      +0060   0a d0 8a 20 e0 2d 10 10 3e 96 00 6d 55 21 00 00   ... .-..>..mU!..
      +0070   18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c8   ................
(i2c_get_edid_bytes_directly   ) Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) Invalid EDID
(i2c_get_raw_edid_by_fd        ) EDID appears to start with a CEA 861 extension block
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=1, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-12, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) write() succeeded
(i2c_get_edid_bytes_directly   ) Returning buffer:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 04 72 5f 07 fd a9 21 01   .........r_...!.
      +0010   0c 1e 01 03 80 3e 22 78 2a ad 65 ad 50 45 9f 25   .....>"x*.e.PE.%
      +0020   0e 50 54 bf ef 80 71 4f 81 40 81 80 81 c0 81 00   .PT...qO.@......
      +0030   95 00 b3 00 d1 c0 56 5e 00 a0 a0 a0 29 50 30 20   ......V^....)P0 
      +0040   35 00 6d 55 21 00 00 1e 56 5e 00 a0 a0 a0 29 50   5.mU!...V^....)P
      +0050   30 20 35 00 6d 55 21 00 00 1e 00 00 00 fd 00 28   0 5.mU!........(
      +0060   3c 1e a0 3c 00 0a 20 20 20 20 20 20 00 00 00 fc   <..<..      ....
      +0070   00 43 42 32 38 32 4b 0a 20 20 20 20 20 20 01 1f   .CB282K.      ..
(i2c_get_edid_bytes_directly   ) Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) tries=2, Returning OK(0): success
(i2c_get_parsed_edid_by_fd     ) Returning OK(0): success, *edid_ptr_loc = 0x5593ec7806a0 -> ...2020011f
(is_laptop_drm_connector       ) busno=12, drm_name_fragment |-eDP-|, Returning: false
(is_laptop_drm_connector       ) busno=12, drm_name_fragment |-LVDS-|, Returning: false
(i2c_set_addr                  ) fd=3, addr=0x37, filename=/dev/i2c-12, i2c_force_slave_addr_flag=false, callopts=CALLOPT_NONE
(i2c_set_addr                  ) addr = 0x37. filename = /dev/i2c-12, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_detect_x37                ) write() for slave address x37 returned 1
(i2c_detect_x37                ) read() for slave address x37 returned 4
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-12, callopts=CALLOPT_ERR_MSG
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(i2c_check_bus                 ) Done. flags=0x0cf1, bus info:
      Bus /dev/i2c-12 found:   true
      Bus /dev/i2c-12 probed:  true
      Bus accessible:          true
      Bus is eDP:              false
      Bus is LVDS:             false
      Valid bus name checked:  true
      I2C bus has valid name:  true
      Address 0x37 present:    true
      Address 0x50 present:    true
      EDID synopsis:
         Mfg id:               ACR
         Model:                CB282K
         Product code:         1887
         Serial number:        
         Binary serial number: 18983421 (0x0121a9fd)
         Manufacture year:     2020,  Week: 12
         Extra descriptor:        
         Video input definition:    0x80 - Digital Input
         Supported features:
            DPMS active-off
            Digital display type: RGB 4:4:4
            Standard sRGB color space: False
         White x,y:        0.313, 0.329
         Red   x,y:        0.678, 0.314
         Green x,y:        0.272, 0.622
         Blue  x,y:        0.146, 0.057
         Extension blocks: 1
      EDID source: 
      EDID hex dump:
                 +0          +4          +8          +c            0   4   8   c   
         +0000   00 ff ff ff ff ff ff 00 04 72 5f 07 fd a9 21 01   .........r_...!.
         +0010   0c 1e 01 03 80 3e 22 78 2a ad 65 ad 50 45 9f 25   .....>"x*.e.PE.%
         +0020   0e 50 54 bf ef 80 71 4f 81 40 81 80 81 c0 81 00   .PT...qO.@......
         +0030   95 00 b3 00 d1 c0 56 5e 00 a0 a0 a0 29 50 30 20   ......V^....)P0 
         +0040   35 00 6d 55 21 00 00 1e 56 5e 00 a0 a0 a0 29 50   5.mU!...V^....)P
         +0050   30 20 35 00 6d 55 21 00 00 1e 00 00 00 fd 00 28   0 5.mU!........(
         +0060   3c 1e a0 3c 00 0a 20 20 20 20 20 20 00 00 00 fc   <..<..      ....
         +0070   00 43 42 32 38 32 4b 0a 20 20 20 20 20 20 01 1f   .CB282K.      ..
(i2c_check_bus                 ) Starting. busno=13, buf_info=0x5593ec780f50
(i2c_open_bus                  ) Starting. busno=13, callopts=0x80
(i2c_open_bus                  ) Done.     busno=13, Returning file descriptor: 3
(i2c_get_parsed_edid_by_fd     ) Starting. fd=3, filename=/dev/i2c-13
(i2c_get_raw_edid_by_fd        ) Getting EDID. File descriptor = 3, filename=/dev/i2c-13
(i2c_set_addr                  ) fd=3, addr=0x50, filename=/dev/i2c-13, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x50. filename = /dev/i2c-13, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) EDID_Read_Size=0, max_tries=-334945776
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=0, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-13, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) write() succeeded
(i2c_get_edid_bytes_directly   ) Returning buffer:
              +0          +4          +8          +c            0   4   8   c   
      +0000   02 03 37 f1 4e 01 03 04 12 13 05 14 1f 90 07 02   ..7.N...........
      +0010   5d 5e 5f 23 09 07 07 83 01 00 00 e2 00 d5 6d 03   ]^_#..........m.
      +0020   0c 00 10 00 18 78 20 00 60 01 02 03 e3 05 e3 01   .....x .`.......
      +0030   e6 06 07 01 60 60 45 02 3a 80 18 71 38 2d 40 58   ....``E.:..q8-@X
      +0040   2c 45 00 6d 55 21 00 00 1e 01 1d 00 72 51 d0 1e   ,E.mU!......rQ..
      +0050   20 6e 28 55 00 6d 55 21 00 00 1e 8c 0a d0 8a 20    n(U.mU!....... 
      +0060   e0 2d 10 10 3e 96 00 6d 55 21 00 00 18 00 00 00   .-..>..mU!......
      +0070   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f6   ................
(i2c_get_edid_bytes_directly   ) Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) Invalid EDID
(i2c_get_raw_edid_by_fd        ) EDID appears to start with a CEA 861 extension block
(i2c_get_raw_edid_by_fd        ) Trying EDID read. tryctr=1, max_tries=4, edid_read_size=128, read_bytewise=false, using local io
(i2c_get_edid_bytes_directly   ) Getting EDID. File descriptor = 3, filename=/dev/i2c-13, edid_read_size=128, read_bytewise=false
(i2c_get_edid_bytes_directly   ) write_before_read = true
(i2c_get_edid_bytes_directly   ) write() succeeded
(i2c_get_edid_bytes_directly   ) Returning buffer:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 04 72 5f 07 03 aa 21 01   .........r_...!.
      +0010   0c 1e 01 04 b5 3e 22 78 3b ad 65 ad 50 45 9f 25   .....>"x;.e.PE.%
      +0020   0e 50 54 23 08 00 81 40 81 80 81 c0 81 00 95 00   .PT#...@........
      +0030   b3 00 d1 c0 01 01 e2 ca 00 38 f0 70 3e 80 18 10   .........8.p>...
      +0040   35 00 6d 55 21 00 00 1a 56 5e 00 a0 a0 a0 29 50   5.mU!...V^....)P
      +0050   30 20 35 00 6d 55 21 00 00 1e 00 00 00 fd 00 28   0 5.mU!........(
      +0060   3c a0 a0 3c 01 0a 20 20 20 20 20 20 00 00 00 fc   <..<..      ....
      +0070   00 43 42 32 38 32 4b 0a 20 20 20 20 20 20 01 46   .CB282K.      .F
(i2c_get_edid_bytes_directly   ) Returning: OK(0): success
(i2c_get_raw_edid_by_fd        ) tries=2, Returning OK(0): success
(i2c_get_parsed_edid_by_fd     ) Returning OK(0): success, *edid_ptr_loc = 0x5593ec791270 -> ...20200146
(is_laptop_drm_connector       ) busno=13, drm_name_fragment |-eDP-|, Returning: false
(is_laptop_drm_connector       ) busno=13, drm_name_fragment |-LVDS-|, Returning: false
(i2c_set_addr                  ) fd=3, addr=0x37, filename=/dev/i2c-13, i2c_force_slave_addr_flag=false, callopts=CALLOPT_NONE
(i2c_set_addr                  ) addr = 0x37. filename = /dev/i2c-13, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(i2c_detect_x37                ) write() for slave address x37 returned 1
(i2c_detect_x37                ) read() for slave address x37 returned 4
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-13, callopts=CALLOPT_ERR_MSG
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(i2c_check_bus                 ) Done. flags=0x0cf1, bus info:
      Bus /dev/i2c-13 found:   true
      Bus /dev/i2c-13 probed:  true
      Bus accessible:          true
      Bus is eDP:              false
      Bus is LVDS:             false
      Valid bus name checked:  true
      I2C bus has valid name:  true
      Address 0x37 present:    true
      Address 0x50 present:    true
      EDID synopsis:
         Mfg id:               ACR
         Model:                CB282K
         Product code:         1887
         Serial number:        
         Binary serial number: 18983427 (0x0121aa03)
         Manufacture year:     2020,  Week: 12
         Extra descriptor:        
         Video input definition:    0xb5 - Digital Input (DisplayPort)
         Supported features:
            DPMS active-off
            Digital display type: RGB 4:4:4 + YCrCb 4:2:2
            Standard sRGB color space: True
         White x,y:        0.313, 0.329
         Red   x,y:        0.678, 0.314
         Green x,y:        0.272, 0.622
         Blue  x,y:        0.146, 0.057
         Extension blocks: 1
      EDID source: 
      EDID hex dump:
                 +0          +4          +8          +c            0   4   8   c   
         +0000   00 ff ff ff ff ff ff 00 04 72 5f 07 03 aa 21 01   .........r_...!.
         +0010   0c 1e 01 04 b5 3e 22 78 3b ad 65 ad 50 45 9f 25   .....>"x;.e.PE.%
         +0020   0e 50 54 23 08 00 81 40 81 80 81 c0 81 00 95 00   .PT#...@........
         +0030   b3 00 d1 c0 01 01 e2 ca 00 38 f0 70 3e 80 18 10   .........8.p>...
         +0040   35 00 6d 55 21 00 00 1a 56 5e 00 a0 a0 a0 29 50   5.mU!...V^....)P
         +0050   30 20 35 00 6d 55 21 00 00 1e 00 00 00 fd 00 28   0 5.mU!........(
         +0060   3c a0 a0 3c 01 0a 20 20 20 20 20 20 00 00 00 fc   <..<..      ....
         +0070   00 43 42 32 38 32 4b 0a 20 20 20 20 20 20 01 46   .CB282K.      .F
(i2c_detect_buses              ) Returning: 11
(ddc_detect_all_displays       ) Starting
(i2c_detect_buses              ) Starting.  i2c_buses = 0x5593ec7581a0
(i2c_detect_buses              ) Returning: 11
(non_async_scan                ) Starting. checking 4 displays
(ddc_initial_checks_by_dref    ) Starting. dref=Display_Ref[bus /dev/i2c-10], communication flags: DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR
(ddc_open_display              ) Opening display Display_Ref[bus /dev/i2c-10], callopts=CALLOPT_ERR_MSG
(i2c_open_bus                  ) Starting. busno=10, callopts=0x80
(i2c_open_bus                  ) Done.     busno=10, Returning file descriptor: 3
(i2c_set_addr                  ) fd=3, addr=0x37, filename=/dev/i2c-10, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x37. filename = /dev/i2c-10, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(ddc_open_display              ) Done.  Returning: OK(0): success, *dh_loc=Display_Handle[i2c: fd=3, busno=10]
(ddc_initial_checks_by_dh      ) Starting. dh=Display_Handle[i2c: fd=3, busno=10]
(ddc_initial_checks_by_dh      ) Starting. communication flags: DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR, DREF_OPEN
(ddc_get_vcp_value             ) Starting. Reading feature 0x00, dh=Display_Handle[i2c: fd=3, busno=10], dh->fd=3
(ddc_get_nontable_vcp_value    ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], Reading feature 0x00
(ddc_write_read_with_retry     ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], all_zero_response_ok=false
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=10]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec75d880, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec75d880
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 00 bc
(check_deferred_sleep          ) Sleeping for 49 milliseconds. deferred
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, pbytes=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(invoke_i2c_writer             ) Returning rc=EREMOTEIO(-121): Remote I/O error
(ddc_i2c_write_read_raw        ) Done. psc=EREMOTEIO(-121): Remote I/O error
(ddc_write_read_raw            ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(ddc_write_read                ) Done.     Returning: Error_Info[EREMOTEIO in ddc_write_read]
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=10]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 00 bc
(check_deferred_sleep          ) Sleeping for 0 milliseconds. deferred
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, pbytes=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(invoke_i2c_writer             ) Returning rc=EREMOTEIO(-121): Remote I/O error
(ddc_i2c_write_read_raw        ) Done. psc=EREMOTEIO(-121): Remote I/O error
(ddc_write_read_raw            ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(ddc_write_read                ) Done.     Returning: Error_Info[EREMOTEIO in ddc_write_read]
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=10]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 00 bc
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, pbytes=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(invoke_i2c_writer             ) Returning rc=EREMOTEIO(-121): Remote I/O error
(ddc_i2c_write_read_raw        ) Done. psc=EREMOTEIO(-121): Remote I/O error
(ddc_write_read_raw            ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(ddc_write_read                ) Done.     Returning: Error_Info[EREMOTEIO in ddc_write_read]
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=10]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 00 bc
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, pbytes=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(invoke_i2c_writer             ) Returning rc=EREMOTEIO(-121): Remote I/O error
(ddc_i2c_write_read_raw        ) Done. psc=EREMOTEIO(-121): Remote I/O error
(ddc_write_read_raw            ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(ddc_write_read                ) Done.     Returning: Error_Info[EREMOTEIO in ddc_write_read]
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=10]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 00 bc
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, pbytes=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(invoke_i2c_writer             ) Returning rc=EREMOTEIO(-121): Remote I/O error
(ddc_i2c_write_read_raw        ) Done. psc=EREMOTEIO(-121): Remote I/O error
(ddc_write_read_raw            ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(ddc_write_read                ) Done.     Returning: Error_Info[EREMOTEIO in ddc_write_read]
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=10]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 00 bc
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, pbytes=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(invoke_i2c_writer             ) Returning rc=EREMOTEIO(-121): Remote I/O error
(ddc_i2c_write_read_raw        ) Done. psc=EREMOTEIO(-121): Remote I/O error
(ddc_write_read_raw            ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(ddc_write_read                ) Done.     Returning: Error_Info[EREMOTEIO in ddc_write_read]
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=10]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 00 bc
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, pbytes=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(invoke_i2c_writer             ) Returning rc=EREMOTEIO(-121): Remote I/O error
(ddc_i2c_write_read_raw        ) Done. psc=EREMOTEIO(-121): Remote I/O error
(ddc_write_read_raw            ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(ddc_write_read                ) Done.     Returning: Error_Info[EREMOTEIO in ddc_write_read]
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=10]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 00 bc
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, pbytes=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(invoke_i2c_writer             ) Returning rc=EREMOTEIO(-121): Remote I/O error
(ddc_i2c_write_read_raw        ) Done. psc=EREMOTEIO(-121): Remote I/O error
(ddc_write_read_raw            ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(ddc_write_read                ) Done.     Returning: Error_Info[EREMOTEIO in ddc_write_read]
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=10]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 00 bc
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, pbytes=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(invoke_i2c_writer             ) Returning rc=EREMOTEIO(-121): Remote I/O error
(ddc_i2c_write_read_raw        ) Done. psc=EREMOTEIO(-121): Remote I/O error
(ddc_write_read_raw            ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(ddc_write_read                ) Done.     Returning: Error_Info[EREMOTEIO in ddc_write_read]
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=10]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], readbuf=0x5593ec780b20
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 00 bc
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-10, slave_address=0x37, bytect=5, pbytes=0x5593ec7930b1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(invoke_i2c_writer             ) Returning rc=EREMOTEIO(-121): Remote I/O error
(ddc_i2c_write_read_raw        ) Done. psc=EREMOTEIO(-121): Remote I/O error
(ddc_write_read_raw            ) Done. Returning: EREMOTEIO(-121): Remote I/O error
(ddc_write_read                ) Done.     Returning: Error_Info[EREMOTEIO in ddc_write_read]
(ddc_write_read_with_retry     ) Failed after 10 errors: EREMOTEIO(10)
(ddc_write_read_with_retry     ) After try loop. tryctr=10, retryable=true
(ddc_write_read_with_retry     ) Done.  Total Tries (tryctr): 10. Returning: Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: EREMOTEIO(10)]
(ddc_get_nontable_vcp_value    ) ddc_write_read_with_retry() returned DDCRC_RETRIES(-3007): maximum retries exceeded, reponse_packet_ptr=(nil)
(ddc_get_nontable_vcp_value    ) Done.     Error reading feature x00.  Returning exception: Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: EREMOTEIO(10)]
(ddc_get_vcp_value             ) Done.     Returning: Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: EREMOTEIO(10)]
(ddc_initial_checks_by_dh      ) ddc_get_vcp_value() for feature 0x00 returned: Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: EREMOTEIO(10)], pvalrec=(nil)
(ddc_initial_checks_by_dh      ) Done. dh=Display_Handle[i2c: fd=3, busno=10], Returning: false
(ddc_initial_checks_by_dh      ) Done. communication flags: DREF_DDC_COMMUNICATION_CHECKED, DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR, DREF_OPEN
(ddc_close_display             ) Starting. dh=Display_Handle[i2c: fd=3, busno=10], dref=Display_Ref[bus /dev/i2c-10], fd=3, dpath=bus /dev/i2c-10
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-10, callopts=CALLOPT_NONE
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(ddc_close_display             ) Done. dref=Display_Ref[bus /dev/i2c-10]  Returning: OK(0): success
(ddc_initial_checks_by_dref    ) Done. dref = Display_Ref[bus /dev/i2c-10], returning false
(ddc_initial_checks_by_dref    ) Done. communication flags: DREF_DDC_COMMUNICATION_CHECKED, DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR
(ddc_initial_checks_by_dref    ) Starting. dref=Display_Ref[bus /dev/i2c-11], communication flags: DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR
(ddc_open_display              ) Opening display Display_Ref[bus /dev/i2c-11], callopts=CALLOPT_ERR_MSG
(i2c_open_bus                  ) Starting. busno=11, callopts=0x80
(i2c_open_bus                  ) Done.     busno=11, Returning file descriptor: 3
(i2c_set_addr                  ) fd=3, addr=0x37, filename=/dev/i2c-11, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x37. filename = /dev/i2c-11, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(ddc_open_display              ) Done.  Returning: OK(0): success, *dh_loc=Display_Handle[i2c: fd=3, busno=11]
(ddc_initial_checks_by_dh      ) Starting. dh=Display_Handle[i2c: fd=3, busno=11]
(ddc_initial_checks_by_dh      ) Starting. communication flags: DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR, DREF_OPEN
(ddc_get_vcp_value             ) Starting. Reading feature 0x00, dh=Display_Handle[i2c: fd=3, busno=11], dh->fd=3
(ddc_get_nontable_vcp_value    ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], Reading feature 0x00
(ddc_write_read_with_retry     ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], all_zero_response_ok=false
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=11]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], readbuf=0x5593ec781d70, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], readbuf=0x5593ec781d70
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 00 bc
(check_deferred_sleep          ) Sleeping for 49 milliseconds. deferred
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-11, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec781d01 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-11, slave_address=0x37, bytect=5, pbytes=0x5593ec781d01 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Done. Returning: OK(0): success
(invoke_i2c_writer             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Sleeping for 50 milliseconds. Event_type: SE_WRITE_TO_READ
(invoke_i2c_reader             ) fd=3, filename=/dev/i2c-11, slave_address=0x37, bytect=11, read_bytewise=false, readbuf=0x5593ec781d70
(i2c_fileio_reader             ) Starting. fd=3, fn=/dev/i2c-11, bytect=11, slave_address=0x37, single_byte_reads=false
(i2c_fileio_reader             ) Returning: OK(0): success, readbuf: 6e 88 02 01 00 01 ff ff 00 00 b4
(invoke_i2c_reader             ) Bytes read: 6e 88 02 01 00 01 ff ff 00 00 b4
(invoke_i2c_reader             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Response bytes: 6e 88 02 01 00 01 ff ff 00 00 b4
(ddc_i2c_write_read_raw        ) Done. psc=OK(0): success
(ddc_write_read_raw            ) Done. Returning: OK(0): success
(ddc_write_read_raw            )       readbuf: 6e880201 0001ffff 0000b4
(create_ddc_typed_response_packet) Starting. i2c_response_bytes=6e 88 02 01 00 01 ff ff 00 00 b4 00 00 00 00 00 00 00 00 00
(create_ddc_response_packet    ) Starting. i2c_response_bytes=6e 88 02 01 00 01 ff ff 00 00 b4 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Starting. i2c_response_bytes=6e 88 02 01 00 01 ff ff 00 00 b4 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec781220
(create_ddc_response_packet    ) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec781220
(create_ddc_typed_response_packet) Create_ddc_response_packet() returned OK(0): success, *packet_ptr_addr=0x5593ec781220
(interpret_vcp_feature_response_std) Starting. requested_vcp_code: 0x00, vcp_data_bytes: 02010001 ffff0000
(interpret_vcp_feature_response_std) Unsupported VCP Code: 0x00
(interpret_vcp_feature_response_std) Returning OK(0): success
(create_ddc_typed_response_packet) Returning DDCRC_OK(0): success, *packet_ptr=0x5593ec781220
   DDC_Packet dump.  Addr: 0x5593ec781220, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec793360, parsed: 0x5593ec781480
   Buffer at 0x5593ec793360,  bytes addr=0x5593ec7814a0, len=12, max_size=12
           +0          +4          +8          +c            0   4   8   c   
   +0000   6f 6e 88 02 01 00 01 ff ff 00 00 b4               on..........    
   VCP code:         0x00
   valid_response:   1
   supported_opcode: 0
   max_value:        0
   cur_value:        0
   mh:               0x00
   ml:               0x00
   sh:               0x00
   sl:               0x00
(ddc_write_read                ) create_ddc_typed_response_packet() returned DDCRC_OK(0): success, *response_packet_ptr_loc=0x5593ec781220
(ddc_write_read                ) Done.     Returning: NULL, *response_packet_ptr_loc ->
         DDC_Packet dump.  Addr: 0x5593ec781220, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec793360, parsed: 0x5593ec781480
         Buffer at 0x5593ec793360,  bytes addr=0x5593ec7814a0, len=12, max_size=12
                 +0          +4          +8          +c            0   4   8   c   
         +0000   6f 6e 88 02 01 00 01 ff ff 00 00 b4               on..........    
         VCP code:         0x00
         valid_response:   1
         supported_opcode: 0
         max_value:        0
         cur_value:        0
         mh:               0x00
         ml:               0x00
         sh:               0x00
         sl:               0x00
(ddc_write_read_with_retry     ) Done.  Total Tries (tryctr): 1. Returning: NULL
(ddc_get_nontable_vcp_value    ) Done.     Error reading feature x00.  Returning exception: Error_Info[DDCRC_REPORTED_UNSUPPORTED in ddc_get_nontable_vcp_value]
(ddc_get_vcp_value             ) Done.     Returning: Error_Info[DDCRC_REPORTED_UNSUPPORTED in ddc_get_nontable_vcp_value]
(ddc_initial_checks_by_dh      ) ddc_get_vcp_value() for feature 0x00 returned: Error_Info[DDCRC_REPORTED_UNSUPPORTED in ddc_get_nontable_vcp_value], pvalrec=(nil)
(ddc_get_vcp_value             ) Starting. Reading feature 0xdf, dh=Display_Handle[i2c: fd=3, busno=11], dh->fd=3
(ddc_get_nontable_vcp_value    ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], Reading feature 0xdf
(ddc_write_read_with_retry     ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], all_zero_response_ok=false
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=11]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], readbuf=0x5593ec781750, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], readbuf=0x5593ec781750
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 df 63
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-11, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7817c1 -> 51 82 01 df 63
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-11, slave_address=0x37, bytect=5, pbytes=0x5593ec7817c1 -> 51 82 01 df 63
(i2c_fileio_writer             ) Done. Returning: OK(0): success
(invoke_i2c_writer             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Sleeping for 50 milliseconds. Event_type: SE_WRITE_TO_READ
(invoke_i2c_reader             ) fd=3, filename=/dev/i2c-11, slave_address=0x37, bytect=11, read_bytewise=false, readbuf=0x5593ec781750
(i2c_fileio_reader             ) Starting. fd=3, fn=/dev/i2c-11, bytect=11, slave_address=0x37, single_byte_reads=false
(i2c_fileio_reader             ) Returning: OK(0): success, readbuf: 6e 88 02 00 df 01 00 ff 02 01 96
(invoke_i2c_reader             ) Bytes read: 6e 88 02 00 df 01 00 ff 02 01 96
(invoke_i2c_reader             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Response bytes: 6e 88 02 00 df 01 00 ff 02 01 96
(ddc_i2c_write_read_raw        ) Done. psc=OK(0): success
(ddc_write_read_raw            ) Done. Returning: OK(0): success
(ddc_write_read_raw            )       readbuf: 6e880200 df0100ff 020196
(create_ddc_typed_response_packet) Starting. i2c_response_bytes=6e 88 02 00 df 01 00 ff 02 01 96 00 00 00 00 00 00 00 00 00
(create_ddc_response_packet    ) Starting. i2c_response_bytes=6e 88 02 00 df 01 00 ff 02 01 96 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Starting. i2c_response_bytes=6e 88 02 00 df 01 00 ff 02 01 96 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec781920
(create_ddc_response_packet    ) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec781920
(create_ddc_typed_response_packet) Create_ddc_response_packet() returned OK(0): success, *packet_ptr_addr=0x5593ec781920
(interpret_vcp_feature_response_std) Starting. requested_vcp_code: 0xdf, vcp_data_bytes: 0200df01 00ff0201
(interpret_vcp_feature_response_std) vcp_opcode = 0xdf, vcp_type_code=0x01, max_val=255 (0x00ff), cur_val=513 (0x0201)
(interpret_vcp_feature_response_std) valid_response=true
(interpret_vcp_feature_response_std) Returning OK(0): success
(create_ddc_typed_response_packet) Returning DDCRC_OK(0): success, *packet_ptr=0x5593ec781920
   DDC_Packet dump.  Addr: 0x5593ec781920, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec757d80, parsed: 0x5593ec781270
   Buffer at 0x5593ec757d80,  bytes addr=0x5593ec781290, len=12, max_size=12
           +0          +4          +8          +c            0   4   8   c   
   +0000   6f 6e 88 02 00 df 01 00 ff 02 01 96               on..........    
   VCP code:         0xdf
   valid_response:   1
   supported_opcode: 1
   max_value:        255
   cur_value:        513
   mh:               0x00
   ml:               0xff
   sh:               0x02
   sl:               0x01
(ddc_write_read                ) create_ddc_typed_response_packet() returned DDCRC_OK(0): success, *response_packet_ptr_loc=0x5593ec781920
(ddc_write_read                ) Done.     Returning: NULL, *response_packet_ptr_loc ->
         DDC_Packet dump.  Addr: 0x5593ec781920, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec757d80, parsed: 0x5593ec781270
         Buffer at 0x5593ec757d80,  bytes addr=0x5593ec781290, len=12, max_size=12
                 +0          +4          +8          +c            0   4   8   c   
         +0000   6f 6e 88 02 00 df 01 00 ff 02 01 96               on..........    
         VCP code:         0xdf
         valid_response:   1
         supported_opcode: 1
         max_value:        255
         cur_value:        513
         mh:               0x00
         ml:               0xff
         sh:               0x02
         sl:               0x01
(ddc_write_read_with_retry     ) Done.  Total Tries (tryctr): 1. Returning: NULL
(ddc_get_nontable_vcp_value    ) Done.     Success reading feature xdf. *ppinterpreted_code=0x5593ec781380
(ddc_get_nontable_vcp_value    )           mh=0x00, ml=0xff, sh=0x02, sl=0x01, max value=255, cur value=513
(ddc_get_vcp_value             ) Done.     Returning: NULL, *valrec ->
         Single_Vcp_Value at 0x5593ec781270:
            Opcode:          0xdf
            Value type:      DDCA_NON_TABLE_VCP_VALUE (0x01)
            max_val:     255 - 0x00ff
            cur_val:     513 - 0x0201
            mh:          0x00
            ml:          0xff
            sh:          0x02
            sl:          0x01
(ddc_initial_checks_by_dh      ) Done. dh=Display_Handle[i2c: fd=3, busno=11], Returning: true
(ddc_initial_checks_by_dh      ) Done. communication flags: DREF_DDC_COMMUNICATION_CHECKED, DREF_DDC_COMMUNICATION_WORKING, DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR, DREF_OPEN
(ddc_close_display             ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], dref=Display_Ref[bus /dev/i2c-11], fd=3, dpath=bus /dev/i2c-11
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-11, callopts=CALLOPT_NONE
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(ddc_close_display             ) Done. dref=Display_Ref[bus /dev/i2c-11]  Returning: OK(0): success
(ddc_initial_checks_by_dref    ) Done. dref = Display_Ref[bus /dev/i2c-11], returning true
(ddc_initial_checks_by_dref    ) Done. communication flags: DREF_DDC_COMMUNICATION_CHECKED, DREF_DDC_COMMUNICATION_WORKING, DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR
(ddc_initial_checks_by_dref    ) Starting. dref=Display_Ref[bus /dev/i2c-12], communication flags: DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR
(ddc_open_display              ) Opening display Display_Ref[bus /dev/i2c-12], callopts=CALLOPT_ERR_MSG
(i2c_open_bus                  ) Starting. busno=12, callopts=0x80
(i2c_open_bus                  ) Done.     busno=12, Returning file descriptor: 3
(i2c_set_addr                  ) fd=3, addr=0x37, filename=/dev/i2c-12, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x37. filename = /dev/i2c-12, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(ddc_open_display              ) Done.  Returning: OK(0): success, *dh_loc=Display_Handle[i2c: fd=3, busno=12]
(ddc_initial_checks_by_dh      ) Starting. dh=Display_Handle[i2c: fd=3, busno=12]
(ddc_initial_checks_by_dh      ) Starting. communication flags: DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR, DREF_OPEN
(ddc_get_vcp_value             ) Starting. Reading feature 0x00, dh=Display_Handle[i2c: fd=3, busno=12], dh->fd=3
(ddc_get_nontable_vcp_value    ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], Reading feature 0x00
(ddc_write_read_with_retry     ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], all_zero_response_ok=false
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=12]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], readbuf=0x5593ec781c70, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], readbuf=0x5593ec781c70
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 00 bc
(check_deferred_sleep          ) Sleeping for 49 milliseconds. deferred
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-12, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec781971 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-12, slave_address=0x37, bytect=5, pbytes=0x5593ec781971 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Done. Returning: OK(0): success
(invoke_i2c_writer             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Sleeping for 50 milliseconds. Event_type: SE_WRITE_TO_READ
(invoke_i2c_reader             ) fd=3, filename=/dev/i2c-12, slave_address=0x37, bytect=11, read_bytewise=false, readbuf=0x5593ec781c70
(i2c_fileio_reader             ) Starting. fd=3, fn=/dev/i2c-12, bytect=11, slave_address=0x37, single_byte_reads=false
(i2c_fileio_reader             ) Returning: OK(0): success, readbuf: 6e 88 02 01 00 01 ff ff 00 00 b4
(invoke_i2c_reader             ) Bytes read: 6e 88 02 01 00 01 ff ff 00 00 b4
(invoke_i2c_reader             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Response bytes: 6e 88 02 01 00 01 ff ff 00 00 b4
(ddc_i2c_write_read_raw        ) Done. psc=OK(0): success
(ddc_write_read_raw            ) Done. Returning: OK(0): success
(ddc_write_read_raw            )       readbuf: 6e880201 0001ffff 0000b4
(create_ddc_typed_response_packet) Starting. i2c_response_bytes=6e 88 02 01 00 01 ff ff 00 00 b4 00 00 00 00 00 00 00 00 00
(create_ddc_response_packet    ) Starting. i2c_response_bytes=6e 88 02 01 00 01 ff ff 00 00 b4 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Starting. i2c_response_bytes=6e 88 02 01 00 01 ff ff 00 00 b4 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec781cb0
(create_ddc_response_packet    ) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec781cb0
(create_ddc_typed_response_packet) Create_ddc_response_packet() returned OK(0): success, *packet_ptr_addr=0x5593ec781cb0
(interpret_vcp_feature_response_std) Starting. requested_vcp_code: 0x00, vcp_data_bytes: 02010001 ffff0000
(interpret_vcp_feature_response_std) Unsupported VCP Code: 0x00
(interpret_vcp_feature_response_std) Returning OK(0): success
(create_ddc_typed_response_packet) Returning DDCRC_OK(0): success, *packet_ptr=0x5593ec781cb0
   DDC_Packet dump.  Addr: 0x5593ec781cb0, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec7934a0, parsed: 0x5593ec781b90
   Buffer at 0x5593ec7934a0,  bytes addr=0x5593ec781050, len=12, max_size=12
           +0          +4          +8          +c            0   4   8   c   
   +0000   6f 6e 88 02 01 00 01 ff ff 00 00 b4               on..........    
   VCP code:         0x00
   valid_response:   1
   supported_opcode: 0
   max_value:        0
   cur_value:        0
   mh:               0x00
   ml:               0x00
   sh:               0x00
   sl:               0x00
(ddc_write_read                ) create_ddc_typed_response_packet() returned DDCRC_OK(0): success, *response_packet_ptr_loc=0x5593ec781cb0
(ddc_write_read                ) Done.     Returning: NULL, *response_packet_ptr_loc ->
         DDC_Packet dump.  Addr: 0x5593ec781cb0, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec7934a0, parsed: 0x5593ec781b90
         Buffer at 0x5593ec7934a0,  bytes addr=0x5593ec781050, len=12, max_size=12
                 +0          +4          +8          +c            0   4   8   c   
         +0000   6f 6e 88 02 01 00 01 ff ff 00 00 b4               on..........    
         VCP code:         0x00
         valid_response:   1
         supported_opcode: 0
         max_value:        0
         cur_value:        0
         mh:               0x00
         ml:               0x00
         sh:               0x00
         sl:               0x00
(ddc_write_read_with_retry     ) Done.  Total Tries (tryctr): 1. Returning: NULL
(ddc_get_nontable_vcp_value    ) Done.     Error reading feature x00.  Returning exception: Error_Info[DDCRC_REPORTED_UNSUPPORTED in ddc_get_nontable_vcp_value]
(ddc_get_vcp_value             ) Done.     Returning: Error_Info[DDCRC_REPORTED_UNSUPPORTED in ddc_get_nontable_vcp_value]
(ddc_initial_checks_by_dh      ) ddc_get_vcp_value() for feature 0x00 returned: Error_Info[DDCRC_REPORTED_UNSUPPORTED in ddc_get_nontable_vcp_value], pvalrec=(nil)
(ddc_get_vcp_value             ) Starting. Reading feature 0xdf, dh=Display_Handle[i2c: fd=3, busno=12], dh->fd=3
(ddc_get_nontable_vcp_value    ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], Reading feature 0xdf
(ddc_write_read_with_retry     ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], all_zero_response_ok=false
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=12]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], readbuf=0x5593ec781270, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], readbuf=0x5593ec781270
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 df 63
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-12, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7926f1 -> 51 82 01 df 63
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-12, slave_address=0x37, bytect=5, pbytes=0x5593ec7926f1 -> 51 82 01 df 63
(i2c_fileio_writer             ) Done. Returning: OK(0): success
(invoke_i2c_writer             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Sleeping for 50 milliseconds. Event_type: SE_WRITE_TO_READ
(invoke_i2c_reader             ) fd=3, filename=/dev/i2c-12, slave_address=0x37, bytect=11, read_bytewise=false, readbuf=0x5593ec781270
(i2c_fileio_reader             ) Starting. fd=3, fn=/dev/i2c-12, bytect=11, slave_address=0x37, single_byte_reads=false
(i2c_fileio_reader             ) Returning: OK(0): success, readbuf: 6e 88 02 00 df 01 00 ff 02 01 96
(invoke_i2c_reader             ) Bytes read: 6e 88 02 00 df 01 00 ff 02 01 96
(invoke_i2c_reader             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Response bytes: 6e 88 02 00 df 01 00 ff 02 01 96
(ddc_i2c_write_read_raw        ) Done. psc=OK(0): success
(ddc_write_read_raw            ) Done. Returning: OK(0): success
(ddc_write_read_raw            )       readbuf: 6e880200 df0100ff 020196
(create_ddc_typed_response_packet) Starting. i2c_response_bytes=6e 88 02 00 df 01 00 ff 02 01 96 00 00 00 00 00 00 00 00 00
(create_ddc_response_packet    ) Starting. i2c_response_bytes=6e 88 02 00 df 01 00 ff 02 01 96 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Starting. i2c_response_bytes=6e 88 02 00 df 01 00 ff 02 01 96 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec792710
(create_ddc_response_packet    ) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec792710
(create_ddc_typed_response_packet) Create_ddc_response_packet() returned OK(0): success, *packet_ptr_addr=0x5593ec792710
(interpret_vcp_feature_response_std) Starting. requested_vcp_code: 0xdf, vcp_data_bytes: 0200df01 00ff0201
(interpret_vcp_feature_response_std) vcp_opcode = 0xdf, vcp_type_code=0x01, max_val=255 (0x00ff), cur_val=513 (0x0201)
(interpret_vcp_feature_response_std) valid_response=true
(interpret_vcp_feature_response_std) Returning OK(0): success
(create_ddc_typed_response_packet) Returning DDCRC_OK(0): success, *packet_ptr=0x5593ec792710
   DDC_Packet dump.  Addr: 0x5593ec792710, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec781bf0, parsed: 0x5593ec793810
   Buffer at 0x5593ec781bf0,  bytes addr=0x5593ec780660, len=12, max_size=12
           +0          +4          +8          +c            0   4   8   c   
   +0000   6f 6e 88 02 00 df 01 00 ff 02 01 96               on..........    
   VCP code:         0xdf
   valid_response:   1
   supported_opcode: 1
   max_value:        255
   cur_value:        513
   mh:               0x00
   ml:               0xff
   sh:               0x02
   sl:               0x01
(ddc_write_read                ) create_ddc_typed_response_packet() returned DDCRC_OK(0): success, *response_packet_ptr_loc=0x5593ec792710
(ddc_write_read                ) Done.     Returning: NULL, *response_packet_ptr_loc ->
         DDC_Packet dump.  Addr: 0x5593ec792710, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec781bf0, parsed: 0x5593ec793810
         Buffer at 0x5593ec781bf0,  bytes addr=0x5593ec780660, len=12, max_size=12
                 +0          +4          +8          +c            0   4   8   c   
         +0000   6f 6e 88 02 00 df 01 00 ff 02 01 96               on..........    
         VCP code:         0xdf
         valid_response:   1
         supported_opcode: 1
         max_value:        255
         cur_value:        513
         mh:               0x00
         ml:               0xff
         sh:               0x02
         sl:               0x01
(ddc_write_read_with_retry     ) Done.  Total Tries (tryctr): 1. Returning: NULL
(ddc_get_nontable_vcp_value    ) Done.     Success reading feature xdf. *ppinterpreted_code=0x5593ec781d00
(ddc_get_nontable_vcp_value    )           mh=0x00, ml=0xff, sh=0x02, sl=0x01, max value=255, cur value=513
(ddc_get_vcp_value             ) Done.     Returning: NULL, *valrec ->
         Single_Vcp_Value at 0x5593ec793810:
            Opcode:          0xdf
            Value type:      DDCA_NON_TABLE_VCP_VALUE (0x01)
            max_val:     255 - 0x00ff
            cur_val:     513 - 0x0201
            mh:          0x00
            ml:          0xff
            sh:          0x02
            sl:          0x01
(ddc_initial_checks_by_dh      ) Done. dh=Display_Handle[i2c: fd=3, busno=12], Returning: true
(ddc_initial_checks_by_dh      ) Done. communication flags: DREF_DDC_COMMUNICATION_CHECKED, DREF_DDC_COMMUNICATION_WORKING, DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR, DREF_OPEN
(ddc_close_display             ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], dref=Display_Ref[bus /dev/i2c-12], fd=3, dpath=bus /dev/i2c-12
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-12, callopts=CALLOPT_NONE
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(ddc_close_display             ) Done. dref=Display_Ref[bus /dev/i2c-12]  Returning: OK(0): success
(ddc_initial_checks_by_dref    ) Done. dref = Display_Ref[bus /dev/i2c-12], returning true
(ddc_initial_checks_by_dref    ) Done. communication flags: DREF_DDC_COMMUNICATION_CHECKED, DREF_DDC_COMMUNICATION_WORKING, DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR
(ddc_initial_checks_by_dref    ) Starting. dref=Display_Ref[bus /dev/i2c-13], communication flags: DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR
(ddc_open_display              ) Opening display Display_Ref[bus /dev/i2c-13], callopts=CALLOPT_ERR_MSG
(i2c_open_bus                  ) Starting. busno=13, callopts=0x80
(i2c_open_bus                  ) Done.     busno=13, Returning file descriptor: 3
(i2c_set_addr                  ) fd=3, addr=0x37, filename=/dev/i2c-13, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x37. filename = /dev/i2c-13, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(ddc_open_display              ) Done.  Returning: OK(0): success, *dh_loc=Display_Handle[i2c: fd=3, busno=13]
(ddc_initial_checks_by_dh      ) Starting. dh=Display_Handle[i2c: fd=3, busno=13]
(ddc_initial_checks_by_dh      ) Starting. communication flags: DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR, DREF_OPEN
(ddc_get_vcp_value             ) Starting. Reading feature 0x00, dh=Display_Handle[i2c: fd=3, busno=13], dh->fd=3
(ddc_get_nontable_vcp_value    ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], Reading feature 0x00
(ddc_write_read_with_retry     ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], all_zero_response_ok=false
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=13]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], readbuf=0x5593ec781270, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], readbuf=0x5593ec781270
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 00 bc
(check_deferred_sleep          ) Sleeping for 49 milliseconds. deferred
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-13, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7817c1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-13, slave_address=0x37, bytect=5, pbytes=0x5593ec7817c1 -> 51 82 01 00 bc
(i2c_fileio_writer             ) Done. Returning: OK(0): success
(invoke_i2c_writer             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Sleeping for 50 milliseconds. Event_type: SE_WRITE_TO_READ
(invoke_i2c_reader             ) fd=3, filename=/dev/i2c-13, slave_address=0x37, bytect=11, read_bytewise=false, readbuf=0x5593ec781270
(i2c_fileio_reader             ) Starting. fd=3, fn=/dev/i2c-13, bytect=11, slave_address=0x37, single_byte_reads=false
(i2c_fileio_reader             ) Returning: OK(0): success, readbuf: 6e 88 02 01 00 01 ff ff 00 00 b4
(invoke_i2c_reader             ) Bytes read: 6e 88 02 01 00 01 ff ff 00 00 b4
(invoke_i2c_reader             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Response bytes: 6e 88 02 01 00 01 ff ff 00 00 b4
(ddc_i2c_write_read_raw        ) Done. psc=OK(0): success
(ddc_write_read_raw            ) Done. Returning: OK(0): success
(ddc_write_read_raw            )       readbuf: 6e880201 0001ffff 0000b4
(create_ddc_typed_response_packet) Starting. i2c_response_bytes=6e 88 02 01 00 01 ff ff 00 00 b4 00 00 00 00 00 00 00 00 00
(create_ddc_response_packet    ) Starting. i2c_response_bytes=6e 88 02 01 00 01 ff ff 00 00 b4 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Starting. i2c_response_bytes=6e 88 02 01 00 01 ff ff 00 00 b4 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec781920
(create_ddc_response_packet    ) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec781920
(create_ddc_typed_response_packet) Create_ddc_response_packet() returned OK(0): success, *packet_ptr_addr=0x5593ec781920
(interpret_vcp_feature_response_std) Starting. requested_vcp_code: 0x00, vcp_data_bytes: 02010001 ffff0000
(interpret_vcp_feature_response_std) Unsupported VCP Code: 0x00
(interpret_vcp_feature_response_std) Returning OK(0): success
(create_ddc_typed_response_packet) Returning DDCRC_OK(0): success, *packet_ptr=0x5593ec781920
   DDC_Packet dump.  Addr: 0x5593ec781920, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec7934a0, parsed: 0x5593ec7932f0
   Buffer at 0x5593ec7934a0,  bytes addr=0x5593ec793310, len=12, max_size=12
           +0          +4          +8          +c            0   4   8   c   
   +0000   6f 6e 88 02 01 00 01 ff ff 00 00 b4               on..........    
   VCP code:         0x00
   valid_response:   1
   supported_opcode: 0
   max_value:        0
   cur_value:        0
   mh:               0x00
   ml:               0x00
   sh:               0x00
   sl:               0x00
(ddc_write_read                ) create_ddc_typed_response_packet() returned DDCRC_OK(0): success, *response_packet_ptr_loc=0x5593ec781920
(ddc_write_read                ) Done.     Returning: NULL, *response_packet_ptr_loc ->
         DDC_Packet dump.  Addr: 0x5593ec781920, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec7934a0, parsed: 0x5593ec7932f0
         Buffer at 0x5593ec7934a0,  bytes addr=0x5593ec793310, len=12, max_size=12
                 +0          +4          +8          +c            0   4   8   c   
         +0000   6f 6e 88 02 01 00 01 ff ff 00 00 b4               on..........    
         VCP code:         0x00
         valid_response:   1
         supported_opcode: 0
         max_value:        0
         cur_value:        0
         mh:               0x00
         ml:               0x00
         sh:               0x00
         sl:               0x00
(ddc_write_read_with_retry     ) Done.  Total Tries (tryctr): 1. Returning: NULL
(ddc_get_nontable_vcp_value    ) Done.     Error reading feature x00.  Returning exception: Error_Info[DDCRC_REPORTED_UNSUPPORTED in ddc_get_nontable_vcp_value]
(ddc_get_vcp_value             ) Done.     Returning: Error_Info[DDCRC_REPORTED_UNSUPPORTED in ddc_get_nontable_vcp_value]
(ddc_initial_checks_by_dh      ) ddc_get_vcp_value() for feature 0x00 returned: Error_Info[DDCRC_REPORTED_UNSUPPORTED in ddc_get_nontable_vcp_value], pvalrec=(nil)
(ddc_get_vcp_value             ) Starting. Reading feature 0xdf, dh=Display_Handle[i2c: fd=3, busno=13], dh->fd=3
(ddc_get_nontable_vcp_value    ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], Reading feature 0xdf
(ddc_write_read_with_retry     ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], all_zero_response_ok=false
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=13]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], readbuf=0x5593ec7935d0, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], readbuf=0x5593ec7935d0
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 df 63
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-13, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec781b21 -> 51 82 01 df 63
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-13, slave_address=0x37, bytect=5, pbytes=0x5593ec781b21 -> 51 82 01 df 63
(i2c_fileio_writer             ) Done. Returning: OK(0): success
(invoke_i2c_writer             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Sleeping for 50 milliseconds. Event_type: SE_WRITE_TO_READ
(invoke_i2c_reader             ) fd=3, filename=/dev/i2c-13, slave_address=0x37, bytect=11, read_bytewise=false, readbuf=0x5593ec7935d0
(i2c_fileio_reader             ) Starting. fd=3, fn=/dev/i2c-13, bytect=11, slave_address=0x37, single_byte_reads=false
(i2c_fileio_reader             ) Returning: OK(0): success, readbuf: 6e 88 02 00 df 01 00 ff 02 01 96
(invoke_i2c_reader             ) Bytes read: 6e 88 02 00 df 01 00 ff 02 01 96
(invoke_i2c_reader             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Response bytes: 6e 88 02 00 df 01 00 ff 02 01 96
(ddc_i2c_write_read_raw        ) Done. psc=OK(0): success
(ddc_write_read_raw            ) Done. Returning: OK(0): success
(ddc_write_read_raw            )       readbuf: 6e880200 df0100ff 020196
(create_ddc_typed_response_packet) Starting. i2c_response_bytes=6e 88 02 00 df 01 00 ff 02 01 96 00 00 00 00 00 00 00 00 00
(create_ddc_response_packet    ) Starting. i2c_response_bytes=6e 88 02 00 df 01 00 ff 02 01 96 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Starting. i2c_response_bytes=6e 88 02 00 df 01 00 ff 02 01 96 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec792b60
(create_ddc_response_packet    ) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec792b60
(create_ddc_typed_response_packet) Create_ddc_response_packet() returned OK(0): success, *packet_ptr_addr=0x5593ec792b60
(interpret_vcp_feature_response_std) Starting. requested_vcp_code: 0xdf, vcp_data_bytes: 0200df01 00ff0201
(interpret_vcp_feature_response_std) vcp_opcode = 0xdf, vcp_type_code=0x01, max_val=255 (0x00ff), cur_val=513 (0x0201)
(interpret_vcp_feature_response_std) valid_response=true
(interpret_vcp_feature_response_std) Returning OK(0): success
(create_ddc_typed_response_packet) Returning DDCRC_OK(0): success, *packet_ptr=0x5593ec792b60
   DDC_Packet dump.  Addr: 0x5593ec792b60, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec781740, parsed: 0x5593ec7816e0
   Buffer at 0x5593ec781740,  bytes addr=0x5593ec7810d0, len=12, max_size=12
           +0          +4          +8          +c            0   4   8   c   
   +0000   6f 6e 88 02 00 df 01 00 ff 02 01 96               on..........    
   VCP code:         0xdf
   valid_response:   1
   supported_opcode: 1
   max_value:        255
   cur_value:        513
   mh:               0x00
   ml:               0xff
   sh:               0x02
   sl:               0x01
(ddc_write_read                ) create_ddc_typed_response_packet() returned DDCRC_OK(0): success, *response_packet_ptr_loc=0x5593ec792b60
(ddc_write_read                ) Done.     Returning: NULL, *response_packet_ptr_loc ->
         DDC_Packet dump.  Addr: 0x5593ec792b60, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec781740, parsed: 0x5593ec7816e0
         Buffer at 0x5593ec781740,  bytes addr=0x5593ec7810d0, len=12, max_size=12
                 +0          +4          +8          +c            0   4   8   c   
         +0000   6f 6e 88 02 00 df 01 00 ff 02 01 96               on..........    
         VCP code:         0xdf
         valid_response:   1
         supported_opcode: 1
         max_value:        255
         cur_value:        513
         mh:               0x00
         ml:               0xff
         sh:               0x02
         sl:               0x01
(ddc_write_read_with_retry     ) Done.  Total Tries (tryctr): 1. Returning: NULL
(ddc_get_nontable_vcp_value    ) Done.     Success reading feature xdf. *ppinterpreted_code=0x5593ec7937a0
(ddc_get_nontable_vcp_value    )           mh=0x00, ml=0xff, sh=0x02, sl=0x01, max value=255, cur value=513
(ddc_get_vcp_value             ) Done.     Returning: NULL, *valrec ->
         Single_Vcp_Value at 0x5593ec7816e0:
            Opcode:          0xdf
            Value type:      DDCA_NON_TABLE_VCP_VALUE (0x01)
            max_val:     255 - 0x00ff
            cur_val:     513 - 0x0201
            mh:          0x00
            ml:          0xff
            sh:          0x02
            sl:          0x01
(ddc_initial_checks_by_dh      ) Done. dh=Display_Handle[i2c: fd=3, busno=13], Returning: true
(ddc_initial_checks_by_dh      ) Done. communication flags: DREF_DDC_COMMUNICATION_CHECKED, DREF_DDC_COMMUNICATION_WORKING, DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR, DREF_OPEN
(ddc_close_display             ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], dref=Display_Ref[bus /dev/i2c-13], fd=3, dpath=bus /dev/i2c-13
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-13, callopts=CALLOPT_NONE
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(ddc_close_display             ) Done. dref=Display_Ref[bus /dev/i2c-13]  Returning: OK(0): success
(ddc_initial_checks_by_dref    ) Done. dref = Display_Ref[bus /dev/i2c-13], returning true
(ddc_initial_checks_by_dref    ) Done. communication flags: DREF_DDC_COMMUNICATION_CHECKED, DREF_DDC_COMMUNICATION_WORKING, DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR
(non_async_scan                ) Done
(ddc_detect_all_displays       ) -- check_phantom_displays=true
(filter_phantom_displays       ) Starting.  all_displays->len = 4
(filter_phantom_displays       ) 3 valid displays, 1 invalid displays
(is_phantom_display            ) Starting. invalid_dref=Display_Ref[bus /dev/i2c-10], valid_dref=Display_Ref[bus /dev/i2c-11]
(is_phantom_display            ) Done. Returning: false
(is_phantom_display            ) Starting. invalid_dref=Display_Ref[bus /dev/i2c-10], valid_dref=Display_Ref[bus /dev/i2c-12]
(is_phantom_display            ) EDIDs match
/sys/bus/i2c/devices/i2c-10/device/                                   -> /sys/devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:01.0/0000:23:00.0/drm/card0/card0-DP-3
/sys/devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:01.0/0000:23:00.0/drm/card0/card0-DP-3/status/:  Not Found
/sys/devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:01.0/0000:23:00.0/drm/card0/card0-DP-3/enabled/:  Not Found
Error opening "/sys/devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:01.0/0000:23:00.0/drm/card0/card0-DP-3/edid/", Not a directory
/sys/devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:01.0/0000:23:00.0/drm/card0/card0-DP-3/edid/:  Not Found
(is_phantom_display            ) Done. Returning: false
(is_phantom_display            ) Starting. invalid_dref=Display_Ref[bus /dev/i2c-10], valid_dref=Display_Ref[bus /dev/i2c-13]
(is_phantom_display            ) Done. Returning: false
(filter_phantom_displays       ) Done
(ddc_detect_all_displays       ) Done. Detected 3 valid displays
(ddc_report_display_by_dref    ) Starting. dref=Display_Ref[bus /dev/i2c-10], communication flags: DREF_DDC_COMMUNICATION_CHECKED, DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR
Invalid display
   I2C bus:  /dev/i2c-10
      I2C address 0x50 (EDID) responsive: true 
      Is eDP device:                      false
      Is LVDS device:                     false
      /sys/bus/i2c/devices/i2c-10/name:   AMDGPU DM aux hw bus 2
   EDID synopsis:
      Mfg id:               ACR
      Model:                CB282K
      Product code:         1887
      Serial number:        
      Binary serial number: 18983421 (0x0121a9fd)
      Manufacture year:     2020,  Week: 12
   DDC communication failed
   Is DDC/CI enabled in the monitor's on-screen display?
(ddc_report_display_by_dref    ) Done

(ddc_report_display_by_dref    ) Starting. dref=Display_Ref[bus /dev/i2c-11], communication flags: DREF_DDC_COMMUNICATION_CHECKED, DREF_DDC_COMMUNICATION_WORKING, DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR
Display 1
   I2C bus:  /dev/i2c-11
      I2C address 0x50 (EDID) responsive: true 
      Is eDP device:                      false
      Is LVDS device:                     false
      /sys/bus/i2c/devices/i2c-11/name:   DPMST
   EDID synopsis:
      Mfg id:               ACR
      Model:                CB282K
      Product code:         1887
      Serial number:        
      Binary serial number: 18983413 (0x0121a9f5)
      Manufacture year:     2020,  Week: 12
   VCP version:         2.1
(ddc_open_display              ) Opening display Display_Ref[bus /dev/i2c-11], callopts=CALLOPT_ERR_MSG
(i2c_open_bus                  ) Starting. busno=11, callopts=0x80
(i2c_open_bus                  ) Done.     busno=11, Returning file descriptor: 3
(i2c_set_addr                  ) fd=3, addr=0x37, filename=/dev/i2c-11, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x37. filename = /dev/i2c-11, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(ddc_open_display              ) Done.  Returning: OK(0): success, *dh_loc=Display_Handle[i2c: fd=3, busno=11]
(ddc_get_vcp_value             ) Starting. Reading feature 0xc8, dh=Display_Handle[i2c: fd=3, busno=11], dh->fd=3
(ddc_get_nontable_vcp_value    ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], Reading feature 0xc8
(ddc_write_read_with_retry     ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], all_zero_response_ok=false
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=11]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], readbuf=0x5593ec781600, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], readbuf=0x5593ec781600
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 c8 74
(check_deferred_sleep          ) Sleeping for 49 milliseconds. deferred
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-11, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec781971 -> 51 82 01 c8 74
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-11, slave_address=0x37, bytect=5, pbytes=0x5593ec781971 -> 51 82 01 c8 74
(i2c_fileio_writer             ) Done. Returning: OK(0): success
(invoke_i2c_writer             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Sleeping for 50 milliseconds. Event_type: SE_WRITE_TO_READ
(invoke_i2c_reader             ) fd=3, filename=/dev/i2c-11, slave_address=0x37, bytect=11, read_bytewise=false, readbuf=0x5593ec781600
(i2c_fileio_reader             ) Starting. fd=3, fn=/dev/i2c-11, bytect=11, slave_address=0x37, single_byte_reads=false
(i2c_fileio_reader             ) Returning: OK(0): success, readbuf: 6e 88 02 00 c8 01 ff 16 00 05 91
(invoke_i2c_reader             ) Bytes read: 6e 88 02 00 c8 01 ff 16 00 05 91
(invoke_i2c_reader             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Response bytes: 6e 88 02 00 c8 01 ff 16 00 05 91
(ddc_i2c_write_read_raw        ) Done. psc=OK(0): success
(ddc_write_read_raw            ) Done. Returning: OK(0): success
(ddc_write_read_raw            )       readbuf: 6e880200 c801ff16 000591
(create_ddc_typed_response_packet) Starting. i2c_response_bytes=6e 88 02 00 c8 01 ff 16 00 05 91 00 00 00 00 00 00 00 00 00
(create_ddc_response_packet    ) Starting. i2c_response_bytes=6e 88 02 00 c8 01 ff 16 00 05 91 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Starting. i2c_response_bytes=6e 88 02 00 c8 01 ff 16 00 05 91 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec793580
(create_ddc_response_packet    ) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec793580
(create_ddc_typed_response_packet) Create_ddc_response_packet() returned OK(0): success, *packet_ptr_addr=0x5593ec793580
(interpret_vcp_feature_response_std) Starting. requested_vcp_code: 0xc8, vcp_data_bytes: 0200c801 ff160005
(interpret_vcp_feature_response_std) vcp_opcode = 0xc8, vcp_type_code=0x01, max_val=65302 (0xff16), cur_val=5 (0x0005)
(interpret_vcp_feature_response_std) valid_response=true
(interpret_vcp_feature_response_std) Returning OK(0): success
(create_ddc_typed_response_packet) Returning DDCRC_OK(0): success, *packet_ptr=0x5593ec793580
   DDC_Packet dump.  Addr: 0x5593ec793580, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec7934a0, parsed: 0x5593ec7946b0
   Buffer at 0x5593ec7934a0,  bytes addr=0x5593ec7946d0, len=12, max_size=12
           +0          +4          +8          +c            0   4   8   c   
   +0000   6f 6e 88 02 00 c8 01 ff 16 00 05 91               on..........    
   VCP code:         0xc8
   valid_response:   1
   supported_opcode: 1
   max_value:        65302
   cur_value:        5
   mh:               0xff
   ml:               0x16
   sh:               0x00
   sl:               0x05
(ddc_write_read                ) create_ddc_typed_response_packet() returned DDCRC_OK(0): success, *response_packet_ptr_loc=0x5593ec793580
(ddc_write_read                ) Done.     Returning: NULL, *response_packet_ptr_loc ->
         DDC_Packet dump.  Addr: 0x5593ec793580, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec7934a0, parsed: 0x5593ec7946b0
         Buffer at 0x5593ec7934a0,  bytes addr=0x5593ec7946d0, len=12, max_size=12
                 +0          +4          +8          +c            0   4   8   c   
         +0000   6f 6e 88 02 00 c8 01 ff 16 00 05 91               on..........    
         VCP code:         0xc8
         valid_response:   1
         supported_opcode: 1
         max_value:        65302
         cur_value:        5
         mh:               0xff
         ml:               0x16
         sh:               0x00
         sl:               0x05
(ddc_write_read_with_retry     ) Done.  Total Tries (tryctr): 1. Returning: NULL
(ddc_get_nontable_vcp_value    ) Done.     Success reading feature xc8. *ppinterpreted_code=0x5593ec7947c0
(ddc_get_nontable_vcp_value    )           mh=0xff, ml=0x16, sh=0x00, sl=0x05, max value=65302, cur value=5
(ddc_get_vcp_value             ) Done.     Returning: NULL, *valrec ->
         Single_Vcp_Value at 0x5593ec7946b0:
            Opcode:          0xc8
            Value type:      DDCA_NON_TABLE_VCP_VALUE (0x01)
            max_val:     65302 - 0xff16
            cur_val:     5 - 0x0005
            mh:          0xff
            ml:          0x16
            sh:          0x00
            sl:          0x05
   Controller mfg:      Mstar
(ddc_get_vcp_value             ) Starting. Reading feature 0xc9, dh=Display_Handle[i2c: fd=3, busno=11], dh->fd=3
(ddc_get_nontable_vcp_value    ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], Reading feature 0xc9
(ddc_write_read_with_retry     ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], all_zero_response_ok=false
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=11]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], readbuf=0x5593ec794980, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], readbuf=0x5593ec794980
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 c9 75
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-11, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7946b1 -> 51 82 01 c9 75
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-11, slave_address=0x37, bytect=5, pbytes=0x5593ec7946b1 -> 51 82 01 c9 75
(i2c_fileio_writer             ) Done. Returning: OK(0): success
(invoke_i2c_writer             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Sleeping for 50 milliseconds. Event_type: SE_WRITE_TO_READ
(invoke_i2c_reader             ) fd=3, filename=/dev/i2c-11, slave_address=0x37, bytect=11, read_bytewise=false, readbuf=0x5593ec794980
(i2c_fileio_reader             ) Starting. fd=3, fn=/dev/i2c-11, bytect=11, slave_address=0x37, single_byte_reads=false
(i2c_fileio_reader             ) Returning: OK(0): success, readbuf: 6e 88 02 00 c9 01 ff ff 00 00 7c
(invoke_i2c_reader             ) Bytes read: 6e 88 02 00 c9 01 ff ff 00 00 7c
(invoke_i2c_reader             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Response bytes: 6e 88 02 00 c9 01 ff ff 00 00 7c
(ddc_i2c_write_read_raw        ) Done. psc=OK(0): success
(ddc_write_read_raw            ) Done. Returning: OK(0): success
(ddc_write_read_raw            )       readbuf: 6e880200 c901ffff 00007c
(create_ddc_typed_response_packet) Starting. i2c_response_bytes=6e 88 02 00 c9 01 ff ff 00 00 7c 00 00 00 00 00 00 00 00 00
(create_ddc_response_packet    ) Starting. i2c_response_bytes=6e 88 02 00 c9 01 ff ff 00 00 7c 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Starting. i2c_response_bytes=6e 88 02 00 c9 01 ff ff 00 00 7c 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec794a10
(create_ddc_response_packet    ) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec794a10
(create_ddc_typed_response_packet) Create_ddc_response_packet() returned OK(0): success, *packet_ptr_addr=0x5593ec794a10
(interpret_vcp_feature_response_std) Starting. requested_vcp_code: 0xc9, vcp_data_bytes: 0200c901 ffff0000
(interpret_vcp_feature_response_std) vcp_opcode = 0xc9, vcp_type_code=0x01, max_val=65535 (0xffff), cur_val=0 (0x0000)
(interpret_vcp_feature_response_std) valid_response=true
(interpret_vcp_feature_response_std) Returning OK(0): success
(create_ddc_typed_response_packet) Returning DDCRC_OK(0): success, *packet_ptr=0x5593ec794a10
   DDC_Packet dump.  Addr: 0x5593ec794a10, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec75d850, parsed: 0x5593ec7937a0
   Buffer at 0x5593ec75d850,  bytes addr=0x5593ec780660, len=12, max_size=12
           +0          +4          +8          +c            0   4   8   c   
   +0000   6f 6e 88 02 00 c9 01 ff ff 00 00 7c               on.........|    
   VCP code:         0xc9
   valid_response:   1
   supported_opcode: 1
   max_value:        65535
   cur_value:        0
   mh:               0xff
   ml:               0xff
   sh:               0x00
   sl:               0x00
(ddc_write_read                ) create_ddc_typed_response_packet() returned DDCRC_OK(0): success, *response_packet_ptr_loc=0x5593ec794a10
(ddc_write_read                ) Done.     Returning: NULL, *response_packet_ptr_loc ->
         DDC_Packet dump.  Addr: 0x5593ec794a10, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec75d850, parsed: 0x5593ec7937a0
         Buffer at 0x5593ec75d850,  bytes addr=0x5593ec780660, len=12, max_size=12
                 +0          +4          +8          +c            0   4   8   c   
         +0000   6f 6e 88 02 00 c9 01 ff ff 00 00 7c               on.........|    
         VCP code:         0xc9
         valid_response:   1
         supported_opcode: 1
         max_value:        65535
         cur_value:        0
         mh:               0xff
         ml:               0xff
         sh:               0x00
         sl:               0x00
(ddc_write_read_with_retry     ) Done.  Total Tries (tryctr): 1. Returning: NULL
(ddc_get_nontable_vcp_value    ) Done.     Success reading feature xc9. *ppinterpreted_code=0x5593ec781d00
(ddc_get_nontable_vcp_value    )           mh=0xff, ml=0xff, sh=0x00, sl=0x00, max value=65535, cur value=0
(ddc_get_vcp_value             ) Done.     Returning: NULL, *valrec ->
         Single_Vcp_Value at 0x5593ec7937a0:
            Opcode:          0xc9
            Value type:      DDCA_NON_TABLE_VCP_VALUE (0x01)
            max_val:     65535 - 0xffff
            cur_val:     0 - 0x0000
            mh:          0xff
            ml:          0xff
            sh:          0x00
            sl:          0x00
   Firmware version:    0.0
(ddc_close_display             ) Starting. dh=Display_Handle[i2c: fd=3, busno=11], dref=Display_Ref[bus /dev/i2c-11], fd=3, dpath=bus /dev/i2c-11
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-11, callopts=CALLOPT_NONE
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(ddc_close_display             ) Done. dref=Display_Ref[bus /dev/i2c-11]  Returning: OK(0): success
   Monitor returns DDC Null Response for unsupported features: false
(ddc_report_display_by_dref    ) Done

(ddc_report_display_by_dref    ) Starting. dref=Display_Ref[bus /dev/i2c-12], communication flags: DREF_DDC_COMMUNICATION_CHECKED, DREF_DDC_COMMUNICATION_WORKING, DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR
Display 2
   I2C bus:  /dev/i2c-12
      I2C address 0x50 (EDID) responsive: true 
      Is eDP device:                      false
      Is LVDS device:                     false
      /sys/bus/i2c/devices/i2c-12/name:   DPMST
   EDID synopsis:
      Mfg id:               ACR
      Model:                CB282K
      Product code:         1887
      Serial number:        
      Binary serial number: 18983421 (0x0121a9fd)
      Manufacture year:     2020,  Week: 12
   VCP version:         2.1
(ddc_open_display              ) Opening display Display_Ref[bus /dev/i2c-12], callopts=CALLOPT_ERR_MSG
(i2c_open_bus                  ) Starting. busno=12, callopts=0x80
(i2c_open_bus                  ) Done.     busno=12, Returning file descriptor: 3
(i2c_set_addr                  ) fd=3, addr=0x37, filename=/dev/i2c-12, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x37. filename = /dev/i2c-12, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(ddc_open_display              ) Done.  Returning: OK(0): success, *dh_loc=Display_Handle[i2c: fd=3, busno=12]
(ddc_get_vcp_value             ) Starting. Reading feature 0xc8, dh=Display_Handle[i2c: fd=3, busno=12], dh->fd=3
(ddc_get_nontable_vcp_value    ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], Reading feature 0xc8
(ddc_write_read_with_retry     ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], all_zero_response_ok=false
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=12]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], readbuf=0x5593ec792aa0, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], readbuf=0x5593ec792aa0
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 c8 74
(check_deferred_sleep          ) Sleeping for 49 milliseconds. deferred
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-12, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7918e1 -> 51 82 01 c8 74
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-12, slave_address=0x37, bytect=5, pbytes=0x5593ec7918e1 -> 51 82 01 c8 74
(i2c_fileio_writer             ) Done. Returning: OK(0): success
(invoke_i2c_writer             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Sleeping for 50 milliseconds. Event_type: SE_WRITE_TO_READ
(invoke_i2c_reader             ) fd=3, filename=/dev/i2c-12, slave_address=0x37, bytect=11, read_bytewise=false, readbuf=0x5593ec792aa0
(i2c_fileio_reader             ) Starting. fd=3, fn=/dev/i2c-12, bytect=11, slave_address=0x37, single_byte_reads=false
(i2c_fileio_reader             ) Returning: OK(0): success, readbuf: 6e 88 02 00 c8 01 ff 16 00 05 91
(invoke_i2c_reader             ) Bytes read: 6e 88 02 00 c8 01 ff 16 00 05 91
(invoke_i2c_reader             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Response bytes: 6e 88 02 00 c8 01 ff 16 00 05 91
(ddc_i2c_write_read_raw        ) Done. psc=OK(0): success
(ddc_write_read_raw            ) Done. Returning: OK(0): success
(ddc_write_read_raw            )       readbuf: 6e880200 c801ff16 000591
(create_ddc_typed_response_packet) Starting. i2c_response_bytes=6e 88 02 00 c8 01 ff 16 00 05 91 00 00 00 00 00 00 00 00 00
(create_ddc_response_packet    ) Starting. i2c_response_bytes=6e 88 02 00 c8 01 ff 16 00 05 91 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Starting. i2c_response_bytes=6e 88 02 00 c8 01 ff 16 00 05 91 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec7946d0
(create_ddc_response_packet    ) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec7946d0
(create_ddc_typed_response_packet) Create_ddc_response_packet() returned OK(0): success, *packet_ptr_addr=0x5593ec7946d0
(interpret_vcp_feature_response_std) Starting. requested_vcp_code: 0xc8, vcp_data_bytes: 0200c801 ff160005
(interpret_vcp_feature_response_std) vcp_opcode = 0xc8, vcp_type_code=0x01, max_val=65302 (0xff16), cur_val=5 (0x0005)
(interpret_vcp_feature_response_std) valid_response=true
(interpret_vcp_feature_response_std) Returning OK(0): success
(create_ddc_typed_response_packet) Returning DDCRC_OK(0): success, *packet_ptr=0x5593ec7946d0
   DDC_Packet dump.  Addr: 0x5593ec7946d0, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec794780, parsed: 0x5593ec781d70
   Buffer at 0x5593ec794780,  bytes addr=0x5593ec7810d0, len=12, max_size=12
           +0          +4          +8          +c            0   4   8   c   
   +0000   6f 6e 88 02 00 c8 01 ff 16 00 05 91               on..........    
   VCP code:         0xc8
   valid_response:   1
   supported_opcode: 1
   max_value:        65302
   cur_value:        5
   mh:               0xff
   ml:               0x16
   sh:               0x00
   sl:               0x05
(ddc_write_read                ) create_ddc_typed_response_packet() returned DDCRC_OK(0): success, *response_packet_ptr_loc=0x5593ec7946d0
(ddc_write_read                ) Done.     Returning: NULL, *response_packet_ptr_loc ->
         DDC_Packet dump.  Addr: 0x5593ec7946d0, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec794780, parsed: 0x5593ec781d70
         Buffer at 0x5593ec794780,  bytes addr=0x5593ec7810d0, len=12, max_size=12
                 +0          +4          +8          +c            0   4   8   c   
         +0000   6f 6e 88 02 00 c8 01 ff 16 00 05 91               on..........    
         VCP code:         0xc8
         valid_response:   1
         supported_opcode: 1
         max_value:        65302
         cur_value:        5
         mh:               0xff
         ml:               0x16
         sh:               0x00
         sl:               0x05
(ddc_write_read_with_retry     ) Done.  Total Tries (tryctr): 1. Returning: NULL
(ddc_get_nontable_vcp_value    ) Done.     Success reading feature xc8. *ppinterpreted_code=0x5593ec794870
(ddc_get_nontable_vcp_value    )           mh=0xff, ml=0x16, sh=0x00, sl=0x05, max value=65302, cur value=5
(ddc_get_vcp_value             ) Done.     Returning: NULL, *valrec ->
         Single_Vcp_Value at 0x5593ec781d70:
            Opcode:          0xc8
            Value type:      DDCA_NON_TABLE_VCP_VALUE (0x01)
            max_val:     65302 - 0xff16
            cur_val:     5 - 0x0005
            mh:          0xff
            ml:          0x16
            sh:          0x00
            sl:          0x05
   Controller mfg:      Mstar
(ddc_get_vcp_value             ) Starting. Reading feature 0xc9, dh=Display_Handle[i2c: fd=3, busno=12], dh->fd=3
(ddc_get_nontable_vcp_value    ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], Reading feature 0xc9
(ddc_write_read_with_retry     ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], all_zero_response_ok=false
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=12]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], readbuf=0x5593ec781d70, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], readbuf=0x5593ec781d70
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 c9 75
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-12, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec794bb1 -> 51 82 01 c9 75
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-12, slave_address=0x37, bytect=5, pbytes=0x5593ec794bb1 -> 51 82 01 c9 75
(i2c_fileio_writer             ) Done. Returning: OK(0): success
(invoke_i2c_writer             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Sleeping for 50 milliseconds. Event_type: SE_WRITE_TO_READ
(invoke_i2c_reader             ) fd=3, filename=/dev/i2c-12, slave_address=0x37, bytect=11, read_bytewise=false, readbuf=0x5593ec781d70
(i2c_fileio_reader             ) Starting. fd=3, fn=/dev/i2c-12, bytect=11, slave_address=0x37, single_byte_reads=false
(i2c_fileio_reader             ) Returning: OK(0): success, readbuf: 6e 88 02 00 c9 01 ff ff 00 00 7c
(invoke_i2c_reader             ) Bytes read: 6e 88 02 00 c9 01 ff ff 00 00 7c
(invoke_i2c_reader             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Response bytes: 6e 88 02 00 c9 01 ff ff 00 00 7c
(ddc_i2c_write_read_raw        ) Done. psc=OK(0): success
(ddc_write_read_raw            ) Done. Returning: OK(0): success
(ddc_write_read_raw            )       readbuf: 6e880200 c901ffff 00007c
(create_ddc_typed_response_packet) Starting. i2c_response_bytes=6e 88 02 00 c9 01 ff ff 00 00 7c 00 00 00 00 00 00 00 00 00
(create_ddc_response_packet    ) Starting. i2c_response_bytes=6e 88 02 00 c9 01 ff ff 00 00 7c 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Starting. i2c_response_bytes=6e 88 02 00 c9 01 ff ff 00 00 7c 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec794bd0
(create_ddc_response_packet    ) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec794bd0
(create_ddc_typed_response_packet) Create_ddc_response_packet() returned OK(0): success, *packet_ptr_addr=0x5593ec794bd0
(interpret_vcp_feature_response_std) Starting. requested_vcp_code: 0xc9, vcp_data_bytes: 0200c901 ffff0000
(interpret_vcp_feature_response_std) vcp_opcode = 0xc9, vcp_type_code=0x01, max_val=65535 (0xffff), cur_val=0 (0x0000)
(interpret_vcp_feature_response_std) valid_response=true
(interpret_vcp_feature_response_std) Returning OK(0): success
(create_ddc_typed_response_packet) Returning DDCRC_OK(0): success, *packet_ptr=0x5593ec794bd0
   DDC_Packet dump.  Addr: 0x5593ec794bd0, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec794ac0, parsed: 0x5593ec794b40
   Buffer at 0x5593ec794ac0,  bytes addr=0x5593ec781d90, len=12, max_size=12
           +0          +4          +8          +c            0   4   8   c   
   +0000   6f 6e 88 02 00 c9 01 ff ff 00 00 7c               on.........|    
   VCP code:         0xc9
   valid_response:   1
   supported_opcode: 1
   max_value:        65535
   cur_value:        0
   mh:               0xff
   ml:               0xff
   sh:               0x00
   sl:               0x00
(ddc_write_read                ) create_ddc_typed_response_packet() returned DDCRC_OK(0): success, *response_packet_ptr_loc=0x5593ec794bd0
(ddc_write_read                ) Done.     Returning: NULL, *response_packet_ptr_loc ->
         DDC_Packet dump.  Addr: 0x5593ec794bd0, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec794ac0, parsed: 0x5593ec794b40
         Buffer at 0x5593ec794ac0,  bytes addr=0x5593ec781d90, len=12, max_size=12
                 +0          +4          +8          +c            0   4   8   c   
         +0000   6f 6e 88 02 00 c9 01 ff ff 00 00 7c               on.........|    
         VCP code:         0xc9
         valid_response:   1
         supported_opcode: 1
         max_value:        65535
         cur_value:        0
         mh:               0xff
         ml:               0xff
         sh:               0x00
         sl:               0x00
(ddc_write_read_with_retry     ) Done.  Total Tries (tryctr): 1. Returning: NULL
(ddc_get_nontable_vcp_value    ) Done.     Success reading feature xc9. *ppinterpreted_code=0x5593ec7937a0
(ddc_get_nontable_vcp_value    )           mh=0xff, ml=0xff, sh=0x00, sl=0x00, max value=65535, cur value=0
(ddc_get_vcp_value             ) Done.     Returning: NULL, *valrec ->
         Single_Vcp_Value at 0x5593ec794b40:
            Opcode:          0xc9
            Value type:      DDCA_NON_TABLE_VCP_VALUE (0x01)
            max_val:     65535 - 0xffff
            cur_val:     0 - 0x0000
            mh:          0xff
            ml:          0xff
            sh:          0x00
            sl:          0x00
   Firmware version:    0.0
(ddc_close_display             ) Starting. dh=Display_Handle[i2c: fd=3, busno=12], dref=Display_Ref[bus /dev/i2c-12], fd=3, dpath=bus /dev/i2c-12
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-12, callopts=CALLOPT_NONE
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(ddc_close_display             ) Done. dref=Display_Ref[bus /dev/i2c-12]  Returning: OK(0): success
   Monitor returns DDC Null Response for unsupported features: false
(ddc_report_display_by_dref    ) Done

(ddc_report_display_by_dref    ) Starting. dref=Display_Ref[bus /dev/i2c-13], communication flags: DREF_DDC_COMMUNICATION_CHECKED, DREF_DDC_COMMUNICATION_WORKING, DREF_DDC_IS_MONITOR_CHECKED, DREF_DDC_IS_MONITOR
Display 3
   I2C bus:  /dev/i2c-13
      I2C address 0x50 (EDID) responsive: true 
      Is eDP device:                      false
      Is LVDS device:                     false
      /sys/bus/i2c/devices/i2c-13/name:   DPMST
   EDID synopsis:
      Mfg id:               ACR
      Model:                CB282K
      Product code:         1887
      Serial number:        
      Binary serial number: 18983427 (0x0121aa03)
      Manufacture year:     2020,  Week: 12
   VCP version:         2.1
(ddc_open_display              ) Opening display Display_Ref[bus /dev/i2c-13], callopts=CALLOPT_ERR_MSG
(i2c_open_bus                  ) Starting. busno=13, callopts=0x80
(i2c_open_bus                  ) Done.     busno=13, Returning file descriptor: 3
(i2c_set_addr                  ) fd=3, addr=0x37, filename=/dev/i2c-13, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x37. filename = /dev/i2c-13, Returning OK(0): success
(i2c_set_addr                  ) Done. Returning: OK(0): success
(ddc_open_display              ) Done.  Returning: OK(0): success, *dh_loc=Display_Handle[i2c: fd=3, busno=13]
(ddc_get_vcp_value             ) Starting. Reading feature 0xc8, dh=Display_Handle[i2c: fd=3, busno=13], dh->fd=3
(ddc_get_nontable_vcp_value    ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], Reading feature 0xc8
(ddc_write_read_with_retry     ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], all_zero_response_ok=false
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=13]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], readbuf=0x5593ec792aa0, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], readbuf=0x5593ec792aa0
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 c8 74
(check_deferred_sleep          ) Sleeping for 49 milliseconds. deferred
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-13, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec7918e1 -> 51 82 01 c8 74
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-13, slave_address=0x37, bytect=5, pbytes=0x5593ec7918e1 -> 51 82 01 c8 74
(i2c_fileio_writer             ) Done. Returning: OK(0): success
(invoke_i2c_writer             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Sleeping for 50 milliseconds. Event_type: SE_WRITE_TO_READ
(invoke_i2c_reader             ) fd=3, filename=/dev/i2c-13, slave_address=0x37, bytect=11, read_bytewise=false, readbuf=0x5593ec792aa0
(i2c_fileio_reader             ) Starting. fd=3, fn=/dev/i2c-13, bytect=11, slave_address=0x37, single_byte_reads=false
(i2c_fileio_reader             ) Returning: OK(0): success, readbuf: 6e 88 02 00 c8 01 ff 16 00 05 91
(invoke_i2c_reader             ) Bytes read: 6e 88 02 00 c8 01 ff 16 00 05 91
(invoke_i2c_reader             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Response bytes: 6e 88 02 00 c8 01 ff 16 00 05 91
(ddc_i2c_write_read_raw        ) Done. psc=OK(0): success
(ddc_write_read_raw            ) Done. Returning: OK(0): success
(ddc_write_read_raw            )       readbuf: 6e880200 c801ff16 000591
(create_ddc_typed_response_packet) Starting. i2c_response_bytes=6e 88 02 00 c8 01 ff 16 00 05 91 00 00 00 00 00 00 00 00 00
(create_ddc_response_packet    ) Starting. i2c_response_bytes=6e 88 02 00 c8 01 ff 16 00 05 91 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Starting. i2c_response_bytes=6e 88 02 00 c8 01 ff 16 00 05 91 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec794bd0
(create_ddc_response_packet    ) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec794bd0
(create_ddc_typed_response_packet) Create_ddc_response_packet() returned OK(0): success, *packet_ptr_addr=0x5593ec794bd0
(interpret_vcp_feature_response_std) Starting. requested_vcp_code: 0xc8, vcp_data_bytes: 0200c801 ff160005
(interpret_vcp_feature_response_std) vcp_opcode = 0xc8, vcp_type_code=0x01, max_val=65302 (0xff16), cur_val=5 (0x0005)
(interpret_vcp_feature_response_std) valid_response=true
(interpret_vcp_feature_response_std) Returning OK(0): success
(create_ddc_typed_response_packet) Returning DDCRC_OK(0): success, *packet_ptr=0x5593ec794bd0
   DDC_Packet dump.  Addr: 0x5593ec794bd0, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec794c60, parsed: 0x5593ec781d00
   Buffer at 0x5593ec794c60,  bytes addr=0x5593ec781d20, len=12, max_size=12
           +0          +4          +8          +c            0   4   8   c   
   +0000   6f 6e 88 02 00 c8 01 ff 16 00 05 91               on..........    
   VCP code:         0xc8
   valid_response:   1
   supported_opcode: 1
   max_value:        65302
   cur_value:        5
   mh:               0xff
   ml:               0x16
   sh:               0x00
   sl:               0x05
(ddc_write_read                ) create_ddc_typed_response_packet() returned DDCRC_OK(0): success, *response_packet_ptr_loc=0x5593ec794bd0
(ddc_write_read                ) Done.     Returning: NULL, *response_packet_ptr_loc ->
         DDC_Packet dump.  Addr: 0x5593ec794bd0, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec794c60, parsed: 0x5593ec781d00
         Buffer at 0x5593ec794c60,  bytes addr=0x5593ec781d20, len=12, max_size=12
                 +0          +4          +8          +c            0   4   8   c   
         +0000   6f 6e 88 02 00 c8 01 ff 16 00 05 91               on..........    
         VCP code:         0xc8
         valid_response:   1
         supported_opcode: 1
         max_value:        65302
         cur_value:        5
         mh:               0xff
         ml:               0x16
         sh:               0x00
         sl:               0x05
(ddc_write_read_with_retry     ) Done.  Total Tries (tryctr): 1. Returning: NULL
(ddc_get_nontable_vcp_value    ) Done.     Success reading feature xc8. *ppinterpreted_code=0x5593ec794d50
(ddc_get_nontable_vcp_value    )           mh=0xff, ml=0x16, sh=0x00, sl=0x05, max value=65302, cur value=5
(ddc_get_vcp_value             ) Done.     Returning: NULL, *valrec ->
         Single_Vcp_Value at 0x5593ec781d00:
            Opcode:          0xc8
            Value type:      DDCA_NON_TABLE_VCP_VALUE (0x01)
            max_val:     65302 - 0xff16
            cur_val:     5 - 0x0005
            mh:          0xff
            ml:          0x16
            sh:          0x00
            sl:          0x05
   Controller mfg:      Mstar
(ddc_get_vcp_value             ) Starting. Reading feature 0xc9, dh=Display_Handle[i2c: fd=3, busno=13], dh->fd=3
(ddc_get_nontable_vcp_value    ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], Reading feature 0xc9
(ddc_write_read_with_retry     ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], all_zero_response_ok=false
(ddc_write_read                ) Starting. dh=Display_Handle[i2c: fd=3, busno=13]
(ddc_write_read_raw            ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], readbuf=0x5593ec781d00, max_read_bytes=11
(ddc_i2c_write_read_raw        ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], readbuf=0x5593ec781d00
(ddc_i2c_write_read_raw        ) request_packet_ptr->raw_bytes: 6e 51 82 01 c9 75
(invoke_i2c_writer             ) fd=3, filename=/dev/i2c-13, slave_address=0x37, bytect=5, bytes_to_write=0x5593ec794791 -> 51 82 01 c9 75
(i2c_fileio_writer             ) Starting. fh=3, filename=/dev/i2c-13, slave_address=0x37, bytect=5, pbytes=0x5593ec794791 -> 51 82 01 c9 75
(i2c_fileio_writer             ) Done. Returning: OK(0): success
(invoke_i2c_writer             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Sleeping for 50 milliseconds. Event_type: SE_WRITE_TO_READ
(invoke_i2c_reader             ) fd=3, filename=/dev/i2c-13, slave_address=0x37, bytect=11, read_bytewise=false, readbuf=0x5593ec781d00
(i2c_fileio_reader             ) Starting. fd=3, fn=/dev/i2c-13, bytect=11, slave_address=0x37, single_byte_reads=false
(i2c_fileio_reader             ) Returning: OK(0): success, readbuf: 6e 88 02 00 c9 01 ff ff 00 00 7c
(invoke_i2c_reader             ) Bytes read: 6e 88 02 00 c9 01 ff ff 00 00 7c
(invoke_i2c_reader             ) Returning rc=OK(0): success
(ddc_i2c_write_read_raw        ) Response bytes: 6e 88 02 00 c9 01 ff ff 00 00 7c
(ddc_i2c_write_read_raw        ) Done. psc=OK(0): success
(ddc_write_read_raw            ) Done. Returning: OK(0): success
(ddc_write_read_raw            )       readbuf: 6e880200 c901ffff 00007c
(create_ddc_typed_response_packet) Starting. i2c_response_bytes=6e 88 02 00 c9 01 ff ff 00 00 7c 00 00 00 00 00 00 00 00 00
(create_ddc_response_packet    ) Starting. i2c_response_bytes=6e 88 02 00 c9 01 ff ff 00 00 7c 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Starting. i2c_response_bytes=6e 88 02 00 c9 01 ff ff 00 00 7c 00 00 00 00 00 00 00 00 00
(create_ddc_base_response_packet) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec7947b0
(create_ddc_response_packet    ) Returning DDCRC_OK(0): success, *packet_ptr_addr=0x5593ec7947b0
(create_ddc_typed_response_packet) Create_ddc_response_packet() returned OK(0): success, *packet_ptr_addr=0x5593ec7947b0
(interpret_vcp_feature_response_std) Starting. requested_vcp_code: 0xc9, vcp_data_bytes: 0200c901 ffff0000
(interpret_vcp_feature_response_std) vcp_opcode = 0xc9, vcp_type_code=0x01, max_val=65535 (0xffff), cur_val=0 (0x0000)
(interpret_vcp_feature_response_std) valid_response=true
(interpret_vcp_feature_response_std) Returning OK(0): success
(create_ddc_typed_response_packet) Returning DDCRC_OK(0): success, *packet_ptr=0x5593ec7947b0
   DDC_Packet dump.  Addr: 0x5593ec7947b0, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec7946a0, parsed: 0x5593ec781270
   Buffer at 0x5593ec7946a0,  bytes addr=0x5593ec793360, len=12, max_size=12
           +0          +4          +8          +c            0   4   8   c   
   +0000   6f 6e 88 02 00 c9 01 ff ff 00 00 7c               on.........|    
   VCP code:         0xc9
   valid_response:   1
   supported_opcode: 1
   max_value:        65535
   cur_value:        0
   mh:               0xff
   ml:               0xff
   sh:               0x00
   sl:               0x00
(ddc_write_read                ) create_ddc_typed_response_packet() returned DDCRC_OK(0): success, *response_packet_ptr_loc=0x5593ec7947b0
(ddc_write_read                ) Done.     Returning: NULL, *response_packet_ptr_loc ->
         DDC_Packet dump.  Addr: 0x5593ec7947b0, Type: 0x02, Tag: |ddc_write_read|, buf: 0x5593ec7946a0, parsed: 0x5593ec781270
         Buffer at 0x5593ec7946a0,  bytes addr=0x5593ec793360, len=12, max_size=12
                 +0          +4          +8          +c            0   4   8   c   
         +0000   6f 6e 88 02 00 c9 01 ff ff 00 00 7c               on.........|    
         VCP code:         0xc9
         valid_response:   1
         supported_opcode: 1
         max_value:        65535
         cur_value:        0
         mh:               0xff
         ml:               0xff
         sh:               0x00
         sl:               0x00
(ddc_write_read_with_retry     ) Done.  Total Tries (tryctr): 1. Returning: NULL
(ddc_get_nontable_vcp_value    ) Done.     Success reading feature xc9. *ppinterpreted_code=0x5593ec794720
(ddc_get_nontable_vcp_value    )           mh=0xff, ml=0xff, sh=0x00, sl=0x00, max value=65535, cur value=0
(ddc_get_vcp_value             ) Done.     Returning: NULL, *valrec ->
         Single_Vcp_Value at 0x5593ec781270:
            Opcode:          0xc9
            Value type:      DDCA_NON_TABLE_VCP_VALUE (0x01)
            max_val:     65535 - 0xffff
            cur_val:     0 - 0x0000
            mh:          0xff
            ml:          0xff
            sh:          0x00
            sl:          0x00
   Firmware version:    0.0
(ddc_close_display             ) Starting. dh=Display_Handle[i2c: fd=3, busno=13], dref=Display_Ref[bus /dev/i2c-13], fd=3, dpath=bus /dev/i2c-13
(i2c_close_bus                 ) Starting. fd=3 - /dev/i2c-13, callopts=CALLOPT_NONE
(i2c_close_bus                 ) Done.     fd=3, filename=(null), Returning: OK(0): success
(ddc_close_display             ) Done. dref=Display_Ref[bus /dev/i2c-13]  Returning: OK(0): success
   Monitor returns DDC Null Response for unsupported features: false
(ddc_report_display_by_dref    ) Done

(main                          ) Display detection complete
(main                          ) Done.  main_rc=0
(main                          ) ddcutil execution complete, Fri Oct 29 15:28:25 2021
\```

</p>
</details>  

brilthor avatar Oct 29 '21 19:10 brilthor

I am not seeing any obvious differences between ddcutil and monitorcontrol unfortunately. If you're comfortable with python I would recommend diving in and tinkering around - this is one of those situations that requires lots of trial and error to determine what is going wrong.

newAM avatar Nov 01 '21 03:11 newAM

At this point I've scripted something else to attain the goal I was aiming for. I probably won't get digging around to try and solve this personally, however am happy to help with testing or debugging if anyone happens across this and wants to attempt a fix

brilthor avatar Nov 10 '21 19:11 brilthor

possibly caused by sending two commands too frequently? I encountered a similar problem when sending two commands to a monitor successively, and fixed it by adding time.sleep(0.1)

kernelbin avatar Apr 07 '22 09:04 kernelbin