ddcctl icon indicating copy to clipboard operation
ddcctl copied to clipboard

Stops working after switching from VGA to DVI

Open anohren opened this issue 7 years ago • 8 comments

I'm running macOS Mojave 10.14.1 on a MBA (mid 2012, intel hd 4000). I have been using ddcctl without problems for a long time -- thanks! -- through a mini displayport to VGA adapter, and a plain VGA cable to a Dell 2209WA monitor.

Today I changed this setup to a mini displayport to HDMI adapter, and a HDMI to DVI-D cable to the same monitor, and for some reason the monitor stopped reacting to ddcctl. I'm unsure of how to isolate the problem.

The debug output (4818757471369543e2734ea0080fbacd37a3794b) of running the only command I ever use (brightness):

$ ./ddcctl -d 1 -b 100
2019-01-08 04:16:39.999 ddcctl[15913:6144277] D: NSScreen #725364749 (1680x1050 0°) 90.00 DPI
2019-01-08 04:16:39.999 ddcctl[15913:6144277] I: found 1 external display
2019-01-08 04:16:39.999 ddcctl[15913:6144277] I: polling display 1's EDID

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61457 SN:844117068 UN:1 IN:14339 Serial:

2019-01-08 04:16:40.034 ddcctl[15913:6144277] I: got edid.serial: H735H99M2P4L
2019-01-08 04:16:40.034 ddcctl[15913:6144277] I: got edid.name: DELL 2209WA
2019-01-08 04:16:40.034 ddcctl[15913:6144277] D: action: b: 100
2019-01-08 04:16:40.034 ddcctl[15913:6144277] D: setting VCP control #16 => 100

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61457 SN:844117068 UN:1 IN:14891 Serial:

The result of this is that the monitor sits unchanged at zero brightness.

All suggestions welcome. I can compare the outputs for VGA/DVI if it helps.

Update

$ ./ddcctl -d 1 -b ?

VGA output (using 3d38860 to prevent freezing the OS):

$ ./ddcctl -d 1 -b ?
2019-01-08 15:00:38.503 ddcctl[1356:9468] D: NSScreen #725364813 (1680x1050 0°) 90.00 DPI
2019-01-08 15:00:38.503 ddcctl[1356:9468] I: found 1 external display
2019-01-08 15:00:38.503 ddcctl[1356:9468] I: polling display 1's EDID

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61456 SN:844117068 UN:1 IN:18179 Serial:

2019-01-08 15:00:38.894 ddcctl[1356:9468] I: got edid.serial: H735H99M2P4L
2019-01-08 15:00:38.894 ddcctl[1356:9468] I: got edid.name: DELL 2209WA
2019-01-08 15:00:38.895 ddcctl[1356:9468] D: action: b: ?
2019-01-08 15:00:38.895 ddcctl[1356:9468] D: querying VCP control: #16 =?

D: IOI2CTransactionTypes: 0x1f (31)
D: IOI2CNoTransactionType                   supported 
D: IOI2CSimpleTransactionType               supported 
D: IOI2CDDCciReplyTransactionType           supported 
D: IOI2CCombinedTransactionType             supported 
D: IOI2CDisplayPortNativeTransactionType    supported 

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61456 SN:844117068 UN:1 IN:14095 Serial:

2019-01-08 15:00:39.020 ddcctl[1356:9468] I: VCP control #16 (0x10) = current: 0, max: 100

DVI/HDMI output:

$ ./ddcctl -d 1 -b ?
2019-01-08 04:56:13.875 ddcctl[978:8458] D: NSScreen #725364749 (1680x1050 0°) 90.00 DPI
2019-01-08 04:56:13.875 ddcctl[978:8458] I: found 1 external display
2019-01-08 04:56:13.875 ddcctl[978:8458] I: polling display 1's EDID

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61457 SN:844117068 UN:1 IN:13827 Serial:

2019-01-08 04:56:13.912 ddcctl[978:8458] I: got edid.serial: H735H99M2P4L
2019-01-08 04:56:13.912 ddcctl[978:8458] I: got edid.name: DELL 2209WA
2019-01-08 04:56:13.912 ddcctl[978:8458] D: action: b: ?
2019-01-08 04:56:13.912 ddcctl[978:8458] D: querying VCP control: #16 =?

D: IOI2CTransactionTypes: 0x1f (31)
D: IOI2CNoTransactionType                   supported 
D: IOI2CSimpleTransactionType               supported 
D: IOI2CDDCciReplyTransactionType           supported 
D: IOI2CCombinedTransactionType             supported 
D: IOI2CDisplayPortNativeTransactionType    supported 

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61457 SN:844117068 UN:1 IN:17679 Serial:


D: IOI2CTransactionTypes: 0x1f (31)
D: IOI2CNoTransactionType                   supported 
D: IOI2CSimpleTransactionType               supported 
D: IOI2CDDCciReplyTransactionType           supported 
D: IOI2CCombinedTransactionType             supported 
D: IOI2CDisplayPortNativeTransactionType    supported 

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61457 SN:844117068 UN:1 IN:17447 Serial:


