On Tue, Mar 23, 2021 at 05:12:00PM -0600, Shuah Khan wrote: > On 3/23/21 6:55 AM, Hongren Zheng (Zenithal) wrote: > > The commit e0546fd8b748 ("usbip: tools: Start using VUDC backend in > > usbip tools") implemented device mode for user space tools, however the > > corresponding options are not documented in man page. > > > > This commit documents the options and provides examples on device mode. > > > > Signed-off-by: Hongren Zheng <i@xxxxxxxxxxx> > > --- > > tools/usb/usbip/doc/usbip.8 | 25 +++++++++++++++++++++++++ > > tools/usb/usbip/doc/usbipd.8 | 22 ++++++++++++++++++++++ > > 2 files changed, 47 insertions(+) > > > > PATCH v2: > > Add signed-off-by line > > > > PATCH v3: > > Move patch changelog after the marker line > > Remove nickname in signed-off-by line > > > > PATCH v4: > > Use commit short hash and message instead of long hash only when > > referring to commit in the kernel > > > > Thank you for the patch. Please see comments below: > > > diff --git a/tools/usb/usbip/doc/usbip.8 b/tools/usb/usbip/doc/usbip.8 > > index a15d20063b98..385b0eda8746 100644 > > --- a/tools/usb/usbip/doc/usbip.8 > > +++ b/tools/usb/usbip/doc/usbip.8 > > @@ -49,6 +49,13 @@ then exit. > > Attach a remote USB device. > > .PP > > +.HP > > +\fBattach\fR \-\-remote=<\fIhost\fR> \-\-device=<\fdev_id\fR> > > +.IP > > +Attach a remote USB gadget. > > +Only used when the remote usbipd is in device mode. > > +.PP > > + > > .HP > > \fBdetach\fR \-\-port=<\fIport\fR> > > .IP > > This is a bit confusing. Please add a separate section for > Attach a remote USB gadget complete with attach and detach > instructions. The detaching of a USB device and a USB gadget share the same detach command. You attach one USB device/gadget use either one of the above attach commands, and when you need to detach one device/gadget, you first need `usbip port` to show the port of imported device/gadget, for example, client:# usbip port Imported USB devices ==================== Port 00: <Port in Use> at High Speed(480Mbps) Netchip Technology, Inc. : Pocketbook Pro 903 / Mobius 2 Action Cam / xDuoo X3 / PocketBook Pro 602 3-1 -> usbip://localhost:3240/usbip-vudc.0 -> remote bus/dev 000/000 then use `usbip detach --port=0` to detach the device/gadget. Since they share the same workflow for detaching, a separate section may not be necessary. Meanwhile, in the example below a detach command for device mode can be added. With the example I think the complete flow for device mode would be made clear enough. I will send a new version of this patch with this command added in the example, some description rephrased and typo fixed. > > > @@ -73,6 +80,14 @@ Stop exporting a device so it can be used by a local driver. > > List USB devices exported by a remote host. > > .PP > > +.HP > > +\fBlist\fR \-\-device > > +.IP > > +List USB gadgets of local usbip-vudc. > > +Only used when the local usbipd is in device mode. > > +This can not list usbip-vudc USB gadgets of the remote device mode usbipd. > > +.PP > > + > > .HP > > \fBlist\fR \-\-local > > .IP > > @@ -93,5 +108,15 @@ List local USB devices. > > client:# usbip detach --port=0 > > - Detach the usb device. > > +The following example shows the use of device mode > > + > > + server:# usbip list --device > > + - Note this is the server side > > + > > + client:# modprobe vhci-hcd > > + > > + client:# usbip attach --remote=server --device=usbip-vudc.0 > > + - Connect the remote USB gadget > > + > > .SH "SEE ALSO" > > \fBusbipd\fP\fB(8)\fB\fP > > diff --git a/tools/usb/usbip/doc/usbipd.8 b/tools/usb/usbip/doc/usbipd.8 > > index fb62a756893b..53c8d5792de6 100644 > > --- a/tools/usb/usbip/doc/usbipd.8 > > +++ b/tools/usb/usbip/doc/usbipd.8 > > @@ -29,6 +29,12 @@ Bind to IPv4. Default is both. > > Bind to IPv6. Default is both. > > .PP > > +.HP > > +\fB\-e\fR, \fB\-\-device\fR > > +.IP > > +Run in device mode. Rather than drive an attached device, create a virtual UDC to bind gadgets to. > > +.PP > > + > > .HP > > \fB\-D\fR, \fB\-\-daemon\fR > > .IP > > @@ -86,6 +92,22 @@ USB/IP client can connect and use exported devices. > > - A usb device 1-2 is now exportable to other hosts! > > - Use 'usbip unbind --busid=1-2' when you want to shutdown exporting and use the device locally. > > +The following example shows the use of device mode > > + > > + server:# modprobe usbip-vudc > > + - Use /sys/class/udc/ interface > > + - usbip-host is independent of this module. > > + > > + server:# usbipd -e -D > > + - Start usbip daemon in device mode. > > + > > + server:# modprobe g_mass_storage file=/tmp/tmp.img > > + - Bind a gadget to usbip-vudc > > + - in this example, a mass storage gadget is bound > > + > > + server:# usbip list --device > > + - Note this is the server side > > + > > .SH "SEE ALSO" > > \fBusbip\fP\fB(8)\fB\fP > > > > thanks, > -- Shuah >