RE: [PATCH v3 00/11] usbip: features to USB over WebSocket

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

> I see your point and what you have done in patches.
> I'm only showing you that you may achieve almost the same effect
> without any changes in kernel.

I tested wstunnel.

The performance comparison in my environment is as following.
Round trip time of keyboard key down and up URBs at host.

wstunnel: 4.4msec
usbws(my patch): 2.7msec

wstunnel passes TCP/IP stack twice so it's slower.

I'd like to keep the usbws implementation because it's worth for 
performance.

memory usage (VSZ/RSS)
                 wstunnel   usbws
Server wstunnel  734K/20K   
       usbipa    25K/2K
       usbwsa               25K/2K
Client wstunnel  75K/17K
       usbipa               113K/3K

Memo about wstunnel

1) Implementation
node.js application

2) installation
  # yum install npm
  # npm install -g wstunnel

3) Usage for USB/IP
  app# insmod usbip-core.ko
  app# isnmod vhci-hcd.ko
  app# usbipa -t 3240
  app$ wstunnel -s 8080 -t localhost:3240

  dev# insmod usbip-core.ko
  dev# isnmod usbip-host.ko
  dev$ wstunnel -t 3240 ws://<app-side-addr>:8080
  dev# usbip -t 3240 connect -r localhost -b <bus-id>

usbip -<loop-back>- wstunnel ---<net>--- wstunnel -<loopback>- usbipa
                  3240                 8080                 3240

Some issues are found in interoperability (to use usbws with wstunnel).
a) wstunnel needs Sec-WebSocket-Protocol header with value 
'tunnel-protocol'.
   It means that the other end must be wstunnel too.
b) wstunnel sends multiple packets into one frame.
   usbws must implement buffering.
c) wstunnel sends WebSocket with FIN bit=1.
   Poco library translates it to OP_CLOSE and succeeding readFrame() 
doesn't work.
I may fix later regarding b) if it's needed by other implementations.

Sorry for my late response.
I concentrated to other project.

Thank you for your help,

n.iwata
//
��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux