I got my samsung monitor works by setting /sys/bus/usb/devices/.../bConfigurationValue to &quot;1&quot;.  I believe the monitor will work automatically if I add a udev rule to update the file.<br><br>I tried to test usb_set_configuration() in the displaylink-main.c during the displaylink_probe(), but I got compile error.  Instead I used usb_driver_set_configuration() to set new Configuration, and got another problem.  <br>
<br>After modprobe the new displaylink module, I could see the monitor flickering and saw green color on samsung monitor. But system was extremely slow.  I noticed &quot;events/0&quot; process using a lot of cpu time from the &quot;top&quot; commnad.<br>
<br>JAK<br><br><div class="gmail_quote">On Thu, Jul 9, 2009 at 10:34 AM, Bernie Thompson <span dir="ltr">&lt;<a href="mailto:bernie@berniethompson.com">bernie@berniethompson.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
A bit more background on the &quot;whys&quot;, so the Linux solution can be understood:<br>
<br>
It&#39;s not uncommon for USB devices play some games with USB class<br>
codes, in order to improve the Windows XP install experience.  Many<br>
DisplayLink devices do this.  Unfortunately, it creates a hassle for<br>
Linux.  But there are solutions, we just need to get them in place.<br>
Here&#39;s the background:<br>
<br>
On Windows XP, the Found New Hardware Wizard pops up when any device<br>
without drivers arrives.  Unfortunately, it&#39;s a UI that users<br>
typically get lost in (without ultimately finding appropriate<br>
drivers).  Vista and now particularly Win7 do a much better job, but<br>
XP is still an important case.<br>
<br>
To make the device install experience on XP better, companies take<br>
pains to avoid FNHW: stickers over the USB connector saying &quot;install<br>
driver disk first&quot;, etc.  They may also have the device report a USB<br>
class code that is matched by an in-box driver that&#39;s otherwise<br>
benign, so FNHW is never shown. HID matches that bill.  Windows pnp<br>
logic is always to use the most specific driver match - so it will<br>
silently match HID initially, but once drivers are installed (e.g.<br>
from disk, or from internet) that match more specifically on VID/PID,<br>
Windows will automatically prefer those drivers over those that only<br>
match on the class code.<br>
<br>
The second common scenario is the device may actually appear first as<br>
a USB CDROM with Windows drivers on it, and only once the proper<br>
configuration is set, it turns into the &quot;real&quot; device. On DisplayLink<br>
devices - the core graphics function is always on configuration #1<br>
(even if the default configuration is something else like 2, to hide<br>
the device without in-OS drivers).<br>
<br>
You can see how libdlo handles this (not smart or graceful, but does<br>
make libdlo work 100% of the time) at<br>
<a href="http://cgit.freedesktop.org/libdlo/tree/src/dlo_usb.c" target="_blank">http://cgit.freedesktop.org/libdlo/tree/src/dlo_usb.c</a> around line 319.<br>
<br>
For the kernel framebuffer driver, my understanding is the proper<br>
solution would be to:<br>
<br>
1) Actively set configuration 1 in the displaylink kernel framebuffer<br>
driver (call function<br>
<a href="http://lxr.linux.no/linux+v2.6.30/drivers/usb/core/usb.h#L31" target="_blank">http://lxr.linux.no/linux+v2.6.30/drivers/usb/core/usb.h#L31</a>)<br>
2) Because Linux doesn&#39;t have the same assumption as Windows for<br>
matching best driver based on specificity of IDs, it may<br>
(non-deterministicly?) load a HID or MSC driver instead of the real<br>
DisplayLink framebuffer driver.  To avoid this problem completely, we<br>
have to add displaylink devices to the proper blacklists, e.g. as<br>
these examples of adding other devices to the HID blacklist:<br>
<a href="http://www.google.co.uk/search?q=linux+kernel+usb+hid+blacklist" target="_blank">http://www.google.co.uk/search?q=linux+kernel+usb+hid+blacklist</a><br>
<br>
If someone wanted to get wild and crazy, they could also take a look<br>
at a more comprehensive solution for #2 -- better aligning Linux&#39;s<br>
plug and play assumptions about driver matching based on specificity<br>
of class/vid/pid/rev, etc. with Windows&#39; assumptions.<br>
<br>
Greg or others, please correct me if I got anything wrong here.<br>
<br>
One thing I don&#39;t have a clear picture of yet: There may exist<br>
composite devices that have a DisplayLink function plus other things<br>
(like some extra HID buttons, etc.) within the same configuration #1.<br>
I don&#39;t understand yet how Linux handles composite devices, but<br>
hopefully we can cleanly block the (fake) HID devices, while not block<br>
the real ones. But if not, this isn&#39;t a common case nor absolutely<br>
critical functionality.<br>
<br>
Unfortunately a hassle for Linux, but hopefully one where we can get<br>
to a deterministic (if not pretty) solution.<br>
<br>
Thanks,<br>
<font color="#888888">Bernie<br>
</font></blockquote></div><br>