Yocto

USB 乙太網

  • September 17, 2019

我是 Yocto 的新手,正在玩core-minimal-image並試圖在我的小獵犬上執行它。我想通過 USB 埠通過 SSH 連接到我的 Pocketbeagle。我知道這是可能的,因為為該板提供的預設圖像正是這樣做的。

我在 github 上找到了一個pocketbeagle-meta ,並正在使用它來建構。查看核心配置,我看到它設置了一堆與 USB 相關的選項,即:

CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_AX88179_178A=m
CONFIG_USB_NET_CDCETHER=m
CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_CDC_NCM=m

閃爍預設圖像並將其插入我的電腦會導致電路板通電,但我的電腦無法辨識任何 USB 設備(使用 進行檢查dmesg,沒有任何反應)。

所以我嘗試載入cdc_ether核心模組,添加:

KERNEL_MODULE_AUTOLOAD += "cdc_ether"

core-image-minimal.bb,但這並沒有改變任何東西。

通過 USB 將我的 pocketbeagle 辨識為乙太網設備,我缺少什麼?

我終於了解到這cdc_ether是針對 USB 的主機端(這裡是電腦),g_ether是針對小工具端(這裡是 Pocketbeagle)。Pocketbeagle 有一個 OTG USB,這意味著它可以在主機和小工具之間進行選擇。但我的電腦始終是主機,因此在另一端需要一個小工具。

這就是為什麼cdc_ether將開發板插入我的電腦時無法辨識在 Pocketbeagle 上執行的原因!

最後,只需啟動g_ethermodprobe g_ether)就足以讓我的電腦將pocketbeagle辨識為網路介面。

注意:事實證明,pocketbeagle-meta 的 OE/master 分支對我來說工作得更好,已經包括g_ether

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