九鼎创展论坛中文版English
登录 | 立即注册 设为首页收藏本站 切换到宽版
查看: 3070|回复: 0
打印 上一主题 下一主题

X4418上移植支持usb 3g dongle

[复制链接]
跳转到指定楼层
楼主
发表于 2015-7-30 20:01:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前X4418上支持的usb 3g dongle 是华为的E303,支持3G上网。

下面大概描述以下如何在X4418上支持E303:(以下只是大概的移植步骤,具体的还需各自去实践)
usb 3G dongle的移植过程:
1)内核中的改动:包括配置usb 转serial,支持gsm,
另外也要添加SCSI的配置
linux/kernel/kernel-3.4.39/arch/arm/configs/x4418_defconfig

添加所用的dongle的VID PID到
/linux/kernel/kernel-3.4.39/drivers/usb/serial/option.c

到此,kernel的改动完成;


android部分的改动
2)usb mode switch的添加

usb_modeswitch工具及脚本usb_modeswitch.sh的添加
etc中usb_modeswitch.d文件夹里面的对应VID_PID的文件的添加

到这里后,插入dongle,应该能看到dev下有usb转串口的节点了:
ttyUSB0
ttyUSB1
ttyUSB2
ttyUSB3

3)开始插入dongle,系统会把其识别为存储设备,而现在我们需要的并非存储设备,所以需要将其转换,涉及到的改动就是system/vold下面的文件了:
G3Dev.cpp
G3Dev.h
Misc.cpp
NetlinkHandler.cpp
MiscManager.cpp
main.cp
等文件;

这里面涉及到的系统的文件夹有sys/class/usb_device下的以usb的号命令的文件夹,这个和热插拔有关;

这样之后,usb的存储设备的转换就OK了;


4)那么接下来的就是要实现拨号上网了;
要实现这个,需要一个ril库,然后开这个服务;另外还有是ppp相关的脚本和工具
我们用的ril库是:libril-rk29-dataonly.so
工具及脚本:call-pppd,ip-down,ip-up,ppp-off,chat工具
其他:operator_table
另外和apn相关的文件:apns-full-conf.xml, spn-conf.xml

以上这些是复制过来即可,与此对应地,需要改动device.mk文件,init.rc文件,进行一些服务如ril-deamon的开启,一些文件的复制,另外是一些文件的属性的改动;
另外要改动的文件:
device/nexell/drone2/overlay/frameworks/base/core/res/res/values/config.xml
否则,系统虽然启动了ril服务,但是它不会去拨号。

接着改动hardware/ril/rild/rild.c,里面屏蔽switchuser函数的使用;否则它只能是去手动拨号,而不会去自动拨号。


到这里为止,需要做的工作基本完成。应该就能上网了。
这里面用的是usb dongle,需要做转换。而pci的3g,是直接焊接到板子上的,则不需要转换。


以上为大概的流程,具体的细节,可以上网查一下,进行实践,应该问题不大。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳市九鼎创展科技官方论坛 ( 粤ICP备11028681号-2  

GMT+8, 2024-5-19 13:51 , Processed in 0.020118 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表