当一个设备没有网口,你又想用网络时,检查一下你有没有USB口。如果有USB口你的开发板还可以抢救一下。那就是选择USB 网络工具驱动,在开发板和连接端都需要有相应的驱动。
linux内核怎么配置,网上很多。自行google。今天主要是介绍连接端PC驱动安装和配置。
我使用的是WIN10环境。相关资料如下:
https://www.p0ise.cn/misc/windows-install-rndis-driver.html
https://www.jianshu.com/p/6ad16ebd4d60
https://www.windowscentral.com/how-set-and-manage-network-bridge-connection-windows-10
将选择USB网络驱动的开发板通过usb连接WIN10电脑。你的WIN10电脑的资源管理器中多了一个COM口,其实就是驱动错误,按照第一个连接更新驱动,你的WIN10电脑就会多出一个USB RNDIS网络适配器。
如果你已经做到这一步了,你就成功了80%。
无线网卡连WiFi
我先将一个USB无线网卡连接Windows11电脑,让无线网卡连上家里的WiFi。如果你选择桥接你的以太网口,就不用做这一步。
WIN10创建网桥
然后在WIN11中,将无线网卡和USB RNDIS网卡进行桥接,然后点击一下自动获取IP。网桥就获取到了一个IP。如果没有自动获取IP,就点击一下禁用网桥,再启用网桥。这样你的网桥就获取到了一个IP。细节参考WIN10网桥配置连接。也可以配置静态IP给网桥。
配置设备IP
然后我在设备侧使用udhcpc进行动态获取ip。但是设备没有获取到IP。我就手动给它设置了一个IP。
总结就是开发板USB连WIN10,无线网卡连WIN10,在WIN10中将USB网口和无线网口桥接起来。开发板数据从USB线传输到WIN10网桥,WIN10网桥通过无线网口出去。
在开发板上,配置一个家里路由器同网段的地址。
ifconfig usb0 192.168.0.100 netmask 255.255.255.0 up
ip route add default via 192.168.0.1
在开发板上,查看一下路由。
# ip route show
default via 192.168.0.1 dev usb0
192.168.0.0/24 dev usb0 scope link src 192.168.0.1
在开发板上,ping一下网关地址,结果正常。
# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: seq=6 ttl=64 time=31.103 ms
64 bytes from 192.168.0.1: seq=7 ttl=64 time=12.967 ms
64 bytes from 192.168.0.1: seq=8 ttl=64 time=12.517 ms
64 bytes from 192.168.0.1: seq=9 ttl=64 time=12.156 ms
在开发板上,ping一下 8.8.8.8,结果正常。是不是看到了胜利的曙光。
# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=110 time=188.865 ms
64 bytes from 8.8.8.8: seq=1 ttl=110 time=186.048 m
在开发板上,添加个域名解析。
vi /etc/resolv.conf
nameserver 8.8.8.8
在开发板上,ping一下baidu.com,结果正常。我们就胜利了。
# ping baidu.com
PING baidu.com (110.242.68.66): 56 data bytes
64 bytes from 110.242.68.66: seq=0 ttl=49 time=58.950 ms
64 bytes from 110.242.68.66: seq=1 ttl=49 time=59.570 ms
64 bytes from 110.242.68.66: seq=2 ttl=49 time=59.891 ms
64 bytes from 110.242.68.66: seq=3 ttl=49 time=58.384 ms
这一步不一定是必须的,因为我想从PC到开发板的数据直接路由到网桥,所以添加下面这条主机路由。
在WIN10电脑中, 将开发板的接口地址与网桥的接口直接路由上,而不是走有线网卡接口。注意:使用管理员身份进行进行运行命令提示符窗口。
route ADD 192.168.0.100 MASK 255.255.255.255 192.168.0.200 METRIC 3 IF 32
其中192.168.0.100是开发板地址,192.168.0.200是WIN10网桥地址,IF 32 中的32为网桥的编号。标号查询输入route print
[C:\~]$ route print
===========================================================================
接口列表
12...xx xx xx xx xx xx ......Intel(R) Ethernet Connection
10...xx xx xx xx xx xx ......VirtualBox Host-Only Ethernet Adapter
32...xx xx xx xx xx xx ......Microsoft Network Adapter Multiplexor Driver
15...xx xx xx xx xx xx ......Microsoft Wi-Fi Direct Virtual Adapter
7...xx xx xx xx xx xx ......Microsoft Wi-Fi Direct Virtual Adapter #2
1...........................Software Loopback Interface 1
===========================================================================
有USB口的设备也能上一下网,抢救一下。上述的操作就是在网上找的,由我进行实际操作与总结。希望能给你带来一丝兴趣。