外部GSMモデムをnexus 5に接続し、Android RILレイヤーを使用してATコマンドを送信しようとしています.Googleソースからダウンロードしたnexus 5にandroid 5.0 AOSPを使用しています.
エラー: ttyACM0 ポートを開こうとして許可が拒否されました。アクセス許可を変更してこれを確認しましたが、まだ許可拒否エラーが発生しています。
ポートを開くために変更する必要がある他のアクセス許可はありますか?
Android RIL にそのデバイスに対する適切なselinux(Security Enhanced 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