Skip to contentSkip to conversation

rpi-bt-firmware: new package

PATCH New Baruch Siach 2 participants 5 messages Mar 9, 2017 – Mar 21, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 rpi-bt-firmware: new package

Add firmware file for the Raspberry Pi 3 Bluetooth module.

Note that to successfully download the firmware bluez5_utils needs a patch[1].

[1] http://www.spinics.net/lists/linux-bluetooth/msg69470.html

---
v2: mention RPi Zero W in the commit log (Martin Bark)

---
 package/Config.in                          |  1 +
 package/rpi-bt-firmware/Config.in          |  7 +++++++
 package/rpi-bt-firmware/rpi-bt-firmware.mk | 21 +++++++++++++++++++++
 3 files changed, 29 insertions(+)
 create mode 100644 package/rpi-bt-firmware/Config.in
 create mode 100644 package/rpi-bt-firmware/rpi-bt-firmware.mk
package/Config.in +1 -0
index 9eb6a22f424a..f8413a3fa675 100644
@@ -340,6 +340,7 @@ menu "Firmware"
 	source "package/b43-firmware/Config.in"
 	source "package/linux-firmware/Config.in"
 	source "package/rpi-firmware/Config.in"
+	source "package/rpi-bt-firmware/Config.in"
 	source "package/sunxi-boards/Config.in"
 	source "package/ts4900-fpga/Config.in"
 	source "package/ux500-firmware/Config.in"
package/rpi-bt-firmware/Config.in new file +7 -0
new file mode 100644
index 000000000000..5c6d608c232a
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_RPI_BT_FIRMWARE
+	bool "rpi-bt-firmware"
+	depends on BR2_arm || BR2_aarch64
+	help
+	  Raspberry Pi 3 and Zero W Broadcom BCM43438 Bluetooth module firmware.
+
+	  https://aur.archlinux.org/packages/pi-bluetooth
package/rpi-bt-firmware/rpi-bt-firmware.mk new file +21 -0
new file mode 100644
index 000000000000..255da1926211
@@ -0,0 +1,21 @@
+################################################################################
+#
+# rpi-bt-firmware
+#
+################################################################################
+
+RPI_BT_FIRMWARE_VERSION = a439f892bf549ddfefa9ba7ad1999cc515f233bf
+RPI_BT_FIRMWARE_SITE = https://aur.archlinux.org/pi-bluetooth.git
+RPI_BT_FIRMWARE_SITE_METHOD = git
+RPI_BT_FIRMWARE_LICENSE = PROPRIETARY
+RPI_BT_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx
+
+# The BlueZ hciattach utility looks for firmware in /etc/firmware. Add a
+# compatibility symlink.
+define RPI_BT_FIRMWARE_INSTALL_TARGET_CMDS
+	ln -sf ../lib/firmware $(TARGET_DIR)/etc/firmware
+	$(INSTALL) -D -m 0644 $(@D)/BCM43430A1.hcd \
+		$(TARGET_DIR)/lib/firmware/BCM43430A1.hcd
+endef
+
+$(eval $(generic-package))
Signature · 1 line
2.11.0
#1 lore raw

PATCH 1/1 rpi-bt-firmware: new package

Hello,

Quoted 5 lines · Baruch Siach

Add firmware file for the Raspberry Pi 3 Bluetooth module.

Note that to successfully download the firmware bluez5_utils needs a patch[1].

[1] http://www.spinics.net/lists/linux-bluetooth/msg69470.html

Wonderful patch :)

Quoted 2 lines

I think the name of the package is wrong, it shouldn't be rpi-bt-firmware. Indeed, it has nothing to do with the RPi itself, but with the WiFi chip. And other boards, such as
http://www.armadeus.org/wiki/index.php?title=OPOS6UL, use a WiFi chip that need the same firmware. See
http://www.armadeus.org/wiki/index.php?title=Bluetooth#OPOS6UL where they tell to use exactly that BCM43430A1.hcd firmware.

So perhaps the package should be bcrm-43430-firmware or something along those lines.

package/rpi-bt-firmware/rpi-bt-firmware.mk line 8

Quoted 2 lines
package/rpi-bt-firmware/rpi-bt-firmware.mk new file +2 -0
+RPI_BT_FIRMWARE_VERSION = a439f892bf549ddfefa9ba7ad1999cc515f233bf
+RPI_BT_FIRMWARE_SITE = https://aur.archlinux.org/pi-bluetooth.git

Is there a better upstream than this? I found
https://github.com/varigit/bcm_4343w_fw but I'm not sure it really qualifies as "better".

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 rpi-bt-firmware: new package

Hi Thomas,

Quoted 11 lines · Thomas Petazzoni
Quoted 5 lines · Baruch Siach

Add firmware file for the Raspberry Pi 3 Bluetooth module.

Note that to successfully download the firmware bluez5_utils needs a patch[1].

[1] http://www.spinics.net/lists/linux-bluetooth/msg69470.html

Wonderful patch :)

Quoted 1 line
Quoted 7 lines

I think the name of the package is wrong, it shouldn't be rpi-bt-firmware. Indeed, it has nothing to do with the RPi itself, but with the WiFi chip. And other boards, such as
http://www.armadeus.org/wiki/index.php?title=OPOS6UL, use a WiFi chip that need the same firmware. See
http://www.armadeus.org/wiki/index.php?title=Bluetooth#OPOS6UL where they tell to use exactly that BCM43430A1.hcd firmware.

