Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot get capabilities: Maximum DDC retries exceeded. #433

Open
SamuelBorn opened this issue Jun 25, 2024 · 9 comments
Open

Cannot get capabilities: Maximum DDC retries exceeded. #433

SamuelBorn opened this issue Jun 25, 2024 · 9 comments
Labels
monitor specific problems with particular monitors nvidia proprietary proprietary Nvidia driver

Comments

@SamuelBorn
Copy link

System Information:

  • ddcutil Version: 2.1.2
  • Processor: Intel® Core™ i5-4690K × 4
  • Graphics: NVIDIA GeForce GTX 970
  • Firmware Version: 2405
  • OS Name: Fedora Linux 40 (Workstation Edition)
  • GNOME Version: 46
  • Windowing System: Wayland
  • Kernel Version: Linux 6.9.5-200.fc40.x86_64

Problem Description

One of my monitors is recognized by ddcutil detect but everything else fails.

Is this a problem with my hardware not being supported or a software error?


Output of ddcutil detect:

Display 1
   I2C bus:  /dev/i2c-3
   DRM connector:           card0-HDMI-A-1
   EDID synopsis:
      Mfg id:               VSC - ViewSonic Corporation
      Model:                VG2433Smh
      Product code:         4911  (0x132f)
      Serial number:        TXC143300082
      Binary serial number: 16843009 (0x01010101)
      Manufacture year:     2014,  Week: 33
   VCP version:         2.2

Display 2
   I2C bus:  /dev/i2c-4
   DRM connector:           card0-DP-1
   EDID synopsis:
      Mfg id:               VSC - ViewSonic Corporation
      Model:                VX2457
      Product code:         47409  (0xb931)
      Serial number:        
      Binary serial number: 16843009 (0x01010101)
      Manufacture year:     2016,  Week: 22
   VCP version:         2.1

Example output of ddcutil -d 2 capabilities (took 24s)

Unable to get capabilities for monitor on Display_Handle[i2c-4: fd=3].  Maximum DDC retries exceeded.
@rockowitz
Copy link
Owner

Please submit the output of ddcutil interrogate as an attachment.

@SamuelBorn
Copy link
Author

> ddcutil interrogate
interrogate.txt

@rockowitz
Copy link
Owner

When you say everything else fails, are you including getvcp etc? The detect command internally performs getvcp operations to test DDC communication and read the VCP version. The interrogate output also shows successful operations.

capabilities is the most complicated operation. It performs several getvcp operations, each based on what is returned in the prior operation. So if you have a marginal video card/monitor, it's the most likely to fail.

Option --ddcdata (previously named --ddc) reports DDC data errors. I suspect you'll see lot of them for commands that fail.

It appears that you are using a high sleep multiplier for the monitor (2.0) so there's nothing more to be done there.

Your video card is rather old. It likely needs the special Nvidia settings .

@rockowitz rockowitz added monitor specific problems with particular monitors nvidia proprietary proprietary Nvidia driver and removed awaiting user information labels Jun 29, 2024
@SamuelBorn
Copy link
Author

When you say everything else fails, are you including getvcp etc? The detect command internally performs getvcp operations to test DDC communication and read the VCP version. The interrogate output also shows successful operations.

Sorry, you are right. getvcp works. I only tested setvcp.

~ ❯ ddcutil -d 2  getvcp 10         
VCP code 0x10 (Brightness                    ): current value =    70, max value =   100

Option --ddcdata (previously named --ddc) reports DDC data errors. I suspect you'll see lot of them for commands that fail.

Yes, I do:

~ ❯ ddcutil -d 2 setvcp 10 50 --ddcdata
DDC: Unexpected source address 0x82, should be 0x6e
DDC: i2c_response_bytes: 82 01 10 ac df 00 ff ff 02 02 6b 32 29 29 29 73 65 74 5f 65 65 70 28 6e 88 02 00 10 00 00 64 00 64 a4 32 29 29 29 73 65
DDC: Unexpected source address 0x82, should be 0x6e
DDC: i2c_response_bytes: 82 01 dd 61 10 00 00 64 00 64 a4 32 6e 88 02 01 dd 00 00 64 00 64 68 32 29 29 29 73 65 74 5f 65 65 70 28 34 30 29 6d 63
DDC: Unexpected source address 0x82, should be 0x6e
DDC: i2c_response_bytes: 82 01 df 63 dd 00 00 64 00 64 68 32 29 29 29 73 65 74 5f 65 65 70 28 34 30 88 02 00 df 00 ff ff 02 02 6b 32 29 29 29 73
DDC: Unexpected source address 0xff, should be 0x6e
DDC: i2c_response_bytes: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
DDC: Unexpected source address 0xff, should be 0x6e
DDC: i2c_response_bytes: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
DDC: Unexpected source address 0xff, should be 0x6e
DDC: i2c_response_bytes: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
DDC: Unexpected source address 0xff, should be 0x6e
DDC: i2c_response_bytes: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
DDC: Unexpected source address 0xff, should be 0x6e
DDC: i2c_response_bytes: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
DDC: Unexpected source address 0xff, should be 0x6e
DDC: i2c_response_bytes: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Verification failed for feature 10

It appears that you are using a high sleep multiplier for the monitor (2.0) so there's nothing more to be done there.

I did not (consciously) set it this high. Is it because of my old monitor?

@rockowitz
Copy link
Owner

I may have misinterpreted your cached sleep multiplier data. Try explicitly setting a high sleep multiplier using option sleep-multiplier 2.0

@SamuelBorn
Copy link
Author

This did not seem to help.

$ ddcutil --sleep-multiplier 2.0 -d 2 setvcp 10 50 --ddcdata

DDC: Unexpected source address 0xff, should be 0x6e
DDC: i2c_response_bytes: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
DDC: Unexpected source address 0xff, should be 0x6e
DDC: i2c_response_bytes: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

@rockowitz
Copy link
Owner

I'm afraid there's nothing more I can suggest.

@SamuelBorn
Copy link
Author

Okay, thank you for your time and attention anyway.

@Lassebq
Copy link

Lassebq commented Dec 5, 2024

Experiencing same issue with Philips 27M2N3500NL. It's brand new.
My other older philips monitor is able to return capabilities though.

Display 1
   I2C bus:  /dev/i2c-2
   DRM connector:           card0-HDMI-A-1
   EDID synopsis:
      Mfg id:               PHL - Philips Consumer Electronics Company
      Model:                PHL 246E7
      Product code:         49415  (0xc107)
      Serial number:        
      Binary serial number: 1816 (0x00000718)
      Manufacture year:     2017,  Week: 20
   VCP version:         2.2

Display 2
   I2C bus:  /dev/i2c-5
   DRM connector:           card0-DP-1
   EDID synopsis:
      Mfg id:               PHL - Philips Consumer Electronics Company
      Model:                27M2N3500N
      Product code:         49985  (0xc341)
      Serial number:        
      Binary serial number: 88067 (0x00015803)
      Manufacture year:     2024,  Week: 12
   VCP version:         2.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
monitor specific problems with particular monitors nvidia proprietary proprietary Nvidia driver
Projects
None yet
Development

No branches or pull requests

3 participants