Index: head/share/man/man4/ehci.4 =================================================================== --- head/share/man/man4/ehci.4 (revision 332949) +++ head/share/man/man4/ehci.4 (revision 332950) @@ -1,114 +1,112 @@ .\" $NetBSD: ehci.4,v 1.8 2001/11/21 17:22:56 augustss Exp $ .\" .\" Copyright (c) 2001 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Lennart Augustsson. .\" .\" 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. .\" .\" $FreeBSD$ .\" -.Dd August 3, 2017 +.Dd April 24, 2018 .Dt EHCI 4 .Os .Sh NAME .Nm ehci .Nd USB Enhanced Host Controller driver .Sh SYNOPSIS .Cd "device ehci" .Sh DESCRIPTION The .Nm driver provides support for the .Tn USB Enhanced Host Controller Interface, which is used by .Tn USB 2.0 controllers. .Pp .Tn EHCI controllers are peculiar in that they can only handle the .Tn USB 2.0 protocol. This means that they normally have one or more companion controllers (i.e., .Xr ohci 4 or .Xr uhci 4 ) handling USB 1.x devices. Consequently each .Tn USB connector is electrically connected to two .Tn USB controllers. The handling of this is totally automatic, but can be noticed since .Tn USB 1.x and .Tn USB 2.0 devices plugged in to the same connector appear to connect to different USB buses. .Sh LOADER TUNABLES When the kernel has been compiled with .Cd options USB_DEBUG , some tunables become available that affect the behavior of .Nm . These tunables can be set at the .Xr loader 8 prompt before booting the kernel or stored in .Xr loader.conf 5 . .Bl -tag -width "xxxxxx" .It Va hw.usb.ehci.lostintrbug This tunable enables the lost interrupt quirk. The default value is 0 (off). .It Va hw.usb.ehci.iaadbug This tunable enables the EHCI doorbell quirk. The default value is 0 (off). .It Va hw.usb.ehci.no_hs This tunable disables USB devices to attach like HIGH-speed ones and will force all attached devices to attach to the FULL- or LOW-speed companion controller. The default value is 0 (off). -.Sh MIB Variables -The -.Nm -driver exposes the following variables in the -.Va hw.usb.ehci -branch of the -.Xr sysctl 3 -MIB: -.Bl -tag -width ".Va debug" -.It Va debug +.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.ehci.debug Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0. .El .Sh SEE ALSO .Xr ohci 4 , .Xr uhci 4 , .Xr usb 4 , .Xr xhci 4 .Sh HISTORY The .Nm device driver first appeared in .Fx 5.1 . Index: head/share/man/man4/ohci.4 =================================================================== --- head/share/man/man4/ohci.4 (revision 332949) +++ head/share/man/man4/ohci.4 (revision 332950) @@ -1,91 +1,89 @@ .\" Copyright (c) 1999 .\" Nick Hibma . 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. .\" .\" $FreeBSD$ .\" -.Dd August 3, 2017 +.Dd April 24, 2018 .Dt OHCI 4 .Os .Sh NAME .Nm ohci .Nd OHCI USB Host Controller driver .Sh SYNOPSIS .Cd "device ohci" .Sh DESCRIPTION The .Nm driver provides support for OHCI-type PCI based USB controllers. .Sh HARDWARE The .Nm driver supports all OHCI v1.0 compliant controllers including: .Pp .Bl -bullet -compact .It AcerLabs M5237 (Aladdin-V) .It AMD-756 .It OPTi 82C861 (FireLink) .It NEC uPD 9210 .It CMD Tech 670 (USB0670) .It CMD Tech 673 (USB0673) .It NVIDIA nForce3 .It Sun PCIO-2 (RIO USB) .El -.Sh MIB Variables -The -.Nm -driver exposes the following variables in the -.Va hw.usb.ohci -branch of the -.Xr sysctl 3 -MIB: -.Bl -tag -width ".Va debug" -.It Va debug +.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.ohci.debug Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0. .Sh SEE ALSO .Xr ehci 4 , .Xr uhci 4 , .Xr xhci 4 .Sh HISTORY The .Nm device driver first appeared in .Fx 3.0 . .Sh AUTHORS The .Nm driver was written by .An Lennart Augustsson Aq Mt augustss@carlstedt.se for the .Nx project. Index: head/share/man/man4/ucom.4 =================================================================== --- head/share/man/man4/ucom.4 (revision 332949) +++ head/share/man/man4/ucom.4 (revision 332950) @@ -1,162 +1,160 @@ .\" $NetBSD: ucom.4,v 1.9 2002/03/22 00:39:40 augustss Exp $ .\" .\" Copyright (c) 1999 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Lennart Augustsson. .\" .\" 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. .\" .\" $FreeBSD$ .\" -.Dd August 3, 2017 +.Dd April 24, 2018 .Dt UCOM 4 .Os .Sh NAME .Nm ucom .Nd USB tty support .Sh SYNOPSIS To compile this driver into the kernel, place the following line in your kernel configuration file: .Bd -ragged -offset indent .Cd "device ucom" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent ucom_load="YES" .Ed .Sh DESCRIPTION The .Nm driver attaches to USB modems, serial ports, and other devices that need to look like a tty. The .Nm driver shows a behavior like a .Xr tty 4 . This means that normal programs such as .Xr tip 1 or .Xr ppp 8 can be used to access the device. -.Sh MIB Variables -The -.Nm -driver exposes the following variables in the -.Va hw.usb.ucom -branch of the -.Xr sysctl 3 -MIB: -.Bl -tag -width ".Va pps_mode" -.It Va debug +.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.ucom.debug Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0. -.It Va pps_mode +.It Va hw.usb.ucom.pps_mode Enables and configure PPS capture mode as described below. .Sh Pulse Per Second (PPS) Timing Interface The .Nm driver can capture PPS timing information as defined in RFC 2783. The API, accessed via .Xr ioctl 2 , is available on the tty device. To use the PPS capture feature with .Xr ntpd 8 , symlink the tty device to .Va /dev/pps0. .Pp The .Va hw.usb.ucom.pps_mode sysctl configures the PPS capture mode. It can be set in .Xr loader.conf 5 or .Xr sysctl.conf 5 . The following capture modes are available: .Bl -tag -compact -offset "mmmm" -width "mmmm" .It 0 Capture disabled (default). .It 1 Capture pulses on the CTS line. .It 2 Capture pulses on the DCD line. .El .Sh FILES .Bl -tag -width "/dev/ttyU*.init" -compact .It Pa /dev/ttyU* for callin ports .It Pa /dev/ttyU*.init .It Pa /dev/ttyU*.lock corresponding callin initial-state and lock-state devices .Pp .It Pa /dev/cuaU* for callout ports .It Pa /dev/cuaU*.init .It Pa /dev/cuaU*.lock corresponding callout initial-state and lock-state devices .El .Sh SEE ALSO .Xr tty 4 , .Xr uark 4 , .Xr ubsa 4 , .Xr ubser 4 , .Xr uchcom 4 , .Xr ucycom 4 , .Xr ufoma 4 , .Xr uftdi 4 , .Xr uhso 4 , .\".Xr ugensa 4 , .Xr uipaq 4 , .Xr umcs 4 , .Xr umct 4 , .Xr umodem 4 , .Xr umoscom 4 , .Xr uplcom 4 , .Xr usb 4 , .Xr uslcom 4 , .Xr uvisor 4 , .Xr uvscom 4 .Sh HISTORY The .Nm driver was adopted from .Nx in March of 2002. This manual page was adopted from .Nx by .An Tom Rhodes Aq Mt trhodes@FreeBSD.org in April 2002. .Sh BUGS Prior to .Fx 6.0 .Nm created .Pa /dev/ucom? rather than the uniform device names created today. Old scripts must be adjusted accordingly. Index: head/share/man/man4/ugen.4 =================================================================== --- head/share/man/man4/ugen.4 (revision 332949) +++ head/share/man/man4/ugen.4 (revision 332950) @@ -1,324 +1,322 @@ .\" $NetBSD: ugen.4,v 1.13 2001/09/11 22:52:54 wiz Exp $ .\" .\" Copyright (c) 1999 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Lennart Augustsson. .\" .\" 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. .\" .\" $FreeBSD$ .\" -.Dd August 3, 2017 +.Dd April 24, 2018 .Dt UGEN 4 .Os .Sh NAME .Nm ugen .Nd USB generic device support .Sh SYNOPSIS .Nm is integrated into the .Xr usb 4 kernel module. .Sh DESCRIPTION The .Nm driver provides support for all USB devices that do not have a special driver. It supports access to all parts of the device, but not in a way that is as convenient as a special purpose driver. .Pp There can be up to 127 USB devices connected to a USB bus. Each USB device can have up to 16 endpoints. Each of these endpoints will communicate in one of four different modes: control, isochronous, bulk, or interrupt. Each of the endpoints will have a different device node. The four least significant bits in the minor device number determine which endpoint the device accesses, and the rest of the bits determine which USB device. .Pp If an endpoint address is used both for input and output, the device can be opened for both read or write. .Pp To find out which endpoints exist, there are a series of .Xr ioctl 2 operations on the control endpoint that return the USB descriptors of the device, configurations, interfaces, and endpoints. .Pp The control transfer mode can only happen on the control endpoint which is always endpoint 0. The control endpoint accepts a request and may respond with an answer to such a request. Control requests are issued by .Xr ioctl 2 calls. .\" .Pp .\" The isochronous transfer mode can be in or out depending on the .\" endpoint. .\" To perform I/O on an isochronous endpoint .\" .Xr read 2 .\" and .\" .Xr write 2 .\" should be used. .\" Before any I/O operations can take place the transfer rate in .\" bytes/second has to be set. .\" This is done with .\" .Xr ioctl 2 .\" .Dv USB_SET_ISO_RATE . .\" Performing this call sets up a buffer corresponding to .\" about 1 second of data. .Pp The bulk transfer mode can be in or out depending on the endpoint. To perform I/O on a bulk endpoint .Xr read 2 and .Xr write 2 should be used. All I/O operations on a bulk endpoint are unbuffered. .Pp The interrupt transfer mode can be in or out depending on the endpoint. To perform I/O on an interrupt endpoint .Xr read 2 and .Xr write 2 should be used. A moderate amount of buffering is done by the driver. .Pp All endpoints handle the following .Xr ioctl 2 calls: .Bl -tag -width indent .It Dv USB_SET_SHORT_XFER Pq Vt int Allow short read transfer. Normally a transfer from the device which is shorter than the request specified is reported as an error. .It Dv USB_SET_TIMEOUT Pq Vt int Set the timeout on the device operations The time is specified in milliseconds. The value 0 is used to indicate that there is no timeout. .El .Pp The control endpoint (endpoint 0) handles the following .Xr ioctl 2 calls: .Bl -tag -width indent .It Dv USB_GET_CONFIG Pq Vt int Get the device configuration number. .It Dv USB_SET_CONFIG Pq Vt int Set the device into the given configuration number. .Pp This operation can only be performed when the control endpoint is the sole open endpoint. .It Dv USB_GET_ALTINTERFACE Pq Vt "struct usb_alt_interface" Get the alternative setting number for the interface with the given index. The .Va uai_config_index is ignored in this call. .Bd -literal struct usb_alt_interface { int uai_config_index; int uai_interface_index; int uai_alt_no; }; .Ed .It Dv USB_SET_ALTINTERFACE Pq Vt "struct usb_alt_interface" Set the alternative setting to the given number in the interface with the given index. The .Va uai_config_index is ignored in this call. .Pp This operation can only be performed when no endpoints for the interface are open. .It Dv USB_GET_NO_ALT Pq Vt "struct usb_alt_interface" Return the number of different alternate settings in the .Va uai_alt_no field. .It Dv USB_GET_DEVICE_DESC Pq Vt usb_device_descriptor_t Return the device descriptor. .It Dv USB_GET_CONFIG_DESC Pq Vt "struct usb_config_desc" Return the descriptor for the configuration with the given index. For convenience, the current configuration can be specified by .Dv USB_CURRENT_CONFIG_INDEX . .Bd -literal struct usb_config_desc { int ucd_config_index; usb_config_descriptor_t ucd_desc; }; .Ed .It Dv USB_GET_INTERFACE_DESC Pq Vt "struct usb_interface_desc" Return the interface descriptor for an interface specified by its configuration index, interface index, and alternative index. For convenience, the current alternative can be specified by .Dv USB_CURRENT_ALT_INDEX . .Bd -literal struct usb_interface_desc { int uid_config_index; int uid_interface_index; int uid_alt_index; usb_interface_descriptor_t uid_desc; }; .Ed .It Dv USB_GET_ENDPOINT_DESC Pq Vt "struct usb_endpoint_desc" Return the endpoint descriptor for the endpoint specified by its configuration index, interface index, alternative index, and endpoint index. .Bd -literal struct usb_endpoint_desc { int ued_config_index; int ued_interface_index; int ued_alt_index; int ued_endpoint_index; usb_endpoint_descriptor_t ued_desc; }; .Ed .It Dv USB_GET_FULL_DESC Pq Vt "struct usb_full_desc" Return all the descriptors for the given configuration. .Bd -literal struct usb_full_desc { int ufd_config_index; u_int ufd_size; u_char *ufd_data; }; .Ed The .Va ufd_data field should point to a memory area of the size given in the .Va ufd_size field. The proper size can be determined by first issuing a .Dv USB_GET_CONFIG_DESC and inspecting the .Va wTotalLength field. .It Dv USB_GET_STRING_DESC Pq Vt "struct usb_string_desc" Get a string descriptor for the given language ID and string index. .Bd -literal struct usb_string_desc { int usd_string_index; int usd_language_id; usb_string_descriptor_t usd_desc; }; .Ed .It Dv USB_DO_REQUEST Pq Vt "struct usb_ctl_request" Send a USB request to the device on the control endpoint. Any data sent to/from the device is located at .Va ucr_data . The size of the transferred data is determined from the .Va ucr_request . The .Va ucr_addr field is ignored in this call. The .Va ucr_flags field can be used to flag that the request is allowed to be shorter than the requested size, and .Va ucr_actlen will contain the actual size on completion. .Bd -literal struct usb_ctl_request { int ucr_addr; usb_device_request_t ucr_request; void *ucr_data; int ucr_flags; #define USBD_SHORT_XFER_OK 0x04 /* allow short reads */ int ucr_actlen; /* actual length transferred */ }; .Ed This is a dangerous operation in that it can perform arbitrary operations on the device. Some of the most dangerous (e.g., changing the device address) are not allowed. .It Dv USB_GET_DEVICEINFO Pq Vt "struct usb_device_info" Get an information summary for the device. This call will not issue any USB transactions. .El .Pp Note that there are two different ways of addressing configurations, interfaces, alternatives, and endpoints: by index or by number. The index is the ordinal number (starting from 0) of the descriptor as presented by the device. The number is the respective number of the entity as found in its descriptor. Enumeration of descriptors uses the index, getting and setting typically uses numbers. .Pp Example: all endpoints (except the control endpoint) for the current configuration can be found by iterating the .Va interface_index from 0 to .Va config_desc->bNumInterface Ns \-1 and for each of these, iterating the .Va endpoint_index from 0 to .Va interface_desc->bNumEndpoints . The .Va config_index should be set to .Dv USB_CURRENT_CONFIG_INDEX and .Va alt_index should be set to .Dv USB_CURRENT_ALT_INDEX . -.Sh MIB Variables -The -.Nm -driver exposes the following variables in the -.Va hw.usb.ugen -branch of the -.Xr sysctl 3 -MIB: -.Bl -tag -width ".Va debug" -.It Va debug +.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.ugen.debug Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0. .Sh FILES .Bl -tag -width ".Pa /dev/ugen Ns Ar N Ns Pa \&. Ns Ar E" -compact .It Pa /dev/ugen Ns Ar N Ns Pa \&. Ns Ar E Endpoint .Ar E of device .Ar N . .El .Sh SEE ALSO .Xr usb 4 .Sh HISTORY The .Nm driver appeared in .Nx 1.4 . .\" .Sh BUGS .\" The driver is not yet finished; there is no access to isochronous endpoints. Index: head/share/man/man4/uhci.4 =================================================================== --- head/share/man/man4/uhci.4 (revision 332949) +++ head/share/man/man4/uhci.4 (revision 332950) @@ -1,81 +1,79 @@ .\" Copyright (c) 1999 .\" Nick Hibma . 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. .\" .\" $FreeBSD$ .\" -.Dd August 3, 2017 +.Dd April 24, 2018 .Dt UHCI 4 .Os .Sh NAME .Nm uhci .Nd UHCI USB Host Controller driver .Sh SYNOPSIS .Cd "device uhci" .Sh DESCRIPTION The .Nm driver provides support for UHCI-type PCI based USB controllers. .Sh HARDWARE The .Nm driver supports all UHCI v1.1 compliant controllers including: .Pp .Bl -bullet -compact .It Intel 82371AB/EB (PIIX4) .It Intel 82371SB (PIIX3) .It VIA 83C572 .El -.Sh MIB Variables -The -.Nm -driver exposes the following variables in the -.Va hw.usb.uhci -branch of the -.Xr sysctl 3 -MIB: -.Bl -tag -width ".Va debug" -.It Va debug +.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.uhci.debug Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0. .Sh SEE ALSO .Xr ehci 4 , .Xr ohci 4 , .Xr xhci 4 .Sh HISTORY The .Nm device driver first appeared in .Fx 3.0 . .Sh AUTHORS The .Nm driver was written by .An Lennart Augustsson Aq Mt augustss@carlstedt.se for the .Nx project. Index: head/share/man/man4/uhid.4 =================================================================== --- head/share/man/man4/uhid.4 (revision 332949) +++ head/share/man/man4/uhid.4 (revision 332950) @@ -1,160 +1,158 @@ .\" $NetBSD: uhid.4,v 1.13 2001/12/29 14:41:59 augustss Exp $ .\" .\" Copyright (c) 1999, 2001 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Lennart Augustsson. .\" .\" 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. .\" .\" $FreeBSD$ .\" -.Dd August 3, 2017 +.Dd April 24, 2018 .Dt UHID 4 .Os .Sh NAME .Nm uhid .Nd USB generic HID support .Sh SYNOPSIS To compile this driver into the kernel, place the following line in your kernel configuration file: .Bd -ragged -offset indent .Cd "device uhid" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent uhid_load="YES" .Ed .Sh DESCRIPTION The .Nm driver provides support for all HID (Human Interface Device) interfaces in USB devices that do not have a special driver. .Pp The device handles the following .Xr ioctl 2 calls: .Bl -tag -width indent .It Dv USB_GET_REPORT_ID Pq Vt int Get the report identifier used by this HID report. .It Dv USB_GET_REPORT_DESC Pq Vt "struct usb_ctl_report_desc" Get the HID report descriptor. Using this descriptor the exact layout and meaning of data to/from the device can be found. The report descriptor is delivered without any processing. .Bd -literal struct usb_ctl_report_desc { int ucrd_size; u_char ucrd_data[1024]; /* filled data size will vary */ }; .Ed .It Dv USB_SET_IMMED Pq Vt int Sets the device in a mode where each .Xr read 2 will return the current value of the input report. Normally a .Xr read 2 will only return the data that the device reports on its interrupt pipe. This call may fail if the device does not support this feature. .It Dv USB_GET_REPORT Pq Vt "struct usb_ctl_report" Get a report from the device without waiting for data on the interrupt pipe. The .Va report field indicates which report is requested. It should be .Dv UHID_INPUT_REPORT , .Dv UHID_OUTPUT_REPORT , or .Dv UHID_FEATURE_REPORT . This call may fail if the device does not support this feature. .Bd -literal struct usb_ctl_report { int ucr_report; u_char ucr_data[1024]; /* used data size will vary */ }; .Ed .It Dv USB_SET_REPORT Pq Vt "struct usb_ctl_report" Set a report in the device. The .Va report field indicates which report is to be set. It should be .Dv UHID_INPUT_REPORT , .Dv UHID_OUTPUT_REPORT , or .Dv UHID_FEATURE_REPORT . This call may fail if the device does not support this feature. .El .Pp Use .Xr read 2 to get data from the device. Data should be read in chunks of the size prescribed by the report descriptor. .Pp Use .Xr write 2 to send data to the device. Data should be written in chunks of the size prescribed by the report descriptor. -.Sh MIB Variables -The -.Nm -driver exposes the following variables in the -.Va hw.usb.uhid -branch of the -.Xr sysctl 3 -MIB: -.Bl -tag -width ".Va debug" -.It Va debug +.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.uhid.debug Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0. .Sh FILES .Bl -tag -width ".Pa /dev/uhid?" .It Pa /dev/uhid? .El .Sh SEE ALSO .Xr usbhidctl 1 , .Xr usb 4 .Sh HISTORY The .Nm driver appeared in .Nx 1.4 . This manual page was adopted from .Nx by .An Tom Rhodes Aq Mt trhodes@FreeBSD.org in April 2002. Index: head/share/man/man4/ukbd.4 =================================================================== --- head/share/man/man4/ukbd.4 (revision 332949) +++ head/share/man/man4/ukbd.4 (revision 332950) @@ -1,187 +1,185 @@ .\" Copyright (c) 1997, 1998 .\" Nick Hibma . 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. .\" .\" $FreeBSD$ .\" -.Dd August 3, 2017 +.Dd April 24, 2018 .Dt UKBD 4 .Os .Sh NAME .Nm ukbd .Nd USB keyboard driver .Sh SYNOPSIS To compile this driver into the kernel, place the following line in your kernel configuration file: .Bd -ragged -offset indent .Cd "device ukbd" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent ukbd_load="YES" .Ed .Sh DESCRIPTION The .Nm driver provides support for keyboards that attach to the USB port. .Xr usb 4 and one of .Xr uhci 4 or .Xr ohci 4 must be configured in the kernel as well. .Sh CONFIGURATION By default, the keyboard subsystem does not create the appropriate devices yet. Make sure you reconfigure your kernel with the following option in the kernel config file: .Pp .Dl "options KBD_INSTALL_CDEV" .Pp If both an AT keyboard USB keyboards are used at the same time, the AT keyboard will appear as .Pa kbd0 in .Pa /dev . The USB keyboards will be .Pa kbd1 , kbd2 , etc. You can see some information about the keyboard with the following command: .Pp .Dl "kbdcontrol -i < /dev/kbd1" .Pp or load a keymap with .Pp .Dl "kbdcontrol -l keymaps/pt.iso < /dev/kbd1" .Pp See .Xr kbdcontrol 1 for more possible options. .Pp You can swap console keyboards by using the command .Pp .Dl "kbdcontrol -k /dev/kbd1" .Pp From this point on, the first USB keyboard will be the keyboard to be used by the console. .Pp If you want to use a USB keyboard as your default and not use an AT keyboard at all, you will have to remove the .Cd "device atkbd" line from the kernel configuration file. Because of the device initialization order, the USB keyboard will be detected .Em after the console driver initializes itself and you have to explicitly tell the console driver to use the existence of the USB keyboard. This can be done in one of the following two ways. .Pp Run the following command as a part of system initialization: .Pp .Dl "kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/null" .Pp (Note that as the USB keyboard is the only keyboard, it is accessed as .Pa /dev/kbd0 ) or otherwise tell the console driver to periodically look for a keyboard by setting a flag in the kernel configuration file: .Pp .Dl "device sc0 at isa? flags 0x100" .Pp With the above flag, the console driver will try to detect any keyboard in the system if it did not detect one while it was initialized at boot time. .Sh DRIVER CONFIGURATION .D1 Cd "options KBD_INSTALL_CDEV" .Pp Make the keyboards available through a character device in .Pa /dev . .Pp .D1 Cd options UKBD_DFLT_KEYMAP .D1 Cd makeoptions UKBD_DFLT_KEYMAP=fr.iso .Pp The above lines will put the French ISO keymap in the ukbd driver. You can specify any keymap in .Pa /usr/share/syscons/keymaps or .Pa /usr/share/vt/keymaps (depending on the console driver being used) with this option. .Pp .D1 Cd "options KBD_DISABLE_KEYMAP_LOADING" .Pp Do not allow the user to change the keymap. Note that these options also affect the AT keyboard driver, .Xr atkbd 4 . -.Sh MIB Variables -The -.Nm -driver exposes the following variables in the -.Va hw.usb.ukbd -branch of the -.Xr sysctl 3 -MIB: -.Bl -tag -width ".Va debug" -.It Va debug +.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.ukbd.debug Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0. .Sh FILES .Bl -tag -width ".Pa /dev/kbd*" -compact .It Pa /dev/kbd* blocking device nodes .El .Sh EXAMPLES .D1 Cd "device ukbd" .Pp Add the .Nm driver to the kernel. .Sh SEE ALSO .Xr kbdcontrol 1 , .Xr ohci 4 , .Xr syscons 4 , .Xr uhci 4 , .Xr usb 4 , .Xr vt 4 , .Xr config 8 .Sh AUTHORS .An -nosplit The .Nm driver was written by .An Lennart Augustsson Aq Mt augustss@cs.chalmers.se for .Nx and was substantially rewritten for .Fx by .An Kazutaka YOKOTA Aq Mt yokota@zodiac.mech.utsunomiya-u.ac.jp . .Pp This manual page was written by .An Nick Hibma Aq Mt n_hibma@FreeBSD.org with a large amount of input from .An Kazutaka YOKOTA Aq Mt yokota@zodiac.mech.utsunomiya-u.ac.jp . Index: head/share/man/man4/ums.4 =================================================================== --- head/share/man/man4/ums.4 (revision 332949) +++ head/share/man/man4/ums.4 (revision 332950) @@ -1,126 +1,124 @@ .\" Copyright (c) 1999 .\" Nick Hibma . 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. .\" .\" $FreeBSD$ .\" -.Dd August 3, 2017 +.Dd April 24, 2018 .Dt UMS 4 .Os .Sh NAME .Nm ums .Nd USB mouse driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device ums" .Cd "device uhci" .Cd "device ohci" .Cd "device usb" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent ums_load="YES" .Ed .Sh DESCRIPTION The .Nm driver provides support for mice that attach to the USB port. Supported are mice with any number of buttons and mice with a wheel. .Pp The .Pa /dev/ums0 device presents the mouse as a .Ar sysmouse or .Ar mousesystems type device. See .Xr moused 8 for an explanation of these mouse types. -.Sh MIB Variables -The -.Nm -driver exposes the following variables in the -.Va hw.usb.ums -branch of the -.Xr sysctl 3 -MIB: -.Bl -tag -width ".Va debug" -.It Va debug +.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.ums.debug Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0. .Sh FILES .Bl -tag -width /dev/ums0 -compact .It Pa /dev/ums0 blocking device node .El .Sh EXAMPLES Use the first USB mouse on the system as your console mouse: .Pp .Dl moused -p /dev/ums0 -t auto .Pp To be able to use the USB mouse under X, change the "Pointer" section in .Nm xorg.conf to the following: .Pp .Dl Device "/dev/ums0" .Dl Protocol "Auto" .Pp If you want to be able to use the mouse in both virtual consoles as well as in X change it to: .Pp .Dl Device "/dev/sysmouse" .Dl Protocol "Auto" .Sh SEE ALSO .Xr ohci 4 , .Xr sysmouse 4 , .Xr uhci 4 , .Xr usb 4 , .Xr xorg.conf 5 Pq Pa ports/x11/xorg , .Xr moused 8 .Sh AUTHORS .An -nosplit The .Nm driver was written by .An Lennart Augustsson Aq Mt augustss@cs.chalmers.se for .Nx and was adopted for .Fx by .An MAEKAWA Masahide Aq Mt bishop@rr.iij4u.or.jp . .Pp This manual page was written by .An Nick Hibma Aq Mt n_hibma@FreeBSD.org with input from .An Kazutaka YOKOTA Aq Mt yokota@zodiac.mech.utsunomiya-u.ac.jp . Index: head/share/man/man4/uplcom.4 =================================================================== --- head/share/man/man4/uplcom.4 (revision 332949) +++ head/share/man/man4/uplcom.4 (revision 332950) @@ -1,224 +1,222 @@ .\" $NetBSD: uplcom.4,v 1.9 2002/02/07 03:15:09 ross Exp $ .\" .\" Copyright (c) 2001 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Lennart Augustsson. .\" .\" 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. .\" .\" $FreeBSD$ .\" -.Dd August 3, 2017 +.Dd April 24, 2018 .Dt UPLCOM 4 .Os .Sh NAME .Nm uplcom .Nd USB support for Prolific PL-2303/2303X/2303HX serial adapters driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device usb" .Cd "device ucom" .Cd "device uplcom" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent uplcom_load="YES" .Ed .Sh DESCRIPTION The .Nm driver provides support for various serial adapters based on the Prolific PL-2303, PL-2303X and PL-2303HX USB-to-RS232 Bridge chips. .Pp The device is accessed through the .Xr ucom 4 driver which makes it behave like a .Xr tty 4 . .Sh HARDWARE The .Nm driver supports the following devices and adapters: .Pp .Bl -bullet -compact .It ADLINK ND-6530 USB-Serial Adapter .It Alcatel One Touch 535/735 Phone .It Alcor AU9720 USB-RS232 Serial Adapter .It AlDiga AL-11U Modem .It Alltronix ACM003U00 Modem .It Anchor Serial adapter .It ATEN UC-232A .It BAFO BF-800 and BF-810 .It Belkin F5U257 .It BenQ S81 Phone .It Corega CG-USBRS232R Serial Adapter .It Cressi Edy (Seiko) Diving Computer .It ELECOM UC-SGT Serial Adapter .It HAL Corporation Crossam2+USB IR commander .It Hama USB RS-232 Serial Adapter .It Hamlet exaggerate XURS232 .It HP LD220 Point-Of-Sale (POS) Display .It IOGEAR UC-232A .It I/O DATA USB-RSAQ, USB-RSAQ2, USB-RSAQ3 and USB-RSAQ5 .It iTegno WM1080A GSM/GFPRS Modem .It iTegno WM2080A CDMA Modem .It Leadtek 9531 GPS .It Micromax 610U Modem .It Microsoft Palm 700WX .It Mobile Action MA-620 Infrared Adapter .It Motorola Cables .It Nokia CA-42 Cable .It OTI DKU-5 cable .It Panasonic TY-TP50P6-S flat screen .It PLX CA-42 Phone Cable .It PLANEX USB-RS232 URS-03 .It Prolific Generic USB-Serial Adapters .It Prolific Pharos USB-Serial Adapter .It RATOC REX-USB60 .It Radio Shack USB Serial Cable .It Sagem USB-Serial Adapter .It Samsung I330 Phone Cradle .It Sandberg USB to Serial Link (model number 133-08) .It Sanwa KB-USB2 Multimeter cable .It Siemens/BenQ EF81, SX1, X65 and X75 Mobile Phones .It Sitecom USB-Serial Adapter .It SMART Technologies USB-Serial Adapter .It Sony QN3 Phone Cable .It Sony Ericsson Datapilot .It Sony Ericsson DCU-10 and DCU-11 (Susteen) USB Cables .It SOURCENEXT KeikaiDenwa 8 (with and without charger) .It Speed Dragon USB-Serial Cable .It Syntech CPT-8001C Barcode Scanner .It TDK UHA6400 and UPA9664 USB-PHS Adapters .It TRENDnet USB to Serial Converter (TU-S9) .It Tripp-Lite U209-000-R USB-Serial Adapter .It UIC HCR331 Magnetic Stripe Card Reader .It UIC MSR206 Magnetic Stripe Card Reader .It Willcom W-SIM DD PHS terminal.(WS002IN) .It YC-Cable USB-Serial Adapter .It Zeagle N2iTion3 Diving Computer .El -.Sh MIB Variables -The -.Nm -driver exposes the following variables in the -.Va hw.usb.uplcom -branch of the -.Xr sysctl 3 -MIB: -.Bl -tag -width ".Va debug" -.It Va debug +.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.uplcom.debug Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0. .Sh FILES .Bl -tag -width "/dev/ttyU*.init" -compact .It Pa /dev/ttyU* for callin ports .It Pa /dev/ttyU*.init .It Pa /dev/ttyU*.lock corresponding callin initial-state and lock-state devices .Pp .It Pa /dev/cuaU* for callout ports .It Pa /dev/cuaU*.init .It Pa /dev/cuaU*.lock corresponding callout initial-state and lock-state devices .El .Sh SEE ALSO .Xr tty 4 , .Xr ucom 4 , .Xr usb 4 .Sh HISTORY The .Nm driver appeared in .Nx 1.6 . This manual page was adopted from .Nx by .An Tom Rhodes Aq Mt trhodes@FreeBSD.org in April 2002. Index: head/share/man/man4/usb.4 =================================================================== --- head/share/man/man4/usb.4 (revision 332949) +++ head/share/man/man4/usb.4 (revision 332950) @@ -1,193 +1,191 @@ .\" Copyright (c) 1997, 1998 Nick Hibma .\" 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. .\" .\" $FreeBSD$ .\" -.Dd August 3, 2017 +.Dd April 24, 2018 .Dt USB 4 .Os .Sh NAME .Nm usb .Nd Universal Serial Bus .Sh SYNOPSIS To compile this driver into the kernel, place the following line in your kernel configuration file: .Bd -ragged -offset indent .Cd "device usb" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent usb_load="YES" .Ed .Sh USERLAND PROGRAMMING USB functions can be accessed from userland through the libusb library. See .Xr libusb 3 for more information. .Sh DESCRIPTION .Fx provides machine-independent bus support and drivers for .Tn USB devices in host and device side mode. .Pp The .Nm driver has three layers: .Bl -tag -width 6n -offset indent .It USB Controller (Bus) .It USB Device .It USB Driver .El .Pp The controller attaches to a physical bus like .Xr pci 4 . The .Tn USB bus attaches to the controller, and the root hub attaches to the controller. Any devices attached to the bus will attach to the root hub or another hub attached to the .Tn USB bus. .Pp The .Nm uhub device will always be present as it is needed for the root hub. .Sh INTRODUCTION TO USB The .Tn USB is a system where external devices can be connected to a PC. The most common USB speeds are: .Bl -tag -width 6n -offset indent .It Low Speed (1.5MBit/sec) .It Full Speed (12MBit/sec) .It High Speed (480MBit/sec) .El .Pp Each .Tn USB has a USB controller that is the master of the bus. The physical communication is simplex which means the host controller only communicates with one USB device at a time. .Pp There can be up to 127 devices connected to an USB HUB tree. The addresses are assigned dynamically by the host when each device is attached to the bus. .Pp Within each device there can be up to 16 endpoints. Each endpoint is individually addressed and the addresses are static. Each of these endpoints will communicate in one of four different modes: .Em control , isochronous , bulk , or .Em interrupt . A device always has at least one endpoint. This endpoint has address 0 and is a control endpoint and is used to give commands to and extract basic data, such as descriptors, from the device. Each endpoint, except the control endpoint, is unidirectional. .Pp The endpoints in a device are grouped into interfaces. An interface is a logical unit within a device, e.g., a compound device with both a keyboard and a trackball, would present one interface for each. An interface can sometimes be set into different modes, called alternate settings, which affects how it operates. Different alternate settings can have different endpoints within it. .Pp A device may operate in different configurations. Depending on the configuration, the device may present different sets of endpoints and interfaces. .Pp The bus enumeration of the .Tn USB bus proceeds in several steps: .Bl -enum .It Any interface specific driver can attach to the device. .It If none is found, generic interface class drivers can attach. .El -.Sh MIB Variables -The -.Nm -driver exposes the following variables in the -.Va hw.usb -branch of the -.Xr sysctl 3 -MIB: -.Bl -tag -width ".Va debug" -.It Va debug +.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.debug Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0. .Sh SEE ALSO The .Tn USB specifications can be found at: .Pp .D1 Pa http://www.usb.org/developers/docs/ .Pp .Xr libusb 3 , .Xr aue 4 , .Xr axe 4 , .Xr axge 4 , .Xr cue 4 , .Xr ehci 4 , .Xr kue 4 , .Xr mos 4 , .Xr ohci 4 , .Xr pci 4 , .Xr rue 4 , .Xr ucom 4 , .Xr udav 4 , .Xr uhci 4 , .Xr uhid 4 , .Xr ukbd 4 , .Xr ulpt 4 , .Xr umass 4 , .Xr ums 4 , .Xr uplcom 4 , .Xr urio 4 , .Xr uvscom 4 , .Xr xhci 4 .Xr usbconfig 8 , .Xr usbdi 9 , .Sh STANDARDS The .Nm module complies with the USB 2.0 standard. .Sh HISTORY The .Nm module has been inspired by the .Nx USB stack initially written by .An Lennart Augustsson . The .Nm module was written by .An Hans Petter Selasky Aq Mt hselasky@FreeBSD.org . Index: head/share/man/man4/xhci.4 =================================================================== --- head/share/man/man4/xhci.4 (revision 332949) +++ head/share/man/man4/xhci.4 (revision 332950) @@ -1,81 +1,79 @@ .\" .\" Copyright (c) 2011 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. .\" .\" $FreeBSD$ .\" -.Dd August 3, 2017 +.Dd April 24, 2018 .Dt XHCI 4 .Os .Sh NAME .Nm xhci .Nd USB eXtensible Host Controller driver .Sh SYNOPSIS .Cd "device xhci" .Sh DESCRIPTION The .Nm driver provides support for the .Tn USB eXtensible Host Controller Interface, which allows use of .Tn USB 1.0, 2.0 and 3.0 devices on the same .Tn USB port. .Pp The .Tn XHCI controller supports .Tn USB connection speeds up to 5.0Gbps when using a USB 3.0 compliant device. .Sh HARDWARE The .Nm driver supports .Tn XHCI compatible controllers having PCI class 12 (serial bus), subclass 3 (USB) and programming interface 48 (XHCI). -.Sh MIB Variables -The -.Nm -driver exposes the following variables in the -.Va hw.usb.xhci -branch of the -.Xr sysctl 3 -MIB: -.Bl -tag -width ".Va debug" -.It Va debug +.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.xhci.debug Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0. .Sh SEE ALSO .Xr ehci 4 , .Xr ohci 4 , .Xr uhci 4 , .Xr usb 4 .Sh HISTORY The .Nm device driver first appeared in .Fx 8.2 .