[問題] Linux USB framework?

看板LinuxDev作者 (藍星)時間12年前 (2012/04/25 19:28), 編輯推噓3(3014)
留言17則, 2人參與, 最新討論串1/1
這陣子在研讀Linux USB driver部份 卻發現除了比較了解的USB host framework外,還有另一種gadget framework 我有去網路爬文,除了知道這是種device driver,能支援multi-configuration /multi-functions的架構外,其他了解的仍舊模模糊糊 這個device driver和host framework的device driver又差在哪裡? 不知道有哪位高手,可以說明清楚些? 或是說有哪些比較能淺顯易懂的網頁可供閱讀(中文的比較好) 如果我有一個one configuration with multi-interface的裝置,那我又該撰寫 那類型的device driver呢? 感謝! -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.250.190.7

04/26 00:00, , 1F
我不是高手,但是gadget driver就像你說的是用來當device
04/26 00:00, 1F

04/26 00:01, , 2F
比如說你的嵌入式板子是拿來當印表機或掃描器或隨身碟等等
04/26 00:01, 2F

04/26 00:03, , 3F
而usb host driver則是透過usb host對特定裝置做控制;
04/26 00:03, 3F

04/26 00:05, , 4F
以gadget裝置來說當你一插入主機,host端(windows,linux..)
04/26 00:05, 4F

04/26 00:06, , 5F
就會過來跟你做列舉的動作,而你的driver要負責回這些資訊
04/26 00:06, 5F

04/26 00:07, , 6F
告訴主機端你有幾個configruation幾個interface等等
04/26 00:07, 6F

04/26 00:08, , 7F
或是VID,PID,serial number等資訊是你的Driver要負責回報
04/26 00:08, 7F

04/26 00:09, , 8F
而主機端的driver就相反,他則是從device吐的資訊去分析
04/26 00:09, 8F

04/26 00:11, , 9F
以掃描器為例,主機端的driver就是利用host對機器做控制
04/26 00:11, 9F

04/26 00:12, , 10F
而gadget driver就是今天有人透過host下命令給你的時候
04/26 00:12, 10F

04/26 00:12, , 11F
你要負責去分析,執行然後回給主機端...
04/26 00:12, 11F

04/26 00:14, , 12F
通常gadget driver都是嵌入式系統在使用居多...
04/26 00:14, 12F

06/10 00:20, , 13F
簡單說gadget是外部裝置上跑的driver 是pc上的usb port
06/10 00:20, 13F

06/10 00:20, , 14F
要控制你的時候 你回應自己是什麼裝置 要被如何使用
06/10 00:20, 14F

06/10 00:22, , 15F
通常我們說的driver是用來存取裝置的 而裝置上的driver
06/10 00:22, 15F

06/10 00:24, , 16F
是回應host的request的 比如usb隨身碟裡面是gadget
06/10 00:24, 16F

06/10 00:25, , 17F
askacis 講得其實就很清楚了
06/10 00:25, 17F
文章代碼(AID): #1Fbz_Xrg (LinuxDev)