zoukankan      html  css  js  c++  java
  • [转载]迅为4418开发板Qt移植移动4G模块第一部分

     

     

     

    本文转自迅为论坛:http://topeetboard.com

     

    平台:iTOP-4418开发板

     

    1.首先要配置内核,这个一步和Android系统移植3G或者4G模块是一样的。一般模块的厂家会提供移植文档,按照文档配置内核的ppp协议,USB转串,wcdma等,添加PID VID即可。这一步严格按照模块内核修改就行。

    这里主要分析qt文件系统的修改,对内核不做过多的分析。

    配置好的内核在开机后可以在dev下找到ttyUSB0-3的设备节点。

    2.准备工作;下载ppp-2.4.4.tar.gz,这个我会上传。

    ①.解压:tar -vxf ppp-2.4.4.tar.gz

    ②.运行configure,生成Makefile./configure

    ③.编译输入命令:make CC=arm-none-linux-gnueabi-gcc-4.4.1

    这里说明一下,CC=arm-none-linux-gnueabi-gcc-4.4.1是指明编译器,这里可以输入arm然后双按tab键找自己的交叉编译器。

    经过以上三步就会分别在chatpppdpppdumppppstats中生成四个可执行文件chatpppdpppdumppppstats ,用于拨号。

    3.以下操作是在qt文件系统,这里使用迅为提供的qt文件系统:rootfs.tgz

    ①.解压rootfs.tgztar -vxf rootfs.tgz

    ②.在etc中新建文件夹ppp

    ③.把上面生成的四个可执行文件chatpppdpppdumppppstats拷贝到ppp里面。

    4.写配置文件

    ①.在etc/ppp下文件pap-secretsvim pap-secrets

    ②.输入

    # Secrets for authentication using PAP

    # client        server  secret                  IP addresses

    card   *       card   *

    4G信号在通信时候有一个密码的比对,密码对了就可以通信了。上面显示用户是card 密码是card

    ③.在etc/ppp下新建文件夹peersmkdir peers

    peers里面新建文件wcdmavim wcdma

    输入:

    # /etc/ppp/peers/wcdma

    # This is pppd script for China liantong

    # Usage: root>pppd call wcdma

    hide-password

    noauth

    connect '/etc/ppp/chat -s -v -f /etc/ppp/peers/wcdma-chat-connect'

    disconnect '/etc/ppp/chat -s -v -f /etc/ppp/peers/wcdma-chat-disconnect'

    debug

    /dev/ttyUSB2

    115200

    defaultroute

    noipdefault

    novj

    novjccomp

    noccp

    ipcp-accept-local

    ipcp-accept-remote

    local

    lock

    dump

    nodetach

    user "card"

    password "card"

    crtscts

    remotename 3gppp

    ipparam 3gppp

    usepeerdns

    这里需要注意的是/dev/ttyUSB2,这句话要根据自己的情况而定,4G模块手册上应该会有些那个是用于AT指令,ppp拨号的。看自己的手册决定是不是ttyUSB2

    另外:

    user "card"

    password "card"

    这就对应了上面的用户和密码。

    ④.同样在peers中新建文件wcdma-chat-connectvim wcdma-chat-connect 输入:

    ABORT "BUSY"

    ABORT "NO CARRIER"

    ABORT "NO DIALTONE"

    ABORT "ERROR"

    ABORT "NO ANSWER"

    TIMEOUT 120

    "" AT

    OK ATZ

    OK AT+CGDCONT=1,"IP","3gnet",,0,0

    OK-AT-OK ATDT*99#

    CONNECT dc

    在这里 OK AT+CGDCONT=1,"IP","3gnet",,0,0

           OK-AT-OK ATDT*99#

    这两句话会根据移动联通或者是电信而变化,我这里用的是移动4G

    ⑤.同样在peers中新建wcdma-chat-disconnectvim wcdma-chat-disconnect 输入:

    ABORT "ERROR"

    ABORT "NO DIALTONE"

    SAY "INSending break to the modem "

    ""k"

    ""+++ATH"

    SAY " Good bye "

    致此就完成了大半部分可以先烧录进去试试。

    测试方法:

    开机后先输入:ifconfig eth0 down eth0关掉,因为他会和模块有冲突。

    然后在/etc/ppp下输入指令:

    pppd call wcdma&

    使其一直在后台运行,如果移植成功将会打印一些信息,下面是截取的最后的部分:

    CHAP authentication succeeded

    CHAP authentication succeeded

    sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]

    rcvd [IPCP ConfReq id=0x0]

    sent [IPCP ConfNak id=0x0 <addr 0.0.0.0>]

    rcvd [IPCP ConfNak id=0x1 <addr 10.211.219.99> <ms-dns1 221.130.33.60> <ms-dns3 221.130.33.52>]

    sent [IPCP ConfReq id=0x2 <addr 10.211.219.99> <ms-dns1 221.130.33.60> <ms-dns3 221.130.33.52>]

    rcvd [IPCP ConfReq id=0x1]

    sent [IPCP ConfAck id=0x1]

    rcvd [IPCP ConfAck id=0x2 <addr 10.211.219.99> <ms-dns1 221.130.33.60> <ms-dns3 221.130.33.52>]

    Could not determine remote IP address: defaulting to 10.64.64.64

    local  IP address 10.211.219.99

    remote IP address 10.64.64.64

    primary   DNS address 221.130.33.60

    secondary DNS address 221.130.33.52

    在这里可以是一下ping  ip地址,这里注意要是可以平通的ip地址,可先在电脑上试试能否ping通,然后在开发板上ping 。到这里输入ifconfig会有ppp0出现。

    但是到这里,即使ping通了ip,域名应该也是ping不通的。因为有字数限制所有剩下的分另一个贴子。

  • 相关阅读:
    快学Scala 第6章 对象
    Ch05 类
    Ch04 映射和元组
    Ch03 数组相关操作
    Ch02 控制结构和函数
    Ch01 基础
    28.创建对象两种方式、对象的方法、属性、获取属性值的两种方法、属性名含特殊符号时获取属性值的方法、添加属性及值的方法、删除属性的方法、使用方式、遍历对象属性for(var prop in obj)
    27.函数循环扩展作业、非常重要涉及编程思想(一天看一遍) 编程思想其实就是算法,、感悟、演算
    26 .闭包 、函数表达式在for中无法接受实时改变的变量、 在for里要将函数表达式封装成闭包才能接受实时变化的参数,并要将函数表达式return出去
    25.函数例题-预解析 作用域 、函数变量优先级、全局变量污染(直接在全局声明 、 函数里的变量没声明)但是函数里的变量没声明造成的全局变量污染有个前提,函数要被调用)
  • 原文地址:https://www.cnblogs.com/topeet/p/6509248.html
Copyright © 2011-2022 走看看