Hi folks, for anyone interested - I have started a library, which is able to interact with USB subsystem over TCP/IP. It basically intercepts dynamic calls to libusb functions in your executable, forwards the function call to remote server and interprets the result locally. I'm very excited about this approach, because it works with existing system executables as is - no need to recompile or any extra work whatsoever!
I'm using it already for virtualization of our university education devices (FTDI2232 + MSP430) on clients. The wrapper basically renders remote USB subsystem just as if it was connected to local computer, so there's plenty of uses. - Virtualization of devices. - Sharing your devices with friends over network. - Debugging / Flashing your devices remotely. OpenMoko anyone? Feature overview: - Implemented in C/C++, works under POSIX. - Generic server and client executables, libusb transport implemented. - No authentication or safe authentication / tunnelling with SSH. - BER / ASN.1 based communication protocol. - TCP connection, but optimized for realtime latency. - Extensible communication protocol implementation. Example (lsusb to dump USB devices on server): Server: ./usbexportd Client (no auth): ./usbnet -h server:22222 -l libusbnet.so "lsusb" Client (SSH auth): ./usbnet -a u...@server -l libusbnet.so "lsusb" GitHub (with source packages): http://github.com/vavrusa/libusbnet Git repository: git://github.com/vavrusa/libusbnet.git Library was designed for as easily extensible to other libraries, there's just need to implement the actual function transports. It is still in early development, but it reached usable state and all libusb functions are already implemented. The library is also designed with security in mind, so the best approach is to let server bind to localhost only, and use SSH public-key authentication method. This employs standard system-wide security policies well known to administrators. So if you have thoughts or are brave enough to try it, please let me know. I'll be glad for any feedback or bugreports. Cheers, Marek Vavrusa -- libftdi - see http://www.intra2net.com/en/developer/libftdi for details. To unsubscribe send a mail to [email protected]
