Linux那些事兒 之 戲說USB 9 我是誰

2021-08-22 11:12:53 字數 1850 閱讀 3419

我是誰?尼采一遍一遍的問著自己當了哲學家。

我是誰?很多人一遍一遍的問著自己做了精神病人。

我是誰?usb也一遍一遍問著自己,當然它不會真的是一顆樹,它也不會是太陽,linux裡沒有太陽,真要有的話也只能是linus。usb只是linux龐大家族裡的乙個小部落,host controller是它們的族長,族裡的每個usb裝置都需要被系統識別,被我們識別。雖然清朝老爺子們不知道閉關鎖國沒前途,可usb是知道的,sysfs就是它對外的視窗,我們可以從sysfs裡了解認識每乙個usb裝置。

生活是簡單的,usb是複雜的。usb裝置在sysfs中的表示並不是那麼明了,它不叫張三也不叫李四,因為它姓usb,不過我們可以使用tree命令檢視一下

這是遵照花小錢做大事的原則從ldd3裡拿出來的,懶得再去查了,畢竟結果都差不多。上面顯示的是包含乙個usb介面的usb滑鼠匯出的結果。目錄樹里的

/sys/devices/pci0000:00/0000:00:09.0/usb2/2-1

表示的是滑鼠,下層目錄

/sys/devices/pci0000:00/0000:00:09.0/usb2/2-1/2-1:1.0

表示了滑鼠的usb介面。sysfs裡的usb裝置都是類似的表示,裝置的目錄下包括了表示裝置介面的目錄。目錄裡的各個檔案表示的裝置或介面的描述,大都對應了裝置描述符、介面描述符等的相應值,可以通過這些值獲得感興趣的資訊。新名詞就像任小強的理論一樣層出不窮,什麼是裝置描述符還有介面描述符?不過我們這裡要暫時忽略它的存在,先關心關心usb裝置在sysfs裡是如何命名的,弄清它是誰,也就是說上面路徑的含義。

usb系統中的第乙個usb裝置是root hub,前面已經說了它是和host controller繫結在一起的。這個root hub通常包含在pci裝置中,是連線pci匯流排和usb匯流排的bridge,控制著連線到其上的整個usb匯流排。所有的root hub,核心的usb core都分配有獨特的編號,上面貼出來的例子裡,就是usb2,因為它註冊在第二個hub。

usb匯流排上的每個裝置都以root hub的編號作為其名字的第乙個號碼。這個號碼後跟著乙個「-」字元還有裝置所插入的埠號。因此,上面例子中的usb滑鼠的裝置名就是2-1。因為該usb滑鼠具有乙個介面,導致了另外乙個usb裝置被新增到sysfs路徑中。因為物理usb裝置和單獨的usb介面在sysfs中都將表示為單獨的裝置。usb介面的命名是裝置名直到該介面,上面就是2-1後面跟乙個「:」和usb配置(configuration)的編號,然後是乙個「.」和該介面的編號。因此上面的滑鼠usb介面就是2-1:1.0,表示使用第乙個配置,介面編號為0。

不過,sysfs並沒有展示usb裝置的所有部分,裝置可能包含的可選配置都沒有顯示,不過這些可以通過usbfs找到,該檔案系統被掛在到/proc/bus/usb目錄,從/proc/bus/usb/device檔案可以直到系統中存在的所有usb裝置的可選配置。

這裡說到了usb裝置的配置,有必要先說一下,還是花小錢做大事,直接拿復旦人甲兄弟的描述了。乙個裝置可以有一種或者幾種配置,這能理解吧?沒見過具體的usb裝置?那麼好,手機見過吧,每個手機都會有多種配置,或者說「設定」,比如,我的這款,nokia6300,手機語言,可以設定為english,正體中文,簡體中文,一旦選擇了其中一種,那麼手機裡邊所顯示的所有的資訊都是該種語言/字型。還有最簡單的例子,操作模式也有好幾種,標準,無聲,會議,etc。基本上如果我設為「會議」,那麼就是只振動不發聲,要是設為無聲,那麼就啥動靜也不會有,只能憑感覺了,以前去公司面試的話通常就是設為無聲,因為覺得振動也不好,讓人家面試官聽到了還是不合適。那麼usb裝置的配置也是如此,不同的usb裝置當然有不同的配置了,或者說需要配置哪些東西也會不一樣。好了,關於配置,就說這麼多,更多的我們暫時也不需要了解了。

Linux那些事兒 之 戲說USB 5 我型我秀

在2006這個選秀年裡,超級女生也並不是一枝獨秀,有個成語怎麼說來著?好像是雨後春筍吧,現在的選秀節目就像這個筍,很多很多,不過有非常蔫的,有被雨水泡爛的,有剛發芽很嫩很嫩的,也有很成熟快枯萎的。我型我秀算是發育的比較好的乙個了,雖然我愣是都沒看過,超級女生我也是在葉一茜被淘汰後就再也不看了,不過俺...

Linux那些事兒 之 戲說USB 18 端點

于丹說,生與死,是人生起始的兩個端點。兄弟兩個人,他們家住在一座摩天大樓的第80層。這天,兩個人深夜回家,恰好忘記了看通知,電梯停了。兄弟倆揹著沉重的大揹包,在樓底下商量一下,決定一鼓作氣,爬樓梯回家。兩人抖擻精神,開始爬樓。爬到的時候,開始覺得揹包很重了。兩人商量,決定把揹包存在,到時候再回過頭來...

Linux那些事兒 之 戲說USB 3 PK

2006最火的是超級女生,最流行的是pk。她的一生充滿了pk 從湖南衛視在 大長今 預告片中鏗鏘地說出了這句旁白時起,pk已經不僅僅是pk。usb的一生也充滿了pk,不過usb還不夠老,說一生太早了些,發哥說的好,我才剛上路呢 usb最初的設計目標就是替代序列 並行等各種低速匯流排,以達到以一種單一...