本文主要是介绍ppp and ndis,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
3g wcdmahttp://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:
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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!