Linux 6.5カーネルで奇妙なBluetooth起動エラー

Linux 6.5カーネルで奇妙なBluetooth起動エラー

最近、Kubuntu 22.04デスクトップのカーネルをバージョン6.5.0-14にアップグレードしました。デフォルトのカーネルで正常に起動できず、エラーメッセージが表示されます。

[5.something-something] Bluetooth: hci0: Opcode 0xfc1e failed: -16

しかし、カーネル6.2から起動すると、携帯電話とのBluetoothペアリングを含むすべてが完全に機能します。 (私は今同じコンピュータを使用しています。)私はhci0が私の最初の(そして唯一の)Bluetoothデバイスであることを知っています。残念ながら、「Opcode 0xfc1e」が何であるか、「-16」が私に何を意味するのかわかりません。

最新のカーネルで再起動できるように、この問題をどのように解決しますか?

追加データのために、目に見えるハードスイッチなしでMSIマザーボードにBluetoothを統合しました。私はこれをうまくやった。少し回復モードでは、ターミナルを介して6.5カーネルで起動し、以下をsudo rfkill block bluetooth使用してBluetoothを手動で無効にしました。ただし、これがデスクトップに移動したにもかかわらず、グラフィックドライバがロードされず、マルチメディアユーザーに制限がありました。 GUI(ここではKDE Plasma)でBluetoothを再度有効にできますが、どのデバイスも検出できないようだという点も指摘する価値があります。

ここで何が起こっていて、どのように解決できるかを知っている人はいますか?

付録:dmesg実行時に興味深いBluetooth関連の出力があります。明るい赤で、ここで使用できます。

[10043.376565] Bluetooth: hci0: corrupted SCO packet
[10043.376575] Bluetooth: hci0: corrupted SCO packet
[10043.376580] Bluetooth: hci0: corrupted SCO packet
[10043.376584] Bluetooth: hci0: corrupted SCO packet
[10043.376589] Bluetooth: hci0: corrupted SCO packet
[10067.006243] Bluetooth: hci0: corrupted SCO packet
[10067.006260] Bluetooth: hci0: corrupted SCO packet
[10067.006266] Bluetooth: hci0: corrupted SCO packet
[10067.006273] Bluetooth: hci0: corrupted SCO packet
[10067.006279] Bluetooth: hci0: corrupted SCO packet
[10067.006285] Bluetooth: hci0: corrupted SCO packet
[10068.012375] Bluetooth: hci0: urb 00000000cece2684 submission failed (90)
[10068.012387] Bluetooth: hci0: sending frame failed (-90)
[10068.012393] Bluetooth: hci0: urb 00000000cece2684 submission failed (90)
[10068.012398] Bluetooth: hci0: sending frame failed (-90)
[10068.012403] Bluetooth: hci0: urb 00000000cece2684 submission failed (90)
[10068.012407] Bluetooth: hci0: sending frame failed (-90)
[10068.024247] Bluetooth: hci0: corrupted SCO packet
[10068.024258] Bluetooth: hci0: corrupted SCO packet
[10068.024264] Bluetooth: hci0: corrupted SCO packet
[10068.024270] Bluetooth: hci0: corrupted SCO packet
[10068.024282] Bluetooth: hci0: corrupted SCO packet
[10068.024288] Bluetooth: hci0: corrupted SCO packet
[10068.024295] Bluetooth: hci0: corrupted SCO packet
[10068.024300] Bluetooth: hci0: corrupted SCO packet
[10068.024307] Bluetooth: hci0: corrupted SCO packet
[10068.024312] Bluetooth: hci0: corrupted SCO packet
[10068.034241] Bluetooth: hci0: corrupted SCO packet
[10075.864138] Bluetooth: hci0: corrupted SCO packet
[10075.864152] Bluetooth: hci0: corrupted SCO packet
[10075.864158] Bluetooth: hci0: corrupted SCO packet
[10075.886953] Bluetooth: hci0: SCO packet for unknown connection handle 264

SCOパケットが何であるかは完全にはわかりませんが、今日後でコンピュータをシャットダウンしてPSUのハードスイッチを押してから、電源ボタンを20〜30秒間押してコンデンサを放電し、電源を切り替えてオンにします。 PSUの電源を入れ、適切なコールドブートでバージョン6.5の問題を解決できることを確認します。再起動中にファームウェアメモリに何も残っていないと思います。

付録2:だから私は機械の電源を切り、コンデンサを放電してから再起動しました。それでもカーネル6.2にとどまっていますが、まったく異なるエラーメッセージが表示されます。

[6.796029] Bluetooth: hci0: Malformed MSFT vendor event: 0x02

私はそれが何を意味するのか分からなかったし、明らかにそれを見た他の多くの人もそうではなかった。 (ここで「vendor」という言葉に身をかがめることを認めます...)Ctrl + Alt + F2を使用してコンソールに入り、実行してstartxXFCEを起動できますが、起動プロセスも停止します。カーネル6.2(ありがとう)は、Bluetoothを含むまだうまく機能します。

アップデート:私の現在の仮説は、これが私のハードウェアで発生したデフォルトのカーネルバグであるということです。残念ながら、私はこの問題を直接修正するのに十分なLinuxについて十分に知りません。 Linux 6.5は最先端に非常に近い、6.2はうまく動作します。したがって、私は教育のためにこれらのエラーメッセージのいくつかが何を意味するのかを調査し、6.2に再移行します。満足のいくものであれば、後で参照できるように最終更新でこの質問を完了します。

関連情報