Fedora 32にアップグレードした後、Bluetoothの動作が停止しました。

Fedora 32にアップグレードした後、Bluetoothの動作が停止しました。

最近Fedora 32を更新しました。停電が発生してラップトップをシャットダウンし、再起動後にBluetoothが動作しなくなりました(終了する前に更新されたものがあるかどうかわかりません)。

Linuxはこう言います。

$ uname -a
Linux jcubic 5.6.16-300.fc32.x86_64 #1 SMP Thu Jun 4 18:08:38 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

$ dmesg | grep -i bluetooth
[    2.683570] Bluetooth: Core ver 2.22
[    2.683589] Bluetooth: HCI device and connection manager initialized
[    2.683592] Bluetooth: HCI socket layer initialized
[    2.683593] Bluetooth: L2CAP socket layer initialized
[    2.683595] Bluetooth: SCO socket layer initialized
[    2.693267] bluetooth hci0: Direct firmware load for qca/rampatch_usb_00000302.bin failed with error -2
[    2.693269] Bluetooth: hci0: failed to request rampatch file: qca/rampatch_usb_00000302.bin (-2)
[    8.209092] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    8.209093] Bluetooth: BNEP filters: protocol multicast
[    8.209095] Bluetooth: BNEP socket layer initialized

$ locate rampatch_usb_00000302.bin
/usr/lib/firmware/qca/rampatch_usb_00000302.bin

$ lsmod | grep -i bluetooth
bluetooth             643072  12 btrtl,btintel,btbcm,bnep,btusb
ecdh_generic           16384  1 bluetooth
rfkill                 28672  8 bluetooth,dell_laptop,cfg80211

$ LC_ALL=C rfkill
ID TYPE      DEVICE      SOFT      HARD
 0 bluetooth hci0   unblocked unblocked
 1 wlan      phy0   unblocked unblocked

$ hciconfig up 
hci0:   Type: Primary  Bus: USB
    BD Address: 00:00:00:00:00:00  ACL MTU: 0:0  SCO MTU: 0:0
    DOWN 
    RX bytes:0 acl:0 sco:0 events:0 errors:0
    TX bytes:0 acl:0 sco:0 commands:0 errors:0

$ sudo systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: enable>
     Active: active (running) since Fri 2020-06-12 19:21:41 CEST; 55min ago
       Docs: man:bluetoothd(8)
   Main PID: 879 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 18735)
     Memory: 2.9M
     CGroup: /system.slice/bluetooth.service
             └─879 /usr/libexec/bluetooth/bluetoothd

cze 12 19:21:41 jcubic systemd[1]: Starting Bluetooth service...
cze 12 19:21:41 jcubic bluetoothd[879]: Bluetooth daemon 5.54
cze 12 19:21:41 jcubic systemd[1]: Started Bluetooth service.
cze 12 19:21:41 jcubic bluetoothd[879]: Starting SDP server
cze 12 19:21:41 jcubic bluetoothd[879]: Bluetooth management interface 1.15 initialized

何が起こったのかわかりません。ハードウェアエラーですか? GrubにはFedora 32カーネルが1つしかありません。最近ノートパソコンで時々奇妙な音がする問題がありますが、CPUファンの問題かもしれません。

編集する:

解決策が見つからなかったため、GitHubでLinuxリポジトリのミラーを複製しましたが、ファイルやディレクトリが見つからないため、エラー-2が発生しているようです。

 #define    ENOENT       2  /* No such file or directory */

編集する:

私はXubuntu 20.04 Live DVDを起動しましたが、Bluetoothが動作していてFedoraにバグとして報告しました。

答え1

私が見つけたものと実行した手順は次のとおりです。この問題を次に報告しました。Fedoraのバグトラッカーカーネルモジュールを削除して追加することをお勧めします。

# modprobe -r btusb
# modprobe btusb

動作します。 dmesgのエラーが消え、Bluetoothインジケーターが消えたが(再起動する方法がわかりません)、使用でき、bluetoothctlデバイスを検索できますがペアリングにはなりません。働く私のGNU / Linuxシステムが接続しようとしましたが、次のエラーで接続が失われました。

接続に失敗しました:org.bluez.Error.Failed

少し難しさの最後に問題を解決しました。 bluezでデバッグログを有効にすると、次のエラーが表示されます。

接続エラー:権限が拒否されました(13)

したがって、解決策はデバイスを削除して再ペアリングすることです。

$ bluetoothctl
[bluetooth]# devices
...
Device 04:FE:A1:57:6D:F3 JBL Flip 4
[bluetooth]# remove 04:FE:A1:57:6D:F3
[bluetooth]# scan on
[bluetooth]# pair 04:FE:A1:57:6D:F3
[bluetooth]# connect 04:FE:A1:57:6D:F3

メモ: これはFedoraでバグが修正されるまでの回避策です。これは永続的な回避策ではなく、問題を解決した後も再び発生する可能性があります。

ノート2:この問題が複数回発生しました。おそらくカーネルのバグかもしれません。 2回目以降は、bluetoothctlからデバイスを削除する必要はありませんでした。カーネルモジュールを削除して追加すれば十分です。

関連情報