2013-02-16 30 views
2

我是內核編程的新手,我擁有USB設備的dev_t值。如何在內核編程中獲取USB設備詳細信息?

我想獲得設備的詳細信息,如供應商ID,產品ID或其他屬性,這些屬性會因設備而異。我想在內核空間中執行此操作,並且不將程序作爲外部模塊加載。

我遇到了一個libusb庫,但據我所知,它用在用戶空間中。是否有可能在內核空間使用libusb,就像我的需求?如果可能的話,如何導入和設置libusb以便我可以編譯內核?

+0

如果不是編寫內核模塊,您打算如何編寫在內核空間中運行的代碼? – duskwuff 2013-02-16 17:58:16

+0

通過添加內核源代碼,並編譯爲自定義內核... – 2013-02-16 18:08:14

+2

http://stackoverflow.com/questions/14722392/programmatically-obtaining-the-vendor-id-product-id-of-a-usb -device-on-linux-pl/14722513#14722513 – Jeyaram 2013-02-19 08:35:09

回答

1

最好爲這個任務編寫一個可加載的內核模塊。每當你發現一個bug時,你只需要針對你的內核編譯你的模塊並加載它。在內核中有一個爲USB定義的框架,使用內核提供的API來完成您正在尋找的事情。 除了libusb是一個用戶空間庫,並沒有在內核中使用它的要點。 在用戶空間中,您還可以使用procfs/sysfs訪問USB相關信息。

相關問題