Yocto
USB 乙太網
我是 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_ether
(modprobe g_ether
)就足以讓我的電腦將pocketbeagle辨識為網路介面。注意:事實證明,pocketbeagle-meta 的 OE/master 分支對我來說工作得更好,已經包括
g_ether
!