[Kernel-packages] [Bug 1924741] Re: Load Broadcom firmware for Dell Bluetooth device [413c:8197]

2022-06-09 Thread Ian Mackinnon
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]

2022-06-09 Thread Ian Mackinnon
** 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]

2021-04-22 Thread Ian Mackinnon
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]

2021-04-16 Thread Ian Mackinnon
** 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]

2021-04-16 Thread Ian Mackinnon
** 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]

2021-04-16 Thread Ian Mackinnon
** 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]

2021-04-16 Thread Ian Mackinnon
** 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]

2021-04-16 Thread Ian Mackinnon
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

2021-04-16 Thread Ian Mackinnon
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]

2021-04-16 Thread Ian Mackinnon
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

2021-04-15 Thread Ian Mackinnon
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