akira-ignore
2025年8月28日 16時10分
==========
製品型番:AG9130-C03Z
Debian/ABOSバージョン:3.22.1-at.2
カーネルバージョン:5.10.240-1-at
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
Armadillo-IoT A9EのUSBポートからUSBデバイス(SONY RC-S380)を使おうとしています。
VSCodeでプロジェクトを作成した後、下記の内容を追記しています。
requirement.txt:
nfcpy
app.conf:
set_command sleep infinity add_args --cap-add=SYS_ADMIN
packages.txt
libusb-dev python3-usb
Generate development swuを行い、ABOS Webからインストールを実施して正常終了しました。
SSH経由でarmadilloにログインした後、suコマンドでroot権限を獲得した後、podman execコマンドでコンテナにログインしました。
この状態で動作確認を行いましたが、下記のようなエラーが発生しました。
# python3 -m nfc This is the 1.0.4 version of nfcpy run in Python 3.9.2 on Linux-5.10.240-1-at-aarch64-with-glibc2.31 I'm now searching your system for contactless devices ** found usb:054c:06c1 at usb:001:002 but access is denied Traceback (most recent call last): File "/usr/local/lib/python3.9/dist-packages/nfc/__main__.py", line 60, in main clf = nfc.ContactlessFrontend(path) File "/usr/local/lib/python3.9/dist-packages/nfc/clf/__init__.py", line 75, in __init__ if path and not self.open(path): File "/usr/local/lib/python3.9/dist-packages/nfc/clf/__init__.py", line 149, in open self.device = device.connect(path) File "/usr/local/lib/python3.9/dist-packages/nfc/clf/device.py", line 85, in connect raise IOError(errno.EACCES, os.strerror(errno.EACCES)) PermissionError: [Errno 13] Permission denied During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib/python3.9/runpy.py", line 87, in _run_code exec(code, run_globals) File "/usr/local/lib/python3.9/dist-packages/nfc/__main__.py", line 214, in <module> main(parser.parse_args()) File "/usr/local/lib/python3.9/dist-packages/nfc/__main__.py", line 66, in main usb_device_access_denied(bus, dev, vid, pid, path) File "/usr/local/lib/python3.9/dist-packages/nfc/__main__.py", line 101, in usb_device_access_denied devinfo = os.stat(devnode) FileNotFoundError: [Errno 2] No such file or directory: '/dev/bus/usb/001/002'
デバイスへのアクセスの際にAccess deniedになっているので、コンテナの権限設定に問題があるものと思います。設定方法についてお教えいただけますでしょうか。
コメント
akira-ignore
at_dominique.m…
2025年8月28日 17時35分
マルティネです。
> add_args --cap-add=SYS_ADMIN
[...]
> devinfo = os.stat(devnode)
> FileNotFoundError: [Errno 2] No such file or directory: '/dev/bus/usb/001/002'
CAP_SYS_ADMIN はとても強い権限ですが、デバイスへのアクセスは別で管理されています。
固定のデバイスでしたら add_device* で追加するとアクセスが許可されますが、
USB のような後で接続できるデバイスに関しては hotplug 機能を使ってください。
コンフィグファイルに「
add_hotplugs usb_device
」を追加すればアクセスできるようになるかと思います。名前は以下で確認しました。
よろしくお願いします