]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - usr.sbin/usbconfig/usbconfig.8
MFC r327522:
[FreeBSD/stable/10.git] / usr.sbin / usbconfig / usbconfig.8
1 .\" $FreeBSD$
2 .\"
3 .\" Copyright (c) 2008-2010 Hans Petter Selasky. All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\"    notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\"    notice, this list of conditions and the following disclaimer in the
12 .\"    documentation and/or other materials provided with the distribution.
13 .\"
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 .\" SUCH DAMAGE.
25 .\"
26 .Dd December 30, 2017
27 .Dt USBCONFIG 8
28 .Os
29 .Sh NAME
30 .Nm usbconfig
31 .Nd configure the USB subsystem
32 .Sh SYNOPSIS
33 .Nm
34 .Op Fl u Ar unit
35 .Op Fl a Ar addr
36 .Op cmds...
37 .Nm
38 .Op Fl d Ar [ugen]<unit>.<addr>
39 .Op cmds...
40 .Sh DESCRIPTION
41 The
42 .Nm
43 utility is used to configure and dump information about the USB subsystem.
44 .Pp
45 The options are as follows:
46 .Bl -tag -width "        "
47 .It Fl u Ar unit
48 Limit device range to USB devices connected to the given USBUS unit.
49 .It Fl a Ar addr
50 Limit device range to the given USB device index.
51 Should only be used in conjunction with the unit argument.
52 .It Fl d Ar [ugen]<unit>.<addr>
53 Limit device range to USB devices connected to the given unit and address.
54 The unit and address coordinates may be prefixed by the lowercased word "ugen".
55 .It Fl h
56 Show help and available commands.
57 .El
58 .Pp
59 The following commands may be used with
60 .Nm :
61 .Bl -tag -width indent
62 .It Cm set_config Ar cfg_index
63 Choose the configuration for the USB device.
64 Valid values range from zero to the number reported as the
65 .Ar bNumConfigurations
66 in
67 .Cm dump_device_desc
68 output.
69 The special value of 255 unconfigures the device, detaching
70 the interface drivers and reducing the power consumption to minimum,
71 but without going into power saving mode or detaching from the bus.
72 In some cases, it prevents the device from charging.
73 .It Cm set_alt Ar alt_index
74 Choose the alternate interface for the USB device.
75 Alternative settings for the current configuration are available as the
76 .Ar bAlternateSetting
77 in
78 .Cm dump_curr_config_desc
79 output.
80 Usually there is no need to adjust this setting.
81 .It Cm set_template Ar template
82 Set the global USB device side template.
83 See
84 .Xr usb_template 4
85 for more information.
86 .It Cm get_template
87 Get the current USB device side template.
88 .It Cm add_dev_quirk_vplh Ar vid Ar pid Ar lo_rev Ar hi_rev Ar quirk_name
89 Add a quirk by specifying the Vendor ID, Product ID, low and high
90 revision numbers, and the quirk name.
91 See
92 .Xr usb_quirk 4
93 for more information.
94 .It Cm remove_dev_quirk_vplh Ar vid Ar pid Ar lo_rev Ar hi_rev Ar quirk_name
95 Remove a quirk.
96 .It Cm add_quirk Ar quirk_name
97 Add quirk for the currently selected USB device.
98 .It Cm remove_quirk Ar quirk_name
99 Remove a quirk for the currently selected USB device.
100 .It Cm dump_quirk_names
101 Display the list of supported quirk names.
102 .It Cm dump_device_quirks
103 Display the list of current device quirks.
104 .It Cm dump_device_desc
105 Display the device descriptor.
106 .It Cm dump_curr_config_desc
107 Display current configuration descriptor.
108 .It Cm dump_all_config_desc
109 Display all the configuration descriptors.
110 .It Cm dump_string Ar index
111 Display string descriptor at selected index.
112 .It Cm dump_info
113 Display summary information about the device.
114 .It Cm show_ifdrv
115 Display the list of interface drivers (such as
116 .Xr ukbd 4
117 or
118 .Xr u3g 4 )
119 currently attached to the device.
120 .It Cm suspend
121 Force the device to suspend.
122 .It Cm resume
123 Force the device to resume.
124 .It Cm power_off
125 Turn the device off.
126 .It Cm power_save
127 Turn the automatic suspend and resume on.
128 This is the default for USB hubs.
129 .It Cm power_on
130 Turn the device on and disable automatic suspend and resume.
131 This is the default for non-hub devices.
132 .It Cm reset
133 Reset the device.
134 This forces the USB stack to reenumerate the bus.
135 .It Cm list
136 List all available USB devices.
137 This is the default if
138 .Nm
139 is called without specifying a command.
140 .It Cm do_request Ar bmReqTyp Ar bReq Ar wVal Ar wIdx Ar wLen Ar data...
141 Perform a synchronous control request on the specified device.
142 See
143 .Xr libusb20_dev_request_sync 3
144 for more information.
145 .El
146 .Sh EXAMPLES
147 Show information about the device on USB bus 1 at address 2:
148 .Pp
149 .Dl usbconfig -d ugen1.2 dump_info
150 .Pp
151 Dump HID descriptor for device on USB bus 1 at address 2:
152 .Pp
153 .Dl usbconfig -d ugen1.2 do_request 0x81 0x06 0x2200 0 0x100
154 .Pp
155 Dump string descriptor at index Z for device on USB bus 1 at address 2:
156 .Pp
157 .Dl usbconfig -d ugen1.2 dump_string Z
158 .Pp
159 Dump current configuration descriptor for device on USB bus 1 at address 2:
160 .Pp
161 .Dl usbconfig -d ugen1.2 dump_curr_config_desc
162 .Pp
163 Dump device descriptor for device on USB bus 1 at address 2:
164 .Pp
165 .Dl usbconfig -d ugen1.2 dump_device_desc
166 .Pp
167 Program the device on USB bus 1 at address 2 to suspend, resume, power off, go into power save, or power on:
168 .Pp
169 .Dl usbconfig -d ugen1.2 suspend
170 .Dl usbconfig -d ugen1.2 resume
171 .Dl usbconfig -d ugen1.2 power_off
172 .Dl usbconfig -d ugen1.2 power_save
173 .Dl usbconfig -d ugen1.2 power_on
174 .Sh SEE ALSO
175 .Xr usb 4 ,
176 .Xr usb_quirk 4 ,
177 .Xr usb_template 4