Usb

使用 udev 檢測 USB 設備類型

  • April 20, 2022

我正在編寫一個程序libudev來檢測系統上的 USB 設備連接。我想知道連接的每個設備的類型是什麼。我認為 udev 並沒有明確說明 USB 的類型是什麼,例如我想知道連接的設備是列印機還是網路攝像頭或鍵盤。我怎樣才能做到這一點?任何想法?

任何 USB 設備的類型都使用bDeviceClassbDeviceSubClass屬性標識,其值由相關 USB 協議規範定義:請參閱https://www.usb.org/defined-class-codes以獲取類程式碼列表。

如果 USB 設備具有多種功能,您可能還需要檢查bInterfaceClassbInterfaceSubClass屬性,以辨識各個功能。

如果類程式碼是0xff,這意味著“特定於供應商”,您很可能需要辨識實際的設備模型(使用idProductidVendor屬性)來確定設備是什麼。

引用自:https://unix.stackexchange.com/questions/699652