[Kernel-packages] [Bug 1924741] Re: Load Broadcom firmware for Dell Bluetooth device [413c:8197]
This issue was fixed by a patch to `bluetooth-next`, which was accepted into the v5.15 kernel included with Ubuntu 22.04 LTS. https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth- next.git/commit/?id=340cd23d9dec58b1b07ecaa205a161faf50eab8a I can confirm that, if present, the `BCM20702A1-413c-8197.hcd` patch is loaded for my BCM20702A0 device on stock Ubuntu, and thus duplex audio for both HSP and HFP modes works as expected. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1924741 Title: Load Broadcom firmware for Dell Bluetooth device [413c:8197] Status in linux package in Ubuntu: Fix Released Bug description: The Broadcom Bluetooth kernel module supports loading patches for specific hardware devices. Which devices require patchram support is defined in an array of structs in the kernel module `btusb`, which allow matching by Vendor ID and, optionally, Product ID. The Dell-branded device `413c:8197` requires the patch `BCM20702A1-413c-8197.hcd`[1] to be loaded in order for HSP/HFP functionality to work (A2DP and AVRCP work without the patch). However, the patch is not sought for this device by `btusb`. In 2011, `413c:8197` was included in the module[2], but not marked as requiring patchram. Later, in 2017, a blanket entry was added for all Dell-branded (`413c`) devices[3], marking them as requiring patchram. However, the previous entry for `413c:8197` was not removed and appears to block the patchram requirement from being added for this device (presumably the algorithm stops searching after the first match). The code stands like so: ``` static const struct usb_device_id btusb_table[] = { ... /* Broadcom BCM20702A0 */ { USB_DEVICE(0x413c, 0x8197) }, ... /* Dell Computer - Broadcom based */ { USB_VENDOR_AND_INTERFACE_INFO(0x413c, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, ``` I would like to request removal of the earlier entry to facilitate patchram support for device `413c:8197`. I have tested this as working on my Dell Precision M6700 running Ubuntu 20.04 with kernel `5.4.0-71-generic`. [1]: https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-413c-8197.hcd [2]: https://github.com/torvalds/linux/commit/d13431ca3eb2a2c14314f04813cdc11cd869f150 [3]: https://github.com/torvalds/linux/commit/fdfddc601713d4ed564b0bd25b29415bd622020a To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1924741] Re: Load Broadcom firmware for Dell Bluetooth device [413c:8197]
** Changed in: linux (Ubuntu) Status: Confirmed => Fix Released -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1924741 Title: Load Broadcom firmware for Dell Bluetooth device [413c:8197] Status in linux package in Ubuntu: Fix Released Bug description: The Broadcom Bluetooth kernel module supports loading patches for specific hardware devices. Which devices require patchram support is defined in an array of structs in the kernel module `btusb`, which allow matching by Vendor ID and, optionally, Product ID. The Dell-branded device `413c:8197` requires the patch `BCM20702A1-413c-8197.hcd`[1] to be loaded in order for HSP/HFP functionality to work (A2DP and AVRCP work without the patch). However, the patch is not sought for this device by `btusb`. In 2011, `413c:8197` was included in the module[2], but not marked as requiring patchram. Later, in 2017, a blanket entry was added for all Dell-branded (`413c`) devices[3], marking them as requiring patchram. However, the previous entry for `413c:8197` was not removed and appears to block the patchram requirement from being added for this device (presumably the algorithm stops searching after the first match). The code stands like so: ``` static const struct usb_device_id btusb_table[] = { ... /* Broadcom BCM20702A0 */ { USB_DEVICE(0x413c, 0x8197) }, ... /* Dell Computer - Broadcom based */ { USB_VENDOR_AND_INTERFACE_INFO(0x413c, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, ``` I would like to request removal of the earlier entry to facilitate patchram support for device `413c:8197`. I have tested this as working on my Dell Precision M6700 running Ubuntu 20.04 with kernel `5.4.0-71-generic`. [1]: https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-413c-8197.hcd [2]: https://github.com/torvalds/linux/commit/d13431ca3eb2a2c14314f04813cdc11cd869f150 [3]: https://github.com/torvalds/linux/commit/fdfddc601713d4ed564b0bd25b29415bd622020a To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1924741] Re: Load Broadcom firmware for Dell Bluetooth device [413c:8197]
Thank you Kai-Heng, I confirm that the patch `lp1924741.patch` works. The patchram is loaded is HSP/HFP functions. However, just to be clear, as far as I am aware the addition is superfluous. The line `{ USB_DEVICE(0x413c, 0x8197) },` appears to have no effect if added after the catch-all for `0x413c` devices. Further, the firmware that is loaded is now BCM20702A1 rather than BCM20702A0 so if the line is reinserted perhaps the comment should be amended. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1924741 Title: Load Broadcom firmware for Dell Bluetooth device [413c:8197] Status in linux package in Ubuntu: Confirmed Bug description: The Broadcom Bluetooth kernel module supports loading patches for specific hardware devices. Which devices require patchram support is defined in an array of structs in the kernel module `btusb`, which allow matching by Vendor ID and, optionally, Product ID. The Dell-branded device `413c:8197` requires the patch `BCM20702A1-413c-8197.hcd`[1] to be loaded in order for HSP/HFP functionality to work (A2DP and AVRCP work without the patch). However, the patch is not sought for this device by `btusb`. In 2011, `413c:8197` was included in the module[2], but not marked as requiring patchram. Later, in 2017, a blanket entry was added for all Dell-branded (`413c`) devices[3], marking them as requiring patchram. However, the previous entry for `413c:8197` was not removed and appears to block the patchram requirement from being added for this device (presumably the algorithm stops searching after the first match). The code stands like so: ``` static const struct usb_device_id btusb_table[] = { ... /* Broadcom BCM20702A0 */ { USB_DEVICE(0x413c, 0x8197) }, ... /* Dell Computer - Broadcom based */ { USB_VENDOR_AND_INTERFACE_INFO(0x413c, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, ``` I would like to request removal of the earlier entry to facilitate patchram support for device `413c:8197`. I have tested this as working on my Dell Precision M6700 running Ubuntu 20.04 with kernel `5.4.0-71-generic`. [1]: https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-413c-8197.hcd [2]: https://github.com/torvalds/linux/commit/d13431ca3eb2a2c14314f04813cdc11cd869f150 [3]: https://github.com/torvalds/linux/commit/fdfddc601713d4ed564b0bd25b29415bd622020a To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1924741] Re: Load Broadcom firmware for Dell Bluetooth device [413c:8197]
** Attachment added: "debug-usb-devices-413c-8197" https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741/+attachment/5488974/+files/debug-usb-devices-413c-8197 -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1924741 Title: Load Broadcom firmware for Dell Bluetooth device [413c:8197] Status in linux package in Ubuntu: Confirmed Bug description: The Broadcom Bluetooth kernel module supports loading patches for specific hardware devices. Which devices require patchram support is defined in an array of structs in the kernel module `btusb`, which allow matching by Vendor ID and, optionally, Product ID. The Dell-branded device `413c:8197` requires the patch `BCM20702A1-413c-8197.hcd`[1] to be loaded in order for HSP/HFP functionality to work (A2DP and AVRCP work without the patch). However, the patch is not sought for this device by `btusb`. In 2011, `413c:8197` was included in the module[2], but not marked as requiring patchram. Later, in 2017, a blanket entry was added for all Dell-branded (`413c`) devices[3], marking them as requiring patchram. However, the previous entry for `413c:8197` was not removed and appears to block the patchram requirement from being added for this device (presumably the algorithm stops searching after the first match). The code stands like so: ``` static const struct usb_device_id btusb_table[] = { ... /* Broadcom BCM20702A0 */ { USB_DEVICE(0x413c, 0x8197) }, ... /* Dell Computer - Broadcom based */ { USB_VENDOR_AND_INTERFACE_INFO(0x413c, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, ``` I would like to request removal of the earlier entry to facilitate patchram support for device `413c:8197`. I have tested this as working on my Dell Precision M6700 running Ubuntu 20.04 with kernel `5.4.0-71-generic`. [1]: https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-413c-8197.hcd [2]: https://github.com/torvalds/linux/commit/d13431ca3eb2a2c14314f04813cdc11cd869f150 [3]: https://github.com/torvalds/linux/commit/fdfddc601713d4ed564b0bd25b29415bd622020a To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1924741] Re: Load Broadcom firmware for Dell Bluetooth device [413c:8197]
** Patch added: "btusb.c.patch" https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741/+attachment/545/+files/btusb.c.patch -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1924741 Title: Load Broadcom firmware for Dell Bluetooth device [413c:8197] Status in linux package in Ubuntu: Confirmed Bug description: The Broadcom Bluetooth kernel module supports loading patches for specific hardware devices. Which devices require patchram support is defined in an array of structs in the kernel module `btusb`, which allow matching by Vendor ID and, optionally, Product ID. The Dell-branded device `413c:8197` requires the patch `BCM20702A1-413c-8197.hcd`[1] to be loaded in order for HSP/HFP functionality to work (A2DP and AVRCP work without the patch). However, the patch is not sought for this device by `btusb`. In 2011, `413c:8197` was included in the module[2], but not marked as requiring patchram. Later, in 2017, a blanket entry was added for all Dell-branded (`413c`) devices[3], marking them as requiring patchram. However, the previous entry for `413c:8197` was not removed and appears to block the patchram requirement from being added for this device (presumably the algorithm stops searching after the first match). The code stands like so: ``` static const struct usb_device_id btusb_table[] = { ... /* Broadcom BCM20702A0 */ { USB_DEVICE(0x413c, 0x8197) }, ... /* Dell Computer - Broadcom based */ { USB_VENDOR_AND_INTERFACE_INFO(0x413c, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, ``` I would like to request removal of the earlier entry to facilitate patchram support for device `413c:8197`. I have tested this as working on my Dell Precision M6700 running Ubuntu 20.04 with kernel `5.4.0-71-generic`. [1]: https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-413c-8197.hcd [2]: https://github.com/torvalds/linux/commit/d13431ca3eb2a2c14314f04813cdc11cd869f150 [3]: https://github.com/torvalds/linux/commit/fdfddc601713d4ed564b0bd25b29415bd622020a To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1924741] Re: Load Broadcom firmware for Dell Bluetooth device [413c:8197]
** Attachment added: "lsusb" https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741/+attachment/544/+files/lsusb -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1924741 Title: Load Broadcom firmware for Dell Bluetooth device [413c:8197] Status in linux package in Ubuntu: Confirmed Bug description: The Broadcom Bluetooth kernel module supports loading patches for specific hardware devices. Which devices require patchram support is defined in an array of structs in the kernel module `btusb`, which allow matching by Vendor ID and, optionally, Product ID. The Dell-branded device `413c:8197` requires the patch `BCM20702A1-413c-8197.hcd`[1] to be loaded in order for HSP/HFP functionality to work (A2DP and AVRCP work without the patch). However, the patch is not sought for this device by `btusb`. In 2011, `413c:8197` was included in the module[2], but not marked as requiring patchram. Later, in 2017, a blanket entry was added for all Dell-branded (`413c`) devices[3], marking them as requiring patchram. However, the previous entry for `413c:8197` was not removed and appears to block the patchram requirement from being added for this device (presumably the algorithm stops searching after the first match). The code stands like so: ``` static const struct usb_device_id btusb_table[] = { ... /* Broadcom BCM20702A0 */ { USB_DEVICE(0x413c, 0x8197) }, ... /* Dell Computer - Broadcom based */ { USB_VENDOR_AND_INTERFACE_INFO(0x413c, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, ``` I would like to request removal of the earlier entry to facilitate patchram support for device `413c:8197`. I have tested this as working on my Dell Precision M6700 running Ubuntu 20.04 with kernel `5.4.0-71-generic`. [1]: https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-413c-8197.hcd [2]: https://github.com/torvalds/linux/commit/d13431ca3eb2a2c14314f04813cdc11cd869f150 [3]: https://github.com/torvalds/linux/commit/fdfddc601713d4ed564b0bd25b29415bd622020a To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1924741] Re: Load Broadcom firmware for Dell Bluetooth device [413c:8197]
** Attachment added: "dmesg" https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741/+attachment/543/+files/dmesg -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1924741 Title: Load Broadcom firmware for Dell Bluetooth device [413c:8197] Status in linux package in Ubuntu: Confirmed Bug description: The Broadcom Bluetooth kernel module supports loading patches for specific hardware devices. Which devices require patchram support is defined in an array of structs in the kernel module `btusb`, which allow matching by Vendor ID and, optionally, Product ID. The Dell-branded device `413c:8197` requires the patch `BCM20702A1-413c-8197.hcd`[1] to be loaded in order for HSP/HFP functionality to work (A2DP and AVRCP work without the patch). However, the patch is not sought for this device by `btusb`. In 2011, `413c:8197` was included in the module[2], but not marked as requiring patchram. Later, in 2017, a blanket entry was added for all Dell-branded (`413c`) devices[3], marking them as requiring patchram. However, the previous entry for `413c:8197` was not removed and appears to block the patchram requirement from being added for this device (presumably the algorithm stops searching after the first match). The code stands like so: ``` static const struct usb_device_id btusb_table[] = { ... /* Broadcom BCM20702A0 */ { USB_DEVICE(0x413c, 0x8197) }, ... /* Dell Computer - Broadcom based */ { USB_VENDOR_AND_INTERFACE_INFO(0x413c, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, ``` I would like to request removal of the earlier entry to facilitate patchram support for device `413c:8197`. I have tested this as working on my Dell Precision M6700 running Ubuntu 20.04 with kernel `5.4.0-71-generic`. [1]: https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-413c-8197.hcd [2]: https://github.com/torvalds/linux/commit/d13431ca3eb2a2c14314f04813cdc11cd869f150 [3]: https://github.com/torvalds/linux/commit/fdfddc601713d4ed564b0bd25b29415bd622020a To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1924741] Re: Load Broadcom firmware for Dell Bluetooth device [413c:8197]
Apport does not run on my machine for some reason, but I'm happy to collate and supply any required information by other means. ** Changed in: linux (Ubuntu) Status: Incomplete => Confirmed -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1924741 Title: Load Broadcom firmware for Dell Bluetooth device [413c:8197] Status in linux package in Ubuntu: Confirmed Bug description: The Broadcom Bluetooth kernel module supports loading patches for specific hardware devices. Which devices require patchram support is defined in an array of structs in the kernel module `btusb`, which allow matching by Vendor ID and, optionally, Product ID. The Dell-branded device `413c:8197` requires the patch `BCM20702A1-413c-8197.hcd`[1] to be loaded in order for HSP/HFP functionality to work (A2DP and AVRCP work without the patch). However, the patch is not sought for this device by `btusb`. In 2011, `413c:8197` was included in the module[2], but not marked as requiring patchram. Later, in 2017, a blanket entry was added for all Dell-branded (`413c`) devices[3], marking them as requiring patchram. However, the previous entry for `413c:8197` was not removed and appears to block the patchram requirement from being added for this device (presumably the algorithm stops searching after the first match). The code stands like so: ``` static const struct usb_device_id btusb_table[] = { ... /* Broadcom BCM20702A0 */ { USB_DEVICE(0x413c, 0x8197) }, ... /* Dell Computer - Broadcom based */ { USB_VENDOR_AND_INTERFACE_INFO(0x413c, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, ``` I would like to request removal of the earlier entry to facilitate patchram support for device `413c:8197`. I have tested this as working on my Dell Precision M6700 running Ubuntu 20.04 with kernel `5.4.0-71-generic`. [1]: https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-413c-8197.hcd [2]: https://github.com/torvalds/linux/commit/d13431ca3eb2a2c14314f04813cdc11cd869f150 [3]: https://github.com/torvalds/linux/commit/fdfddc601713d4ed564b0bd25b29415bd622020a To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1065400] Re: Support for loading Broadcom bluetooth firmware
Done, thanks! https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741 -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1065400 Title: Support for loading Broadcom bluetooth firmware Status in linux package in Ubuntu: Fix Released Status in linux source package in Precise: Fix Released Status in linux source package in Quantal: Fix Released Status in linux source package in Raring: Fix Released Status in linux source package in Saucy: Fix Released Status in linux source package in Trusty: Confirmed Bug description: Broadcom bluetooth chips require a tool called patchram uploader [1] to load firmware. This applies to at least BCM20702 and BCM43142. Although some of the devices have an OTPROM that contains required firmware, but it is found that these devices would not have HFP/HSP support unless a upgraded firmware is loaded via patchram uploader. This tool requires hci device to do the firmware loading, but this may cause some race condition between patchram tool and bluetoothd or something that also works on hci interface. Also it needs some hooks to make firmware loads after bootup, s3, s4, rfkill, and device hotplug events. Implement this loader in kernel module would make things more easier. [1] http://marc.info/?l=linux-bluetooth&m=132039175324993&w=2 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1065400/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1924741] [NEW] Load Broadcom firmware for Dell Bluetooth device [413c:8197]
Public bug reported: The Broadcom Bluetooth kernel module supports loading patches for specific hardware devices. Which devices require patchram support is defined in an array of structs in the kernel module `btusb`, which allow matching by Vendor ID and, optionally, Product ID. The Dell-branded device `413c:8197` requires the patch `BCM20702A1-413c-8197.hcd`[1] to be loaded in order for HSP/HFP functionality to work (A2DP and AVRCP work without the patch). However, the patch is not sought for this device by `btusb`. In 2011, `413c:8197` was included in the module[2], but not marked as requiring patchram. Later, in 2017, a blanket entry was added for all Dell-branded (`413c`) devices[3], marking them as requiring patchram. However, the previous entry for `413c:8197` was not removed and appears to block the patchram requirement from being added for this device (presumably the algorithm stops searching after the first match). The code stands like so: ``` static const struct usb_device_id btusb_table[] = { ... /* Broadcom BCM20702A0 */ { USB_DEVICE(0x413c, 0x8197) }, ... /* Dell Computer - Broadcom based */ { USB_VENDOR_AND_INTERFACE_INFO(0x413c, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, ``` I would like to request removal of the earlier entry to facilitate patchram support for device `413c:8197`. I have tested this as working on my Dell Precision M6700 running Ubuntu 20.04 with kernel `5.4.0-71-generic`. [1]: https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-413c-8197.hcd [2]: https://github.com/torvalds/linux/commit/d13431ca3eb2a2c14314f04813cdc11cd869f150 [3]: https://github.com/torvalds/linux/commit/fdfddc601713d4ed564b0bd25b29415bd622020a ** Affects: linux (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1924741 Title: Load Broadcom firmware for Dell Bluetooth device [413c:8197] Status in linux package in Ubuntu: New Bug description: The Broadcom Bluetooth kernel module supports loading patches for specific hardware devices. Which devices require patchram support is defined in an array of structs in the kernel module `btusb`, which allow matching by Vendor ID and, optionally, Product ID. The Dell-branded device `413c:8197` requires the patch `BCM20702A1-413c-8197.hcd`[1] to be loaded in order for HSP/HFP functionality to work (A2DP and AVRCP work without the patch). However, the patch is not sought for this device by `btusb`. In 2011, `413c:8197` was included in the module[2], but not marked as requiring patchram. Later, in 2017, a blanket entry was added for all Dell-branded (`413c`) devices[3], marking them as requiring patchram. However, the previous entry for `413c:8197` was not removed and appears to block the patchram requirement from being added for this device (presumably the algorithm stops searching after the first match). The code stands like so: ``` static const struct usb_device_id btusb_table[] = { ... /* Broadcom BCM20702A0 */ { USB_DEVICE(0x413c, 0x8197) }, ... /* Dell Computer - Broadcom based */ { USB_VENDOR_AND_INTERFACE_INFO(0x413c, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, ``` I would like to request removal of the earlier entry to facilitate patchram support for device `413c:8197`. I have tested this as working on my Dell Precision M6700 running Ubuntu 20.04 with kernel `5.4.0-71-generic`. [1]: https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-413c-8197.hcd [2]: https://github.com/torvalds/linux/commit/d13431ca3eb2a2c14314f04813cdc11cd869f150 [3]: https://github.com/torvalds/linux/commit/fdfddc601713d4ed564b0bd25b29415bd622020a To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924741/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1065400] Re: Support for loading Broadcom bluetooth firmware
I have a Dell/Broadcom 413c:8143 device and the patchram is apparently still not being applied for me in Ubuntu 20.04, kernel `5.4.0-70-generic`. I see that the following struct was added in early 2017: /* Dell Computer - Broadcom based */ { USB_VENDOR_AND_INTERFACE_INFO(0x413c, 0xff, 0x01, 0x01), .driver_info = BTUSB_BCM_PATCHRAM }, Commit diffs: https://github.com/torvalds/linux/commit/fdfddc601713d4ed564b0bd25b29415bd622020a https://kernel.ubuntu.com/git/ubuntu/ubuntu- zesty.git/diff/drivers/bluetooth/btusb.c?h=Ubuntu-4.10.0-14.16&id=9f8d1a6f221b33b294032c15e4739a8a9076aaec However, an earlier struct some ten items above appears to be blocking the addition from taking effect: { USB_DEVICE(0x413c, 0x8197) }, With the stock Ubuntu module HSP/HFP does not work for me, but if I remove the `USB_DEVICE` item, leaving the `USB_VENDOR_AND_INTERFACE_INFO` item, and recompile, the patchram is applied and HSP/HFP works. Might it be necessary to remove the previous `USB_DEVICE` item from the module source? -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1065400 Title: Support for loading Broadcom bluetooth firmware Status in linux package in Ubuntu: Fix Released Status in linux source package in Precise: Fix Released Status in linux source package in Quantal: Fix Released Status in linux source package in Raring: Fix Released Status in linux source package in Saucy: Fix Released Status in linux source package in Trusty: Confirmed Bug description: Broadcom bluetooth chips require a tool called patchram uploader [1] to load firmware. This applies to at least BCM20702 and BCM43142. Although some of the devices have an OTPROM that contains required firmware, but it is found that these devices would not have HFP/HSP support unless a upgraded firmware is loaded via patchram uploader. This tool requires hci device to do the firmware loading, but this may cause some race condition between patchram tool and bluetoothd or something that also works on hci interface. Also it needs some hooks to make firmware loads after bootup, s3, s4, rfkill, and device hotplug events. Implement this loader in kernel module would make things more easier. [1] http://marc.info/?l=linux-bluetooth&m=132039175324993&w=2 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1065400/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp