荔枝nano开启RNDIS驱动,无需补丁。

荔枝nano开启RNDIS驱动,无需补丁。,第1张

****************************************************************************************

新学会的自己修改内核配置,无需任何补丁开启usb_rndis虚拟网卡,需要配置内核和文件系统,u-boot无需更改。

****************************************************************************************

目录

1.配置内核

2.配置文件系统

3.结果


1.配置内核

我用的是4.14内核,具体的配置和编译方法可以参考这里。按照官方的配置文件配置之后,按照上述步骤先编译一遍,以防万一。编译完成之后,对其进行 make ARCH=arm menuconfig 可视化配置。增添上如下配置,开启RNDIS配置。

 保存之后退出,然后在编译之前,需要在内核文件 drivers/usb/musb/sunxi.c 进行如下修改:

 将其中742行的 of_device_is_compatible(np, “allwinner,suniv-musb”)  改为   of_device_is_compatible(np, “allwinner,suniv-f1c100s-musb”) 

然后重新编译,这里也会生成我们需要的驱动文件g_ether.ko,可以在linux文件中查找一下。下面用得到。

将生成的dtb文件和zImage文件重新烧录进tf卡中,插卡启动,需要手动加载网络驱动 modprobe g_ether ,但是利用官方的builtroot工具生成的rootfs根文件系统中不能加载该模块。如果你的可以加载,就不需要重新配置文件系统,如果不能,按照下面一节跟我配置busybox中的depmod模块,这个是用来。

2.配置文件系统

在 https://buildroot.org/downloads/buildroot-2019.02.2.tar.bz2 这里可以下载buildroot工具,2019版本。记得下载并创建好dl文件(官方教程就是这么写的)。

cd buildroot/
sudo make menuconfig

 首先将Target Architecture中选择ARM(little endian),选择了这个才能在下面Target Architecture Variant中选择arm926t。按照下图填好之后保存,编译一遍。

以上是对buildroot的配置和编译,下面进行busybox 的配置:

在 buildroot-2019.02.2/output/build/busybox-1.29.3 路径下,

sudo make menuconfig

 

 进入Linux Module utilities,打开以下两个模块

 选中depmod,这里选中modinfo是为了后面方便查看ko的依赖关系,配置完成后,保存退出,然后将当前目录下的.config文件覆盖掉buildroot/package/busybox/busybox.config文件,之后重新编译buildroot,busybox将会自动更新并打包到文件系统镜像里面。

其实到这里都配置好了,但是驱动还没放进文件系统中。一步步来,打开开发板之后,输入

modprobe g_ether.ko

modprobe: can't change directory to '/lib/modules': No such file or directory

这里提示找不到/lib/modules目录,和前面介绍的一样,它需要在指定目录下加载ko。

解决:创建/lib/modules目录:

mkdir /lib/modules

 我们将rootfs.tar解压到tf卡之后,就可以把驱动文件放在解压之后的文件中,我们在其中的 lib目录下,

重新执行上面的指令:

modprobe g_ether.ko

modprobe: can't change directory to '4.4.194': No such file or directory

这里提示找不到4.4.194目录,它对应linux内核的名称,可以使用uname –r指令查询。

 然后创建该目录

cd /lib/modules/
mkdir 4.14.0-licheepi-nano+

 重新执行加载命令:

modprobe g_ether.ko

modprobe: can't open 'modules.dep': No such file or directory

 这里提示找不到modules.dep文件。我们不需要手动创建该文件,使用depmod指令即可自动生成。

depmod

这之后再次运行  modprobe g_ether.ko  可能也会报错,这是因为g_ether.ko模块没放在该文件,将该文件放在该目录下即可。重新插到电脑,在电脑上打开对于文件中的上述新创建的目录,将第2节中的g_ether.ko文件复制到这里。

重新插卡到开发板,启动,再次  modprobe g_ether.ko ,即可。

3.结果

成功加载驱动之后,运行结果如下所示:

上图可见网卡已开启,我查看了一下win10中的网络连接

可能是usb0的ip地址和该网卡的ip没配置,进行如下修改:

 win端也出现了链接上了。

按照之前的文章提到的步骤配置如下(按自己的来):

 相互也能ping通(记得关闭防火墙,要不只能单向ping)。

参考文献:

1

LicheePi Nano 踩坑笔记(附 RNDIS 问题解决办法)_NAzi_1911的博客-CSDN博客https://blog.csdn.net/NAzi_1911/article/details/1199629342

从零开始 荔枝派nano TF卡启动_丘山高水长的博客-CSDN博客https://blog.csdn.net/qq_40611389/article/details/104032286?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-3.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-3.pc_relevant_default&utm_relevant_index=53

tf卡烧录linux镜像-荔枝派nano-全志f1c100s_请叫我7plus的博客-CSDN博客https://blog.csdn.net/weixin_41544435/article/details/124459930?spm=1001.2014.3001.5501

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/939629.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-17
下一篇2022-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存