有人知道当基带无线电启动时,RIL (/hardware/reference/reference-ril/)如何确定/dev/中挂载的内容吗?
在较旧的电话和其他文档中,GSM电话使用/dev/smd0。并非所有电话都使用/dev/smd0。我正在尝试确定一种方法,无论无线电和供应商的类型如何,都可以找出挂载的是什么。
如果有人能明确指出/hardware/reference/reference-ril/ I中的什么位置设置了它,以及它在初始化时从哪里拉出信息,那就太好了。
发布于 2012-02-07 14:29:25
RIL位于您的应用程序框架中。
如果您想要查看RIL并使用命令提示符实现该功能,就可以了。下面是命令:
void (*RIL_RequestFunc) (int request, void *data, size_t datalen, RIL_Token t);我在这里找到了这个:
您是认真的,请通过链接:RIL Study LInk
如果您想了解示例:GIT HUB
发布于 2015-08-04 15:49:39
这实际上取决于您使用哪个接口进行连接。您可以使用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;}
我希望事情现在清楚了。
https://stackoverflow.com/questions/8496237
复制相似问题