繁体   English   中英

Android无线接口层(RIL)和/ dev /

[英]Android Radio Interface Layer (RIL) and /dev/

有没有人知道RIL(/ hardware / reference / reference -ril /)如何确定基带无线电启动时在/ dev /中安装的内容?

在较旧的手机和其他文档中,GSM手机使用/ dev / smd0。 并非所有手机都使用/ dev / smd0。 无论收音机和供应商的类型如何,我都试图找出一种方法来找出安装的内容。

如果有人可以专门识别/ hardware / reference / reference-ril /中的哪个位置可以看到它的设置位置以及它在初始化时从哪里拉出信息,那将是完美的。

RIL在您的应用程序框架中。

如果你想看到RIL并使用命令提示符实现功能,那就完成了。 有以下命令:

void (*RIL_RequestFunc) (int request, void *data, size_t datalen, RIL_Token t);

我从这里发现了这个:

你是认真的,请通过链接: RIL研究LInk

如果您想了解示例: GIT HUB

它实际上取决于您用于连接的接口。 您可以使用USB,UART或SPI接口将上层与调制解调器连接。 传递给RIL_Init函数的参数确定您尝试连接的设备。 如果您想知道具体操作的位置,请参阅reference-ril.c中的RIL_Init函数。

const RIL_RadioFunctions *RIL_Init(const struct RIL_Env *env, int argc, char **argv)

{

int ret;

int fd = -1;
int opt;
pthread_attr_t attr;

s_rilenv = env;

while ( -1 != (opt = getopt(argc, argv, "p:d:s:"))) {
    switch (opt) {
        case 'p':
            s_port = atoi(optarg);
            if (s_port == 0) {
                usage(argv[0]);
                return NULL;
            }
            RLOGI("Opening loopback port %d\n", s_port);
        break;

        case 'd':
            s_device_path = optarg;
            RLOGI("Opening tty device %s\n", s_device_path);
        break;

        case 's':
            s_device_path   = optarg;
            s_device_socket = 1;
            RLOGI("Opening socket %s\n", s_device_path);
        break;

        default:
            usage(argv[0]);
            return NULL;
    }
}

if (s_port < 0 && s_device_path == NULL) {
    usage(argv[0]);
    return NULL;
}

sMdmInfo = calloc(1, sizeof(ModemInfo));
if (!sMdmInfo) {
    RLOGE("Unable to alloc memory for ModemInfo");
    return NULL;
}
pthread_attr_init (&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
ret = pthread_create(&s_tid_mainloop, &attr, mainLoop, NULL);

return &s_callbacks;

}

我希望现在情况很清楚。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM