summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/usb_template.4
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/usb_template.4')
-rw-r--r--static/freebsd/man4/usb_template.4134
1 files changed, 134 insertions, 0 deletions
diff --git a/static/freebsd/man4/usb_template.4 b/static/freebsd/man4/usb_template.4
new file mode 100644
index 00000000..9e87ccb2
--- /dev/null
+++ b/static/freebsd/man4/usb_template.4
@@ -0,0 +1,134 @@
+.\"
+.\" Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd August 7, 2019
+.Dt USB_TEMPLATE 4
+.Os
+.
+.Sh NAME
+.
+.
+.Nm usb_template
+.
+.Nd "USB device side templates"
+.
+.
+.Sh SYNOPSIS
+To compile this module into the kernel, place the following line in
+your kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device usb_template"
+.Ed
+.Pp
+To load the module at boot time, place the following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+usb_template_load="YES"
+.Ed
+.
+.Sh DESCRIPTION
+The
+.Nm
+module implements various USB templates that are needed when
+programming an USB device side driver.
+.
+A USB template consists of an USB device descriptor, one or more USB
+configuration descriptors, one or more USB interface descriptors, one
+or more USB endpoint descriptors, USB strings and additional USB
+descriptors.
+.
+USB templates are selected using the
+.Va hw.usb.template
+sysctl and tunable,
+or by using the
+.Xr usbconfig 8
+.Cm set_template
+subcommand.
+Changing the
+.Va hw.usb.template
+sysctl triggers reenumeration by the USB host; changes to other sysctls
+may not be visible to the host until reenumeration is performed.
+.Pp
+Available templates are:
+.Bl -column -offset 3n "Value"
+.It Em Value Ta Em Description
+.It Dv 0 Ta USB Mass Storage, see
+.Xr cfumass 4
+.It Dv 1 Ta CDC Ethernet, see
+.Xr cdce 4
+.It Dv 2 Ta Media Transfer Protocol (MTP)
+.It Dv 3 Ta USB serial port, see
+.Xr umodem 4
+.It Dv 4 Ta USB audio
+.It Dv 5 Ta USB keyboard
+.It Dv 6 Ta USB mouse
+.It Dv 7 Ta USB phone
+.It Dv 8 Ta CDC Ethernet and serial port
+.It Dv 9 Ta USB MIDI
+.It Dv 10 Ta CDC Ethernet, serial port, and storage
+.It Dv 11 Ta CDC Ethernet Emulation Model, see
+.Xr cdceem 4
+.El
+.
+.Sh SYSCTL VARIABLES
+The following variables are available as both
+.Xr sysctl 8
+variables and
+.Xr loader 8
+tunables:
+.Bl -tag -width indent
+.It Va hw.usb.template
+Currently selected template.
+Set to -1 to make the device disappear from the USB host point of view.
+.It Va hw.usb.template_power
+USB bus power consumption in mA at 5V.
+Must be between 0 and 500.
+Setting to 0 marks the device as self-powered.
+Defaults to 500mA.
+.It Va hw.usb.templates.N
+Configuration for template number
+.Va N .
+.It Va hw.usb.templates.N.vendor_id
+16-bit vendor identifier (VID), usually assigned by USB-IF.
+.It Va hw.usb.templates.N.product_id
+16-bit product identifier (PID).
+.It Va hw.usb.templates.N.manufacturer
+String containing human-readable manufacturer name.
+.It Va hw.usb.templates.N.product
+String containing human-readable product name.
+.El
+.Sh SEE ALSO
+.Xr cfumass 4 ,
+.Xr usb 4 ,
+.Xr usfs 4 ,
+.Xr usbconfig 8
+.Sh STANDARDS
+The
+.Nm
+module complies to the USB 1.0, 2.0 and 3.0 standard.
+.Sh HISTORY
+The
+.Nm
+module was written by
+.An Hans Petter Selasky Aq Mt hselasky@FreeBSD.org .