Bug 22774

Summary: dlo_mode_set_default causes problems with Gefen USB->DVI connector
Product: libdlo Reporter: Ivan Tarasov <Ivan.Tarasov+freedesktop>
Component: LibraryAssignee: Bernie Thompson <bernie>
Status: NEW --- QA Contact: Bernie Thompson <bernie>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Ivan Tarasov 2009-07-14 18:51:20 UTC
I'm trying to run the simple test (test/test1) with Gefen USB->DVI connector (ID 17e9:01e9), however it does something similar to resetting the USB connection after the video mode is set.

Output from test1 (with -DDEBUG):

---------------------------------------------------------------------------
test: argv[0]: /home/ivan/projects/displaylink/libdlo/test/.libs/lt-test1
test: init...
dlo: grfx_init
dlo: mode_init
dlo: usb_init
usb: dlo_usb_enumerate
dlo: new_device: initialised &877A0C8
usb: dlo_usb_enumerate
usb: open: uhand &877A438
edid: Pixel Clock:     154000 KHz
edid: H Active pixels: 1920
edid: H Blank pixels:  160
edid: V Active pixels: 1200
edid: V Blank pixels:  35
edid: H Sync Offset:   48
edid: H Sync Width:    32
edid: V Sync Offset:   3
edid: V Sync Width:    6
edid: H size:          518 mm
edid: V size:          324 mm
edid: H Border         0
edid: V Border         0
edid: interlaced 0 stereo 0 separateSync 1
edid: bVSyncPositive 0 bHSyncPositive 1 bStereoMode 0
mode: dlo_mode_set_default (setting monitor preferred mode)
dl_vreg: xDisplayStart:   112
dl_vreg: xDisplayEnd:     2032
dl_vreg: yDisplayStart:   32
dl_vreg: yDisplayEnd:     1232
dl_vreg: xEndCount:       2079
dl_vreg: hSyncStart:      1
dl_vreg: hSyncEnd:        33
dl_vreg: hPixels:         1920
dl_vreg: yEndCount:       1235
dl_vreg: vSyncStart:      6
dl_vreg: vSyncEnd:        0
dl_vreg: vPixels:         1200
dl_vreg: Pixel Clock:     154000 KHz
mode: mode_set_from_edid 1920x1200 @ 59 Hz 24 bpp (base &0 base8 &465000)

test: basic graphics tests...
test: device info: uid &877A0C8
test: device info: serial 01E9-205184
test: device info: type  &F
test: native mode info...
  1920x1200 @ 59 Hz 24 bpp base &0
test: set_mode...
mode: dlo_mode_set_default (setting monitor preferred mode)
test: error 20 'could not get bound driver: No data available'
---------------------------------------------------------------------------

I was able to trace it down to the first call to mode_set_from_edid, during this call usb_bulk_writes succeed, however after that they fail (after timeout) with the error message shown above. If I do dlo_mode_set_default twice in a row in dlo_claim_device, I get the same error as above on the second call.

During the first call, dlo_usb_write actually succeeds after edid_to_vreg_commands. Any dlo_usb_write with non-empty buffer after that fails.

I'm not sure if that's true, however it's possible that this specific USB->DVI connector doesn't support such a high res mode (it seems that the max supported mode is 1600x1200). I tried to set a lower-res mode instead of EDID default in dlo_claim_device (e.g. 800x600x24@60), however it still failed after this mode was "set".


I'm running Debian GNU/Linux (2.6.30.1), libusb-0.1.4.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.