[Libdlo] udlfb: DL-195 @ 1920x1200: Oops

Sven Killig sven at killig.de
Fri Jun 26 14:24:14 PDT 2009


udlfb did work with my Samsung U70 @ 800x480, but not with my new DL-195 based adapter connected to a Samsung SyncMaster 244T @ 1920x1200:

Jun 25 10:30:03 debian kernel: udlfb: probe of 1-1.2:1.0 failed with error -12

So I modified the 1400x1050 mode with the register content I captured from the Windows XP driver:

	// 05 CA 21 15 42 6C 15 F4 66 C5 36 FF FF 6C 15 07 80 A3 35 FF FF FF CA 04 B0 04 02 50 78
	dlfb_video_modes[3].col = 0;
	memcpy(&dlfb_video_modes[3].hclock, "\xCA\x21\x15\x42", 4);
	memcpy(&dlfb_video_modes[3].vclock, "\x6C\x15\xF4\x66", 4);
	memcpy(&dlfb_video_modes[3].unknown1, "\xC5\x36\xFF\xFF\x6C\x15", 6);
	dlfb_video_modes[3].xres = 1920;
	memcpy(&dlfb_video_modes[3].unknown2, "\xA3\x35\xFF\xFF\xFF\xCA", 6);
	dlfb_video_modes[3].yres = 1200;
	memcpy(&dlfb_video_modes[3].unknown3, "\x04\x02\x50\x78", 4);

but it doesn't work:

DisplayLink device attached
ret control msg 0: 4 1500f1
EDID XRES 1920 YRES 1200
INIT VIDEO 0 800 480
INIT VIDEO 1 1024 768
INIT VIDEO 2 1280 1024
INIT VIDEO 3 1920 1200
ret control msg 1 (STD_CHANNEL): 16
ret bulk 2: 156 156
ret bulk 3: 0
found valid mode...6493
screen base allocated !!!
non posso allocare il backing buffer
colormap allocated
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = dec54000
[00000000] *pgd=1fb36031, *pte=00000000, *ppte=00000000
Internal error: Oops: 817 [#1] PREEMPT
Modules linked in: udlfb(+) fb cfbimgblt
CPU: 0    Not tainted  (2.6.30-rc3 #1)
PC is at draw_rect+0xc8/0x254 [udlfb]
LR is at draw_rect+0x84/0x254 [udlfb]
pc : [<bf015088>]    lr : [<bf015044>]    psr: 80000013
sp : dec4ddc8  ip : 000037e6  fp : 00000000
r10: dec4de2e  r9 : 00000780  r8 : 00000000
r7 : ded8d000  r6 : df99ae00  r5 : ded90000  r4 : 00000000
r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : 00000037
Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 0005317f  Table: 1ec54000  DAC: 00000015
Process modprobe (pid: 695, stack limit = 0xdec4c268)
Stack: (0xdec4ddc8 to 0xdec4e000)
ddc0:                   00000003 00000020 00000006 000004b0 df99ae28 00000037
dde0: 00000f00 000037e6 000000a1 ded8d000 ded8d1ec 00000000 df99ae00 e097d000
de00: 000000a1 dec4de2e df99a200 bf015acc 000004b0 00000030 000000ff 00000030
de20: 00000000 dec4de40 5001e780 2800f100 c01d0870 df99a220 df99a200 bf016c94
de40: bf016cc4 bf016d58 c01d0870 df999400 00000000 c023759c df99a228 df99a220
de60: df99a220 bf016cc4 bf016cc4 c0455858 00000060 c01d18c0 bf016c94 df99a220
de80: df99a254 bf016cc4 dec4dea0 c01d19f8 00000000 c01d1998 bf016cc4 c01d10ac
dea0: df876fb8 dfb52390 c0455858 00000000 bf016d80 bf016cc4 df95bf00 c01d0980
dec0: bf015e63 c0099abc bf016c94 bf016d80 bf016cc4 bf016cc4 00000000 dec4c000
dee0: 00000000 c01d1cd4 bf016c94 bf016d80 bf015e63 bf016cc4 00000000 c0237354
df00: 40165000 00022765 bf016d80 40165000 bf019000 bf019018 00022765 c0026300
df20: 00000000 fffffffc 00000000 c006618c 00000001 c0335b94 00000000 c043ea20
df40: c043ea14 ffffffff 00000001 00000000 c043ea14 c0051dd4 00000000 00000000
df60: 00022765 bf016d80 40165000 00000000 00022765 bf016d80 40165000 00000000
df80: c0026b04 c006095c 00001000 00000003 00000000 0000c9ac 00000000 00018de0
dfa0: 00000080 c0026980 0000c9ac 00000000 40165000 00022765 00018e38 00000000
dfc0: 0000c9ac 00000000 00018de0 00000080 00000000 40165000 00000000 00000000
dfe0: 00018e48 becdb904 0000b484 400fe6f4 60000010 40165000 00000000 00000000
[<bf015088>] (draw_rect+0xc8/0x254 [udlfb]) from [<bf015acc>] (dlfb_probe+0x51c/0x5c0 [udlfb])
[<bf015acc>] (dlfb_probe+0x51c/0x5c0 [udlfb]) from [<c023759c>] (usb_probe_interface+0xec/0x14c)
[<c023759c>] (usb_probe_interface+0xec/0x14c) from [<c01d18c0>] (driver_probe_device+0xb0/0x188)
[<c01d18c0>] (driver_probe_device+0xb0/0x188) from [<c01d19f8>] (__driver_attach+0x60/0x84)
[<c01d19f8>] (__driver_attach+0x60/0x84) from [<c01d10ac>] (bus_for_each_dev+0x4c/0x8c)
[<c01d10ac>] (bus_for_each_dev+0x4c/0x8c) from [<c01d0980>] (bus_add_driver+0x130/0x2a4)
[<c01d0980>] (bus_add_driver+0x130/0x2a4) from [<c01d1cd4>] (driver_register+0xc0/0x14c)
[<c01d1cd4>] (driver_register+0xc0/0x14c) from [<c0237354>] (usb_register_driver+0x68/0xec)
[<c0237354>] (usb_register_driver+0x68/0xec) from [<bf019018>] (dlfb_init+0x18/0x50 [udlfb])
[<bf019018>] (dlfb_init+0x18/0x50 [udlfb]) from [<c0026300>] (do_one_initcall+0x50/0x194)
[<c0026300>] (do_one_initcall+0x50/0x194) from [<c006095c>] (sys_init_module+0x90/0x194)
[<c006095c>] (sys_init_module+0x90/0x194) from [<c0026980>] (ret_fast_syscall+0x0/0x2c)
Code: e5963024 e59d0014 e0622008 e0833001 (e7c30002)
---[ end trace 85574c20f4a4a295 ]---



More information about the Libdlo mailing list