我正在尝试将外部 GSM 调制解调器与 nexus 5 连接并使用 android RIL 层发送 AT 命令。我正在使用从 Google 源下载的 nexus 5 的 android 5.0 AOSP。
错误:尝试打开 ttyACM0 端口时权限被拒绝。我已经通过更改权限检查了这一点,但仍然权限被拒绝错误。
我是否需要更改任何其他权限才能打开端口?
您的权限被拒绝,因为 Android RIL 没有该设备的适当selinux(安全增强 Linux)权限。由于 RIL 已经对radio_device上下文中的文件具有 rw 权限,如下所示和此链接中所示。
allow rild radio_device:chr_file rw_file_perms;
因此,只需将您的设备文件的上下文更改为,radio_device
以便通过将以下行添加到文件中,RIL 具有访问它的适当权限YOUR_BUILD_DIRECTORY/external/sepolicy/file_context
,希望它应该可以工作。
/dev/ttyACM0 u:object_r:radio_device:s0