### Class

# FwupdPlugin UsbDevice

since: 1.0

#### Description [src]

    class FwupdPlugin.UsbDevice : FwupdPlugin.UdevDevice
      implements Fwupd.Codec {
      /* No available fields */
    }

A USB device.

See also: `FuDevice`, `FuHidDevice`

Available since: 1.0

#### Ancestors

- FuUdevDevice
- FuDevice
- FwupdDevice
- GObject

#### Descendants

- FuHidDevice

#### Implements

- FwupdCodec

#### Constructors

###### fu_usb_device_new

Creates a new `FuUsbDevice`.

since: 2.0.0

#### Instance methods

###### fu_usb_device_add_interface

Adds an interface that will be claimed on `->open()` and released on `->close()`.

since: 1.7.4

###### fu_usb_device_bulk_transfer

Perform a USB bulk transfer.

since: 2.0.0

###### fu_usb_device_claim_interface

Claim an interface of the device.

since: 2.0.0

###### fu_usb_device_control_transfer

Perform a USB control transfer.

since: 2.0.0

###### fu_usb_device_get_address

Gets the USB address for the device.

since: 2.0.0

###### fu_usb_device_get_bus

Gets the USB bus number for the device.

since: 2.0.0

###### fu_usb_device_get_claim_retry_count

Gets the number of tries we should attempt when claiming the device.

since: 1.9.10

###### fu_usb_device_get_class

Gets the device class, typically a `FuUsbClass`.

since: 2.0.0

###### fu_usb_device_get_configuration_index

Get the index for the active Configuration string descriptor ie, iConfiguration.

since: 2.0.0

###### fu_usb_device_get_custom_index

Gets the string index from the vendor class interface descriptor.

since: 2.0.0

###### fu_usb_device_get_dev

No description available.

since: 1.0

###### fu_usb_device_get_hid_descriptors

Gets all the HID descriptors exported by the device.

since: 2.0.0

###### fu_usb_device_get_interface

