通过USB共享使D1s上的tina联网(RNDIS Gadget)
-
之前设计这块D1s的PCB的时候,出于复杂度的考虑,板子上没有预留WiFi 模块的焊盘,当然更没有做GMAC。那么当初我就没有打算让这块板子联网吗?当然不是。除了WiFi和插网线以外,支持USB peripheral的设备还有一种简单的联网方式,也就是配置设备为RNDIS Gadget。通过这种方式,只需一根USB线,就可以达到供电、联网、调试(ssh)、文件传输(smb/nfs/scp)的目的,并且配置操作也不复杂。下面就简介一下如何配置D1s为RNDIS Gadget。
-
首先是配置内核以支持RNDIS Gadget。首先用晕哥的这贴 简单修改 哪吒d1 tina sdk 的 sys_config.fex 和 board.dts,让D1s先把Linux跑起来 来使D1的tina SDK支持D1s。然后参考这篇文档,
make kernel_menuconfig
之后勾选USB Gadget Support
下的RNDIS
一项。之后make
和pack
产生新的镜像并烧写到卡。现在这个镜像上的内核已经支持RNDIS Gadget了。
然后参考我以前写的一贴 全志平台上通过configfs(libcomposite)配置RNDIS Gadget(u_ether)及Windows下的驱动 来在configFS中启用RNDIS。在D1s上这个教程有一些地方需要灵活处理一下,首先是/sys/kernel/config/usb_gadget
下已经有设备g1
了,不用新建,然后g1/configs/
下也有了一个配置,我这里是c.1
,所以也不用新建。之后创建软链接也是链接到configs/c.1/
下。
之后是配置网络。上面链接的教程提供了通过修改/etc/network/interfaces
来配置的方法,如果生成D1s镜像时把根分区设置成了squashFS,/etc/
就变成了只读的,没法更改。另一种方式是直接通过命令配置:ifconfig usb0 up ifconfig usb0 192.168.137.2 netmask 255.255.255.0 route add default gw 192.168.137.1
这时电脑应该能识别出一个没有Internet访问的网络。把电脑的那个网络的IP设置为
192.168.137.1
就可以和板子实现局域网互联了。
通过将电脑的互联网共享给板子,还可以使板子联通外网。这个操作在各个系统下不一样,Windows下的操作很容易查到,这里就不赘述了。
Copyright © 2022 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号