问题标签 [ril]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 发送原始 RIL 请求
我想知道是否有人有一些例子说明我如何使用 RIL 常量发送 RIL 请求,例如
以及如何使用 Android java base API 从请求中获取结果。
android - 目标 SharedLib 和目标 Symbolic 和目标 Strip 之间的区别
我为android编译了libhuaweigeneric-ril库并生成了三个文件:
- 目标 SharedLib: libhuaweigeneric-ril(.../LINKED/libhuaweigeneric-ril.so)
- 目标符号:libhuaweigeneric-ril (.../symbols/system/lib/libhuaweigeneric-ril.so)
- 目标地带:libhuaweigeneric-ril (.../lib/libhuaweigeneric-ril.so)
任何机构都可以解释这些文件是什么?哪一个适用于 android(system/lib/)?
android - Android:NeighboringCellInfo.getRssi() 返回 UMTS 单元格的奇怪数据
根据Android开发者文档,NeighboringCellInfo.getRssi()
指定如下:
接收到的信号强度或 UNKNOWN_RSSI 如果未知 对于 GSM,它在“asu”范围内,从 0 到 31 (dBm = -113 + 2*asu) 0 表示“-113 dBm 或更低”,31 表示“-51 dBm 或更高”对于 UMTS,它是 TS 25.125 中定义的 CPICH RSCP 的 Level 索引
一些研究表明这可能是一个错字,实际上应该参考 TS 25.133 第 9.1.1.3 节 ( http://www.3gpp.org/DynaReport/25133.htm )。该文件的 10.2.0 版本基本上说明了CPICH_RSCP_LEV_-04
对应于-120 dBm <= CPICH RSCP < -119 dBm
等,因此通过从报告的电平中减去 116 获得以 dBm 为单位的信号电平。
报告范围从 -120 到 -25 dBm,对应于级别 -5 到 +91。
但是,在实践中,我注意到返回的值超出了该范围。我看到getRssi()
返回值在 -100 左右。我怀疑该函数不是返回文档中指定的级别,而是返回dBm。
有没有其他人遇到过这个并且可以确认Android确实返回dBm而不是信号电平?或者这是测试中使用的设备的问题(运行 Cyanogenmod 11 m11 的 OnePlus One - 社区版本,而不是手机随附的库存 Cyanogenmod 11S)?
android - 在galaxy / nexus上发送RIL命令
我想知道如何将命令发送到 rild - 而不是 rild-debug。我有root,程序可能在c / java中。
我尝试了无线电选项(https://github.com/mozilla-b2g/android-hardware-ril/blob/master/rild/radiooptions.c)。
但 radiooptions 使用 rild-debug 而不是 rild。我试图将 SOCKET_NAME_RIL_DEBUG 更改为 SOCKET_NAME_RIL 但程序什么也没做..
有什么方法可以发送原始 RIL 命令?(也许直接来自 adb ?)
提前致谢。
android - Android RIL 命令指定
我正在学习 RIL(无线电接口层)和基带命令,我看到有一个命令未被 android 源代码使用:
我想知道它的名称是什么?
android - 为 Android 发送 RIL 请求
我想知道,如何在 Android 上发送 RIL 请求,这些请求在 ril.h 中列出,例如,遵循一些请求宏:
我想从 C 或 C++ 发送这些请求。
external - nexus 5 中 ttyACM0 端口的权限被拒绝
我正在尝试将外部 GSM 调制解调器与 nexus 5 连接并使用 android RIL 层发送 AT 命令。我正在使用从 Google 源下载的 nexus 5 的 android 5.0 AOSP。
错误:尝试打开 ttyACM0 端口时权限被拒绝。我已经通过更改权限检查了这一点,但仍然权限被拒绝错误。
我是否需要更改任何其他权限才能打开端口?
android - Android LocalSocket 客户端无法连接到抽象命名空间中的本机服务套接字
我正在包装 libril 库并尝试从那里打开一个套接字。尝试在 /dev/socket 中打开套接字失败,因为 rild 以用户“radio”身份运行并且它没有权限,在抽象命名空间中打开套接字似乎没问题,但是客户端(android 应用程序)在尝试时得到“权限被拒绝”连接。我在普通 Linux 下制作了一个测试客户端和服务器,即使一个以 root 身份运行而另一个以不同组中的低权限用户运行,这两个进程也会连接。
任何想法如何让这个在手机上工作?我完善了绑定和连接部分中的代码,并且给出了适当的长度。请注意,当套接字配置不正确或服务器或客户端的长度不正确时,错误是“连接被拒绝”。现在我得到“权限被拒绝”。我会感谢所有帮助,包括如何通过其他方式进行交流的想法。
服务器:
客户:
日志:
java - Android 调用 RIL 方法
我能够在 android 中公开隐藏的 RIL 函数。我可以按如下方式实例化 RIL 类。
有许多函数采用 Message 对象。例如
但我收到一条错误消息,说消息目标不能为空。我不确定如何传递参数。
这是我试图调用的android源代码的示例函数。
我猜这个消息对象就像一个输出参数。调用此函数的正确方法是什么?
android - Android RIL speech_codec_info
我试图修改 android 源代码以获得在每个 GSM 呼叫中协商的语音语音编解码器。
一开始,我深入研究了诸如 AudioPolicyManager 之类的源文件以及 Linux 内核的其他一些 soc 文件。当您将其他日志写入这些文件时,您得到的是扬声器和麦克风始终设置为相同的频率(我猜最大的频率,在我的扬声器情况下为 48000Hz)。我很确定语音不会以这样的频率传输,电话核心在将其推入通道之前会协商一种语音压缩方法。我还尝试通过 AT 命令检索它,但没有成功,即使有一些没有文档的专有命令。
最后,我简要查看了 RIL 无线电日志(logcat -b radio),我发现了这一行:
I/RILQ (331): (0/331): RIL[0][event] qcril_qmi_voice_send_unsol_voice_speech_codec_info_htc: android_call_id = 1, codec = 7
我认为这可以让我确定在建立 GSM 呼叫之前协商哪个语音编解码器,但是这个源代码是不开放的。它是一个 *.so 编译库 (./vendor/htc/m8/proprietary/blobs/gsm/vendor/lib/libril-qc-qmi-1.so)
我还拆解了(objdump),以便获得与 7 对应的语音编解码器,但我想我会浪费时间查看该程序集。
所以我的问题是:有谁知道是否有任何免费的开源 libril.c 以便让我知道哪些语音代码与该整数值相对应?此时我的电话接线员表示他们在 3g 通话中支持 AMR-WB。如果我找到一些源文件,其中编解码器 7 与 AMR-WB 相对应,我几乎可以肯定我的电话接线员是对的。
注意:我不是在寻找 4G 上的高清语音,我已经知道如何查看它。
提前致谢