多种模块拔号上网驱动开发调试
拔号上网
前后调试了几种上网卡模块,现在把几种模块调试记录下来,并做一下备份。
操作系统:Linux (none) 2.6.30 #112 Thu Sep 7 16:01:33 CST 2017 armv5tejl GNU/Linux
CPU:# cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 99.12
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 5
Hardware : Atmel AT91SAM9260-EK
Revision : 0000
Serial : 000000000000000
目前支持的模块有:
龙尚U75000 Bus 001 Device 002: ID 1c9e:9603
中兴ME3630
华为MU609
移远EC20
硬件上都是miniPCIe 的接口,其实主要用的就是里面的usb口线,对于模块生成的设备,就是usb总线下的设备。这样就可以理解为是什么是usb下面的设备了。
在linux_src/drivers/usb/serial/option.c 中的ids列表时,增加模块的deviceid/vidorid配置
内核编译增加
1)USB driver for GSM and CDMA midems
2)ppp拨号 ppp BSD-compres comprossion
3)CDC相关
拔号工具使用ppp-2.4.4:
编译ppp2.2.4 pppd chat 放入文件系统/usr/sbin中
这些都是公共的操作,根据各个模块,做相应的拔号脚本就可以了。
这里面,不同模块用的AT口不是一样的,拔号脚本也不一样。
通过配置设备ID和vendor id 后,启动出现这个设备信息,就说明硬件及驱动挂载没有问题了。
从dev下,可以看到
看到生成的设备列表。这里面有设备口是数据口,有的是AT口,要根据不同模块的手册里有说明。有的口子也是gps数据口,相当于一个gps专用串口输出。移远EC20,有源码并测试通过的。
再通过拔号脚本,实现拔号。
# sh ppp-on &
#
pppd options in effect:
debug # (from /opt/PPP_script/zte_options)
nodetach # (from /opt/PPP_script/zte_options)
persist # (from /opt/PPP_script/zte_options)
dump # (from /opt/PPP_script/zte_options)
noauth # (from /opt/PPP_script/zte_options)
user Anyname # (from /opt/PPP_script/zte_options)
password ?????? # (from /opt/PPP_script/zte_options)
/dev/ttyUSB2 # (from /opt/PPP_script/zte_options)
115200 # (from /opt/PPP_script/zte_options)
lock # (from /opt/PPP_script/zte_options)
connect chat -s -v ABORT \"NO CARRIER\" ABORT \"ERROR\" TIMEOUT 120 \"\" ATE0 SAY \"ATE\" ECHO ON OK ATD*99# CONNECT # (from /opt/PPP_script/zte_options)
nocrtscts # (from /opt/PPP_script/zte_options)
modem # (from /opt/PPP_script/zte_options)
novj # (from /opt/PPP_script/zte_options)
ipcp-accept-local # (from /opt/PPP_script/zte_options)
ipcp-accept-remote # (from /opt/PPP_script/zte_options)
noipdefault # (from /opt/PPP_script/zte_options)
defaultroute # (from /opt/PPP_script/zte_options)
usepeerdns # (from /opt/PPP_script/zte_options)
noccp # (from /opt/PPP_script/zte_options)
nobsdcomp # (from /opt/PPP_script/zte_options)
chat: ATE
ATE0
OK
CONNECTScript chat -s -v ABORT "NO CARRIER" ABORT "ERROR" TIMEOUT 120 "" ATE0 SAY "ATE" ECHO ON OK ATD*99# CONNECT finished (pid 479), status = 0x0
Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB2
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x494cf10f> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <auth chap MD5> <magic 0x7728f05> <pcomp> <accomp>]
sent [LCP ConfAck id=0x0 <asyncmap 0x0> <auth chap MD5> <magic 0x7728f05> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x494cf10f> <pcomp> <accomp>]
rcvd [LCP DiscReq id=0x1 magic=0x7728f05]
rcvd [CHAP Challenge id=0x1 <cea3ae5ef259841bfa2c2d8e021ae437>, name = "UMTS_CHAP_SRVR"]
sent [CHAP Response id=0x1 <bf8132e2c48a6ffedff8ce2234c13cc1>, name = "Anyname"]
rcvd [CHAP Success id=0x1 ""]
CHAP authentication succeeded
CHAP authentication succeeded
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
rcvd [proto=0x3] 01 00 04
Unsupported protocol 0x3 received
sent [LCP ProtRej id=0x2 00 03 01 00 04]
rcvd [IPCP ConfReq id=0x0]
sent [IPCP ConfNak id=0x0 <addr 0.0.0.0>]
rcvd [IPCP ConfNak id=0x1 <addr 10.103.223.92> <ms-dns1 210.21.4.130> <ms-dns2 221.5.88.88>]
sent [IPCP ConfReq id=0x2 <addr 10.103.223.92> <ms-dns1 210.21.4.130> <ms-dns2 221.5.88.88>]
rcvd [IPCP ConfReq id=0x1]
sent [IPCP ConfAck id=0x1]
rcvd [IPCP ConfAck id=0x2 <addr 10.103.223.92> <ms-dns1 210.21.4.130> <ms-dns2 221.5.88.88>]
Could not determine remote IP address: defaulting to 10.64.64.64
local IP address 10.103.223.92
remote IP address 10.64.64.64
primary DNS address 210.21.4.130
secondary DNS address 221.5.88.88
#
在取得ip,dns等后,说明已经拔号成功。生成ppp0接口,通过ipconfig可以看到生成的接口。
# ifconfig
eth0 Link encap:Ethernet HWaddr E6:3D:D8:F1:69:C0
inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:258 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:20848 (20.3 KiB) TX bytes:0 (0.0 B)
Interrupt:21 Base address:0x4000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.103.223.92 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:55 (55.0 B) TX bytes:58 (58.0 B)
直接ping包测试,数据可以通。
这里各模块不同的是拔号脚本。龙尚u7500和中兴ME3630 用的是同一套脚本。华为用的是wvdial 拔号工具,这款芯片已经停产,后面不支持。移远EC20单独的脚本。
Atmsg AT命令调试工具
Getgps gps取得工具
linux-ppp-scripts.tar.gz 移远EC20脚本放/opt下
PPP_script.tar.gz 是龙尚u7500和中兴ME3630 脚本,放/opt/下
多种模块拔号上网驱动开发调试相关推荐
- Android GPS中间层驱动开发调试
~.Android GPS中间层驱动开发调试小结 // rkeclair_v1.02_sdkdemo , ublox芯片 调通GPS功能,用串口可打印出位置数据,并可在gpslogger ...
- 开机自动拔号上网(无路由器)
一般我们用ADSL上网是每次开机都要重新拔号才可以上网,为了更便揵,我给大家分享下如何开机自动拔号上网: 方法一:开机自动启动批处理文件 文件内容: @echo off RASDIAL 宽带连接名称 ...
- WIN10 + VS2015 + WDK10 + SDK10 + VM虚拟机驱动开发调试环境搭建
为什么80%的码农都做不了架构师?>>> 一.准备工作 1 系统环境:Win10系统 2 开发工具:VS2015 3 驱动开发工具:WDK10 4 Windows SDK:SD ...
- Linux驱动开发(外传)---驱动开发调试方法
前文回顾 <Linux驱动开发(一)-环境搭建与hello world> <Linux驱动开发(二)-驱动与设备的分离设计> <Linux驱动开发(三)-设备树> ...
- ADI最新基带处理芯片 ADRV9002特性及 FPGA 驱动开发调试记录分享
ADI的产品迭代还是非常迅速的,继ADRV9009之后,又相继退出ADRV9026,ADRV9040,射频通道数量都是呈指数倍增加,今天要介绍一款低功耗产品ADRV9002, 数据接口从高速串行口又回 ...
- linux静态分配设备号,Linux驱动开发之静态申请设备号
一. 1.头文件 include/linux/fs.h 2.API 静态申请设备号 int register_chrdev_region(dev_t, unsigned, const char *); ...
- MS5182N(AD7682)驱动开发调试总结(一)
简介 MS5182N芯片是瑞盟科技的一款4通道的16位SAR ADC芯片,其对标的是ADI的AD7682芯片,或者说基本上两者功能一样,可以作为国产替代.另外其MS5189(8通道的)对标的则是AD7 ...
- 开发调试指令大全--(MTK开发调试命令)
MTK无线驱动开发调试手册 1.前言 2.MTK Wifi芯片简介 2.1 单频WIFI芯片信息 2.2 WiFi驱动版本 3.MTK 无线驱动开发调试 3.1 常用命令行 3.1.1 设置WLAN驱 ...
- 图漾科技招聘|机器视觉算法、嵌入式驱动开发高级工程师等岗位
嵌入式驱动开发高级工程师 工作地点:上海 薪资:20-40K 岗位职责: 1. 负责嵌入式系统(usb\ethernet\spi\Camera sensor等)驱动开发和调试: 2. 负责评估核心系统 ...
最新文章
- 从原理到实现,详解基于朴素ML思想的协同过滤推荐算法
- Linux-Copy On Write写时复制机制初探
- Silverlight 4 Beta正式发布
- 计算机管理中添加用户属性,如何在计算机右键菜单栏中添加属性选项
- 高性能异步批量ping的golang实现
- [LeetCode]235.Lowest Common Ancestor of a Binary Search Tree
- ASP.NET知识点
- ubuntu16.04安装zabbix-server3.4
- EBMIDE——打印格式管理
- win7安全模式卡在Classpnp.sys文件的解决办法
- 2022五一劳动节虾皮仓库物流放假安排
- katacontainers v2编译
- Cisco Aironet系列AP的瘦胖转换
- 联想小新air13pro重装系统_联想小新Air13Pro笔记本U盘重装win10系统教程
- 4K字记一次血淋淋的MySQL崩溃修复案例
- 系统时钟的时钟源选择
- 计算机网络实验IP数据报分片,实验报告三IP数据分片.doc
- 腾讯CEO马化腾:从“抄袭”开始创业之路
- JavaScript-js操作标签style相关
- 微软统一打补丁的服务器,明白打补丁! 微软公布2月Win10/Win8.1/Win7更新详情