ppp and ndis

2024-01-21 19:08
文章标签 ppp ndis

本文主要是介绍ppp and ndis,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

3g wcdma
http://wenku.baidu.com/view/9811fcfcf705cc17552709c6.html
http://wenku.baidu.com/view/27a345fcf705cc1755270970.html
http://blog.csdn.net/hens007/article/details/7255488

2g gprs
http://wenku.baidu.com/view/acffc7ebf8c75fbfc77db2ec.html

基本情况:
内核需支持ppp协议,也要支持这个usb设备,
ppp client调用pppd进行拨号,pppd会调用chat程序与远程的ppp server会话。

tiny6410 e261上网卡拨号流程:

首先配置驱动:
3g设备驱动支持
Device Drivers  --->[*] USB support  ---><*>   USB Serial Converter support  --->  [*]   USB Generic Serial Driver <*>   USB driver for GSM and CDMA modems   
ppp协议支持
[*] Network device support  --->
<*>   PPP (point-to-point protocol) support 
[*]     PPP multilink support (EXPERIMENTAL) 
[*]     PPP filtering
<*>     PPP support for async serial ports 
<*>     PPP support for sync tty ports
<*>     PPP Deflate compression 


假设3g模块(或上网卡)插在板子上已经被识别成了/dev/ttyUSBx了,进行pppd拨号的程序如下
1.编译pppd源码,将生产的pppd,chat搞到板子的/usr/sbin下
2.在/etc下创建ppp目录
3.ppp下创建pap-chat文件,和peers目录

[root@hemei]# cat pap-secrets 
cmnet   *       cmnet *

4.在peers目录下创建
wcdma和chat-wcdma-connect和chat-wcdma-disconnect//用于联通3g的拨号脚本
cdma2000和chat-cdma2000-connect和chat-cdma2000-disconnect//电信3g
tdscdma和chat-tdscdma-connect 和chat-tdscdma-disconnect//移动3g
内容如下:

联通3g

[root@hemei]# cat wcdma 
nodetach
lock
/dev/ttyUSB0
921600
user "card"
password "card"
crtscts
show-password
usepeerdns
noauth
noipdefault
novj
novjccomp
noccp
defaultroute
ipcp-accept-local
ipcp-accept-remote
connect '/usr/sbin/chat -s -v -f /etc/ppp/peers/chat-wcdma-connect'
disconnect '/usr/sbin/chat -s -v -f /etc/ppp/peers/chat-wcdma-disconnect'[root@hemei]# cat chat-wcdma-connect 
ABORT 'NO CARRIER'
ABORT 'ERROR'
ABORT 'NO DIALTONE'
ABORT 'BUSY'
ABORT 'NO ANSWER'
'' AT
OK ATZ
OK AT+CGDCONT=1,\"IP\",\"3gnet\",,0,0
OK AT+CFUN=1
OK ATDT*99#
CONNECT ''[root@hemei]# cat chat-wcdma-disconnect 
ABORT  OK
ABORT  BUSY
ABORT  DELAYED
ABORT  "NO ANSWER"
ABORT  "NO CARRIER"
ABORT  "NO DIALTONE"
ABORT  VOICE
ABORT  ERROR
ABORT  RINGING
TIMEOUT  12
""  \K
""  \K
""  \K
""  +++ATH
""  +++ATH
""  +++ATH
""  ATZ
SAY "\nGoodbay\n"
[root@hemei]# 

电信3g
[root@hemei]# cat cdma2000 
nodetach
lock
/dev/ttyUSB0
921600
user "ctnet@mycdma.cn"
password "vnet.mobi"
crtscts
hide-password
usepeerdns
noauth
noipdefault
novj
novjccomp
noccp
defaultroute
ipcp-accept-local
ipcp-accept-remote
connect '/usr/sbin/chat -s -v -f /etc/ppp/peers/chat-cdma2000-connect'
disconnect '/usr/sbin/chat -s -v -f /etc/ppp/peers/chat-cdma2000-disconnect'
[root@hemei]# 
[root@hemei]# cat chat-cdma2000-connect 
ABORT 'NO CARRIER'
ABORT 'ERROR'
ABORT 'NO DIALTONE'
ABORT 'BUSY'
ABORT 'NO ANSWER'
'' AT
OK ATZ
OK AT+CFUN=1
OK ATDT#777
CONNECT '' 
[root@hemei]# 
[root@hemei]# cat chat-cdma2000-disconnect 
ABORT  OK
ABORT  BUSY
ABORT  DELAYED
ABORT  "NO ANSWER"
ABORT  "NO CARRIER"
ABORT  "NO DIALTONE"
ABORT  VOICE
ABORT  ERROR
ABORT  RINGING
TIMEOUT  12
""  \K
""  \K
""  \K
""  +++ATH
""  +++ATH
""  +++ATH
""  ATZ
SAY "\nGoodbay\n"
[root@hemei]# 

