| Message ID | 20240918070616.3087314-1-vicamo.yang@canonical.com |
|---|---|
| Headers | show |
| Series | Add Bluetooth device IDs for new Mediatek MT7920/MT7925 | expand |
You-Sheng Yang kirjoitti 18.9.2024 klo 10.06: > BugLink: https://bugs.launchpad.net/bugs/2078878 > > [Impact] > > Failed to enable Bluetooth adapter of MT7920/MT7925 models: > ``` > $ sudo dmesg|grep Bluetooth > [ 2.706311] Bluetooth: Core ver 2.22 > [ 2.706322] Bluetooth: HCI device and connection manager initialized > [ 2.706325] Bluetooth: HCI socket layer initialized > [ 2.706327] Bluetooth: L2CAP socket layer initialized > [ 2.706329] Bluetooth: SCO socket layer initialized > [ 4.962246] Bluetooth: hci0: Opcode 0x0c03 failed: -110 > ``` > > [Fix] > > Patch in upstream review: > https://patchwork.kernel.org/project/bluetooth/patch/20240604074100.572-1-jiande.lu@mediatek.com/ > > [Test Case] > > Expecting dmesg messages: > ``` > $ sudo dmesg|grep Blue > [ 3.078949] Bluetooth: hci0: HW/SW Version: 0x008a008a, Build Time: 20240802111438 > [ 5.879115] Bluetooth: hci0: Device setup in 2780230 usecs > [ 5.879127] Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported. > [ 5.945319] Bluetooth: hci0: AOSP extensions version v1.00 > [ 5.945324] Bluetooth: hci0: AOSP quality report is supported > ``` > > And btmgmt output: > ``` > $ btmgmt info > Index list with 1 item > hci0: Primary controller > addr 3C:0A:F3:13:2A:68 version 11 manufacturer 70 class 0x001f00 > supported settings: powered connectable fast-connectable discoverable > bondable link-security ssp br/edr le advertising > secure-conn debug-keys privacy configuration > static-addr phy-configuration wide-band-speech > cis-central cis-peripheral > current settings: br/edr cis-central cis-peripheral > name MTK MT7961 #1 > short name > hci0: Configuration options > supported options: public-address > missing options: > ``` > > [Where problems could occur] > > New model. Expecting various stability issues. > > [Other Info] > > Nominating for linux-oem-6.11/noble, linux/oracular and linux-unstable/oracular. > > v2: > > Realtek submitted a new revision > (https://patchwork.kernel.org/project/linux-mediatek/patch/20240916032228.6601-1-jiande.lu@mediatek.com/) > for linux-next. It drops the BTUSB_VALID_LE_STATES flag in comparison to > the previous revision. > > In v6.11-rc5, commit aae6b81260fd9a7224f7eb4fc440d625852245bb > ("Bluetooth: HCI: Invert LE State quirk to be opt-out rather then > opt-in"), it changed the behaviour from "if has BTUSB_VALID_LE_STATES > flag then set the HCI_QUIRK_VALID_LE_STATES flag" to "if has no > BTUSB_VALID_LE_STATES flag then set the HCI_QUIRK_BROKEN_LE_STATES > flag". > > Later in v6.12 merge window, commit 0fec656d08aa59ad3ea1bba148a4f7e5618fd4d3 > ("Bluetooth: btusb: Invert LE State flag to set invalid rather then > valid"), it drops that BTUSB_VALID_LE_STATES and becomes "if has the > BTUSB_INVALID_LE_STATES flag, then set the HCI_QUIRK_BROKEN_LE_STATES > flag". No btusb device has the flag set at the moment. This fix is not > marked for linux-stable. > > So, any way, MT7920/MT7925 doesn't want HCI_QUIRK_BROKEN_LE_STATES to be > set. Then when backported to 6.11 kernels, it should continue to carry > the BTUSB_VALID_LE_STATES flag, and that flag should be dropped when > migrates to v6.12. > > Jiande Lu (1): > UBUNTU: SAUCE: Bluetooth: btusb: Add USB HW IDs for MT7920/MT7925 > > drivers/bluetooth/btusb.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > applied to oracular, thanks
BugLink: https://bugs.launchpad.net/bugs/2078878 [Impact] Failed to enable Bluetooth adapter of MT7920/MT7925 models: ``` $ sudo dmesg|grep Bluetooth [ 2.706311] Bluetooth: Core ver 2.22 [ 2.706322] Bluetooth: HCI device and connection manager initialized [ 2.706325] Bluetooth: HCI socket layer initialized [ 2.706327] Bluetooth: L2CAP socket layer initialized [ 2.706329] Bluetooth: SCO socket layer initialized [ 4.962246] Bluetooth: hci0: Opcode 0x0c03 failed: -110 ``` [Fix] Patch in upstream review: https://patchwork.kernel.org/project/bluetooth/patch/20240604074100.572-1-jiande.lu@mediatek.com/ [Test Case] Expecting dmesg messages: ``` $ sudo dmesg|grep Blue [ 3.078949] Bluetooth: hci0: HW/SW Version: 0x008a008a, Build Time: 20240802111438 [ 5.879115] Bluetooth: hci0: Device setup in 2780230 usecs [ 5.879127] Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported. [ 5.945319] Bluetooth: hci0: AOSP extensions version v1.00 [ 5.945324] Bluetooth: hci0: AOSP quality report is supported ``` And btmgmt output: ``` $ btmgmt info Index list with 1 item hci0: Primary controller addr 3C:0A:F3:13:2A:68 version 11 manufacturer 70 class 0x001f00 supported settings: powered connectable fast-connectable discoverable bondable link-security ssp br/edr le advertising secure-conn debug-keys privacy configuration static-addr phy-configuration wide-band-speech cis-central cis-peripheral current settings: br/edr cis-central cis-peripheral name MTK MT7961 #1 short name hci0: Configuration options supported options: public-address missing options: ``` [Where problems could occur] New model. Expecting various stability issues. [Other Info] Nominating for linux-oem-6.11/noble, linux/oracular and linux-unstable/oracular. v2: Realtek submitted a new revision (https://patchwork.kernel.org/project/linux-mediatek/patch/20240916032228.6601-1-jiande.lu@mediatek.com/) for linux-next. It drops the BTUSB_VALID_LE_STATES flag in comparison to the previous revision. In v6.11-rc5, commit aae6b81260fd9a7224f7eb4fc440d625852245bb ("Bluetooth: HCI: Invert LE State quirk to be opt-out rather then opt-in"), it changed the behaviour from "if has BTUSB_VALID_LE_STATES flag then set the HCI_QUIRK_VALID_LE_STATES flag" to "if has no BTUSB_VALID_LE_STATES flag then set the HCI_QUIRK_BROKEN_LE_STATES flag". Later in v6.12 merge window, commit 0fec656d08aa59ad3ea1bba148a4f7e5618fd4d3 ("Bluetooth: btusb: Invert LE State flag to set invalid rather then valid"), it drops that BTUSB_VALID_LE_STATES and becomes "if has the BTUSB_INVALID_LE_STATES flag, then set the HCI_QUIRK_BROKEN_LE_STATES flag". No btusb device has the flag set at the moment. This fix is not marked for linux-stable. So, any way, MT7920/MT7925 doesn't want HCI_QUIRK_BROKEN_LE_STATES to be set. Then when backported to 6.11 kernels, it should continue to carry the BTUSB_VALID_LE_STATES flag, and that flag should be dropped when migrates to v6.12. Jiande Lu (1): UBUNTU: SAUCE: Bluetooth: btusb: Add USB HW IDs for MT7920/MT7925 drivers/bluetooth/btusb.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)