完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、pppd相关文件
Android ril相关的代码和脚本主要有: android/hardware/ril/reference_ril/ (reference_ril.c) android/hardware/ril/rild android/extern/ppp/pppd android/extern/ppp/chat android/data/etc/apn-conf-sdk.xml android/system/core/rootdir/etc/ppp/init.gprs-pppd android/system/core/rootdir/etc/ppp/peers/cmnet android/system/core/rootdir/etc/ppp/chat/cmtc-isp android/vendor/xxxxx/xxxx/system.prop 1、reference_ril.c: RIL的一些AT命令操作,通过一些onRequest接口操作,对不同的硬件,需作一 些修改调整。 2、apn-conf-sdk.xml: 以下是一个例子,有些不支持的APN,需要自己加上去,否则在log中会出现类 似:No APN found for carrier: 46xxx, 的错误。一般移动的TD USIM是46007, 有些是 46000。 mnc="995" apn="internet" user="*" server="*" password="*" mmsc="null" /> mnc="260" apn="internet" user="*" server="*" password="*" mmsc="null" /> mnc="00" apn="cmnet" user="*" server="*" password="*" mmsc="null" /> mnc="07" apn="cmnet" user="*" server="*" password="*" mmsc="null" /> 3、init.gprs-pppd: 调用pppd GPRS拨号的初始化脚本。 PPPD_PID= /system/bin/setprop "net.gprs.ppp-exit" "" /system/bin/log -t pppd "Starting pppd" /system/xbin/pppd call cmnet $* //调用脚本/system/etc/peers/cmnet 或 /system/xbin/pppd connect 'chat -v "" "AT" "ATDT#777 CONNECT"' user CARD password CARD /dev/ttyUSB2 115200 nodetach crtscts debug usepeerdns defaultroute //直接用参数,其中/dev/USB2是控制端口。 PPPD_EXIT=$? PPPD_PID=$! /system/bin/log -t pppd "pppd exited with $PPPD_EXIT" /system/bin/setprop "net.gprs.ppp-exit" "$PPPD_EXIT" 4、cmnet:pppd拨号option脚本: /dev/ttyUSB3 921600 nocrtscts nocdtrcts local usepeerdns defaultroute noipdefault ipcp-accept-local ipcp-accept-remote user cmnet password cmnet lock nodetach connect "/system/xbin/chat -v -t 50 -f /system/etc/ppp/chat/cmtc-isp" 5、cmtc-isp: ABORT 'BUSY' ABORT 'NO CARRIER' ABORT 'ERROR' ABORT '+CME ERROR: 100' "" AT OK AT+CGDCONT=1,"IP","CMNET" OK AT+CGEQREQ=1,2,128,384,0,0,0,0,"0E0","0E0",,0,0 OK AT OK AT OK ATS0=0 OK AT OK AT OK ATDT*98*1# CONNECT 如果要连联通的WCDMA,就用 OK AT+CGDCONT=1,"IP","3GNET" OK ATDT*99# //拨号命令 6、system.prop: rild.libpath=/system/lib/libreference-ril.so rild.libargs=-d /dev/ttyS0 wifi.interface=eth1 二、RIL配置支持 在Android中RIL是通过pppd实现的,要启动pppd,需要在init.rc中添加: service pppd_gprs /system/etc/init.gprs-pppd user root group radio cache inet misc disabled oneshot service ril-daemon /system/bin/rild -l /system/lib/libreference-ril.so -- -d /dev/ttyUSB3 -u /dev/ttyUSB0 socket rild stream 660 root radio socket rild-debug stream 660 radio system user root group radio cache inet misc audio Modem插入USB口模拟串口,驱动会检测到两个serial端口的,一个是控制的,一个是数据的。 这里/dev/ttyUSB3表示控制端口。 三、RIL流程分析 一开机启动pppd后,如果检测到Modem(通过/dev/ttyUSB*设备来判断),pppd_gprs daemon就调用 init.gprs-pppd连接, 正常通信后,会显示连接到3G网络标志。 然后设置APN,保存好之后重启,就会自动连接到internet。 四、手动测试3G modem 1、加载驱动 如果驱动加载成功,会出现/dev/ttyUSB*设备的。 2、进入/etc/ppp/peers目录,执行 pppd call cmnet & 这里cmnet是一个包含拨号命令的文件。 3、设置DNS 把由pppd自动产生的/etc/ppp/resolv.conf复制到/etc/resolv.conf。 4、前面都成功的话,这是应该能ping通网络的。 转自: http://blog.csdn.net/zwj0403/archive/2011/01/07/6122054.aspx |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
12145 浏览 2 评论
4477 浏览 3 评论
3707 浏览 5 评论
9588 浏览 47 评论
4524 浏览 9 评论
718浏览 0评论
523浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 07:03 , Processed in 0.634677 second(s), Total 70, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号