拔号上网

前后调试了几种上网卡模块,现在把几种模块调试记录下来,并做一下备份。

操作系统: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/下

多种模块拔号上网驱动开发调试相关推荐

  1. Android GPS中间层驱动开发调试

    ~.Android GPS中间层驱动开发调试小结  // rkeclair_v1.02_sdkdemo , ublox芯片       调通GPS功能,用串口可打印出位置数据,并可在gpslogger ...

  2. 开机自动拔号上网(无路由器)

    一般我们用ADSL上网是每次开机都要重新拔号才可以上网,为了更便揵,我给大家分享下如何开机自动拔号上网: 方法一:开机自动启动批处理文件 文件内容: @echo off RASDIAL 宽带连接名称 ...

  3. WIN10 + VS2015 + WDK10 + SDK10 + VM虚拟机驱动开发调试环境搭建

    为什么80%的码农都做不了架构师?>>>    一.准备工作 1 系统环境:Win10系统 2 开发工具:VS2015 3 驱动开发工具:WDK10 4 Windows SDK:SD ...

  4. Linux驱动开发(外传)---驱动开发调试方法

    前文回顾 <Linux驱动开发(一)-环境搭建与hello world> <Linux驱动开发(二)-驱动与设备的分离设计> <Linux驱动开发(三)-设备树> ...

  5. ADI最新基带处理芯片 ADRV9002特性及 FPGA 驱动开发调试记录分享

    ADI的产品迭代还是非常迅速的,继ADRV9009之后,又相继退出ADRV9026,ADRV9040,射频通道数量都是呈指数倍增加,今天要介绍一款低功耗产品ADRV9002, 数据接口从高速串行口又回 ...

  6. linux静态分配设备号,Linux驱动开发之静态申请设备号

    一. 1.头文件 include/linux/fs.h 2.API 静态申请设备号 int register_chrdev_region(dev_t, unsigned, const char *); ...

  7. MS5182N(AD7682)驱动开发调试总结(一)

    简介 MS5182N芯片是瑞盟科技的一款4通道的16位SAR ADC芯片,其对标的是ADI的AD7682芯片,或者说基本上两者功能一样,可以作为国产替代.另外其MS5189(8通道的)对标的则是AD7 ...

  8. 开发调试指令大全--(MTK开发调试命令)

    MTK无线驱动开发调试手册 1.前言 2.MTK Wifi芯片简介 2.1 单频WIFI芯片信息 2.2 WiFi驱动版本 3.MTK 无线驱动开发调试 3.1 常用命令行 3.1.1 设置WLAN驱 ...

  9. 图漾科技招聘|机器视觉算法、嵌入式驱动开发高级工程师等岗位

    嵌入式驱动开发高级工程师 工作地点:上海 薪资:20-40K 岗位职责: 1. 负责嵌入式系统(usb\ethernet\spi\Camera sensor等)驱动开发和调试: 2. 负责评估核心系统 ...

最新文章

  1. 从原理到实现,详解基于朴素ML思想的协同过滤推荐算法
  2. Linux-Copy On Write写时复制机制初探
  3. Silverlight 4 Beta正式发布
  4. 计算机管理中添加用户属性,如何在计算机右键菜单栏中添加属性选项
  5. 高性能异步批量ping的golang实现
  6. [LeetCode]235.Lowest Common Ancestor of a Binary Search Tree
  7. ASP.NET知识点
  8. ubuntu16.04安装zabbix-server3.4
  9. EBMIDE——打印格式管理
  10. win7安全模式卡在Classpnp.sys文件的解决办法
  11. 2022五一劳动节虾皮仓库物流放假安排
  12. katacontainers v2编译
  13. Cisco Aironet系列AP的瘦胖转换
  14. 联想小新air13pro重装系统_联想小新Air13Pro笔记本U盘重装win10系统教程
  15. 4K字记一次血淋淋的MySQL崩溃修复案例
  16. 系统时钟的时钟源选择
  17. 计算机网络实验IP数据报分片,实验报告三IP数据分片.doc
  18. 腾讯CEO马化腾:从“抄袭”开始创业之路
  19. JavaScript-js操作标签style相关
  20. 微软统一打补丁的服务器,明白打补丁! 微软公布2月Win10/Win8.1/Win7更新详情

热门文章

  1. Markdown流程图
  2. 【学习记录】阿里天池SQL练习题1-python与SQL方式比较
  3. 内存类型UDIMM、RDIMM、LRDIMM
  4. [学习笔记]自适应辛普森(Simpson)积分
  5. java多个pdf合并为一个pdf,并通过feign下载
  6. adb常用的命令【杭州多测师_王sir】【杭州多测师】
  7. gets和fgets函数及其区别,C语言gets和fgets函数详解
  8. 乔春洋:品牌文化的三大内涵
  9. 简单xss接收cookie平台的搭建以及xss拿cookie的一些总结
  10. 【虚幻引擎】UE4/UE5科大讯飞文字合成语音