瑞芯微Rockchip开发者社区
直播中

张波

8年用户 1507经验值
私信 关注
[经验]

在rk3288 android7.1.2系统下调试gm191模块

前言

本文主要记录在rk3288 android7.1.2 系统下调试高兴新gm191模块。

一、简介

当前我们公司为了降低产品成本,将原来使用的me3630模块替换为高性价比、低功耗的gm191模块,因为gm191模块是中兴新研发的4g模块,系统适配时间比较长,本文是在调试完成后一段时间记录的,在部分细节调试上可能记得不太清楚了。

二、调试步骤

1.修改上网拨号模式

gm191模块拨号模式由ril.dial.mode属性控制,ppp拨号模式为0,网口拨号模式为1,ndis拨号模式为2,当前设置ppp拨号方式调试

device/rockchip/rk3288/system.prop
ril.dial.mode=0

2.拷贝ril库

将供应商提供的gm191模块的ril库拷贝到系统/system/lib目录下

/system/lib/libreference-ril-gosuncn.so

device/rockchip/rk3288/system.prop
ril.libpath=/system/lib/libreference-ril-gosuncn.so

3.指定模块AT命令端口

gm191模块加载默认AT命令端口为/dev/ttyUSB2

device/rockchip/rk3288/system.prop
ril.libargs=-d /dev/ttyUSB2

4.拷贝拨号配置文件到指定目录下

init.gprs-pppd --> system/etc/init.gprs-pppd
ip-down-ppp0 --> system/etc/ppp/ip-down-ppp0
ip-up-ppp0 --> system/etc/ppp/ip-up-ppp0

5.内核配置

配置kernel设备节点生成

kernel/drivers/usb/serial/option.c
......
{ USB_DEVICE(0x305a, 0x1415) },
......
if (serial->dev->descriptor.idVendor == 0x305a &&
serial->dev->descriptor.idProduct == 0x1415 &&
serial->interface->cur_altsetting->desc. bInterfaceNumber == 0)
return -ENODEV;

if (serial->dev->descriptor.idVendor == 0x305a &&
            serial->dev->descriptor.idProduct == 0x1415 &&
            serial->interface->cur_altsetting->desc. bInterfaceNumber == 1)
            return -ENODEV;

总结

上面是调试gm191模块时的代码修改,实际上调试中也遇到很多问题,大部分情况都是供应商提供的ril库与系统不匹配造成的,在使用过程中,还出现供应商发给我的模块的模块固件版本和供应商使用的模块固件版本不一致,导致两边调试结果不同,建议遇到问题可以多找供应商沟通,可以将ril库的系统log发给供应商分析,不要自己胡乱琢磨。

原作者:小忽悠0011

更多回帖

发帖
×
20
完善资料,
赚取积分