为了让我们的彩信应用在Linux小机上运行起来,实现彩信的收发,就需要在Linux上实现GPRS modem的拨号上网,通过PPP拨号建立和WAP服务器的连接。查了些资料后,没遇到多少麻烦就实现了PPP拨号上网,在此记录以作备忘。
    我们是使用一个可以接受AT命令的GPRS手机作GPRS的modem,其通过USB线和Linux小机通讯(串口线也是一样的),将其和小机连接后将出现一个ttyUSB0的设备,用如下命令对这个设备做一个链接:
    ln -s /dev/ttyUSB0 /dev/gprsmodem
    这些做好后,编写
一个 名为gprs的pppd拨号配置文件,保存到目录/etc/ppp/peers下,其内容如下所示:
user wap 
password wap 
defaultroute 
"/dev/gprsmodem"
connect "/usr/sbin/chat -v -f /etc/ppp/gprsmodem.chat"
debug
kdebug 
4
ipcp
-no-addresses
noipdefault
noauth
novj
noccp
    然后编写一个名为gprsmodem.chat的chat会话文件,保存到目录/etc/ppp下,内容如下所示:
'ABORT' 'BUSY'
'ABORT' 'ERROR'
'ABORT' 'NO ANSWER'
'ABORT' 'NO CARRIER'
'ABORT' 'NO DIALTONE'
'ABORT' 'Invalid Login'
'ABORT' 'Login incorrect'
'' 'ATZ'
'TIMEOUT' '
10'
'OK' 'AT
+CGDCONT=1,"IP","CMWAP"'
# 'OK' 'AT+CGQREQ=
1,0,0,0,0,0 '  // 这两行根据使用的模组来确定
# 'OK' 'AT+CGQMIN=
1,0,0,0,0,0 '  // 是否需要和具体的数值
'OK' 'ATD*
99***1#'
'CONNECT' ''
    之后,用如下命令即可进行PPP拨号上网了。
    pppd call gprs
    此命令完成后,使用如下命令是否拨号成功和查看分配的IP地址。
    ifconfig
    若拨号不成功,使用如下命令查看log信息查找原因,一般都可以找到。
    vim /var/log/messages
    另外,若内核没有PPP拨号相关的模块,则按如下方式配置PPP相关的内核选项,重新编译内核和模块,才能进行PPP拨号。
	CONFIG_PPP=m
# CONFIG_PPP_MULTILINK is not set
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
# CONFIG_PPPOE is not set
参考资料:
   通过USB连接GPRS手机进行PPP拨号上网
Logo

更多推荐