pop-os / linux-firmware

Pop!_OS fork of https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux-firmware
Other
38 stars 12 forks source link

Bluetooth random disconnects intel(R) AX200 #13

Closed spbisc97 closed 3 years ago

spbisc97 commented 3 years ago

Hi, I have an intel AX200, and while the wifi works perfectly, the Bluetooth randomly disconnects from devices. This seems to be a common error that intel has fixed a few days ago: Reddit Broken ax200

It is possible to add those fixes in the package?

Thanks!

spbisc97 commented 3 years ago

I have fixed this issue using the original Linux Firmware Just 3 commands

git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
cd linux-firmware 
sudo make install 
systemctl reboot 

this updates the files relative to mainline

I think this could be solved also by merging the updates of the original Linux-Firmware into this.

PS. I think the problem is the iwlwifi-*-62.ucode microcode files. Going back to 59 fixes this problem and doesn't add any. I have been using this for 3 days, I'll post if I see any.

The specific file for AX200 is iwlwifi-cc-a0-62.ucode -> iwlwifi-cc-a0-59.ucode

gabriele2000 commented 10 months ago

UPDATE 3: Here's the log of bluetoothctl, it's more detailed

[CHG] Device AC:80:0A:AE:65:3D Connected: yes
[WH-1000XM5]# Connection successful
[WH-1000XM5]# [CHG] Device AC:80:0A:AE:65:3D ServicesResolved: yes
[WH-1000XM5]# [NEW] Endpoint /org/bluez/hci0/dev_AC_80_0A_AE_65_3D/sep1
[WH-1000XM5]# [NEW] Endpoint /org/bluez/hci0/dev_AC_80_0A_AE_65_3D/sep2
[WH-1000XM5]# [NEW] Endpoint /org/bluez/hci0/dev_AC_80_0A_AE_65_3D/sep3
[WH-1000XM5]# [NEW] Transport /org/bluez/hci0/dev_AC_80_0A_AE_65_3D/sep3/fd1
[WH-1000XM5]# [CHG] Transport /org/bluez/hci0/dev_AC_80_0A_AE_65_3D/sep3/fd1 Delay: 0x07d0 (2000)
[WH-1000XM5]# [CHG] Transport /org/bluez/hci0/dev_AC_80_0A_AE_65_3D/sep3/fd1 Volume: 0x002a (42)
[WH-1000XM5]# [CHG] Device A0:AB:51:A2:0F:FC Connected: yes --- **Here I connected the Dualsense** ---
[WH-1000XM5]# [DEL] Transport /org/bluez/hci0/dev_AC_80_0A_AE_65_3D/sep3/fd1 --- **Here the connection to my headphones drops** ---
[WH-1000XM5]# [DEL] Endpoint /org/bluez/hci0/dev_AC_80_0A_AE_65_3D/sep1
[WH-1000XM5]# [DEL] Endpoint /org/bluez/hci0/dev_AC_80_0A_AE_65_3D/sep2
[WH-1000XM5]# [DEL] Endpoint /org/bluez/hci0/dev_AC_80_0A_AE_65_3D/sep3
[WH-1000XM5]# [CHG] Device AC:80:0A:AE:65:3D ServicesResolved: no
[CHG] Device AC:80:0A:AE:65:3D Connected: no
[bluetooth]# connect AC:80:0A:AE:65:3D
Attempting to connect to AC:80:0A:AE:65:3D
[bluetooth]# Failed to connect: org.bluez.Error.InProgress br-connection-busy --- **Now that's what happens: unless I disconnect the controller, there's no way I can connect to them again** ---

UPDATE 2: bluetoothctl tells me that the device goes idle (of course, it should go idle once nothing's played) and it's after a few seconds that everything starts to break.

UPDATE: I've manually updated the firmware, substituting the "intel" folder with the newer one, but the issue apparently isn't the firmware, BlueZ isn't the cause and it all happens when the Dualsense gets connected too.

If I connect the Dualsense before I can't connect to the headphones. If I connect it later the headphones will eventually disconnect:

● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2024-02-01 01:44:05 CET; 8min ago
       Docs: man:bluetoothd(8)
   Main PID: 657 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 18931)
     Memory: 3.2M
        CPU: 2.147s
     CGroup: /system.slice/bluetooth.service
             └─657 /usr/lib/bluetooth/bluetoothd

feb 01 01:44:54 msi-gp72m bluetoothd[657]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to AC:80:0A:AE:65:3D: Connection refused (111)
feb 01 01:44:54 msi-gp72m bluetoothd[657]: profiles/input/device.c:ioctl_is_connected() Can't get HIDP connection info
feb 01 01:44:56 msi-gp72m bluetoothd[657]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to AC:80:0A:AE:65:3D: Connection refused (111)
feb 01 01:45:56 msi-gp72m bluetoothd[657]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)
feb 01 01:46:16 msi-gp72m bluetoothd[657]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Connection timed out
feb 01 01:46:16 msi-gp72m bluetoothd[657]: profiles/input/device.c:ioctl_is_connected() Can't get HIDP connection info
feb 01 01:46:18 msi-gp72m bluetoothd[657]: plugins/policy.c:reconnect_timeout() Reconnecting services failed: Device or resource busy (16)
feb 01 01:46:37 msi-gp72m bluetoothd[657]: profiles/input/device.c:control_connect_cb() connect to AC:80:0A:AE:65:3D: Connection timed out (110)
feb 01 01:46:58 msi-gp72m bluetoothd[657]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to AC:80:0A:AE:65:3D: Connection timed out (110)
feb 01 01:47:21 msi-gp72m bluetoothd[657]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to AC:80:0A:AE:65:3D: Connection timed out (110)

UPDATE 2: bluetoothctl tells me that the device goes idle (of course, it should go idle once nothing's played) and it's after a few seconds that everything starts to break.

I have the same problem, I just migrated from the Intel 3168, to the Intel Killer 1675 (Intel AX210).

I had this random bluetooth disconnection with the other one, but I have this issue with the AX210 too... Digging out of desperation everything points to "linux-firmware".

Also, the issue becomes even more severe if I try to connect the Dualsense controller after connecting my SONY-WH1000XM5.

Pinging @mmstick for visibility or something. This has been happening for a month, since I finally had a use for Bluetooth audio in my laptop, when I bought the headphones.

The Dualsense never disconnected spontaneously. At least (if we don't count the endless advantages of this new network card over my old one) I have one less problem: if they randomly disconnects now the bluetooth doesn't "die" (I had to restart the computer to make it work again, now I just can't connect them anymore, or it's very hard).