移动3g
[root@hemei]# cat tdscdma 
nodetach
lock
/dev/ttyUSB0
460800
user "cmnet"
crtscts
modem
hide-password
usepeerdns
noauth
noipdefault
novj
novjccomp
noccp
defaultroute
ipcp-accept-local
ipcp-accept-remote
connect '/usr/sbin/chat -s -v -f /etc/ppp/peers/chat-tdscdma-connect'
disconnect '/usr/sbin/chat -s -v -f /etc/ppp/peers/chat-tdscdma-disconnect'
[root@hemei]# 
[root@hemei]# cat chat-tdscdma-connect 
ABORT 'NO CARRIER'
ABORT 'ERROR'
ABORT 'NO DIALTONE'
ABORT 'BUSY'
ABORT 'NO ANSWER'
'' AT
OK ATZ
OK ATE0V1
OK ATS0=0
OK AT+CGDCONT=1,\"IP\",\"cmnet\"
OK AT+CFUN=1
OK ATDT*99***1#
CONNECT
[root@hemei]# 
[root@hemei]# cat chat-tdscdma-disconnect 
ABORT  OK
ABORT  BUSY
ABORT  DELAYED
ABORT  "NO ANSWER"
ABORT  "NO CARRIER"
ABORT  "NO DIALTONE"
ABORT  VOICE
ABORT  ERROR
ABORT  RINGING
TIMEOUT  12
""  \K
""  \K
""  \K
""  +++ATH
""  +++ATH
""  +++ATH
""  ATZ
SAY "\nGoodbay\n"

5.拨号
pppd call wcdma

进入目录/var/run/,查看是否产出文件 ppp0-ok,如果有,则表示已拨号成功,ppp0-ok文件内会存储IP地址和DNS。
/etc下新建resolv.conf文件,将分配到的两个DNS服务器地址,添加到此文件中,内容如下:
nameserver 210.22.70.3
nameserver 211.95.1.97

ifconfig有信息

[root@hemei]# ifconfig 
ppp0      Link encap:Point-to-Point Protocol  inet addr:10.45.210.114  P-t-P:10.64.64.64  Mask:255.255.255.255UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1RX packets:9 errors:0 dropped:0 overruns:0 frame:0TX packets:9 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:3 RX bytes:180 (180.0 B)  TX bytes:216 (216.0 B)


6.使用如下命令切断连接
ppp-off 
kill -9 pppd进程ID 

如果3g设备插在板子上没有自动出现/dev/ttyUSBx:

使用如下命令将e261由cdrom模式转换成modem模式,此时会生成/dev/ttyUSB0-5
3g-ppp /etc/3g-modem/12d1.1446.12d1.1001
usb_modeswitch



ndis上网


1.
配置内核生成usbnet.ko (drivers/net/usb/)

Device Drivers  --->     
[*] Network device support  --->      
USB Network Adapters  ---> 
<M> Multi-purpose USB Networking Framework

编译希姆通厂家7100等模块的ndis驱动GobiNet,ko

2.
搞到板子上加载
insmod usbnet.ko 
insmod GobiNet,ko

3.
模块插在班子上,会出现
/de/qcqmi0

ifconfig -a
有usb0接口出现

4.拨号
ndismanager  /dev/qcqmi0

进入菜单进行拨号





at 原始命令拨号

模块的拨号需要相关的网络at命令的支持
比如AT+TCPCLIENT="www.baidu.com",80

这篇关于ppp and ndis的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/630542

相关文章

数据链路层的PPP协议