D: IOI2CTransactionTypes: 0x1f (31)
D: IOI2CNoTransactionType                   supported 
D: IOI2CSimpleTransactionType               supported 
D: IOI2CDDCciReplyTransactionType           supported 
D: IOI2CCombinedTransactionType             supported 
D: IOI2CDisplayPortNativeTransactionType    supported 

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61457 SN:844117068 UN:1 IN:17191 Serial:


D: IOI2CTransactionTypes: 0x1f (31)
D: IOI2CNoTransactionType                   supported 
D: IOI2CSimpleTransactionType               supported 
D: IOI2CDDCciReplyTransactionType           supported 
D: IOI2CCombinedTransactionType             supported 
D: IOI2CDisplayPortNativeTransactionType    supported 

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61457 SN:844117068 UN:1 IN:16935 Serial:


D: IOI2CTransactionTypes: 0x1f (31)
D: IOI2CNoTransactionType                   supported 
D: IOI2CSimpleTransactionType               supported 
D: IOI2CDDCciReplyTransactionType           supported 
D: IOI2CCombinedTransactionType             supported 
D: IOI2CDisplayPortNativeTransactionType    supported 

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61457 SN:844117068 UN:1 IN:16679 Serial:


D: IOI2CTransactionTypes: 0x1f (31)
D: IOI2CNoTransactionType                   supported 
D: IOI2CSimpleTransactionType               supported 
D: IOI2CDDCciReplyTransactionType           supported 
D: IOI2CCombinedTransactionType             supported 
D: IOI2CDisplayPortNativeTransactionType    supported 

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61457 SN:844117068 UN:1 IN:14631 Serial:


D: IOI2CTransactionTypes: 0x1f (31)
D: IOI2CNoTransactionType                   supported 
D: IOI2CSimpleTransactionType               supported 
D: IOI2CDDCciReplyTransactionType           supported 
D: IOI2CCombinedTransactionType             supported 
D: IOI2CDisplayPortNativeTransactionType    supported 

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61457 SN:844117068 UN:1 IN:16423 Serial:


D: IOI2CTransactionTypes: 0x1f (31)
D: IOI2CNoTransactionType                   supported 
D: IOI2CSimpleTransactionType               supported 
D: IOI2CDDCciReplyTransactionType           supported 
D: IOI2CCombinedTransactionType             supported 
D: IOI2CDisplayPortNativeTransactionType    supported 

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61457 SN:844117068 UN:1 IN:16167 Serial:


D: IOI2CTransactionTypes: 0x1f (31)
D: IOI2CNoTransactionType                   supported 
D: IOI2CSimpleTransactionType               supported 
D: IOI2CDDCciReplyTransactionType           supported 
D: IOI2CCombinedTransactionType             supported 
D: IOI2CDisplayPortNativeTransactionType    supported 

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61457 SN:844117068 UN:1 IN:14887 Serial:


D: IOI2CTransactionTypes: 0x1f (31)
D: IOI2CNoTransactionType                   supported 
D: IOI2CSimpleTransactionType               supported 
D: IOI2CDDCciReplyTransactionType           supported 
D: IOI2CCombinedTransactionType             supported 
D: IOI2CDisplayPortNativeTransactionType    supported 

Framebuffer: AppleIntelFramebuffer
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay
VN:4268 PN:61457 SN:844117068 UN:1 IN:15143 Serial:

E: No data after 10 tries! 
2019-01-08 04:56:14.373 ddcctl[978:8458] E: DDC send command failed!
2019-01-08 04:56:14.373 ddcctl[978:8458] E: VCP control #16 (0x10) = current: 0, max: 0

anohren avatar Jan 08 '19 03:01 anohren

I think that locking up is related to #42 (see the discussion at the bottom), try running 3d38860 and run ./ddcctl -d 1 -b ? again and see if it locks up then perhaps, I'm not sure about the rest of your issue.

JoniVR avatar Jan 08 '19 10:01 JoniVR

I think that locking up is related to #42 (see the discussion at the bottom), try running 3d38860 and run ./ddcctl -d 1 -b ? again and see if it locks up then perhaps, I'm not sure about the rest of your issue.

Thanks for the suggestion, it worked as you said. I had skimmed through that thread but apparently didn't notice the dates on the later posts and thought I'd be in the clear by using the latest commit 🙂

anohren avatar Jan 08 '19 14:01 anohren

Is this project maintained by anyone by the way?

anohren avatar Jan 25 '19 17:01 anohren

Is this project maintained by anyone by the way?

not really. Now accepting applications?

Please consider that there is no team working on `ddcctl`, it is a fun-time project  
	that has long-since been considered "finished".  

kfix avatar Sep 10 '19 16:09 kfix

@anohren I happen to have inherited an old MBA like yours, I'll see if I can replicate the issue.

kfix avatar Sep 10 '19 17:09 kfix

Thanks for taking a look! I took a peek but realized I knew too little about DDC and I2C to know where to start. Felt like I needed an oscilloscope or something.

If it helps with motivation I can confirm that the HDMI adapter and cable work with corresponding software on Windows ("ScreenBright") on the same machine, i.e. the monitor receives the commands and changes brightness there.

anohren avatar Sep 10 '19 19:09 anohren

Just checking in to see if I can help you with reproduction or debugging in some way

anohren avatar Nov 30 '19 16:11 anohren

@kfix Did you have any luck reproducing the issue?

anohren avatar Sep 30 '20 22:09 anohren