多种模块拔号上网驱动开发调试

拔号上网

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

 

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

 

#

在取得ipdns等后,说明已经拔号成功。生成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/

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九世坛主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值