Gets the first interface that matches the vendor class interface descriptor. If you want to find all the interfaces that match (there may be other ‘alternate’ interfaces you have to use `fu_usb_device_get_interfaces()` and check each one manually.

since: 0.2.8

###### fu_usb_device_get_interfaces

Gets all the interfaces exported by the device.

since: 2.0.0

###### fu_usb_device_get_manufacturer_index

Gets the index for the iManufacturer string descriptor.

since: 2.0.4

###### fu_usb_device_get_product_index

Gets the index for the iProduct string descriptor.

since: 2.0.4

###### fu_usb_device_get_release

Gets the device release.

since: 2.0.0

###### fu_usb_device_get_serial_number_index

Gets the index for the Serial Number string descriptor.

since: 2.0.0

###### fu_usb_device_get_spec

Gets the string USB revision for the device.

since: 1.3.4

###### fu_usb_device_get_string_descriptor

Get a string descriptor from the device. The returned string should be freed with `g_free()` when no longer needed.

since: 2.0.0

###### fu_usb_device_get_string_descriptor_bytes

Get a raw string descriptor from the device. The returned string should be freed with `g_bytes_unref()` when no longer needed. The descriptor will be at most 128 btes in length, if you need to issue a request with either a smaller or larger descriptor, you can use fu_usb_device_get_string_descriptor_bytes_full instead.

since: 2.0.0

###### fu_usb_device_get_string_descriptor_bytes_full

Get a raw string descriptor from the device. The returned string should be freed with `g_bytes_unref()` when no longer needed.

since: 2.0.0

###### fu_usb_device_interrupt_transfer

Perform a USB interrupt transfer.

since: 2.0.0

###### fu_usb_device_release_interface

Release an interface of the device.

since: 2.0.0

###### fu_usb_device_reset

Perform a USB port reset to reinitialize a device.

since: 2.0.0

###### fu_usb_device_set_claim_retry_count

Sets the number of tries we should attempt when claiming the device. Applies to all interfaces associated with this device.

since: 1.9.10

###### fu_usb_device_set_configuration

Set the active bConfigurationValue for the device.

since: 1.7.4

###### fu_usb_device_set_interface_alt

Sets an alternate setting on an interface.

since: 2.0.0

##### Methods inherited from FuUdevDevice (44)

Please see FuUdevDevice for a full list of methods.

##### Methods inherited from FuDevice (197)

Please see FuDevice for a full list of methods.

##### Methods inherited from FwupdDevice (103)

Please see FwupdDevice for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from FwupdCodec (8)

###### fwupd_codec_add_string

Converts an object that implements `FwupdCodec` to a debug string, appending it to `str`.

since: 2.0.0

###### fwupd_codec_from_json

Converts an object that implements `FwupdCodec` from a JSON object.

since: 2.0.0

###### fwupd_codec_from_json_string

Converts an object that implements `FwupdCodec` from a JSON string.

since: 2.0.0

###### fwupd_codec_from_variant

Converts an object that implements `FwupdCodec` from a `GVariant` value.

since: 2.0.0

###### fwupd_codec_to_json

Converts an object that implements `FwupdCodec` to a JSON builder object.

since: 2.0.0

###### fwupd_codec_to_json_string

Converts an object that implements `FwupdCodec` to a JSON string.

since: 2.0.0

###### fwupd_codec_to_string

Converts an object that implements `FwupdCodec` to a debug string.

since: 2.0.0

###### fwupd_codec_to_variant

Converts an object that implements `FwupdCodec` to a `GVariant`.

since: 2.0.0

#### Properties

###### FwupdPlugin.UsbDevice:libusb-device

The low-level #libusb_device.

since: 2.0.0

##### Properties inherited from FuUdevDevice (5)

###### FwupdPlugin.UdevDevice:bind-id

The bind ID to use when binding a new driver.

since: 1.7.2

###### FwupdPlugin.UdevDevice:device-file

The low level file to use for device access.

since: 1.3.1

###### FwupdPlugin.UdevDevice:devtype

The device type.

since: 2.0.0

###### FwupdPlugin.UdevDevice:driver

The driver being used for the device.

since: 1.5.3

###### FwupdPlugin.UdevDevice:subsystem

The device subsystem.

since: 1.1.2

##### Properties inherited from FuDevice (14)

###### FwupdPlugin.Device:backend

The `FuBackend` that created the device.

since: 2.0.0

###### FwupdPlugin.Device:backend-id

The device backend ID.

since: 1.5.8

###### FwupdPlugin.Device:context

The `FuContext` to use.

since: 1.6.0

###### FwupdPlugin.Device:equivalent-id

The device equivalent ID.

since: 2.0.0

###### FwupdPlugin.Device:logical-id

The device logical ID.

since: 1.1.2

###### FwupdPlugin.Device:parent

The device parent.

since: 1.0.8

###### FwupdPlugin.Device:physical-id

The device physical ID.

since: 1.1.2

###### FwupdPlugin.Device:pid

The device product ID.

since: 2.0.0

###### FwupdPlugin.Device:private-flags

The device private flags.

since: 1.9.1

###### FwupdPlugin.Device:proxy

The device proxy to use.

since: 1.4.1

###### FwupdPlugin.Device:required-free

The required amount of free firmware space.

since: 2.0.12

###### FwupdPlugin.Device:update-image

The update image for the device.

since: 2.0.0

###### FwupdPlugin.Device:update-message

The device update message.

since: 2.0.0

###### FwupdPlugin.Device:vid

The device vendor ID.

since: 2.0.0

##### Properties inherited from FwupdDevice (14)

###### Fwupd.Device:battery-level

The device battery level in percent.

since: 1.5.8

###### Fwupd.Device:battery-threshold

The device battery threshold in percent.

since: 1.5.8

###### Fwupd.Device:flags

The device flags.

since: 0.9.3

###### Fwupd.Device:id

The device ID.

since: 2.0.0

###### Fwupd.Device:parent

The device parent.

since: 1.0.8

###### Fwupd.Device:percentage

The current device percentage.

since: 1.8.11

###### Fwupd.Device:problems

The problems with the device that the user could fix, e.g. “lid open”.

since: 1.8.1

###### Fwupd.Device:request-flags

The device request flags.

since: 1.9.10

###### Fwupd.Device:status

The current device status.

since: 1.4.0

###### Fwupd.Device:update-error

The device update error.

since: 0.9.8

###### Fwupd.Device:update-state

The device update state.

since: 0.9.8

###### Fwupd.Device:vendor

The device vendor.

since: 2.0.17

###### Fwupd.Device:version

The device version.

since: 1.8.15

###### Fwupd.Device:version-format

The version format of the device.

since: 1.2.9

#### Signals

##### Signals inherited from FuUdevDevice (1)

###### FuUdevDevice::changed

The ::changed signal is emitted when the low-level GUdevDevice has changed.

since: 1.1.2

##### Signals inherited from FuDevice (3)

###### FuDevice::child-added

The ::child-added signal is emitted when a device has been added as a child.

since: 1.0.8

###### FuDevice::child-removed

The ::child-removed signal is emitted when a device has been removed as a child.

since: 1.0.8

###### FuDevice::request

The ::request signal is emitted when the device needs interactive action from the user.

since: 1.6.2

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

since: 2.0

#### Class structure

    struct FwupdPluginUsbDeviceClass {
      FuUdevDeviceClass parent_class;

    }

No description available.

###### Class members

`parent_class: FuUdevDeviceClass`
  No description available.