최근 Fedora 32를 업데이트했습니다. 정전이 발생하여 노트북을 종료해야 했고 다시 시작한 후 블루투스 작동이 멈췄습니다(종료하기 전에 업데이트된 내용이 있는지 잘 모르겠습니다).
리눅스는 이렇게 말합니다.
$ 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 커널이 하나만 있습니다. 요즘 노트북에서 가끔 이상한 소리가 나는 문제가 있는데, CPU 팬 문제일 수도 있습니다.
편집하다:
해결책을 찾을 수 없어서 GitHub에서 Linux 저장소의 미러를 복제했는데 파일이나 디렉터리를 찾을 수 없기 때문에 오류 -2가 발생하는 것 같습니다.
#define ENOENT 2 /* No such file or directory */
편집하다:
방금 Xubuntu 20.04 Live DVD를 부팅했는데 블루투스가 작동하고 있어서 Fedora에 버그로 신고했습니다.
답변1
제가 찾은 내용과 수행한 단계는 다음과 같습니다. 이 문제를 다음에 보고했습니다.페도라 버그 추적기커널 모듈을 제거하고 추가하는 것이 좋습니다.
# 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:이 문제가 여러 번 발생했습니다. 아마도 커널의 버그일 수 있습니다. 두 번째 이후에는 bluetoothctl에서 장치를 제거할 필요가 없었습니다. 커널 모듈을 제거하고 추가하는 것으로 충분합니다.