Linux端末のBluetoothデバイスからデータを取得しようとしたときに問題が発生しました。このコマンドを実行するとき:
sudo systemctl status bluetooth.service
次のエラーが発生します。
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabl>
Drop-In: /run/systemd/system/service.d
└─zzz-lxc-service.conf
Active: inactive (dead)
Docs: man:bluetoothd(8)
色々試してみた修理する他のフォーラムで見ましたが、そのうち何も動作しません。走ってみよう
sudo modprobe btusb
ただし、次のエラーが発生します。
modprobe: FATAL: Module btusb not found in directory /lib/modules/5.15.108-18910-gab0e1cb584e1
私が実行しているLinuxのバージョンは次のとおりです。Debian GNU / Linux 11(bullseye)カーネル:Linux 5.15.108-18910-gab0e1cb584e1アーキテクチャ:arm64
Bluetoothデバイスからデータを取得するPythonスクリプトを実行しようとしています。 Bleakパッケージを使用していますが、次のエラーが発生します。
bleak.exc.BleakDBusError: [org.freedesktop.DBus.Error.TimedOut] Failed to activate service 'org.bluez': timed out (service_start_timeout=25000ms)
コンテンツsystemctl cat bluetooth.service
:
Description=Bluetooth service
Documentation=man:bluetoothd(8)
ConditionPathIsDirectory=/sys/class/bluetooth
[Service]
Type=dbus
BusName=org.bluez
ExecStart=/usr/libexec/bluetooth/bluetoothd
NotifyAccess=main
#WatchdogSec=10
#Restart=on-failure
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
LimitNPROC=1
ProtectHome=true
ProtectSystem=full
[Install]
WantedBy=bluetooth.target
Alias=dbus-org.bluez.service
# /run/systemd/system/service.d/zzz-lxc-service.conf
[Service]
ProtectProc=default
ProtectControlGroups=no
ProtectKernelTunables=no
NoNewPrivileges=no
どんな助けをありがとう!
答え1
あなたのカーネルバージョンは5.15.108-18910-gab0e1cb584e1
標準のDebianカーネルではありません。
このカーネルバージョンの文字列をインターネットで検索すると、これがChromebookである可能性があり、その存在はzzz-lxc-service.conf
直接Linux OSで実行されていないが、ChromeOS用Linuxコンテナで実行されている可能性があることを示しています。btusb
最も一般的なUSB Bluetoothアダプタ用のドライバであるカーネルモジュールがありません。
これがChromeOSでホストされている場合は悪いニュースがあります。 ~によるとChromeOSでカスタムコンテナを実行するドキュメントによると、ChromeOSで実行されているLinuxコンテナにはBluetoothを使用してアクセスできません。
ハードウェア(例:USB/Bluetooth/シリアル)にアクセスできますか?
Android 端末やシリアル端末など、一部の端末の USB サポートは ChromeOS の設定で利用できます。直接Bluetoothアクセス不可ただし、Crostini で実行されている Web サーバーでは、Web Bluetooth API を使用できます。
これは、カーネル構成にモジュールが含まれていない理由を説明していますbtusb
。とにかく、コンテナ内でモジュールを使用できない場合は、コンテナ内で使用することを意図した設定でモジュールを構築する必要はありません。