Thanks for the link.

Do you have any indication that this is indeed the same file that RPi uses? My impression was that this firmware is tailored specifically for the RPi board, but I don't know for sure. That fact that Broadcom licenses the file may indicate that this is the same one. But ...

Quoted 10 lines

So perhaps the package should be bcrm-43430-firmware or something along those lines.

package/rpi-bt-firmware/rpi-bt-firmware.mk line 8

Quoted 2 lines
package/rpi-bt-firmware/rpi-bt-firmware.mk new file +2 -0
+RPI_BT_FIRMWARE_VERSION = a439f892bf549ddfefa9ba7ad1999cc515f233bf
+RPI_BT_FIRMWARE_SITE = https://aur.archlinux.org/pi-bluetooth.git

Is there a better upstream than this? I found
https://github.com/varigit/bcm_4343w_fw but I'm not sure it really qualifies as "better".

... this is not the same file:

ls -l bcm43430a1.hcd pi-bluetooth/BCM43430A1.hcd
-rw-r--r-- 1 baruch baruch 14265 Mar 20 23:22 bcm43430a1.hcd -rw-r--r-- 1 baruch baruch 35976 Jan 17 12:25 pi-bluetooth/BCM43430A1.hcd

I have not tested the Variscite firmware on the RPi, though. There is a small chance it might damage the hardware.

And since the git repo we use is named 'pi-bluetooth' maybe rpi-bt-firmware is not such a bad name after all.

barauch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
#3 lore raw

PATCH 1/1 rpi-bt-firmware: new package

Hello,

Quoted 19 lines · Baruch Siach

Do you have any indication that this is indeed the same file that RPi uses? My impression was that this firmware is tailored specifically for the RPi board, but I don't know for sure. That fact that Broadcom licenses the file may indicate that this is the same one. But ...

Quoted 10 lines

So perhaps the package should be bcrm-43430-firmware or something along those lines.

package/rpi-bt-firmware/rpi-bt-firmware.mk line 8

Quoted 2 lines
package/rpi-bt-firmware/rpi-bt-firmware.mk new file +2 -0
+RPI_BT_FIRMWARE_VERSION = a439f892bf549ddfefa9ba7ad1999cc515f233bf
+RPI_BT_FIRMWARE_SITE = https://aur.archlinux.org/pi-bluetooth.git  

Is there a better upstream than this? I found
https://github.com/varigit/bcm_4343w_fw but I'm not sure it really qualifies as "better".

... this is not the same file:

ls -l bcm43430a1.hcd pi-bluetooth/BCM43430A1.hcd

Review

Quoted 2 lines
(quoted diff) +0 -2
-rw-r--r-- 1 baruch baruch 14265 Mar 20 23:22 bcm43430a1.hcd
-rw-r--r-- 1 baruch baruch 35976 Jan 17 12:25 pi-bluetooth/BCM43430A1.hcd

Gaah, what a mess. Why don't they just post it for integration in the linux-firmware project? Why is it that RPi people always have to do things the weird way?

Quoted 5 lines

I have not tested the Variscite firmware on the RPi, though. There is a small chance it might damage the hardware.

And since the git repo we use is named 'pi-bluetooth' maybe rpi-bt-firmware is not such a bad name after all.

Yeah, indeed :-/

Can you resend the patch with just an extended explanation as to why the package is named this way, and the fact that even though the WiFi chip isn't RPi specific, the firmware might be.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#4 lore raw

PATCH 1/1 rpi-bt-firmware: new package

Hi Thomas,

Quoted 18 lines · Thomas Petazzoni
Quoted 17 lines · Baruch Siach

Do you have any indication that this is indeed the same file that RPi uses? My impression was that this firmware is tailored specifically for the RPi board, but I don't know for sure. That fact that Broadcom licenses the file may indicate that this is the same one. But ...

Quoted 9 lines

So perhaps the package should be bcrm-43430-firmware or something along those lines.

package/rpi-bt-firmware/rpi-bt-firmware.mk line 8

Quoted 2 lines
package/rpi-bt-firmware/rpi-bt-firmware.mk new file +2 -0
+RPI_BT_FIRMWARE_VERSION = a439f892bf549ddfefa9ba7ad1999cc515f233bf
+RPI_BT_FIRMWARE_SITE = https://aur.archlinux.org/pi-bluetooth.git  

Is there a better upstream than this? I found
https://github.com/varigit/bcm_4343w_fw but I'm not sure it really qualifies as "better".

... this is not the same file:

Quoted 7 lines

Review

Quoted 3 lines

ls -l bcm43430a1.hcd pi-bluetooth/BCM43430A1.hcd

(quoted diff) +0 -2
-rw-r--r-- 1 baruch baruch 14265 Mar 20 23:22 bcm43430a1.hcd
-rw-r--r-- 1 baruch baruch 35976 Jan 17 12:25 pi-bluetooth/BCM43430A1.hcd

Gaah, what a mess. Why don't they just post it for integration in the linux-firmware project? Why is it that RPi people always have to do things the weird way?

I agree that the general attitude of the RPi community to the larger Open Source community resembles an island attitude to mainland. But in this case I'm not sure it is their fault. If indeed the firmware is board specific, putting it in linux-firmware under a "generic" name won't do much good I guess.

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -