* How to handle multiple firmwares for 0x2209 device?
@ 2018-10-13 12:22 Christian Hewitt
0 siblings, 0 replies; 2+ messages in thread
From: Christian Hewitt @ 2018-10-13 12:22 UTC (permalink / raw)
To: linux-bluetooth
The Khadas VIM(1) SBC uses an AMPAK AP6212 module with device ID 0x2209; resulting in BCM43430A1 firmware being loaded (as per current code) instead of BCM43438A1 which is needed for the BT module to work. The following patch is required:
--- a/drivers/bluetooth/btbcm.c 2018-07-09 00:34:02.000000000 +0100
+++ b/drivers/bluetooth/btbcm.c 2018-07-12 11:38:12.323462430 +0100
@@ -326,7 +326,7 @@ static const struct bcm_subver_table bcm
{ 0x4406, "BCM4324B3" }, /* 002.004.006 */
{ 0x610c, "BCM4354" }, /* 003.001.012 */
{ 0x2122, "BCM4343A0" }, /* 001.001.034 */
- { 0x2209, "BCM43430A1" }, /* 001.002.009 */
+ { 0x2209, "BCM43438A1" }, /* 001.002.009 */
{ 0x6119, "BCM4345C0" }, /* 003.001.025 */
{ 0x230f, "BCM4356A2" }, /* 001.003.015 */
{ }
Is BCM43438A1 simply a newer version of firmware that could be used by all devices (and the above patch can be submitted to effect the change) .. or is something more complicated required?
BCM43438A1 firmware: (https://github.com/chewitt/brcmfmac_sdio-firmware-aml)
[ 9.447310] Bluetooth: hci0: BCM: chip id 94
[ 9.449226] Bluetooth: hci0: BCM: features 0x2e
[ 9.471969] Bluetooth: hci0: BCM43430A1
[ 9.471983] Bluetooth: hci0: BCM43438A1 (001.002.009) build 0000
[ 12.946499] Bluetooth: hci0: BCM43438A1 (001.002.009) build 0106
hci0: Type: Primary Bus: UART
BD Address: CC:B8:A8:B5:9F:87 ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING
RX bytes:2265 acl:0 sco:0 events:216 errors:0
TX bytes:36326 acl:0 sco:0 commands:214 errors:0
Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH SNIFF
Link mode: SLAVE ACCEPT
Name: 'LibreELEC'
Class: 0x0c0000
Service Classes: Rendering, Capturing
Device Class: Miscellaneous,
HCI Version: 4.0 (0x6) Revision: 0x6a
LMP Version: 4.0 (0x6) Subversion: 0x2209
Manufacturer: Broadcom Corporation (15)
Christian
^ permalink raw reply [flat|nested] 2+ messages in thread
* How to handle multiple firmwares for 0x2209 device?
@ 2018-09-07 3:48 Christian Hewitt
0 siblings, 0 replies; 2+ messages in thread
From: Christian Hewitt @ 2018-09-07 3:48 UTC (permalink / raw)
To: linux-bluetooth
The Khadas VIM(1) SBC uses an AMPAK AP6212 module with device ID 0x2209; =
resulting in BCM43430A1 firmware being loaded (as per current code) =
instead of BCM43438A1 which is needed for the BT module to work. The =
following patch is required:
--- a/drivers/bluetooth/btbcm.c 2018-07-09 00:34:02.000000000 +0100
+++ b/drivers/bluetooth/btbcm.c 2018-07-12 11:38:12.323462430 +0100
@@ -326,7 +326,7 @@ static const struct bcm_subver_table bcm
{ 0x4406, "BCM4324B3" }, /* 002.004.006 */
{ 0x610c, "BCM4354" }, /* 003.001.012 */
{ 0x2122, "BCM4343A0" }, /* 001.001.034 */
- { 0x2209, "BCM43430A1" }, /* 001.002.009 */
+ { 0x2209, "BCM43438A1" }, /* 001.002.009 */
{ 0x6119, "BCM4345C0" }, /* 003.001.025 */
{ 0x230f, "BCM4356A2" }, /* 001.003.015 */
{ }
I=E2=80=99m not versed in the minutiae of these firmwares. Is BCM43438A1 =
simply a newer version of firmware that could be used by all devices =
(and the above patch can be submitted to effect the change) .. or is =
something more complicated required?
BCM43438A1 firmware: =
(https://github.com/chewitt/brcmfmac_sdio-firmware-aml)
[ 9.447310] Bluetooth: hci0: BCM: chip id 94
[ 9.449226] Bluetooth: hci0: BCM: features 0x2e
[ 9.471969] Bluetooth: hci0: BCM43430A1
[ 9.471983] Bluetooth: hci0: BCM43438A1 (001.002.009) build 0000
[ 12.946499] Bluetooth: hci0: BCM43438A1 (001.002.009) build 0106
hci0: Type: Primary Bus: UART
BD Address: CC:B8:A8:B5:9F:87 ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING=20
RX bytes:2265 acl:0 sco:0 events:216 errors:0
TX bytes:36326 acl:0 sco:0 commands:214 errors:0
Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3=20
Link policy: RSWITCH SNIFF=20
Link mode: SLAVE ACCEPT=20
Name: 'LibreELEC'
Class: 0x0c0000
Service Classes: Rendering, Capturing
Device Class: Miscellaneous,=20
HCI Version: 4.0 (0x6) Revision: 0x6a
LMP Version: 4.0 (0x6) Subversion: 0x2209
Manufacturer: Broadcom Corporation (15)
Christian=
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-10-13 12:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-13 12:22 How to handle multiple firmwares for 0x2209 device? Christian Hewitt
-- strict thread matches above, loose matches on Subject: below --
2018-09-07 3:48 Christian Hewitt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).