Arm Linux 移植 Air724UG 4G模块-USB方式

一、开发环境

开发板:NUC980 iot开发板
4G模块:银尔达 Core-Air724

二、连接方式

micro usb线,一端连接4G模组,一端连接NUC980 iot开发板。
注意: 4G模组还需外接5V或者12V电源。否则回因供电不足导致开发板重启。

三、4G模组的 VID 和 PID

4G模组供电,micro usb线接入电脑,此时电脑会多出一个以太网,右键选择属性 —> 点击 配置 —> 详细信息 页面的 硬件Id
在这里插入图片描述
在这里插入图片描述

四、Linux kernel 的配置

修改 Linux kernel 的配置

make menuconfig

PPP相关:
在这里插入图片描述

USB相关:
USB NET功能
在这里插入图片描述
USB GSM、CDMA功能
在这里插入图片描述
USB CDC、ACM功能,参考正点原子 需要使能,实际测试不使能也是正常的
在这里插入图片描述

选中:支持GSM和CDMA模块的USB转串口驱动,这个驱动作用是虚拟出 /dev/ttyUSB0、/dev/ttyUSB1、/dev/ttyUSB2、/dev/ttyUSB3 这几个串口,作用分别是错误诊断、gps信息接口、模块的的通信接口。
修改内核文件,添加 VID和PID,文件位置 NUC980-linux-4.4.y/drivers/usb/serial
在这里插入图片描述
修改内容为:

		//add  for Air72x Air78x
	    { USB_DEVICE(0x1782, 0x4e00) },
	    { USB_DEVICE(0x19d1, 0x0001) },
	     //add end

在这里插入图片描述

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

五、ppp的编译

编译移植过程可参考 <Arm Linux编译PPP软件包-4G模块联网测试> ,链接网址:
http://t.csdnimg.cn/GGsYd
使用的电信卡,拨号链接 wcdma-chat-connect 文件的内容为:


ABORT "BUSY"
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
TIMEOUT 120
"" AT
OK \rATZ
#联通
#OK \rAT+CGDCONT=1,"IP","3gnet",,0,0
#OK-AT-OK ATDT*99#
#移动
#OK \rAT+CGDCONT=1,"IP","cmnet",,0,0
#OK-AT-OK ATDT*99***1#
# 电信
OK \rAT+CGDCONT=1,"IP",""
#OK-AT-OK ATDT#777
#上条失败了,改为下面的连接成功
OK-AT-OK ATDT*99#  
CONNECT \d\c

六、测试

拨号指令:

# ./pppd call wcdma &

启动过程:
在这里插入图片描述

# pppd options in effect:
debug           # (from /etc/ppp/peers/wcdma)
nodetach                # (from /etc/ppp/peers/wcdma)
dump            # (from /etc/ppp/peers/wcdma)
noauth          # (from /etc/ppp/peers/wcdma)
user card               # (from /etc/ppp/peers/wcdma)
password ??????         # (from /etc/ppp/peers/wcdma)
remotename 3gppp                # (from /etc/ppp/peers/wcdma)
/dev/ttyUSB3            # (from /etc/ppp/peers/wcdma)
115200          # (from /etc/ppp/peers/wcdma)
lock            # (from /etc/ppp/peers/wcdma)
connect /etc/ppp/chat -s -v -f /etc/ppp/peers/wcdma-chat-connect                # (from /etc/ppp/peers/wcdma)
disconnect /etc/ppp/chat -s -v -f /etc/ppp/peers/wcdma-chat-disconnect          # (from /etc/ppp/peers/wcdma)
crtscts         # (from /etc/ppp/peers/wcdma)
local           # (from /etc/ppp/peers/wcdma)
hide-password           # (from /etc/ppp/peers/wcdma)
novj            # (from /etc/ppp/peers/wcdma)
novjccomp               # (from /etc/ppp/peers/wcdma)
ipcp-accept-local               # (from /etc/ppp/peers/wcdma)
ipcp-accept-remote              # (from /etc/ppp/peers/wcdma)
ipparam 3gppp           # (from /etc/ppp/peers/wcdma)
noipdefault             # (from /etc/ppp/peers/wcdma)
defaultroute            # (from /etc/ppp/peers/wcdma)
usepeerdns              # (from /etc/ppp/peers/wcdma)
noccp           # (from /etc/ppp/peers/wcdma)
abort on (BUSY)
abort on (NO CARRIER)
abort on (NO DIALTONE)
abort on (ERROR)
abort on (NO ANSWER)
timeout set to 120 seconds
send (AT^M)
expect (OK)
AT^M^M
OK
 -- got it

