Bluetoothctl:ロックが解除されてもデフォルトのコントローラは使用できません。

Bluetoothctl:ロックが解除されてもデフォルトのコントローラは使用できません。

BlueZ バージョン 5.23-1、カーネル 3.16.0-4 を使用して、Debian Jessie から Logitech K810 Bluetooth キーボードへの接続に問題があります。

キーボードはほとんどの場合うまく動作しますが、時にはまったく機能せず、bluetoothctlコントローラが利用できないというエラーが発生することがあります。

これが発生すると、hciconfigはまだデバイスを認識し、次のような出力を取得します。

# hciconfig hci0 up 
# hciconfig
hci0:   Type: BR/EDR  Bus: USB
    BD Address: 40:2C:F4:68:02:CA  ACL MTU: 1021:8  SCO MTU: 64:1
    UP RUNNING PSCAN 
    RX bytes:21820 acl:1132 sco:0 events:68 errors:0
    TX bytes:1182 acl:11 sco:0 commands:53 errors:0

ただし、プロンプトにデバイスが表示されない場合は、bluetoothctl次の出力が表示されます。

[bluetooth]# power on
No default controller available
[bluetooth]# scan on
No default controller available

再起動または時々一時停止/再開すると、問題が解決します。bluetoothctlコントローラとキーボードが再認識され、再び動作します。

によると、Bluetoothは常にハードロック解除され、ソフトロック解除されますrfkill

関連出力はlspci -v次のとおりです。

03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000 [Condor Peak]
        Subsystem: Intel Corporation Centrino Wireless-N 1000 BGN
        Flags: bus master, fast devsel, latency 0, IRQ 43
        Memory at f0400000 (64-bit, non-prefetchable) [size=8K]
        Capabilities: <access denied>
        Kernel driver in use: iwlwifi

Debian Wheezyで同じハードウェアを使用すると、この問題は発生しませんでした。

時々Bluetoothコントローラが利用できないのはなぜですか?

答え1

私は数ヶ月間同じ問題を抱えていて、上記の解決策のどれも私には役に立ちませんでした。

多くの研究の終わりに私に役立つ前のフォーラムでこのソリューションを見つけました。

https://bbs.archlinux.org/viewtopic.php?id=271459

rmmod btusb
rmmod btintel

modprobe btintel
modprobe btusb

答え2

私は答えが単にbluetoothctlランだと思いますsudo

したがって、sudo bluetoothctl。これにより、すべてのコマンドが正しく機能power onし、agent onエラーも発生しません。

Raspian Stretch操作が確認されました。

答え3

これは長い問題ですが、すべてのディストリビューションに同じ影響はありません。私の経験は、Raspberry PiのDebian派生製品であるRaspberry Pi OS(nee Raspbian)に限定されています。特にRPiOSディストリビューションの「Lite」バージョンは影響を受けますが、「Full」バージョンは影響を受けません。

bluetooth問題は、プライマリユーザー(およびすべてのユーザーが疑われる場合)が「フル」バージョンにあるため、RaspOSの「Lite」バージョンで指定されたセカンダリグループに含まれていないことです。

修理する簡単なので:bluetoothグループにユーザーを追加する

$ sudo usermod -G bluetooth -a pi

または、@Pabloが以下に提案したとおりです。

$ sudo adduser $USER bluetooth

ジョブが完了すると(およびrebootIIRC)、bluetoothctlジョブが適用され、コントローラーが応答します。sudo後でもう必要なくなりました。

このパッチはシンプルですが、永久的な解決策ははるかに良いでしょう。これは非常に混乱しており、少なくとも7〜8年間続きました。バグレポートを提出したいのですが、DebianとRaspbianの私の経験によると、これは時間の無駄です。

答え4

デュアルブートが有効なLenovo Ideapad Gaming 3(Ubuntu 20.04およびWindows 10)があります。上記のすべての回避策を試した後。

  • Windowsから起動できます。 (BluetoothはWindowsでも動作しません)
  • そこからBluetoothドライバを更新してください。
  • Windowsで再起動します。 (今ではBluetoothが動作します)
  • Ubuntuで再起動します。

関連情報