我有一个Sabrent USB 转 HDMI 适配器这是一个 DisplayLink 设备。它被识别为udl
DisplayLink 设备,但似乎由于 EDID 无效而被拒绝/禁用:
[32780.107963] usb 3-1: new high-speed USB device number 12 using xhci_hcd
[32785.130415] usb 3-1: device descriptor read/8, error -110
[32785.251408] usb 3-1: Invalid ep0 maxpacket: 242
[32785.362527] usb 3-1: new high-speed USB device number 13 using xhci_hcd
[32785.385812] usb 3-1: New USB device found, idVendor=17e9, idProduct=410d
[32785.385824] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[32785.385831] usb 3-1: Product: Sabrent USB-HDMI
[32785.385836] usb 3-1: Manufacturer: DisplayLink
[32785.385840] usb 3-1: SerialNumber: 442631
[32785.388773] [drm] vendor descriptor length:27 data:27 5f 01 00 25 00 04 04 01 00 03
[32785.498175] Raw EDID:
[32785.498191] 00 00 00 00 00 00 ff 00 5a 63 2e 73 01 01 01 01
[32785.498196] 07 18 01 03 80 34 1d 78 2e 2c c5 a4 56 50 a1 28
[32785.498200] 0f 50 54 bf ef 80 b3 00 a9 40 a9 c0 95 00 90 40
[32785.498203] 81 80 81 40 81 00 02 3a 80 18 71 38 2d 40 58 2c
[32785.498206] 45 00 09 25 21 00 00 1e 00 00 00 ff 00 54 53 54
[32785.498210] 31 34 30 37 34 31 35 33 38 0a 00 00 00 fd 00 32
[32785.498213] 4b 18 52 11 00 0a 20 20 20 20 20 20 00 00 00 fc
[32785.498216] 00 56 41 32 34 34 36 20 53 45 52 49 45 53 00 76
[32785.498226] udl 3-1:1.0: DVI-I-7: EDID invalid.
[32785.499647] udl 3-1:1.0: fb2: udldrmfb frame buffer device
[32785.499656] [drm] Initialized udl 0.0.1 20120220 on minor 2
我正在运行带有 3.11.0 内核的 Ubuntu 12.04 LTS (Elementary Luna):
$ uname -a
Linux hostname 3.11.0-19-generic #33~precise1-Ubuntu SMP Wed Mar 12 21:16:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
我已经安装了xserver-xorg-video-displaylink
,很明显它正在运行,udl
检测到 DisplayLink 设备。
我没有看到绿屏,显示器也无法打开。
深入研究内核内部,该EDID invalid
消息出现在驱动程序/gpu/drm/drm_edid.c:3000:
if (!drm_edid_is_valid(edid)) {
dev_warn(connector->dev->dev, "%s: EDID invalid.\n", drm_get_connector_name(connector));
return 0;
}
这里究竟出了什么问题,我该如何修复它?返回的 EDID 是否会破坏设备的利用率?有没有办法可以修补我的内核或设置一些其他配置以使 DisplayLink 设备正常工作?