send (^MATZ^M)
expect (OK)
^M
^MATZ^M^M
OK
 -- got it

send (^MAT+CGDCONT=1,"IP",""^M)
expect (OK)
^M
^MAT+CGDCONT=1,"IP",""^M^M
OK
 -- got it

send (ATDT*99#^M)
expect (CONNECT)
^M
A^@TDT*99#^M^M
CONNECT
 -- got it

send (\d)
Serial connection established.
using channel 3
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB3
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xb62f9135> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x572d05c> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x572d05c> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xb62f9135> <pcomp> <accomp>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [LCP EchoReq id=0x0 magic=0x572d05c]
sent [LCP EchoRep id=0x0 magic=0xb62f9135]
rcvd [IPCP TermAck id=0x1]
rcvd [IPCP ConfReq id=0x1 <addr 192.168.0.1>]
sent [IPCP ConfAck id=0x1 <addr 192.168.0.1>]
rcvd [proto=0x8057] 01 01 00 0e 01 0a b4 23 e8 a8 78 45 76 a2
Unsupported protocol 'IPv6 Control Protovol' (0x8057) received
sent [LCP ProtRej id=0x2 80 57 01 01 00 0e 01 0a b4 23 e8 a8 78 45 76 a2]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfRej id=0x1 <ms-dns3 0.0.0.0>]
sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 0.0.0.0>]
rcvd [IPCP ConfNak id=0x2 <addr 10.119.141.33> <ms-dns1 219.141.157.113>]
sent [IPCP ConfReq id=0x3 <addr 10.119.141.33> <ms-dns1 219.141.157.113>]
rcvd [IPCP ConfAck id=0x3 <addr 10.119.141.33> <ms-dns1 219.141.157.113>]
local  IP address 10.119.141.33
remote IP address 192.168.0.1
primary   DNS address 219.141.157.113

查看网卡:

ifconfig

在这里插入图片描述
测试是否可上网,先用电脑看下百度的ip。
在这里插入图片描述
开发板 ping 百度的 ip。
在这里插入图片描述

参考
https://blog.sina.com.cn/s/blog_7880d3350102wb92.html
https://zhuanlan.zhihu.com/p/114645532
https://doc.openluat.com/wiki/27?wiki_page_id=3329

相关推荐

  1. 51单片机-4G模块

    2024-04-29 08:18:03       57 阅读
  2. Android中使用USB进行通信的4方式

    2024-04-29 08:18:03       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-29 08:18:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-29 08:18:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-29 08:18:03       82 阅读
  4. Python语言-面向对象

    2024-04-29 08:18:03       91 阅读

热门阅读

  1. http响应,结合springboot

    2024-04-29 08:18:03       35 阅读
  2. 排序算法(总结)-C++

    2024-04-29 08:18:03       34 阅读
  3. 多线程执行List的addAll方法产生的并发问题

    2024-04-29 08:18:03       35 阅读
  4. 每天一个数据分析题(二百九十九)

    2024-04-29 08:18:03       33 阅读
  5. 牛客小白月赛92题解

    2024-04-29 08:18:03       33 阅读
  6. OSS 文件下载-Excel

    2024-04-29 08:18:03       34 阅读
  7. 【Firewall】服务器访问限制白名单

    2024-04-29 08:18:03       30 阅读
  8. 无人机在测绘领域的应用

    2024-04-29 08:18:03       29 阅读
  9. 41 对MVC,MVP,MVVM的理解

    2024-04-29 08:18:03       26 阅读
  10. 2385. 感染二叉树需要的总时间

    2024-04-29 08:18:03       35 阅读
  11. Spark RDD

    Spark RDD

    2024-04-29 08:18:03      26 阅读
  12. 从零学算法135

    2024-04-29 08:18:03       30 阅读
  13. Python.第六章函数应用实例

    2024-04-29 08:18:03       32 阅读
  14. Chrome插件开发:开启浏览器功能的无限可能

    2024-04-29 08:18:03       27 阅读
  15. Rapidly exploring Random Trees(RRT)类算法

    2024-04-29 08:18:03       35 阅读