environment setting are as below:

1. ubuntu 14.04, linux kernel 4.4,OpenLinux(QuecLinux)

2. module: EC20-CE-TE-A

3. sim: Unicom

编译ql-ol-sdk/ql-ol-extsdk/example/data 例程

ricks@ubuntu:/home/share/project/ql-ol-sdk/ql-ol-extsdk/example/data$ ls
example_data_call_v2.c example_dual_apn.c example_single_apn.c Makefile
ricks@ubuntu:/home/share/project/ql-ol-sdk/ql-ol-extsdk/example/data$ make
arm-oe-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=softfp -
......
-I../../include -I/home/share/project/ql-ol-sdk/ql-ol-a-vfp-neon-oe-linux-gnueabi/usr/lib/libql_mgmt_client.so -o example_data_call_v2
ricks@ubuntu:/home/share/project/ql-ol-sdk/ql-ol-extsdk/example/data$ ls
example_data_call_v2 example_data_call_v2.o example_dual_apn.c example_single_apn example_single_apn.o
example_data_call_v2.c example_dual_apn example_dual_apn.o example_single_apn.c Makefile
ricks@ubuntu:/home/share/project/ql-ol-sdk/ql-ol-extsdk/example/data$

copy例程到QuecLinux,即EC20 module 的/usrdata目录下

ricks@ubuntu:/home/share/project/ql-ol-sdk$ adb push ./ql-ol-extsdk/example/data  /usrdata
push: ./ql-ol-extsdk/example/data/example_single_apn.c -> /usrdata/example_single_apn.c
push: ./ql-ol-extsdk/example/data/example_data_call_v2.o -> /usrdata/example_data_call_v2.o
push: ./ql-ol-extsdk/example/data/example_dual_apn.o -> /usrdata/example_dual_apn.o
push: ./ql-ol-extsdk/example/data/example_dual_apn -> /usrdata/example_dual_apn
push: ./ql-ol-extsdk/example/data/example_dual_apn.c -> /usrdata/example_dual_apn.c
push: ./ql-ol-extsdk/example/data/example_data_call_v2 -> /usrdata/example_data_call_v2
push: ./ql-ol-extsdk/example/data/example_single_apn -> /usrdata/example_single_apn
push: ./ql-ol-extsdk/example/data/Makefile -> /usrdata/Makefile
push: ./ql-ol-extsdk/example/data/example_single_apn.o -> /usrdata/example_single_apn.o
push: ./ql-ol-extsdk/example/data/example_data_call_v2.c -> /usrdata/example_data_call_v2.c
files pushed. files skipped.
KB/s ( bytes in .835s)

运行 example_dual_apn

/usrdata # ./example_dual_apn

log如下:

/usrdata # [QL_CLI][]:QL_WWAN_Initialize ret=!
[QL_CLI][]:nw_init_cb!
[QL_CLI][]:QL_WWAN_GetDataSrvHandle g_h_handle=!
[QL_CLI][]:QL_WWAN_SetProfileId ret =
[QL_CLI][]:QL_WWAN_SetIPVersion ret =
[QL_CLI][]:QL_WWAN_StartDataCall ret=!
[QL_CLI][]:Wait for network ready!
[QL_CLI][]:APN[] dsi_net_evt_cb, evt=!
[QL_CLI][]:Network Ready!!
[QL_CLI][]:APN[] dsi_net_evt_cb, evt=!
[QL_CLI][]:Call is connected!!
[QL_CLI][]:QL_WWAN_GetIPAddr ret = , valid_ip_cnt=; Interface IP address =10.74.177.45
[QL_CLI][]:QL_WWAN_GetDeviceName ret = , name=rmnet_data0
[QL_CLI][]:APN[] dsi_net_evt_cb, evt=!
[QL_CLI][]:Old address deleted !!
[QL_CLI][]:APN[] dsi_net_evt_cb, evt=!
[QL_CLI][]:New address is generated!!
[QL_CLI][]:Gateway IP address =10.74.177.46
[QL_CLI][]:Primary DNS address =120.80.80.80
[QL_CLI][]:Secondary DNS address=221.5.88.88
[QL_CLI][]:[APN0]: OK [QL_CLI][]:QL_WWAN_GetDataSrvHandle g_h_handle=!
[QL_CLI][]:QL_WWAN_SetProfileId ret =
[QL_CLI][]:QL_WWAN_SetIPVersion ret =
[QL_CLI][]:QL_WWAN_StartDataCall ret=!
[QL_CLI][]:Wait for network ready!
[QL_CLI][]:APN[] dsi_net_evt_cb, evt=!
[QL_CLI][]:Network Ready!!
[QL_CLI][]:APN[] dsi_net_evt_cb, evt=!
[QL_CLI][]:Call is connected!!
[QL_CLI][]:QL_WWAN_GetIPAddr ret = , valid_ip_cnt=; Interface IP address =10.107.130.219
[QL_CLI][]:QL_WWAN_GetDeviceName ret = , name=rmnet_data1
[QL_CLI][]:APN[] dsi_net_evt_cb, evt=!
[QL_CLI][]:Old address deleted !!
[QL_CLI][]:APN[] dsi_net_evt_cb, evt=!
[QL_CLI][]:New address is generated!!
[QL_CLI][]:Gateway IP address =10.107.130.220
[QL_CLI][]:Primary DNS address =221.4.8.1
[QL_CLI][]:Secondary DNS address=0.0.0.0
[QL_CLI][]:[APN1]: OK

执行ifconfig命令:

