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에서 부팅하면 휴대폰과의 블루투스 페어링을 포함하여 모든 것이 완전히 작동합니다. (저는 지금 같은 컴퓨터를 사용하고 있습니다.) 저는 hci0이 저의 첫 번째(그리고 유일한) 블루투스 장치라는 것을 알고 있습니다. 불행히도 "Opcode 0xfc1e"가 무엇인지, "-16"이 저에게 무엇을 의미하는지 전혀 모릅니다.

최신 커널로 다시 부팅할 수 있도록 이 문제를 어떻게 해결합니까?

추가 데이터를 위해 눈에 보이는 하드 스위치 없이 MSI 마더보드에 Bluetooth를 통합했습니다. 나는 이것을 성공적으로 해냈습니다.약간복구 모드에서 터미널을 통해 6.5 커널로 부팅하고 다음을 sudo rfkill block bluetooth사용하여 Bluetooth를 수동으로 비활성화했습니다. 그러나 이로 인해 데스크탑으로 이동했음에도 불구하고 그래픽 드라이버가 로드되지 않아 멀티미디어 사용자에게 제한이 발생했습니다. GUI(여기서는 KDE Plasma)에서 Bluetooth를 다시 활성화할 수 있지만 어떤 장치도 감지하지 못하는 것 같다는 점도 지적할 가치가 있습니다.

여기서 무슨 일이 일어나고 있고 어떻게 해결할 수 있는지 아는 사람이 있습니까?

부록: dmesg실행할 때 흥미로운 블루투스 관련 출력이 있습니다. 밝은 빨간색이며 여기서 사용할 수 있습니다.

[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(감사합니다)는 블루투스를 포함해 여전히 잘 작동합니다.

업데이트: 나의 현재 가설은 이것이 내 하드웨어에서 발생한 기본 커널 버그라는 것입니다. 불행히도 나는 이 문제를 직접 고칠 수 있을 만큼 Linux에 대해 충분히 알지 못합니다. Linux 6.5는 최첨단에 매우 가깝고 6.2는 잘 실행됩니다. 따라서 저는 교육을 위해 이러한 오류 메시지 중 일부가 무엇을 의미하는지 계속 조사한 다음 6.2로 다시 마이그레이션할 것입니다. 만족스러우면 나중에 참조할 수 있도록 최종 업데이트로 이 질문을 마무리하겠습니다.

관련 정보