试用2 开启usb以太网功能让串口歇会儿
以前试用其它评估板时,用过这种功能,一根usb线既可以供电,还可以虚拟一个usb以太网功能,直接通过这个口试用ssh管理评估板,简单实用,接线少。
测试了一下IOT板上自带的g_ether.ko驱动,可以完成这个功能,但是必须系统启动后手动装载驱动,在使能usb以太网才行,有点麻烦。我希望,不使用调试串口,系统启动后自动使能usb虚拟以太网功能,可以直接连接ssh进入终端。下面总结一下我的做法。我这个是基于官网发布的最新的光盘 下载地址是 http://down.myir-tech.com/MYS-6ULX/MYS-6ULX-20180512-m5.tar.xz。
1、重新编译内核,自动加载驱动
为了自动加载驱动,必须重新编译内核,将原本以module形式存在的驱动直接编译进内核,并自动加载。
首先解压光盘中的linux源码
tar –xzf xxx/04-Source/MYiR-iMX-Linux.tar.gz–C ~/
然后进入linux源码目录
cd ~/MYir-iMX-Linux
按照官方提供的说明执行清除和使用缺省配置命令
清除命令
make ARCH=armCROSS_COMPILE=arm-linux-gnueabihf- distclean
使用缺省配置参数
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-mys_imx6_defconfig
下面是改变驱动加载的步骤
执行menuconfig改变加载方式
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-menuconfig
并修改 device drivers->USBsupport->USB Gadget Support项目中,如下图所示驱动条目 USB Gadget drivers的<M>为<*>后保存退出。
执行编译命令
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-zImage dtbs modules
等待编译结束,如果没有意外编译后产生了zImage文件和我们需要的dtbs文件及启动后加载驱动文件了。
2 文件系统更新
为了保证内核和驱动的兼容性,我也更新了,由于编译器使用的是linaro的,不知道后续会不会和yocto文件系统有不兼容的地方,暂时没啥功能,还没看出问题来。
3 重新更新IOT板固件
这个说来曲折啊,新光盘中的mfgtools我的机器用不了,提示错误4,然后就退出了,没办法把前一版光盘中的mfgtools翻出来才算解决了。
需要按照说明文件中的要求,更新MYS-6ULX-mfgtools-20170919\Profiles\Linux\OSFirmware\files文件夹中的4个文件,如果uboot没有重新编译的话就直接用光盘中提供的,少更新一个。这里应该更新
core-image-base-mys6ull14x14.rootfs.tar.bz2
u-boot-imx6ull14x14evk-ddr256_nand.imx
zImage-imx6ull
zImage-imx6ull-14x14-evk-gpmi-weim.dtb
编译出来的文件名和这个不同,应该改成这个名字,省的烧写过程麻烦。
如果不出意外,烧写过程还是非常顺利的,等一会就烧录完成了。
4 重新启动并配置usb虚拟以太网
第一次启动还是必须借助串口工具进入终端,我们需要调整以太网配置文件来满足启动后自动使能的功能。
进入串口终端后,进入目录
cd /etc/network
执行命令
vi interfaces
并修改文件,添加 auto usb0,保存文件退出后,重新启动系统。没有意外的话,系统将会提示有一个新的rndis设备。
此时,我的修改已经基本成功了。
5 系统机上对于rndis的支持
请大家上网自己查把,这个的解决方法还是比较好找的。
注意:默认情况下,IOT板上的usb虚拟以太网的ip地址为192.168.7.2,所以系统机上的rndis网卡地址我们也应该设为这个网段的,我就直接设置为192.168.7.1,实测是完全可以使用的。
|