xref: /freebsd/usr.sbin/usbconfig/usbconfig.8 (revision d69b9cc26d1c24a4cbc37478a571b1f531aa7bcc)
1eabe30fcSAlfred Perlstein.\" $FreeBSD$
2eabe30fcSAlfred Perlstein.\"
3fa6d8b65SHans Petter Selasky.\" Copyright (c) 2008-2019 Hans Petter Selasky. All rights reserved.
4eabe30fcSAlfred Perlstein.\"
5eabe30fcSAlfred Perlstein.\" Redistribution and use in source and binary forms, with or without
6eabe30fcSAlfred Perlstein.\" modification, are permitted provided that the following conditions
7eabe30fcSAlfred Perlstein.\" are met:
8eabe30fcSAlfred Perlstein.\" 1. Redistributions of source code must retain the above copyright
9eabe30fcSAlfred Perlstein.\"    notice, this list of conditions and the following disclaimer.
10eabe30fcSAlfred Perlstein.\" 2. Redistributions in binary form must reproduce the above copyright
11eabe30fcSAlfred Perlstein.\"    notice, this list of conditions and the following disclaimer in the
12eabe30fcSAlfred Perlstein.\"    documentation and/or other materials provided with the distribution.
13eabe30fcSAlfred Perlstein.\"
14eabe30fcSAlfred Perlstein.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15eabe30fcSAlfred Perlstein.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16eabe30fcSAlfred Perlstein.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17eabe30fcSAlfred Perlstein.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18eabe30fcSAlfred Perlstein.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19eabe30fcSAlfred Perlstein.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20eabe30fcSAlfred Perlstein.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21eabe30fcSAlfred Perlstein.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22eabe30fcSAlfred Perlstein.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23eabe30fcSAlfred Perlstein.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24eabe30fcSAlfred Perlstein.\" SUCH DAMAGE.
25eabe30fcSAlfred Perlstein.\"
26*d69b9cc2SJoerg Wunsch.Dd December 21, 2021
27eabe30fcSAlfred Perlstein.Dt USBCONFIG 8
28eabe30fcSAlfred Perlstein.Os
29eabe30fcSAlfred Perlstein.Sh NAME
30eabe30fcSAlfred Perlstein.Nm usbconfig
31eabe30fcSAlfred Perlstein.Nd configure the USB subsystem
32eabe30fcSAlfred Perlstein.Sh SYNOPSIS
33eabe30fcSAlfred Perlstein.Nm
34eabe30fcSAlfred Perlstein.Op Fl u Ar unit
35eabe30fcSAlfred Perlstein.Op Fl a Ar addr
36cae1884dSJoerg Wunsch.Op Fl i Ar interface_index
37*d69b9cc2SJoerg Wunsch.Op Fl v
38eabe30fcSAlfred Perlstein.Op cmds...
39cf109686SAndrew Thompson.Nm
40cae1884dSJoerg Wunsch.Fl d Ar [[/dev/]ugen]<unit>.<addr>
41cae1884dSJoerg Wunsch.Op Fl i Ar interface_index
42*d69b9cc2SJoerg Wunsch.Op Fl v
43cf109686SAndrew Thompson.Op cmds...
44eabe30fcSAlfred Perlstein.Sh DESCRIPTION
45eabe30fcSAlfred PerlsteinThe
46eabe30fcSAlfred Perlstein.Nm
47eabe30fcSAlfred Perlsteinutility is used to configure and dump information about the USB subsystem.
48eabe30fcSAlfred Perlstein.Pp
49eabe30fcSAlfred PerlsteinThe options are as follows:
50eabe30fcSAlfred Perlstein.Bl -tag -width "        "
51eabe30fcSAlfred Perlstein.It Fl u Ar unit
52eabe30fcSAlfred PerlsteinLimit device range to USB devices connected to the given USBUS unit.
53eabe30fcSAlfred Perlstein.It Fl a Ar addr
54eabe30fcSAlfred PerlsteinLimit device range to the given USB device index.
55eabe30fcSAlfred PerlsteinShould only be used in conjunction with the unit argument.
56cae1884dSJoerg Wunsch.It Fl d Ar [[/dev/]ugen]<unit>.<addr>
57cf109686SAndrew ThompsonLimit device range to USB devices connected to the given unit and address.
58ae450e6dSJoerg WunschThe unit and address coordinates may be prefixed by the lowercased word "ugen",
59ae450e6dSJoerg Wunschor the full path name
60ae450e6dSJoerg Wunsch.Pa /dev/ugen .
61*d69b9cc2SJoerg Wunsch.It Fl h
62*d69b9cc2SJoerg WunschShow help and available commands.
6349366f62SHans Petter Selasky.It Fl i Ar interface_index
6449366f62SHans Petter SelaskySpecify interface index as indicated by the command description.
6549366f62SHans Petter SelaskyIf this argument is not specified a value of zero will be used for the interface index.
66*d69b9cc2SJoerg Wunsch.It Fl v
67*d69b9cc2SJoerg WunschShortcut to activate the
68*d69b9cc2SJoerg Wunsch.Cm dump_device_desc ,
69*d69b9cc2SJoerg Wunsch.Cm dump_curr_config_desc ,
70*d69b9cc2SJoerg Wunschand
71*d69b9cc2SJoerg Wunsch.Cm show_ifdrv
72*d69b9cc2SJoerg Wunschcommands
73*d69b9cc2SJoerg Wunsch.Pq Dq verbose mode .
74eabe30fcSAlfred Perlstein.El
7594b7ebd7SChristian Brueffer.Pp
762e07d451SEdward Tomasz NapieralaThe following commands may be used with
772e07d451SEdward Tomasz Napierala.Nm :
782e07d451SEdward Tomasz Napierala.Bl -tag -width indent
792e07d451SEdward Tomasz Napierala.It Cm set_config Ar cfg_index
802e07d451SEdward Tomasz NapieralaChoose the configuration for the USB device.
812e07d451SEdward Tomasz NapieralaValid values range from zero to the number reported as the
822e07d451SEdward Tomasz Napierala.Ar bNumConfigurations
832e07d451SEdward Tomasz Napieralain
842e07d451SEdward Tomasz Napierala.Cm dump_device_desc
852e07d451SEdward Tomasz Napieralaoutput.
862e07d451SEdward Tomasz NapieralaThe special value of 255 unconfigures the device, detaching
872e07d451SEdward Tomasz Napieralathe interface drivers and reducing the power consumption to minimum,
882e07d451SEdward Tomasz Napieralabut without going into power saving mode or detaching from the bus.
892e07d451SEdward Tomasz NapieralaIn some cases, it prevents the device from charging.
902e07d451SEdward Tomasz Napierala.It Cm set_alt Ar alt_index
9149366f62SHans Petter SelaskyChoose the alternate interface for the selected interface and USB device.
922e07d451SEdward Tomasz NapieralaAlternative settings for the current configuration are available as the
932e07d451SEdward Tomasz Napierala.Ar bAlternateSetting
942e07d451SEdward Tomasz Napieralain
952e07d451SEdward Tomasz Napierala.Cm dump_curr_config_desc
962e07d451SEdward Tomasz Napieralaoutput.
972e07d451SEdward Tomasz NapieralaUsually there is no need to adjust this setting.
98cae1884dSJoerg WunschThis command uses the
99cae1884dSJoerg Wunsch.Fl i Ar interface_index
100cae1884dSJoerg Wunschoption.
1012e07d451SEdward Tomasz Napierala.It Cm set_template Ar template
1022e07d451SEdward Tomasz NapieralaSet the global USB device side template.
1032e07d451SEdward Tomasz NapieralaSee
1042e07d451SEdward Tomasz Napierala.Xr usb_template 4
1052e07d451SEdward Tomasz Napieralafor more information.
1062e07d451SEdward Tomasz Napierala.It Cm get_template
1072e07d451SEdward Tomasz NapieralaGet the current USB device side template.
1082e07d451SEdward Tomasz Napierala.It Cm add_dev_quirk_vplh Ar vid Ar pid Ar lo_rev Ar hi_rev Ar quirk_name
1092e07d451SEdward Tomasz NapieralaAdd a quirk by specifying the Vendor ID, Product ID, low and high
1102e07d451SEdward Tomasz Napieralarevision numbers, and the quirk name.
1112e07d451SEdward Tomasz NapieralaSee
1122e07d451SEdward Tomasz Napierala.Xr usb_quirk 4
1132e07d451SEdward Tomasz Napieralafor more information.
1142e07d451SEdward Tomasz Napierala.It Cm remove_dev_quirk_vplh Ar vid Ar pid Ar lo_rev Ar hi_rev Ar quirk_name
1152e07d451SEdward Tomasz NapieralaRemove a quirk.
1162e07d451SEdward Tomasz Napierala.It Cm add_quirk Ar quirk_name
1172e07d451SEdward Tomasz NapieralaAdd quirk for the currently selected USB device.
1182e07d451SEdward Tomasz Napierala.It Cm remove_quirk Ar quirk_name
1192e07d451SEdward Tomasz NapieralaRemove a quirk for the currently selected USB device.
120cd1fd29cSEdward Tomasz Napierala.It Cm dump_all_desc
121cd1fd29cSEdward Tomasz NapieralaDisplay the device and configuration descriptors.
1222e07d451SEdward Tomasz Napierala.It Cm dump_quirk_names
1232e07d451SEdward Tomasz NapieralaDisplay the list of supported quirk names.
1242e07d451SEdward Tomasz Napierala.It Cm dump_device_quirks
1252e07d451SEdward Tomasz NapieralaDisplay the list of current device quirks.
1262e07d451SEdward Tomasz Napierala.It Cm dump_device_desc
1272e07d451SEdward Tomasz NapieralaDisplay the device descriptor.
1282e07d451SEdward Tomasz Napierala.It Cm dump_curr_config_desc
1292e07d451SEdward Tomasz NapieralaDisplay current configuration descriptor.
1302e07d451SEdward Tomasz Napierala.It Cm dump_all_config_desc
1312e07d451SEdward Tomasz NapieralaDisplay all the configuration descriptors.
1322e07d451SEdward Tomasz Napierala.It Cm dump_string Ar index
1332e07d451SEdward Tomasz NapieralaDisplay string descriptor at selected index.
1342e07d451SEdward Tomasz Napierala.It Cm dump_info
1352e07d451SEdward Tomasz NapieralaDisplay summary information about the device.
136fa6d8b65SHans Petter Selasky.It Cm dump_stats
137fa6d8b65SHans Petter SelaskyDisplay USB transfer statistics.
1382e07d451SEdward Tomasz Napierala.It Cm show_ifdrv
1392e07d451SEdward Tomasz NapieralaDisplay the list of interface drivers (such as
1402e07d451SEdward Tomasz Napierala.Xr ukbd 4
1412e07d451SEdward Tomasz Napieralaor
1422e07d451SEdward Tomasz Napierala.Xr u3g 4 )
1432e07d451SEdward Tomasz Napieralacurrently attached to the device.
14449366f62SHans Petter Selasky.It Cm detach_kernel_driver
14549366f62SHans Petter SelaskyDetach kernel driver for the selected interface and USB device.
146cae1884dSJoerg WunschThis command uses the
147cae1884dSJoerg Wunsch.Fl i Ar interface_index
148cae1884dSJoerg Wunschoption.
1492e07d451SEdward Tomasz Napierala.It Cm suspend
1502e07d451SEdward Tomasz NapieralaForce the device to suspend.
1512e07d451SEdward Tomasz Napierala.It Cm resume
1522e07d451SEdward Tomasz NapieralaForce the device to resume.
1532e07d451SEdward Tomasz Napierala.It Cm power_off
1542e07d451SEdward Tomasz NapieralaTurn the device off.
1552e07d451SEdward Tomasz Napierala.It Cm power_save
1562e07d451SEdward Tomasz NapieralaTurn the automatic suspend and resume on.
1572e07d451SEdward Tomasz NapieralaThis is the default for USB hubs.
1582e07d451SEdward Tomasz Napierala.It Cm power_on
1592e07d451SEdward Tomasz NapieralaTurn the device on and disable automatic suspend and resume.
1602e07d451SEdward Tomasz NapieralaThis is the default for non-hub devices.
1612e07d451SEdward Tomasz Napierala.It Cm reset
1622e07d451SEdward Tomasz NapieralaReset the device.
1632e07d451SEdward Tomasz NapieralaThis forces the USB stack to reenumerate the bus.
1642e07d451SEdward Tomasz Napierala.It Cm list
1652e07d451SEdward Tomasz NapieralaList all available USB devices.
1662e07d451SEdward Tomasz NapieralaThis is the default if
16794b7ebd7SChristian Brueffer.Nm
1682e07d451SEdward Tomasz Napieralais called without specifying a command.
1692e07d451SEdward Tomasz Napierala.It Cm do_request Ar bmReqTyp Ar bReq Ar wVal Ar wIdx Ar wLen Ar data...
1702e07d451SEdward Tomasz NapieralaPerform a synchronous control request on the specified device.
1712e07d451SEdward Tomasz NapieralaSee
1722e07d451SEdward Tomasz Napierala.Xr libusb20_dev_request_sync 3
1732e07d451SEdward Tomasz Napieralafor more information.
1742e07d451SEdward Tomasz Napierala.El
17594b7ebd7SChristian Brueffer.Sh EXAMPLES
17641adbaa5SEdward Tomasz NapieralaList all connected USB devices and their attached interface drivers:
17794b7ebd7SChristian Brueffer.Pp
17841adbaa5SEdward Tomasz Napierala.Dl usbconfig show_ifdrv
17941adbaa5SEdward Tomasz Napierala.Pp
18041adbaa5SEdward Tomasz NapieralaDump device and configuration descriptors for device on USB bus 1 at address 2:
18141adbaa5SEdward Tomasz Napierala.Pp
18241adbaa5SEdward Tomasz Napierala.Dl usbconfig ugen1.2 dump_all_desc
183cf109686SAndrew Thompson.Pp
184cf109686SAndrew ThompsonDump HID descriptor for device on USB bus 1 at address 2:
185cf109686SAndrew Thompson.Pp
18641adbaa5SEdward Tomasz Napierala.Dl usbconfig ugen1.2 do_request 0x81 0x06 0x2200 0 0x100
187cf109686SAndrew Thompson.Pp
18841adbaa5SEdward Tomasz NapieralaPower off the device on USB bus 1 at address 2:
189cf109686SAndrew Thompson.Pp
19041adbaa5SEdward Tomasz Napierala.Dl usbconfig ugen1.2 power_off
191eabe30fcSAlfred Perlstein.Sh SEE ALSO
1920ea0127aSNick Hibma.Xr usb 4 ,
1932e07d451SEdward Tomasz Napierala.Xr usb_quirk 4 ,
1942e07d451SEdward Tomasz Napierala.Xr usb_template 4
195