/ # ifconfig
bridge0 Link encap:Ethernet HWaddr :::::
inet addr:192.168.225.1 Bcast:192.168.225.255 Mask:255.255.255.0
inet6 addr: fe80:::17ff:fe45:/ Scope:Link
UP BROADCAST MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 B) TX bytes: (76.0 B) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::/ Scope:Host
UP LOOPBACK RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (400.0 B) TX bytes: (400.0 B) rmnet0 Link encap:UNSPEC HWaddr ---------------
UP RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 B) TX bytes: (776.0 B) rmnet_data0 Link encap:UNSPEC HWaddr ---------------
inet addr:10.74.177.45 Mask:255.0.0.0
inet6 addr: fe80::3d7f:a371:ef50:21c8/ Scope:Link
UP RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 B) TX bytes: (388.0 B) rmnet_data1 Link encap:UNSPEC HWaddr ---------------
inet addr:10.107.130.219 Mask:255.0.0.0
inet6 addr: fe80::21b2:c928:28dc:eafc/ Scope:Link
UP RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 B) TX bytes: (388.0 B)

其中rmnet_data0/1 Link encap都会分到一个ip地址。

运行quectel EC20 module example data的更多相关文章

  1. EC20 MODULE serial com log in passwd

    ec20 module would print debug info via debug uart, and you can log in by user root, the passwd is qu ...

  2. pyinstaller 打包生成exe之后运行提示‘no module name 'xxx'’错误

    python 3.7 pyinstaller 3.4 具体情况: pycharm中点击运行可成功执行,生成正确结果,没有报错. 双击run.py(程序运行的主文件),运行,可生成正确结果,没有报错. ...

  3. vs2017下发现解决python运行出现‘No module named "XXX""的解决办法

    对于使用vs2017开发python程序无疑发现,在解决方案资源管理器中设置把两个xxx.py,yyy.py文件都设置为启动文件,然后分别在vs2017这个IDE下运行这个两个文件在项目工程中运行,发 ...

  4. Scrapy运行ImportError: No module named win32api错误

    windows系统上出现这个问题的解决需要安装Py32Win模块,更方便的做法是: pip install pypiwin32

  5. React Native 0.56.1初始化项目运行出现错误(Module `AccessibilityInfo` does not exist in the Haste module map)

    当使用react-native init myApp初始化项目时,出现以下错误 出现以上错误的原因是因为0.56.1版本初始化项目就有问题,请见 https://github.com/facebook ...

  6. am335x system upgrade kernel ec20 simcom7600ce(十一)

    1      Scope of Document This document describes 4G hardware design, support quectel ec20 4G module/ ...

  7. Android Data Binding实战(一)

    在今年Google I/O大会上,Google推出Design Library库的同时也推出了Android Data Binding,那么什么是Data Binding?其名曰数据绑定,使用它我们可 ...

  8. 大数据技术之_19_Spark学习_04_Spark Streaming 应用解析 + Spark Streaming 概述、运行、解析 + DStream 的输入、转换、输出 + 优化

    第1章 Spark Streaming 概述1.1 什么是 Spark Streaming1.2 为什么要学习 Spark Streaming1.3 Spark 与 Storm 的对比第2章 运行 S ...

  9. Android Studio导入github下载的project和module

    前言:我们以前eclispe时代, 经常都是跑到github浏览第三方开源资源,然后下载下来,运行一下sample之类的,学习没有接触的第三方安卓库,但是到了Android Studio,在githu ...

随机推荐

  1. 第七届蓝桥杯个人赛省赛--C语言B组

    题目一 煤球数目 有一堆煤球,堆成三角棱锥形.具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球? 请 ...

  2. 如何学php少走弯路

    我是自学php,而且是非计算机专业,算半路出家的.(工作了一段时间又自学编程) 1.一本好书至关重要.如果这本书的知识非常深入,那么还是不要看了.对初学者来说只能是打击.因为很多东西都看不懂.一本知识 ...

  3. Learning from delayed reward (Q-Learning的提出) (Watkins博士毕业论文)(建立了现在的reinforcement Learning模型)

    最近在在学习强化学习方面的东西, 对于现有的很多文章中关于强化学习的知识很是不理解,很多都是一个公式套一个公式,也没有什么太多的解释,感觉像是在看天书一般,经过了较长时间的挣扎最后决定从一些基础的东西 ...

  4. [转载]redis持久化的两种操作RDB和AOF

    Redis 持久化: 提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF. RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AO ...

  5. TP框架连接mongodb报错及解决办法

    mongodb版本3.4.7 1.认证错误:Failed to connect to: localhost:27017: Authentication failed on database 'test ...

  6. C#使用zookeeper

    C#使用zookeeper https://blog.csdn.net/XuWei_XuWei/article/details/80611659 1.简述 zookeeper适用于分布式锁,配置管理, ...

  7. 使用migration创建表时,出错的解决方法

    Laravel 5.4 migrate时报错: Specified key was too long error 解决问题升级MySql版本到5.5.3以上. 手动配置迁移命令migrate生成的默认 ...

  8. 实习第一天:static 声明的 变量和 方法

    static 声明的 变量和 方法   既可以用类.变量或者类.方法来调用 order by表格:Store_Information表格 Name Sacles DAteAngeles 1500 19 ...

  9. day40 python MySQL【四】 之 【索引】【视图】【触发器】【存储过程】【函数】

    MySQL[四] 之 [索引][视图][触发器][存储过程][函数]   1.索引 索引相当于图书的目录,可以帮助用户快速的找到需要的内容. 数据库利用各种各样的快速定位技术,能够大大提高查询效率.特 ...

  10. JS 网页快捷键设置

    我们希望能用快捷键代替鼠标点击做一些事情,例如一个典型的应用就是论坛上常用的Ctrl + Enter 快捷发帖子.就以Ctrl+Enter快捷发帖子为例,实质上呢,就是通过JS脚本,捕获系统的onke ...