On 12/02/2015 07:14 PM, Rogan Dawes wrote:
On Wed, Dec 02, 2015 at 06:00:21PM +0100, Krzysztof Opasiak wrote:
On 12/02/2015 01:29 PM, Rogan Dawes wrote:
As mentioned originally, I'm trying to come up with an IP KVM, as inexpensively as possible. Realising that the approach that I am following will not allow me to interact with any layers prior to a successfully booted operating system, what I am hoping to do is, at a minimum, be able to observe the DisplayLink traffic flowing from an external computer (i.e. not a VM) over the USB.
If I understood your idea correctly you would like to do something
like rdp over USB, am I right?
If yes then I'm currently running a project with students from
Warsaw University of Technology and they are doing exactly this:)
What we would like to do:
- Use FunctionFS to emulate DisplayLink device
- Use f_hid to pass input events
- Maybe use f_ecm to share clipboard, file copy etc.
Unfortunately currently we have only some very basic proof of
concept. We have ffs daemon and ConfigFS config to setup and act
like a display link with 640x480 monitor. So on a host side we see
another monitor and on the device side we have an window in which we
can see image from host.
There are several problems. The most important one is display link
host driver and protocol documentation. We have implemented our
function based on open source display link driver (udl).
Unfortunately the performance is very poor 1280x1024 is absolutely
max what we can get if we don't want to have a slide show. udl
driver itself has also some problems and NULL ptr dereferences.
Moreover, Linux driver implements only very limited set of encodings
while Windows driver has much more of them and it's very easy to see
when you compare usb bandwidth used by widnows and linux driver.
That's why we will try to improve udl driver. Currently we try to
setup machine at university which will run linux and then windows in
virtual machine. We would like to connect dl to this computer, pass
it to virtual machine and then use usbmon + wireshark and try to
figure out new encodings used by windows driver and add them to udl
driver but probably it will take a lot of time...
Best regards,
Hi,
Yes, this is exactly what I am trying to implement. To be honest, I'd be quite happy with a single frame per second, but it sounds like you are way ahead of where I am.
Is there any chance in getting a look at your code?
Sorry for my late response but I was on a sickness leave and didn't have
access to my company email.
Yah, sure. I have just pushed the code to github:
https://github.com/kopasiak/f_dl_ffs
please remember that it is only proof of concept. It has been written by
our intern so I don't guarantee the code quality and it's a little bit
hackish as it use opencv to show 30 images/s instead of doing live
updates when receiving commands from host as we had some performance
issues on odroid u3 board.
Cheers,
--
Krzysztof Opasiak
Samsung R&D Institute Poland
Samsung Electronics
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html