免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1959 | 回复: 0
打印 上一主题 下一主题

11-Android MID 3G 移植 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:41 |只看该作者 |倒序浏览
市面上大多数MID使用的3G模块一般都是使用中兴、华为的,
在项目中本人调试过中兴的MU301 TD模块、华为的EM770w WCDMA模块。
本文基于华为的EM770w WCDMA模块进行讲述。

Android的3g部分移植主要难点在于RIL层,
如果自己独立开发RIL需要对android的RIL、AT指令、通信流程等非常熟悉,
所以难度非常的大,请参考RIL源码。
现在买回来的3G模块,有些带有RIL库,放到适当位置即可。

1.修改init.rc
service ril-daemon /system/bin/rild -l libhuawei-ril.so -- -d /dev/ttyUSB2(PC UI Port name)
socket rild stream 660 root radio
socket rild-debug stream 660 radio system
user root
group radio cache inet misc audio
启动rild的守护进程,指定的ril库进行通信,指定数据通信端口,如ttyUSB2。


2.修改执行权限
chmod 777 /dev/ttyUSB0 (拨号端口)
chmod 777 /dev/ttyUSB2 (数据端口)


3.修改拨号连接,
修改rild.c(in mydroid/hardware/ril/rild/rild.c),屏蔽以下语句:
// switchUser();
重新编译得到rild,并替换/system/bin/rild,

如果没有屏蔽这部分,3G模块上不了网。
注意:这步是华为特有的,其他模块不需要这样做。

4.添加ppp拨号脚本
拷贝“ip-up”,”ip-down”文件 到 /etc/ppp/目录下
这步注意是完成拨号后状态的记录,如IP,DNS等。
注意:两个文件的权限

5.添加临时文件夹
symlink /data/var /var
注意:这步也是华为特有的,主要是记录一下动态临时信息。

6.linux内核配置
请确认你的内核.config时候已经选中以下选项

# CONFIG_HIPPI is not set
CONFIG_ONFIG_PPP=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_MPPE=y
CONFIG_PPPOE=y
CONFIG_PPPOL2TP=y
#CONFIG_PPPOLAC is not set
# # CONFIG_PPPOPNS is not set
# # CONFIG_SLIP is not set
目的:开启ppp的支持。

7.最后启动android,设置APN即可上网。
TD:        46007 cmnet
WCDMA:46001 3gnet
注意:如果出现似:No APN found for carrier: 46xxx, 的错误,一般就是没有设置APN的缘故,请确认。

8.注意事项:
(1)华为的em770w 支持EDGE,WCDMA双模,所以可以用移动的卡调试,不同在于状态栏显示的标志为“E”和“3G”。
(2)如果上网出现问题,如没有显示“3G”等logo,请检查步骤3。
(3)如果没有netcfg没有出现ppp0,请检查步骤6。
(4)如果获取不到IP地址等信息,请检查步骤4。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP