@mapengyu Thanks you for the advice. I "installed" the latest firmware/ddc images from the linux-firware git and they are very different from the ones in linux-firmware-20240318.git3b128b60-0ubuntu2.1. Uncompressed binary diff is ~1KBytes for .sfi and 1 Byte for ddc.
The firmware works and device init looks completely different: ``` [ 63.709269] kernel: Bluetooth: Core ver 2.22 [ 63.709297] kernel: NET: Registered PF_BLUETOOTH protocol family [ 63.709299] kernel: Bluetooth: HCI device and connection manager initialized [ 63.709305] kernel: Bluetooth: HCI socket layer initialized [ 63.709308] kernel: Bluetooth: L2CAP socket layer initialized [ 63.709313] kernel: Bluetooth: SCO socket layer initialized [ 63.881562] kernel: Bluetooth: hci0: Bootloader revision 0.3 build 0 week 24 2017 [ 63.882542] kernel: Bluetooth: hci0: Device revision is 1 [ 63.882549] kernel: Bluetooth: hci0: Secure boot is enabled [ 63.882551] kernel: Bluetooth: hci0: OTP lock is enabled [ 63.882553] kernel: Bluetooth: hci0: API lock is enabled [ 63.882555] kernel: Bluetooth: hci0: Debug lock is disabled [ 63.882557] kernel: Bluetooth: hci0: Minimum firmware build 1 week 10 2014 [ 63.894660] kernel: Bluetooth: hci0: Found device firmware: intel/ibt-20-1-3.sfi [ 63.894829] kernel: Bluetooth: hci0: Boot Address: 0x24800 [ 63.894832] kernel: Bluetooth: hci0: Firmware Version: 132-3.24 [ 65.721208] kernel: Bluetooth: hci0: Waiting for firmware download to complete [ 65.721489] kernel: Bluetooth: hci0: Firmware loaded in 1784005 usecs [ 65.721632] kernel: Bluetooth: hci0: Waiting for device to boot [ 65.736516] kernel: Bluetooth: hci0: Device booted in 14623 usecs [ 65.736519] kernel: Bluetooth: hci0: Malformed MSFT vendor event: 0x02 [ 65.736703] kernel: Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-20-1-3.ddc [ 65.738526] kernel: Bluetooth: hci0: Applying Intel DDC parameters completed [ 65.739514] kernel: Bluetooth: hci0: Firmware revision 0.3 build 132 week 3 2024 [ 65.741526] kernel: Bluetooth: hci0: HCI LE Coded PHY feature bit is set, but its usage is not supported. [ 69.226391] kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 69.226398] kernel: Bluetooth: BNEP filters: protocol multicast [ 69.226403] kernel: Bluetooth: BNEP socket layer initialized [ 69.237051] kernel: Bluetooth: MGMT ver 1.22 ``` Comparing kernel logs of the original and updated firmwares, it seems like the original firmware always failed on first try (errro -19) and worked only on the second try even on boot. No wonder it randomly fails after resume. Updated firmware loaded the first try. In addition, I've noticed that installed firmware tree is a mess of sym-links. Maybe the problem lies in how linux-firmware package is optimized? ``` ibt-20-0-3.ddc.zst -> ibt-0040-0041.ddc.zst ibt-20-0-3.sfi.zst ibt-20-1-3.ddc.zst -> ibt-0040-0041.ddc.zst ibt-20-1-3.sfi.zst -> ibt-20-0-3.sfi.zst ibt-20-1-4.ddc.zst -> ibt-0040-0041.ddc.zst ibt-20-1-4.sfi.zst ``` It's important to note that older kernel that did work for me used the same "defective" firmware version. Possibly, since the issue is so infrequent, I just was very lucky for a few months. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2073047 Title: Regression on Linux 6.8.0-38: Bluetooth adapter (Intel AX200) stops working after a few suspend/resume cycles To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2073047/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
