本文主要解决bbb主板烧写openwrt 默认编译的版本无usb ndis功能,pc端无法通过ssh连接主板的问题。
否则只能用串口,个人觉着通过usb ssh更方便。
1、menuconfig
主板配置
usb gadget rndis配置
2、开机加载g_ether.ko
diff --git a/package/kernel/linux/modules/usb.mk b/package/kernel/linux/modules/usb.mk
index 0c5bb33..ddc4b85 100644
--- a/package/kernel/linux/modules/usb.mk
+++ b/package/kernel/linux/modules/usb.mk
@@ -172,7 +172,7 @@ define KernelPackage/usb-gadget-eth
$(LINUX_DIR)/drivers/usb/gadget/function/usb_f_ecm_subset.ko \
$(LINUX_DIR)/drivers/usb/gadget/function/usb_f_rndis.ko \
$(LINUX_DIR)/drivers/usb/gadget/legacy/g_ether.ko
- AUTOLOAD:=$(call AutoLoad,52,usb_f_ecm)
+ AUTOLOAD:=$(call AutoLoad,52,usb_f_ecm g_ether)
$(call AddDepends/usb)
endef
这个修改体现在build_dir/*/root-*/etc/modules.d/52-usb-gadget-eth
文件中,这样修改主要是因为在网上参考了许多usb-rndis配置的方法,但log中只能看到加载了driver部分,看不到device的加载导致无法创建出usb0的网络设备节点。
最终查到原因是模块g_ether.ko
没有load。
一定要看到下面一段log才算成功:
7.455801] kmodloader: loading kernel modules from /etc/modules.d/*
[ 7.472669] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 7.513064] using random self ethernet address
[ 7.517736] using random host ethernet address
--[ 7.523884] usb0: HOST MAC a6:0a:55:b1:91:8a
--[ 7.528469] usb0: MAC 26:0c:a1:f2:64:95
[ 7.532614] using random self ethernet address
[ 7.537262] using random host ethernet address
--[ 7.542510] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
--[ 7.549435] g_ether gadget: g_ether ready
[ 7.587940] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 7.609337] nf_conntrack version 0.5.0 (8192 buckets, 32768 max)
[ 7.736653] xt_time: kernel timezone is -0000
[ 7.752470] PPP generic driver version 2.4.2
[ 7.760613] NET: Registered protocol family 24
[ 7.770225] kmodloader: done loading kernel modules from /etc/modules.d/*
--[ 7.836185] g_ether gadget: high-speed config #2: RNDIS
[ 12.375675] net eth0: initializing cpsw version 1.12 (0)
3、usb0 up
openwrt 网络的默认配置如下:
root@OpenWrt:/etc/init.d# ifconfig
br-lan Link encap:Ethernet HWaddr D0:39:72:18:7C:FF
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0