您尚未登录。

楼主 #1 2020-03-23 09:21:36

木子猫
会员
注册时间: 2018-03-27
已发帖子: 63
积分: 22.5

V3S挖坑EC20

一、内核修改

    *内核为荔枝派的zero-4.13y版本
    *参考文件Quectel_WCDMA&LTE_Linux_USB_Driver_User_Guide_V1.8.pdf
    将修改部分整理为补丁文件,主要有以下几个
    option.patch
    qcserial.patch
    qmi_wwan.patch
    usb_wwan.patch
    补丁内容:

#!/bin/sh

#KERNELDIR=/home/zero-4.13y
KERNELDIR=$(cd "$(dirname "$0")"; pwd)
echo $KERNELDIR

patch $KERNELDIR/drivers/usb/serial/option.c < option.patch
patch $KERNELDIR/drivers/usb/serial/qcserial.c < qcserial.patch
patch $KERNELDIR/drivers/usb/serial/usb_wwan.c < usb_wwan.patch
patch $KERNELDIR/drivers/net/usb/qmi_wwan.c < qmi_wwan.patch

    内核配置:
_20200322210827.png
_20200322211437.png

二、编译GobiNet

    *使用版本Quectel_WCDMA&LTE_Linux&Android_GobiNet_Driver_V1.3.0.zip
    *修改交叉编译工具
    编译报错
_20200322212334.png
     因为for_each_process函数在不同内核版本中声明位置不同,解决办法:在QMIDevice.c文件中添加头文件包含

#include<linux/sched/signal.h>

    还有一个错误
none.png
    仿佛是内核版本不同导致的,解决办法:将QMIDevice.c中所以的atomic_read替换为refcount_read
    编译完成
_20200322213141.png

三、编译quectel-CM

    *进入目录quectel-cm/目录 修改makefile更改交叉编译工具为arm-linux-gnueabihf-gcc
    *make编译出quectel-CM
    *将quectel-CM放入/usr/bin/目录

四、测试

    模块开机后在/dev/目录下会出现ttyUSB0、ttyUSB1、ttyUSB2、ttyUSB3其中ttyUSB2可用于AT通信

cat /dev/ttyUSB2 &
echo -e "AT+CSQ\r\n" >/dev/ttyUSB2
或者
microcom -t 5000 -s 115200 /dev/ttyUSB2
AT

    加载驱动,GobiNet也可以直接编译进内核

insmod  GobiNet.ko
quectel-CM -s cmnet &

    果然还是不那么顺利
    udhcpc不能自动获取IP
%20(2).png
    原因:内核驱动和GobiNet中需要将DTR设置为上拉
    将内核部分修改 重新编译内核
    将GobiNet重新编译生成驱动 烧录测试
%20(3).png
%20(4).png
    安装驱动、测试,正常了
%20(5).png

文件打包在附件:EC20_20200323-0920.rar

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn