Crate usb_ids

source ·
Expand description

Rust wrappers for the USB ID Repository.

The USB ID Repository is the canonical source of USB device information for most Linux userspaces; this crate vendors the USB ID database to allow non-Linux hosts to access the same canonical information.


Iterating over all known vendors:

use usb_ids::Vendors;

for vendor in Vendors::iter() {
    for device in vendor.devices() {
        println!("vendor: {}, device: {}",,;

See the individual documentation for each structure for more details.


  • Represents a single device in the USB database.
  • Represents an interface to a USB device in the USB database.
  • Represents a USB device vendor in the USB database.
  • An abstraction for iterating over all vendors in the USB database.


  • A convenience trait for retrieving a top-level entity (like a Vendor) from the USB database by its unique ID.