コンテキスト:
- Linuxカーネル5.10.x(および5.18.x)
- Thinkpad X1c(第7世代)ノートパソコン
質問:
時々システムをスリープモード(RAMの一時停止)に設定して再起動した場合Bluetoothアダプタが見つかりません。再起動すると再び動作します。
それが働くとき、
これは以下のように(内部)Bluetoothアダプタですlsusb
。
# lsusb | grep 8087
Bus 001 Device 006: ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
Bluetoothデバイスをスキャン、接続、使用できます。
うまくいかないとき:
- 通常、コンピュータの電源が一時停止/復元された後(システムのアースではありません)
lsusb
このデバイスを再表示しない、- Bluetoothアダプタをスキャン、接続、表示することもできません。
そしてkern.log
言った:
usb usb1-port10: Cannot enable. Maybe the USB cable is bad?
usb usb1-port10: Cannot enable. Maybe the USB cable is bad?
usb usb1-port10: attempt power cycle
usb 1-10: new low-speed USB device number 71 using xhci_hcd
usb 1-10: Device not responding to setup address.
usb 1-10: Device not responding to setup address.
usb 1-10: device not accepting address 71, error -71
usb 1-10: new low-speed USB device number 72 using xhci_hcd
usb 1-10: Device not responding to setup address.
usb 1-10: Device not responding to setup address.
usb 1-10: device not accepting address 72, error -71
usb usb1-port10: unable to enumerate USB device
ポート10はBluetoothアダプタに接続されているポートです。
私が試したこと(うまくいかない):
systemctl restart bluetooth.service
、modprobe -r btusb && modprobe btusb
、bluetoothctl power on
:説明するNo default controller available
、rfkill unblock bluetooth
、Bluetoothデバイスが表示され、コマンドを受け入れても同じです。
私の質問
コンピュータ全体を再起動せずにBluetoothを再起動するにはどうすればよいですか?
答え1
少し過剰かもしれませんが、うまくいきます。
- フルUSB「バス」リセットBluetoothアダプタが有線で接続されています。
解決策(下記の警告を参照)
バス1「ルートハブ」のPCI IDを取得します(エラーが報告される理由がわかりません)。
# lsusb -v -s1:1 | grep iSerial
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
iSerial 1 0000:00:14.0
そしてそれを使って解く(関連するすべてのUSBデバイスの接続を切断します)製本、ルート(su
、、、sudo -i
)sudo bash -c "..."
で:
echo -n '0000:00:14.0' >| /sys/bus/pci/drivers/xhci_hcd/unbind && \
sleep 3 && \
echo -n '0000:00:14.0' >| /sys/bus/pci/drivers/xhci_hcd/bind
〜を警戒する、私のすべての(内部および外部)USBデバイスがこのハブに接続されています:外部マウス、外部キーボード、内部Webカメラ、内部指紋センサー...すべて(一時的に)接続が切断されます進行中です。
結果
それからkern.log
彼はこう言いました。
usb 1-10: new full-speed USB device number 6 using xhci_hcd
usb 1-10: New USB device found, idVendor=8087, idProduct=0aaa, bcdDevice= 0.02
usb 1-10: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[...]
Bluetooth: hci0: Bootloader revision 0.1 build 42 week 52 2015
[...]
Bluetooth: hci0: Firmware loaded in 1643271 usecs
Bluetooth: hci0: Waiting for device to boot
Bluetooth: hci0: Device booted in 13788 usecs
そしてlsusb | grep 8087
:
Bus 001 Device 006: ID 8087:0aaa Intel Corp.
そして、Bluetoothを再利用することができます!
他の方法は?
再起動するよりはましだが、「あまり侵襲的ではない」もう一つの解決策を知っていますか?