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

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

 





On 04/30/2015 04:23 AM, fx IWATA NOBUO wrote:
Hello,

why couldn't you do this in userspace by using simple tcp over http
or ssh or anything what would you like to use?  It would work out of
box without any changes in kernel.

simple tcp over http

Sorry. I don't know what it is.
I think WebSocket is a popular protocol encapsulates packets in HTTP.

some example with websockets:

https://www.npmjs.com/package/wstunnel

it works just like a proxy. By using for example wstunnel you will get:

kern--TCP-->daemon (proxy)--http over internet-->daemon--TCP--> kern

It's almost the same design as you will get after your patches. The only different is that instead of TCP connection you are exporting data to userspace using a file. But this will work without any changes in kernel;)


ssh

Blocked by firewall or proxy in most cases.

try to setup sshd on your server on port 80 or git (9418) or gerrit (29418) works good in many cases;)


I may misunderstand your question but I'd like to explain the series.

The goal are
A) USB/IP in WebSocket
Kind of IoT with USB/IP described in cover letter.
B) Providing APIs for application protocol
Allows to introduce application protocols to USB/IP.

The contents:

1) Patch 01/11-03/11: relating export

As in cover letter, it's worth to connect device inside firewall to
service outside.
I think export was planned because the packet has been defined in
header.
03/11 touches kernel to fix an existing critical section. By new connect
command, unbind is executed in program. So the critical section is easy
to happen relatively in normal operation.

2) Patch 04/11-10/12: relating userspace API for application protocol

Allows to substitute a) connection establishment, b) PDUs exchange and
c) URBs exchange.
04/11-06/11 are for c). The reason why not to use usbfs or libusb is in
previous e-mail.
07/11 and 08/11 provide API in utility for a) and b). Route for c) is
merged in b).
09/11 exposes core functions of utilities. 10/11 fixes lazy qualifying
in original code for the functions.

3) Patche 11/11: a WebSocket implementation

WebSocket version of utilities. It might be a test bed for the APIs.

The most part of the series are for APIs in userspace to utilities.
Changes to kernel modules are 04/11 (discussed in previous e-mail) and
03/11 (described above).

I hope that it answers your questions.

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.

Best Regards,

--
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




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

  Powered by Linux