Dear all,

This series of patches introduces WebSocket to USB/IP. 
It also includes some independent features effective in themselves.

1) Exporting devices

Export request and response PDU had been defined in a header but not been used.
Now it works!
   
Also, it supports senarios, for example, connect ubiquetous devices to a Linux 
based cloud service.
In this senario, it's needed to establish connection from a device inside of 
firewall to a service outside. Exporting is suit for the senario.

2) User space transmission

USB/IP transfer URBs in kernel space. It's better for performance but difficult 
to introduce application protocols.

Like fuse for file systems, it allows to transfer URBs in user space.

When usbip_ux.ko is loaded, it replaces kernel_sendmsg() and kernel_recvmsg() 
with user spcace interface. When USB/IP utilities find usbip_ux.ko, they start 
threads to read/write PDUs from/to usbip_ux.ko and send/recv them.

3) Replaceable protocols

Both transmission(send/receive) and connection establishment are replaceable.

4) SSL

OpenSSL is applied when configured --with-ssl=yes and --ssl option is specified.

5) a WebSocket implementation

It's made with Poco C++.

---
I published scripts I used for the development.
http://linux-usbip-additions.blogspot.jp/2015/03/scripts-to-patch-and-make-locally.html
http://linux-usbip-additions.blogspot.jp/2015/03/test-scripts.html

Thank you,

Nobuo Iwata <nobuo.iw...@fujixerox.co.jp>
//

*** BLURB HERE ***