互联网用户通常都要连接到某个ISP才能接入到互联网。PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议。 PPP协议有三个组成部分: (1)一个将IP数据报封装到串行链路的方法。PPP既支持异步链路(无奇偶检验的8比特数据),也支持面向比特的同步链路。IP数据报在PPP帧中就是其信息部分,受最大传送单元MTU的限制。 (2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP。

【杂记-浅谈PPP协议】

PPP协议 一、PPP协议概述二、PPP协议组成三、PPP协议的特点、优势、缺点四、PPP协议的应用场景 一、PPP协议概述 PPP,Point-to-Point Protocol,即点到点协议,是一种数据链路层协议,主要用于在两点间的串行连接上传输数据。它不仅支持异步和同步传输,还能封装多种网络层协议,如IP、IPX等,这使得PPP成为一个通用的数据链路层协议。 二、PPP协

通过PPP连接GSM的一个数据流实例

接收:7E FF 7D 23 C0 21 7D 21 7D 21 7D 20 7D 32 7D 22 7D 26 7D 20 7D 2A 7D 20 7D 20 7D 23 7D 24 C0 23 7D 27 7D 22 7D 28 7D 22 55 83 7E 发送:7E FF 7D 23 C0 21 7D 21 7D 21 7D 20 7D 34 7D 22 7D 26 7D 20 7D 2

PPP协议(TCPIP协议第二版)

为了实现移植LWIP连入GSM网络,需要理解PPP协议的每个字段信息,以下节选翻译自TCPIP协议第二版,与大家分享~ PPP表示点对点协议,这是一种很流行的方式用来携带IP数据包,无论是高速光学线路上还是用于低速拨号调制解调器。PPP协议被广泛用于DSL服务运营商,同时也被用于配置Internet系统参数,比如用于初始化IP地址和DNS服务器。 PPP实际上应当被视为一簇协议的集合而不是单个

PPP-B2b精密产品使用注意事项及分析

1、因为在使用PPP-B2b进行定轨的时候,发的精密轨道产品是B3频点的,需要改正的卫星质心(Com)与SP3精密星历对比。 2、PPP-B2b产品吸收了电离层误差,因此电离层提取方面与IGS电离层完全无法对其。 3、由于PPP-B2b产品精度较低:BDS-3 PPP-B2b轨道在径向、切向和法向精度分别约为0.1 m、0.3 m及0.3 m,PPP-B2b钟差均方根(Root Mean Sq

北斗导航 | 多GNSS系统PPP-RTK原型系统及性能分析(2020 CPGPS全球华人导航定位协会年会)

博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 参考文献及代码下载:GPS北斗双模原理代码及书籍 博主是做视觉Vision出生——“视觉里程计,视觉SLAM”,后来找工作也是一不小心步入了卫星导航的大门,也是灰常荣幸。现在主要研究RDSS、RAIM及软件PVT导航解算。欢迎一起

北斗导航 | 北斗/GNSS精密定位:从PPP-RTK 到 Vision-PPP(第十一届中国卫星导航年会报告)

博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 参考文献及代码下载:GPS北斗双模原理代码及书籍 博主是做视觉Vision出生——“视觉里程计,视觉SLAM”,后来找工作也是一不小心步入了卫星导航的大门,也是灰常荣幸。现在主要研究RDSS、RAIM及软件PVT导航解算。欢迎一起

PPP与HDLC的异同

PPP(点对点协议)与HDLC(高级数据链路控制)都是数据链路层协议,用于在两点间提供可靠的通信链接,但它们在设计目标、应用场景、功能特性等方面存在一些显著的异同: 相同点: 目的相似:两者都旨在提供在点对点链路上的数据传输和错误检测能力,使用循环冗余校验(CRC)进行错误检测。数据封装:PPP和HDLC都对数据进行封装,包含帧头和帧尾以界定数据单元,并提供帧定界和同步功能。全双工操作:两者都

NDIS Filter开发-Filter启动、暂停和绕过

下面分别讨论Filter驱动的启动和暂停状态以及所谓“绕过模式”。 启动Filter模块 若要启动已暂停的Filter模块,NDIS 会调用Filter驱动程序的 FilterSetModuleOptions 函数(如果有),然后调用 FilterRestart 函数。 Filter模块在 FilterRestart 函数中开始执行时进入“正在重启”状态。 如果驱动程序为 FilterSet

精密单点定位(PPP)数据处理反演潮汐(四)

前段时间,我又尝试用TerraPos处理一下SeaPath330的原始姿态和定位数据,看看反演潮位的效果如何。 首先,怎么预处理SeaPath330的定位和姿态数据, 记录格式如下1901200054.l09和1901200054.l10,咨询了SeaPath330的技术张工,对话如下: 张工,有个问题咨询一下,Seapath记录的RTCM数据格式.l09和IMU原始数据.l10怎么转成ri