SIM300实现GPRS上网

1.首先得让内核支持PPP,进入Linux 内核目录(kernel-2.6 或 以上内核版本),执行 #make menuconfig

添加如下内核选项:

Device Drivers ---> Network device support --->

<*> PPP (point-to-point protocol) support

[*]   PPP multilink support

<*> PPP support for async serial ports

<*> PPP support for sync tty ports

<*> SLIP (serial line) support

[*]   CSLIP compressed headers

添加完成后保存并退出,执行# make zImage

编译完成以后,在内核目录的arch/arm/boot 目录下便会生成一个 zImage 内核文件,烧到开发板中,这样开发板内核就支持了PPP了。

2.下载ppp-2.4.4.tar.gz 或其他版本PPP 拨号程序源码,可以上网搜索

进入ppp-2.4.4.tar.gz的目录执行解压命令 #tar zxf ppp-2.4.4.tar.gz

解压后出现 ppp-2.4.4 文件夹,进入该目录( #cd ppp-2.4.4 ),执行配置命令 #./configure

然后执行 #make CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc   (后面的CC表示你的交叉编译器目录)

编译完成后,进入下一步。

3.修改相关拨号脚本

进入 ppp-2.4.4 目录下的 script 目录,可以找到 ppp-on 、ppp-off 、ppp-dial-on 等多个脚本文件

执行#vi ppp-on

内容如下,修改一下里面的内容

TELEPHONE=555-1212 改为 TELEPHONE=*99***1#

exec /usr/sbin/pppd debug lock modem crtscts /dev/ttyS1 115200 \
        asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP \
        noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT

改为

exec /bin/pppd debug lock modem nocrtscts /dev/ttySAC1 115200 \
        asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP \
        noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT

ppp-on 修改完成后执行 ESC 和 :wq! 强制保存。

然后修改ppp-on-dialer

执行#vi ppp-on-dialer

删除最后两行关于 拨号帐户密码的。

到此修改结束

4 复制相关文件到开发板

以下$(PPP)为 计算机上ppp-2.4.4 的目录 ,$(EMB_BIN)代表 开发板中的 /bin 目录,$(EMB_ETC)代表开发板中的 /etc 目录

#cp $(PPP)/chat/chat $(EMB_BIN)
#cp $(PPP)/pppd/pppd $(EMB_BIN)
#cp $(PPP)/pppdump/pppdump $(EMB_BIN)
#cp $(PPP)/pppstats/pppstats $(EMB_BIN)
              #mkdir $(EMB_ETC)/ppp

              #cp $(PPP)/etc.ppp/* $(EMB_ETC)/ppp

              #cp $(PPP)/scripts/ppp-on   $(EMB_BIN)

             #cp $(PPP)/scripts/ppp-off   $(EMB_BIN)

             #cp $(PPP)/scripts/ppp-on-dialer   $(EMB_ETC)/ppp

复制完成

此后,连接好ARM与GPRS模块后,便可以输入命令 #ppp-on 执行拨号了!

执行上面的ppp-on 命令以后 等一会,你可以看见GPRS模块上面的指示灯快速而稳定地闪烁,表明拨号成功了

这时候你可以在开发板上执行#ifconfig 命令,可以看见新建了一个 ppp0 的设备 ,上面还有IP地址等信息呢!

经过这部后,还要修改DNS服务器地址

#vi /etc/resolv.conf

添加 nameserver 202.116.160.33 (这要视乎你本地的移动DNS服务器地址)

保存退出

尝试一下 ping www.baidu.com 看看能够ping出什么东西来?


参考:http://hi.baidu.com/alexin163/blog/item/73c7c1018737440f1d9583cc.html


你可能感兴趣的:(实现)