Nobuo Iwata (13):
  USB/IP: exporting devices
  USB/IP: readme and manuals about exporting devices
  USB/IP: safe completion against usb_kill_urb()
  USB/IP: kernel module for userspace URBs transmission
  USB/IP: tools for userspace URBs transmission
  USB/IP: readme about user space URBs transmission
  USB/IP: letting send and receive replaceable
  USB/IP: USB/IP with SSL
  USB/IP: readme and manuals about USB/IP with SSL
  USB/IP: letting connection establishment replaceable
  USB/IP: deriving functions as libraries
  USB/IP: added const qualifier to arguments of some functions
  USB/IP: USB over WebSocket

 drivers/usb/usbip/Kconfig                          |  10 +
 drivers/usb/usbip/Makefile                         |   3 +
 drivers/usb/usbip/stub_dev.c                       |  16 +-
 drivers/usb/usbip/stub_rx.c                        |   3 +-
 drivers/usb/usbip/stub_tx.c                        |   9 +-
 drivers/usb/usbip/usbip_common.c                   |  79 ++-
 drivers/usb/usbip/usbip_common.h                   |  29 +-
 drivers/usb/usbip/usbip_ux.c                       | 602 +++++++++++++++++++++
 drivers/usb/usbip/usbip_ux.h                       |  82 +++
 drivers/usb/usbip/vhci_hcd.c                       |   9 +-
 drivers/usb/usbip/vhci_rx.c                        |   3 +-
 drivers/usb/usbip/vhci_sysfs.c                     |  40 +-
 drivers/usb/usbip/vhci_tx.c                        |   6 +-
 include/uapi/linux/usbip_ux.h                      |  39 ++
 tools/usb/usbip/Makefile.am                        |   2 +-
 tools/usb/usbip/README                             | 105 +++-
 tools/usb/usbip/configure.ac                       |  34 ++
 tools/usb/usbip/doc/usbip.8                        | 112 +++-
 tools/usb/usbip/doc/usbipa.8                       | 103 ++++
 tools/usb/usbip/doc/usbipd.8                       |  63 ++-
 tools/usb/usbip/libsrc/Makefile.am                 |  11 +-
 tools/usb/usbip/libsrc/list.h                      |  24 +-
 tools/usb/usbip/libsrc/usbip_common.c              |  38 +-
 tools/usb/usbip/libsrc/usbip_common.h              |  27 +-
 tools/usb/usbip/libsrc/usbip_host_driver.c         |  24 +-
 tools/usb/usbip/libsrc/usbip_host_driver.h         |   1 +
 tools/usb/usbip/libsrc/usbip_ux.c                  | 256 +++++++++
 tools/usb/usbip/libsrc/usbip_ux.h                  |  30 +
 tools/usb/usbip/libsrc/vhci_driver.c               | 141 ++++-
 tools/usb/usbip/libsrc/vhci_driver.h               |  10 +-
 tools/usb/usbip/src/Makefile.am                    |  37 +-
 tools/usb/usbip/src/usbip.c                        |  73 ++-
 tools/usb/usbip/src/usbip.h                        |  20 +-
 tools/usb/usbip/src/usbip_attach.c                 | 111 ++--
 tools/usb/usbip/src/usbip_bind.c                   |  17 +-
 tools/usb/usbip/src/usbip_connect.c                | 236 ++++++++
 tools/usb/usbip/src/usbip_detach.c                 |  26 +-
 tools/usb/usbip/src/usbip_disconnect.c             | 212 ++++++++
 tools/usb/usbip/src/usbip_list.c                   |  64 ++-
 tools/usb/usbip/src/usbip_netconn.c                | 133 +++++
 tools/usb/usbip/src/usbip_network.c                | 112 ++--
 tools/usb/usbip/src/usbip_network.h                |  18 +-
 tools/usb/usbip/src/usbip_port.c                   |  17 +-
 tools/usb/usbip/src/usbip_ssl.c                    | 232 ++++++++
 tools/usb/usbip/src/usbip_ssl.h                    |  35 ++
 tools/usb/usbip/src/usbip_unbind.c                 |  13 +-
 tools/usb/usbip/src/usbipd.c                       | 340 +++++-------
 tools/usb/usbip/src/usbipd.h                       |  38 ++
 tools/usb/usbip/src/usbipd_app.c                   | 256 +++++++++
 tools/usb/usbip/src/usbipd_dev.c                   | 266 +++++++++
 tools/usb/usbip/src/utils.c                        |   2 +-
 tools/usb/usbip/src/utils.h                        |   2 +-
 tools/usb/usbip/websocket/AUTHORS                  |   1 +
 tools/usb/usbip/websocket/COPYING                  | 340 ++++++++++++
 tools/usb/usbip/websocket/INSTALL                  | 237 ++++++++
 tools/usb/usbip/websocket/Makefile.am              |   3 +
 tools/usb/usbip/websocket/README                   | 184 +++++++
 tools/usb/usbip/websocket/autogen.sh               |   9 +
 tools/usb/usbip/websocket/cleanup.sh               |  12 +
 tools/usb/usbip/websocket/configure.ac             |  61 +++
 tools/usb/usbip/websocket/doc/usbws.8              | 192 +++++++
 tools/usb/usbip/websocket/doc/usbwsa.8             | 101 ++++
 tools/usb/usbip/websocket/doc/usbwsd.8             | 109 ++++
 tools/usb/usbip/websocket/poco/Makefile.am         |  18 +
 tools/usb/usbip/websocket/poco/USBWSCommand.cpp    | 410 ++++++++++++++
 tools/usb/usbip/websocket/poco/USBWSCommand.h      |  99 ++++
 tools/usb/usbip/websocket/poco/USBWSDaemon.cpp     | 228 ++++++++
 tools/usb/usbip/websocket/poco/USBWSDaemon.h       |  80 +++
 .../usbip/websocket/poco/USBWSRequestHandler.cpp   |  90 +++
 .../usb/usbip/websocket/poco/USBWSRequestHandler.h |  49 ++
 .../websocket/poco/USBWSRequestHandlerFactory.cpp  |  47 ++
 .../websocket/poco/USBWSRequestHandlerFactory.h    |  48 ++
 tools/usb/usbip/websocket/poco/USBWSUtil.h         |  52 ++
 tools/usb/usbip/websocket/poco/USBWSWebSocket.cpp  | 201 +++++++
 tools/usb/usbip/websocket/poco/USBWSWebSocket.h    |  69 +++
 75 files changed, 6235 insertions(+), 576 deletions(-)
 create mode 100644 drivers/usb/usbip/usbip_ux.c
 create mode 100644 drivers/usb/usbip/usbip_ux.h
 create mode 100644 include/uapi/linux/usbip_ux.h
 create mode 100644 tools/usb/usbip/doc/usbipa.8
 create mode 100644 tools/usb/usbip/libsrc/usbip_ux.c
 create mode 100644 tools/usb/usbip/libsrc/usbip_ux.h
 create mode 100644 tools/usb/usbip/src/usbip_connect.c
 create mode 100644 tools/usb/usbip/src/usbip_disconnect.c
 create mode 100644 tools/usb/usbip/src/usbip_netconn.c
 create mode 100644 tools/usb/usbip/src/usbip_ssl.c
 create mode 100644 tools/usb/usbip/src/usbip_ssl.h
 create mode 100644 tools/usb/usbip/src/usbipd.h
 create mode 100644 tools/usb/usbip/src/usbipd_app.c
 create mode 100644 tools/usb/usbip/src/usbipd_dev.c
 create mode 100644 tools/usb/usbip/websocket/AUTHORS
 create mode 100644 tools/usb/usbip/websocket/COPYING
 create mode 100644 tools/usb/usbip/websocket/INSTALL
 create mode 100644 tools/usb/usbip/websocket/Makefile.am
 create mode 100644 tools/usb/usbip/websocket/README
 create mode 100755 tools/usb/usbip/websocket/autogen.sh
 create mode 100755 tools/usb/usbip/websocket/cleanup.sh
 create mode 100644 tools/usb/usbip/websocket/configure.ac
 create mode 100644 tools/usb/usbip/websocket/doc/usbws.8
 create mode 100644 tools/usb/usbip/websocket/doc/usbwsa.8
 create mode 100644 tools/usb/usbip/websocket/doc/usbwsd.8
 create mode 100644 tools/usb/usbip/websocket/poco/Makefile.am
 create mode 100644 tools/usb/usbip/websocket/poco/USBWSCommand.cpp
 create mode 100644 tools/usb/usbip/websocket/poco/USBWSCommand.h
 create mode 100644 tools/usb/usbip/websocket/poco/USBWSDaemon.cpp
 create mode 100644 tools/usb/usbip/websocket/poco/USBWSDaemon.h
 create mode 100644 tools/usb/usbip/websocket/poco/USBWSRequestHandler.cpp
 create mode 100644 tools/usb/usbip/websocket/poco/USBWSRequestHandler.h
 create mode 100644 
tools/usb/usbip/websocket/poco/USBWSRequestHandlerFactory.cpp
 create mode 100644 tools/usb/usbip/websocket/poco/USBWSRequestHandlerFactory.h
 create mode 100644 tools/usb/usbip/websocket/poco/USBWSUtil.h
 create mode 100644 tools/usb/usbip/websocket/poco/USBWSWebSocket.cpp
 create mode 100644 tools/usb/usbip/websocket/poco/USBWSWebSocket.h

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to