为NanoPi编译CH340驱动模块ch34x.ko,arm/x86通用

2019-07-13 03:36发布

data/attach/1907/q4t04l2uskdmb929ny6gxmypbt7ar89t.jpgdata/attach/1907/offh5i2a2q6x24ijyuk5olueto9khale.jpg 以NanoPi S2运行Lubuntu系统为例。 Lubuntu系统为2018年新的固件,以后友善电子放出的固件只有ubuntu core/Lubuntu/Android三种,就是将以前的debian desktop换成了ubuntu core。统一使用ubuntu,应该是方便管理。 如果使用的系统内没有支持ch340 USB转串口芯片的驱动,那么我们该如何将驱动加入到系统中呢?

材料准备:

1、准备驱动程序
去ch340芯片的官网下载linux驱动,下载下来后,里面有3个文件。
因为我们是要在电脑上编译板子使用的驱动模块,修改Makefile内容如下 obj-m := ch34x.o KERNEL_PATH := 此处填写linux内核源码目录 PWD := $(shell pwd) all: make -C $(KERNEL_PATH) M=$(PWD) modules clean: make -C $(KERNEL_PATH) M=$(PWD) clean load: modprobe usbserial insmod ch34x.ko unload: rmmod ch34x 将这三个文件拷贝到电脑Ubuntu的某一个目录
2、准备内核源码
我使用的是NanoPi S2,安装的固件是Lubuntu,该固件系统使用的linux内核是4.4版本,从友善的GitHub中下载对应的源码。 建议使用浏览器打开,点击Clone or Download,Download ZIP进行下载,大约175MB大小,解压到电脑Ubuntu的某一个目录。
3、安装交叉编译器
确认你的电脑使用的是64位Ubuntu,进入wiki,下载64位系统中使用的交叉编译器,点击Download即可,大约53MB大小,解压到电脑Ubuntu的某一个目录。 接下来按照友善wiki进行操作,验证成功即可。 安装mkimage工具 sudo apt-get install u-boot-tools

编译驱动模块:

确认ch340驱动源码的Makefile的linux内核源码目录是否填写正确; 确认交叉编译器安装好了; 哦,好了,开始编译吧。 进入到ch340驱动源码目录,执行以下命令; make ARCH=arm 显示大致如图所示,在ch340驱动源码的目录生成了ch34x.ko文件,编译完成。

安装ch340.ko模块:

ch340驱动源码的目录中的Makefile和ch34x.ko拷贝到NanoPi S2上,执行make load进行安装。

卸载ch340.ko模块:

执行make unload进行卸载。