USBCONFIG(8)            FreeBSD System Manager's Manual           USBCONFIG(8)

NAME

     usbconfig - configure the USB subsystem

SYNOPSIS

     usbconfig [-l] [-v] [-a addr] [-i interface_index] [-u unit] [cmds ...]
     usbconfig -d [[/dev/]ugen]unit.addr [-l] [-v] [-i interface_index]
               [cmds ...]

DESCRIPTION

     The usbconfig utility is used to configure and dump information about the
     USB subsystem.

     The options are as follows:

     -a addr  Limit device range to the given USB device index.  Should only
              be used in conjunction with the unit argument.

     -d [[/dev/]ugen]unit.addr
              Limit device range to USB devices connected to the given unit
              and address.  The unit and address coordinates may be prefixed
              by the lowercased word ugen, or the full path name /dev/ugen.

     -h       Show help and available commands.

     -i interface_index
              Specify interface index as indicated by the command description.
              If this argument is not specified a value of zero will be used
              for the interface index.

     -l dump_device_desc
              Show numeral only key=value output as one long line.

     -u unit  Limit device range to USB devices connected to the given USBUS
              unit.

     -v       Activate the dump_device_desc, dump_curr_config_desc, and
              show_ifdrv commands ("verbose mode").

     The following commands may be used with usbconfig:

     set_config cfg_index
             Choose the configuration for the USB device.  Valid values range
             from zero to the number reported as the bNumConfigurations in
             dump_device_desc output.  The special value of 255 unconfigures
             the device, detaching the interface drivers and reducing the
             power consumption to minimum, but without going into power saving
             mode or detaching from the bus.  In some cases, it prevents the
             device from charging.

     set_alt alt_index
             Choose the alternate interface for the selected interface and USB
             device.  Alternative settings for the current configuration are
             available as the bAlternateSetting in dump_curr_config_desc
             output.  Usually there is no need to adjust this setting.  This
             command uses the -i interface_index option.

     set_template template
             Set the global USB device side template.  See usb_template(4) for
             more information.

     get_template
             Get the current USB device side template.

     add_dev_quirk_vplh vid pid lo_rev hi_rev quirk_name
             Add a quirk by specifying the Vendor ID, Product ID, low and high
             revision numbers, and the quirk name.  See usb_quirk(4) for more
             information.

     remove_dev_quirk_vplh vid pid lo_rev hi_rev quirk_name
             Remove a quirk.

     add_quirk quirk_name
             Add quirk for the currently selected USB device.

     remove_quirk quirk_name
             Remove a quirk for the currently selected USB device.

     dump_all_desc
             Display the device and configuration descriptors.

     dump_quirk_names
             Display the list of supported quirk names.

     dump_device_quirks
             Display the list of current device quirks.

     dump_device_desc
             Display the device descriptor.

     dump_curr_config_desc
             Display current configuration descriptor.

     dump_all_config_desc
             Display all the configuration descriptors.

     dump_string index
             Display string descriptor at selected index.

     dump_info
             Display summary information about the device.

     dump_stats
             Display USB transfer statistics.

     show_ifdrv
             Display the list of interface drivers (such as ukbd(4) or u3g(4))
             currently attached to the device.

     detach_kernel_driver
             Detach kernel driver for the selected interface and USB device.
             This command uses the -i interface_index option.

     suspend
             Force the device to suspend.

     resume  Force the device to resume.

     power_off
             Turn the device off.

     power_save
             Turn the automatic suspend and resume on.  This is the default
             for USB hubs.

     power_on
             Turn the device on and disable automatic suspend and resume.
             This is the default for non-hub devices.

     reset   Reset the device.  This forces the USB stack to reenumerate the
             bus.

     list    List all available USB devices.  This is the default if usbconfig
             is called without specifying a command.

     do_request bmReqTyp bReq wVal wIdx wLen data...
             Perform a synchronous control request on the specified device.
             See libusb20_dev_request_sync(3) for more information.

EXAMPLES

     List all connected USB devices and their attached interface drivers:

           usbconfig show_ifdrv

     Dump device and configuration descriptors for device on USB bus 1 at
     address 2:

           usbconfig -d ugen1.2 dump_all_desc

     Dump HID descriptor for device on USB bus 1 at address 2:

           usbconfig -d ugen1.2 do_request 0x81 0x06 0x2200 0 0x100

     Power off the device on USB bus 1 at address 2:

           usbconfig -d ugen1.2 power_off

SEE ALSO

     usb(4), usb_quirk(4), usb_template(4)

FreeBSD 15.1-STABLE-HBSD       February 12, 2025                  USBCONFIG(8)