You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi 👋 , Happy Holidays and thanks for the incredible work on ddc-macos-rs!
I'm encountering reliability issues with DDC/CI communication when using DisplayPort over USB-C connection. Initially using ddc-hi (which uses this package), I ran into several issues that I've partially resolved but still need help addressing.
Environment
OS: macOS
Display Connection: DisplayPort over USB-C
Package: Using ddc-hi which depends on macOS-ddc-rs
Initial Problems
Getting DDC/CI error: invalid DDC/CI length error
get_vcp_feature fails with the same error
set_vcp_feature appears to succeed but has no effect on the monitor
Investigation
I compared the implementation with m1ddc which works well with my setup. The main difference I noticed was in m1ddc the write command section waits and invokes IOAVServiceWriteI2C multiple times for DDC_ITERATIONS: Reference in m1ddc
Current Implementation
I've tried to match m1ddc's approach and tweaked the rust code for execute to:
unsafe{for _ in0..DDC_ITERATIONS{
std::thread::sleep(response_delay);verify_io(IOAVServiceWriteI2C(*service,
i2c_address as_,// I2C_ADDRESS_DDC_CI as u32,SUB_ADDRESS_DDC_CIas_,// Skip the first byte, which is the I2C address, which this API does not need
request_data[1..].as_ptr()as_,(request_data.len() - 1)as_,// command_length as u32 + 3,))?;}};
Current Status
The above changes resolved the initial errors
Commands now execute without errors
I am not sure if why this works!
Questions
Are there known issues with monitor detection over USB-C DisplayPort?
Is there some obvious configuration that I am missing?
Additional Context
I'd be happy to help investigate further or implement suggested changes. Please let me know what additional information would be helpful.
The text was updated successfully, but these errors were encountered:
Hi 👋 , Happy Holidays and thanks for the incredible work on
ddc-macos-rs
!I'm encountering reliability issues with DDC/CI communication when using DisplayPort over USB-C connection. Initially using
ddc-hi
(which uses this package), I ran into several issues that I've partially resolved but still need help addressing.Environment
ddc-hi
which depends onmacOS-ddc-rs
Initial Problems
DDC/CI error: invalid DDC/CI length
errorget_vcp_feature
fails with the same errorset_vcp_feature
appears to succeed but has no effect on the monitorInvestigation
I compared the implementation with
m1ddc
which works well with my setup. The main difference I noticed was in m1ddc the write command section waits and invokesIOAVServiceWriteI2C
multiple times forDDC_ITERATIONS
:Reference in m1ddc
Current Implementation
I've tried to match m1ddc's approach and tweaked the rust code for
execute
to:Current Status
Questions
Additional Context
I'd be happy to help investigate further or implement suggested changes. Please let me know what additional information would be helpful.
The text was updated successfully, but these errors were encountered: