Hi,
On 03/06/2017 02:02 AM, Yuyang Du wrote:
Hi Greg,
On Thu, Feb 23, 2017 at 08:51:03AM +0100, Greg KH wrote:
And again, what specifically are you referring to, and again, have you
tried the code out yourself? What is preventing you from testing this
in your environment to determine if it works properly for you or not?
I did the experiment. Our device "requires" that the SUPER_SPPED be used.
So, we are attempting to add SUPER_SPEED support to usbip. To assess the
effort, could you please give us some pointers on how to do it? And what
are the difficulties?
In the beginning I would start with this commit:
1cd8fd2887e162ad3d067150962cc3d32dcf3150
This commit adds Super Speed support to dummy_hcd so from the kernel
point of view this should be a good source of knowledge how to add Super
Speed mode to existing HCD.
There is also other side, the protocol. Probably we won't be able to
handle this using exiting protocol messages. At first glance I see at
least one reason:
Documentation/usb/usbip_protocol.txt:
USBIP_RET_SUBMIT: Reply for submitting an URB
Offset | Length | Value | Description
-----------+--------+------------+---------------------------------------------------
0 | 4 | 0x00000003 | command
-----------+--------+------------+---------------------------------------------------
4 | 4 | | seqnum: URB sequence number
-----------+--------+------------+---------------------------------------------------
8 | 4 | | devid
-----------+--------+------------+---------------------------------------------------
0xC | 4 | | direction: 0: USBIP_DIR_OUT
| | | 1: USBIP_DIR_IN
-----------+--------+------------+---------------------------------------------------
0x10 | 4 | | ep: endpoint number
-----------+--------+------------+---------------------------------------------------
0x14 | 4 | | status: zero for successful URB
transaction,
| | | otherwise some kind of error happened.
-----------+--------+------------+---------------------------------------------------
0x18 | 4 | n | actual_length: number of URB data bytes
-----------+--------+------------+---------------------------------------------------
0x1C | 4 | | start_frame: for an ISO frame the
actually
| | | selected frame for transmit.
-----------+--------+------------+---------------------------------------------------
0x20 | 4 | | number_of_packets
-----------+--------+------------+---------------------------------------------------
0x24 | 4 | | error_count
-----------+--------+------------+---------------------------------------------------
0x28 | 8 | | setup: data bytes for USB setup,
filled with
| | | zeros if not used
-----------+--------+------------+---------------------------------------------------
0x30 | n | | URB data bytes. For ISO transfers
the padding
| | | between each ISO packets is not
transmitted.
As you see we have a field for devid, direction and ep but we don't have
a field for stream id.
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