The Broadcom BCM2045 chipset seems to be also one of those chipsets
which report the SCO maximum packet incorrectly. The attached patch
works around this problem. With this workaround, a bluetooth USB
dongle with this chipset is able to send SCO data correctly.
The fix was verified using this USB dongle (MSI StarKey 2.0 (Ver
222-BW))
Bus 002 Device 004: ID 0a5c:2101 Broadcom Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 224 Wireless
bDeviceSubClass 1 Radio Frequency
bDeviceProtocol 1 Bluetooth
bMaxPacketSize0 64
idVendor 0x0a5c Broadcom Corp.
idProduct 0x2101
bcdDevice 0.00
iManufacturer 1 Broadcom Corp
iProduct 2 BCM92045DG Non-UHE
iSerial 0
bNumConfigurations 1
is this a dongle with HID proxy support or not. If yes, then you need
the HCI_RESET quirk otherwise you don't. So please check if it still
works after not including the HCI_RESET quirk.
It seems that HCI_RESET is not needed. (Interestingly, during testing,
I now encounter in about 20% of the cases very loud noise. This seems
like wrong data being played (like a synchronization error). However,
this problem happens both with and without HCI_RESET.)