簡而言之,我正在開發一個嵌入式系統,其中包括從USB主機端口到設備端口的橋接器(這只是第一步,稍後傳輸的信息將會被過濾和改變)。將USB主機橋接到設備
考慮到這基本上是一個USB窺探器/嗅探器,我想有人應該寫一個能夠做到這一點的模塊,但我的搜索已被證明是徒勞的。
因此,對於這個問題:在Linux中將USB主機重定向到USB設備的最簡單方法是什麼?數據必須相同,所有描述符和端點必須匹配。它必須是Linux的友好,我可以在C/C++編寫代碼,並與編碼內核模塊,驅動程序等
簡而言之,我正在開發一個嵌入式系統,其中包括從USB主機端口到設備端口的橋接器(這只是第一步,稍後傳輸的信息將會被過濾和改變)。將USB主機橋接到設備
考慮到這基本上是一個USB窺探器/嗅探器,我想有人應該寫一個能夠做到這一點的模塊,但我的搜索已被證明是徒勞的。
因此,對於這個問題:在Linux中將USB主機重定向到USB設備的最簡單方法是什麼?數據必須相同,所有描述符和端點必須匹配。它必須是Linux的友好,我可以在C/C++編寫代碼,並與編碼內核模塊,驅動程序等
我發現以前的工作在http://www.elinux.org/BeagleBoard/GSoC/2010_Projects/USBSniffer
最簡單的方法來重定向USB主機的一些經驗在我看來,Linux中的USB設備使用Linux的外設USB堆棧和Linux的gadget USB堆棧。這些堆棧會處理低級別,所以您的代碼應該只關注這兩個堆棧之間的高級接口。額外的好處是嗅探器(通過usbmon)幾乎免費。
因爲這樣處理Linux內核,它必須是Linux友好的。這兩個堆棧的接口(至少)在C中都可用。因此,您的條件得到滿足。
謝謝你的鏈接,以後再檢查一下。基本上是的,我的水平稍高一點。沒有那麼靈活,但我受到一些嚴重的時間限制。如果我想要改善這一點,我也會這樣做。 – user1783395
基本上你需要編寫你自己的驅動程序,它應該處理數據輸入/輸出。您應該開始研究如何在Linux上開發USB驅動程序。 – garzanti