logo资料库

高新兴物联模组Android系统RIL适配参考_V1.3.pdf

第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
资料共17页,剩余部分请下载后查看
修订记录
目录
1 RIL适配
2 可选配置
3 运行日志的抓取
4 Radio log中简单问题的处理
5常见问题及处理
DRIVER 高新兴物联模组 Android系统RIL适配参考 版本:V1.3 日期:2018-09-12 Website: www.gosuncnwelink.com E-mail: welink@gosuncn.com
LTE Module Ril 适配指导文档 修订记录 版本 V1.0 V1.1 V1.2 V1.3 日期 说明 2016-12-16 发布初始版本 2018-04-29 更新文档模板 2018-09-05 完善文档,提高文档易读性 2018-09-12 新增第五章问题处理章节 详细无法连接网络时的问题原因分析 版权所有,未经高新兴物联许可,不得传播。 1
目录 LTE Module Ril 适配指导文档 修订记录........................................................................................................................................... 1 目录 .................................................................................................................................................. 2 1 RIL 适配 .......................................................................................................................................... 3 2 可选配置....................................................................................................................................... 8 3 运行日志的抓取 ........................................................................................................................... 9 4 Radio log 中简单问题的处理 ...................................................................................................... 12 5 常见问题及处理 .......................................................................................................................... 15 版权所有,未经高新兴物联许可,不得传播。 2
1 RIL 适配 LTE Module Ril 适配指导文档 请按照本文档的指导对 Android 系统进行修改,否则 RIL 可能会无法正常运行。 1. 在内核中添加 USB 串口驱动和 USB 网卡驱动,可以选择将其直接编入内核,或者编译 为模块待内核启动时加载,总之,要确保 Linux 内核启动完成后,这两个驱动是运行在 内核当中的。 通常,配置内核是通过指令 make menuconfig,进入 android 系统的 kernel 目录下,执行 该指令 make menuconfig 后:  添加 USB 串口驱动: device drivers--> usb support--> usb serial converter support--> USB driver for GSM and CDMA modems  添加 USB 网卡驱动 devices drivers--> Network device support--> usb Network Adapters--> Mulil-purpose USB Networking Framework * 注:①如果您的内核结构与上面不一致,可能需要在其它的路径下面选择,总之,只要确 保源文件中的 option.c 及其相关的部分(USB 串口驱动),cdc_ether.c 及其相关部分(USB 网卡驱动)参与编译即可。 ②如果您的内核不支持 make menuconfig 命令配置,可以直接修改 kernel 目录下 版权所有,未经高新兴物联许可,不得传播。 3
的 .config 文件,手动添加配置项。 LTE Module Ril 适配指导文档 2. 在内核中添加 PPP 组件 通常,配置内核是通过指令 make menuconfig,执行该指令后: devices drivers--> Network device support--> ppp support--> ppp filtering ppp support for async serial ports ppp support for sync tty ports ppp deflate compression ppp BSD-compress compression * 注: 如果您的内核不支持 make menuconfig 命令配置,可以直接修改 kernel 目录下 的 .config 文件,手动添加配置项。 3. 在内核驱动源文件中添加 ZTE 模块相关的信息:USB 网卡驱动可以自动识别到 GOSUNCN 模块,因此,其对应的 cdc_ether.c 文件中不需要添加任何内容。但是 USB 串口驱动不能 版权所有,未经高新兴物联许可,不得传播。 4
LTE Module Ril 适配指导文档 自动识别,必须要添加 GOSUNCN 模块的设备信息到源文件 option.c 中。 文件路径:/kernel/drivers/usb/serial/option.c  添加 USB 端口的 VID 和 PID 信息,见下面蓝色部分。这里 0x0199 为 ME3860 模块和 ME3760_V2 模块的 PID,0x1476 为 ME3620 和 ME3630 模块的 PID,如果您使用的是 其它模块,将其中的 PID 值更换为相应的值即可。 static const struct usb_device_id option_ids[] = { { USB_DEVICE(0x19d2, 0x0199) }, { USB_DEVICE(0x19d2, 0x1476) }, …… }  添加黑名单信息,上面添加模块信息时只添加了设备的 VID 和 PID,没有附加任何额 外的端口信息,这样会导致设备的网卡也被加载成为 USB 串口,下面提供的是一种 类似于黑名单的方式,在 option_probe 函数中,将网卡对应的端口加入黑名单,防 止 USB 网卡被加载成为 USB 串口。 对于 ME3860 和 ME3760_V2,其网卡对应的端口为 0 和 1,对于 ME3620 和 ME3630, 其网卡对应的端口为 3 和 4。请将以下代码添加到 option_probe 函数中 printk("idVendor=%x, idProduct=%x, bInterfaceNumber =%d\r\n", serial->dev->descriptor.idVendor, serial->dev->descriptor.idProduct, serial->interface->cur_altsetting->desc. bInterfaceNumber); if (serial->dev->descriptor.idVendor == 0x19d2 && serial->dev->descriptor.idProduct == 0x1476 && serial->interface->cur_altsetting->desc. bInterfaceNumber == 3) return -ENODEV; if (serial->dev->descriptor.idVendor == 0x19d2 && serial->dev->descriptor.idProduct == 0x1476 && serial->interface->cur_altsetting->desc. bInterfaceNumber == 4) return -ENODEV; if (serial->dev->descriptor.idVendor == 0x19d2 && serial->dev->descriptor.idProduct == 0x1476 && serial->interface->cur_altsetting->desc. bInterfaceNumber == 5) return -ENODEV; if (serial->dev->descriptor.idVendor == 0x19d2 && serial->dev->descriptor.idProduct == 0x0199 && serial->interface->cur_altsetting->desc. bInterfaceNumber == 0) return -ENODEV; 版权所有,未经高新兴物联许可,不得传播。 5
if (serial->dev->descriptor.idVendor == 0x19d2 && serial->dev->descriptor.idProduct == 0x0199 && serial->interface->cur_altsetting->desc. bInterfaceNumber == 1) return -ENODEV; LTE Module Ril 适配指导文档 * 注:第一行的 printk 是为了方便调试而打印的,虽无实际效果,最好能带上。下面的几个 if 语句分别判断了需要加入黑名单的端口号,如果您使用的是除 ME3860,ME3760_V2 和 ME3620 之外的模块,上面 if 语句中的判断条件也要做相应修改。 4. 在 Android 系统的 init.rc 中添加服务 文件路径:一般情况下,路径在../system/core/rootdir/init.rc,注意:有些平台厂 商维护了自己的 init.rc,因此修改该目录下的 init.rc 可能不会生效。厂商维护的 init.rc 所在路径可能位于 device/xxx/yyy 或者 vendor/xxx/yyy 目录下。其中 xxx 表 示平台提供厂商, yyy 表示具体平台型号,如 freescale 的 imx_51bbg 开发平台中, init.rc位于目录\device\fsl\imx51_bbg 下。  ril-daemon 服务 (添加前注释掉原来的 ril-daemon 服务) service ril-daemon /system/bin/rild -l /system/lib/libreference-ril-gosuncn.so socket rild stream 660 root radio socket rild-debug stream 660 radio system user root group radio cache inet misc audio log  pppd_gprs 服务 版权所有,未经高新兴物联许可,不得传播。 6
LTE Module Ril 适配指导文档 service pppd_gprs /system/etc/init.gprs_pppd user root group radio cache inet misc log disabled oneshot 5. 打包相关文件到系统中 将下表中的几个文件打包到系统中,确保系统编译完成后,文件出现在对应的目录中。 如果 Android 系统不支持 netcfg 命令,需要将 netcfg 文件放到 Android 系统中的/system/bin 目录下。 文件名 打包后在 Android 系统中的目录 libreference-ril-gosuncn.so /system/lib netcfg init.gprs_pppd Ip-up-ppp0 ip-down-ppp0 /system/bin /system/etc /system/etc/ppp /system/etc/ppp * 注:将文件导入 android 系统的命令:adb push D:\ libreference-ril.so /system/lib,如果系统 提示“read-only file system”,先执行 adb root adb remount 再 push 文件。 6. 配置 APN 如 果 android 系 统 没 有 设 置 过 APN, , 需 要 在 setting->wireles&networks->cellular networks->access point names 配置与 sim 卡匹配的 APN 信息,其中 电信:ctnet 版权所有,未经高新兴物联许可,不得传播。 7
分享到:
收藏