打印
[技术问答]

NUC980 移植EC20 4G模块

[复制链接]
1838|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一:  4G模组是通过USB连接的,因此需要连接
查看4G模组的VID和PID的:

将模组连接到电脑后可以识别到VID和PID。



二:内核编译
1:向内核中添加VID和PID列表。
编辑文件路径:KERNEL_PATH/drivers/usb/serial/option.c
找到option_ids这个结构体,并添加如下:

static const struct usb_device_id option_ids[] = {
#if 1 //Added by Quectel
{ USB_DEVICE(0x05C6, 0x9090) }, /* Quectel UC15 */
{ USB_DEVICE(0x05C6, 0x9003) }, /* Quectel UC20 */
{ USB_DEVICE(0x2C7C, 0x0125) }, /* Quectel EC25/EC20 R2.0 */
{ USB_DEVICE(0x2C7C, 0x0121) }, /* Quectel EC21 */
{ USB_DEVICE(0x05C6, 0x9215) }, /* Quectel EC20 */
{ USB_DEVICE(0x2C7C, 0x0191) }, /* Quectel EG91 */
{ USB_DEVICE(0x2C7C, 0x0195) }, /* Quectel EG95 */
{ USB_DEVICE(0x2C7C, 0x0306) }, /* Quectel EG06/EP06/EM06 */
{ USB_DEVICE(0x2C7C, 0x0296) }, /* Quectel BG96 */
#endif
2: 添加内核USB Serial以及PPP协议支持
终端进入内核路径,输入make menuconfig 修改内核,需要添加的功能如下:


  • Device Drivers –
       
  • USB Support –
            
  • USB Serial Converter support –
                
  • USB driver for GSM and CDMA modems
    选中:支持GSM和CDMA模块的USB转串口驱动,这个驱动作用是虚拟出/dev/ttyUSB0、/dev/ttyUSB1、/dev/ttyUSB2、/dev/ttyUSB3这几个串口,

    他们的作用分别是错误诊断、gps信息接口、模块的的通信接口。

    根据我的测试ttyUSB2和ttyUSB3的功能貌似一样。ttyUSB2不太正常,有重复发送感觉。

    建议使用ttyUSB3。

    如果使用设备树的话,需要将USB的过流检测取消掉。此时就可以检测usb虚拟的串口了。


  • Device Drivers –
        
  • Network device support –
            
  • PPP (point-to-point protocol) support
               <*> PPP 下面带PPP的都勾上
    这个驱动的作用就是支持ppp拨号工具,在应用层使用ppp拨号脚本进行拨号上网

    保存退出,编译内核,烧录到板子上


    查看USB

    ls /dev/TTYusb*
    lsusb
    手动的发送AT指令
    cat /dev/ttyUSB3 &  
    echo -e "AT\r\n" >/dev/ttyUSB3
    三: 下载ppp并编译
    1:下载ppp 并且交叉编译
    sudo wget https://download.samba.org/pub/ppp/ppp-2.4.5.tar.gz
    sudo tar -xzvf ppp-2.4.5.tar.gz
    sudo cd ppp-2.4.5
    sudo ./configure
    sudo make CC=arm-linux-gcc
    如果make不过去 直接指定交叉编译器的位置:

    如:sudo make CC=/usr/local/arm_linux_4.8/usr/bin/arm-linux-gcc

    完成后,分别生成chat,pppd,pppdump,pppstats四个可执行文件,在同名文件夹中,将其复制到开发板根文件目录的/bin下

    2:移动链接库到开发板的根文件系统/lib中:
    如下:查看可执行文件是X86的还是Arm的。我查看了我的依赖。




    将编译器工具链中/lib中的链接库移动到开发板根文件系统的/lib中
    libc.so.0   ld-uClibc.so.0
    移动之后就可以正常启动pppd了

    四:启动拨号:
    在启动拨号之前,需要将拨号脚本文件安放在以下位置

    1: 放置拨号脚本
    etc
    ├── ppp
       ├── ip-up
       ├── peers
       ├── quectel-chat-connect
       ├── quectel-chat-disconnect
       ├── quectel-ppp
       └── quectel-ppp-kill
    将quectel的四个脚本以及ip-up脚本按照该结构放置好

    2:修改拨号参数
    > 拨号上网需要user、password与APN,这三个参数是需要与运营商联系索要
    修改user与password:在quecterl-ppp中,修改user与password
    修改APN:在quectel-chat-connect中

    # Insert the APN provided by your network operator, default apn is 3gnet
    OK AT+CGDCONT=1,”IP”,”3gnet”,,0,0
    将3gnet修改为正确的APN

    3: 启动拨号
    mkdir /var/lock 启动之前先新建该文件夹,否则会报错
    pppd call quectel-ppp &

    在启动完成后通过ifconfig查看网卡,则完成拨号

    4 :挂断拨号
    /etc/ppp/peers/quectel-ppp-kill


  • 使用特权

    评论回复
    沙发
    天天向善| | 2022-11-8 13:40 | 只看该作者
    4G模块是通过什么通信和PC进行连接的?

    使用特权

    评论回复
    板凳
    mollylawrence| | 2022-12-2 19:16 | 只看该作者
    这个是通过串口驱动的吗              

    使用特权

    评论回复
    地板
    sesefadou| | 2022-12-2 19:25 | 只看该作者
    这个实现的modem的功能吗?

    使用特权

    评论回复
    5
    mnynt121| | 2022-12-3 13:38 | 只看该作者
    nuc980直接代码驱动4G模块的代码有吗

    使用特权

    评论回复
    6
    chenjun89| | 2022-12-3 18:14 | 只看该作者
    芯唐的处理器系列还是太少了啊!

    使用特权

    评论回复
    7
    海滨消消| | 2022-12-3 21:30 | 只看该作者
    这个模块通过哪种方式驱动了

    使用特权

    评论回复
    8
    jimmhu| | 2022-12-4 20:09 | 只看该作者
    是否是通过AT指令来实现的对EC20模块的操作呢?

    使用特权

    评论回复
    9
    tpgf| | 2022-12-6 08:55 | 只看该作者
    通过usb连接的4G模块速度能跟上吗

    使用特权

    评论回复
    10
    qcliu| | 2022-12-6 09:58 | 只看该作者
    现在的市场上有没有大规模使用的成熟的4G的模块啊

    使用特权

    评论回复
    11
    drer| | 2022-12-6 10:22 | 只看该作者
    通过usb接口的的通讯协议还是以at指令为主吗

    使用特权

    评论回复
    12
    coshi| | 2022-12-6 10:34 | 只看该作者
    调试这种模块 必须要预先写好脚本吗 如果不会写脚本怎么入手呢

    使用特权

    评论回复
    13
    kxsi| | 2022-12-6 10:51 | 只看该作者
    我需要关心以太网的底层驱动吗

    使用特权

    评论回复
    14
    wiba| | 2022-12-6 11:25 | 只看该作者
    这种模块只能通过拨号进行网络链接吗

    使用特权

    评论回复
    15
    vivilyly| | 2022-12-6 12:40 | 只看该作者
    这个代码可以兼容air724的硬件吗?

    使用特权

    评论回复
    16
    fengm| | 2023-2-2 10:17 | 只看该作者
    4G转wifi的工作原理是什么              

    使用特权

    评论回复
    17
    10299823| | 2023-2-4 12:32 | 只看该作者
    4G模块选择的是移远的EC20,

    使用特权

    评论回复
    18
    ulystronglll| | 2023-2-4 13:34 | 只看该作者
    用的什么4g模块?               

    使用特权

    评论回复
    19
    sdlls| | 2023-2-4 15:16 | 只看该作者
    哪些4g模块支持openwrt

    使用特权

    评论回复
    20
    mattlincoln| | 2023-2-4 18:28 | 只看该作者
    移远EC20是一个兼容性比较强的4G模块。

    使用特权

    评论回复
    发新帖 我要提问
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    144

    主题

    4096

    帖子

    5

    粉丝