From 274fc7575efeadf99107769a5a9619fa6f2ac8b6 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sat, 14 Jan 2023 02:35:28 +0000 Subject: [PATCH] bluez: update to version 5.66 ver 5.66: Fix issue with A2DP and transport connection collisions. Fix issue with allowing application specific error codes. Fix issue with not setting initiator flag correctly. Fix issue with HoG Report MAP size handling. Add initial support for Basic Audio Profile. Add initial support for Volume Control Profile. ver 5.65: Fix issue with A2DP cache invalidation handling. Fix issue with A2DP and not initialized SEP codec. Fix issue with A2DP and multiple SetConfiguration to same SEP Fix issue with AVRCP and not properly initialized volume. Fix issue with SDP records when operating in LE only mode. Fix issue with HoG and not reading report map of instances. Fix issue with GATT server crashing while disconnecting. Fix issue with not removing connected devices. Fix issue with enabling wake support without RPA Resolution. Fix issue with pairing failed due to the error of Already Paired. Add support for CONFIGURATION_DIRECTORY environment variable. Add support for STATE_DIRECTORY environment variable. Add support for "Bonded" property with Device API. Add experimental support for ISO socket. Package btmon in new package 'bluez-utils-btmon' to prevent adding glib2 it now requires as a dependency for all of bluez-utils. Signed-off-by: Daniel Golle --- utils/bluez/Makefile | 22 ++++++++++++---- ...-speed-must-be-reset-after-the-firmw.patch | 4 +-- ...-the-43xx-firmware-into-lib-firmware.patch | 10 +++---- utils/bluez/patches/201-readline.patch | 26 +++++++++---------- ...fresh_adv_manager_for_non-LE_devices.patch | 2 +- .../patches/210-util-define-MAX_INPUT.patch | 12 +++++++++ 6 files changed, 50 insertions(+), 26 deletions(-) create mode 100644 utils/bluez/patches/210-util-define-MAX_INPUT.patch diff --git a/utils/bluez/Makefile b/utils/bluez/Makefile index 588a2f1a2f..c585593cc7 100644 --- a/utils/bluez/Makefile +++ b/utils/bluez/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bluez -PKG_VERSION:=5.64 -PKG_RELEASE:=$(AUTORELEASE) +PKG_VERSION:=5.66 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/bluetooth/ -PKG_HASH:=ae437e65b6b3070c198bc5b0109fe9cdeb9eaa387380e2072f9de65fe8a1de34 +PKG_HASH:=39fea64b590c9492984a0c27a89fc203e1cdc74866086efb8f4698677ab2b574 PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE_FILES:=COPYING @@ -47,6 +47,14 @@ $(call Package/bluez/Default) DEPENDS:=+bluez-libs endef +define Package/bluez-utils-btmon +$(call Package/bluez/Default) + SECTION:=utils + CATEGORY:=Utilities + TITLE+= utilities + DEPENDS:=+bluez-libs +glib2 +endef + define Package/bluez-utils-extra $(call Package/bluez/Default) SECTION:=utils @@ -111,10 +119,8 @@ endef define Package/bluez-utils/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/bdaddr $(1)/usr/bin/ -# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/bccmd $(1)/usr/bin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/bluemoon $(1)/usr/bin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/btattach $(1)/usr/bin/ - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/btmon $(1)/usr/bin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ciptool $(1)/usr/bin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hciattach $(1)/usr/bin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hciconfig $(1)/usr/bin/ @@ -127,6 +133,11 @@ define Package/bluez-utils/install $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rfcomm $(1)/usr/bin/ endef +define Package/bluez-utils-btmon/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/btmon $(1)/usr/bin/ +endef + define Package/bluez-utils-extra/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/btmgmt $(1)/usr/bin/ @@ -153,5 +164,6 @@ endef $(eval $(call BuildPackage,bluez-libs)) $(eval $(call BuildPackage,bluez-utils)) +$(eval $(call BuildPackage,bluez-utils-btmon)) $(eval $(call BuildPackage,bluez-utils-extra)) $(eval $(call BuildPackage,bluez-daemon)) diff --git a/utils/bluez/patches/002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch b/utils/bluez/patches/002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch index 3df6341103..a2035304a3 100644 --- a/utils/bluez/patches/002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch +++ b/utils/bluez/patches/002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch @@ -10,7 +10,7 @@ Subject: [PATCH 2/4] bcm43xx: The UART speed must be reset after the firmware --- a/tools/hciattach_bcm43xx.c +++ b/tools/hciattach_bcm43xx.c -@@ -354,11 +354,8 @@ int bcm43xx_init(int fd, int def_speed, +@@ -350,11 +350,8 @@ int bcm43xx_init(int fd, int def_speed, return -1; if (bcm43xx_locate_patch(FIRMWARE_DIR, chip_name, fw_path)) { @@ -23,7 +23,7 @@ Subject: [PATCH 2/4] bcm43xx: The UART speed must be reset after the firmware if (bcm43xx_load_firmware(fd, fw_path)) return -1; -@@ -368,6 +365,7 @@ int bcm43xx_init(int fd, int def_speed, +@@ -364,6 +361,7 @@ int bcm43xx_init(int fd, int def_speed, return -1; } diff --git a/utils/bluez/patches/004-Move-the-43xx-firmware-into-lib-firmware.patch b/utils/bluez/patches/004-Move-the-43xx-firmware-into-lib-firmware.patch index 670d4304c4..cce53b3295 100644 --- a/utils/bluez/patches/004-Move-the-43xx-firmware-into-lib-firmware.patch +++ b/utils/bluez/patches/004-Move-the-43xx-firmware-into-lib-firmware.patch @@ -7,14 +7,14 @@ Subject: [PATCH 4/4] Move the 43xx firmware into /lib/firmware tools/hciattach_bcm43xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---- a/tools/hciattach_bcm43xx.c -+++ b/tools/hciattach_bcm43xx.c -@@ -31,7 +31,7 @@ - #include "hciattach.h" +--- a/tools/hciattach.h ++++ b/tools/hciattach.h +@@ -41,7 +41,7 @@ + #define HCI_UART_VND_DETECT 5 #ifndef FIRMWARE_DIR -#define FIRMWARE_DIR "/etc/firmware" +#define FIRMWARE_DIR "/lib/firmware/brcm" #endif - #define FW_EXT ".hcd" + int read_hci_event(int fd, unsigned char *buf, int size); diff --git a/utils/bluez/patches/201-readline.patch b/utils/bluez/patches/201-readline.patch index f60001c0df..e58b504b30 100644 --- a/utils/bluez/patches/201-readline.patch +++ b/utils/bluez/patches/201-readline.patch @@ -1,7 +1,7 @@ --- a/Makefile.in +++ b/Makefile.in -@@ -3479,7 +3479,7 @@ unit_tests = $(am__append_55) unit/test- - @CLIENT_TRUE@ client/admin.c +@@ -3598,7 +3598,7 @@ unit_tests = $(am__append_62) unit/test- + @CLIENT_TRUE@ client/player.h client/player.c @CLIENT_TRUE@client_bluetoothctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \ -@CLIENT_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -lreadline @@ -9,16 +9,16 @@ @ZSH_COMPLETIONS_TRUE@zshcompletiondir = $(ZSH_COMPLETIONDIR) @ZSH_COMPLETIONS_TRUE@dist_zshcompletion_DATA = completion/zsh/_bluetoothctl -@@ -3722,7 +3722,7 @@ unit_tests = $(am__append_55) unit/test- +@@ -3877,7 +3877,7 @@ unit_tests = $(am__append_62) unit/test- - @MESH_TRUE@@TOOLS_TRUE@tools_meshctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \ - @MESH_TRUE@@TOOLS_TRUE@ lib/libbluetooth-internal.la \ --@MESH_TRUE@@TOOLS_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -ljson-c -lreadline -+@MESH_TRUE@@TOOLS_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -ljson-c -lreadline -lncurses + @DEPRECATED_TRUE@@MESH_TRUE@@TOOLS_TRUE@tools_meshctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \ + @DEPRECATED_TRUE@@MESH_TRUE@@TOOLS_TRUE@ lib/libbluetooth-internal.la \ +-@DEPRECATED_TRUE@@MESH_TRUE@@TOOLS_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -ljson-c -lreadline ++@DEPRECATED_TRUE@@MESH_TRUE@@TOOLS_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -ljson-c -lreadline -lncurses @MESH_TRUE@@TOOLS_TRUE@tools_mesh_cfgclient_SOURCES = tools/mesh-cfgclient.c \ @MESH_TRUE@@TOOLS_TRUE@ tools/mesh/model.h tools/mesh/config-model.h \ -@@ -3736,7 +3736,7 @@ unit_tests = $(am__append_55) unit/test- +@@ -3891,7 +3891,7 @@ unit_tests = $(am__append_62) unit/test- @MESH_TRUE@@TOOLS_TRUE@ mesh/crypto.h mesh/crypto.c @MESH_TRUE@@TOOLS_TRUE@tools_mesh_cfgclient_LDADD = lib/libbluetooth-internal.la src/libshared-ell.la \ @@ -27,7 +27,7 @@ @MESH_TRUE@@TOOLS_TRUE@tools_mesh_cfgtest_SOURCES = tools/mesh-cfgtest.c @MESH_TRUE@@TOOLS_TRUE@tools_mesh_cfgtest_LDADD = lib/libbluetooth-internal.la src/libshared-ell.la \ -@@ -3793,7 +3793,7 @@ unit_tests = $(am__append_55) unit/test- +@@ -3948,7 +3948,7 @@ unit_tests = $(am__append_62) unit/test- @READLINE_TRUE@ tools/obex-client-tool.c @READLINE_TRUE@tools_obex_client_tool_LDADD = lib/libbluetooth-internal.la \ @@ -36,8 +36,8 @@ @READLINE_TRUE@tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \ @READLINE_TRUE@ tools/obex-server-tool.c -@@ -3804,15 +3804,15 @@ unit_tests = $(am__append_55) unit/test- - @READLINE_TRUE@tools_bluetooth_player_SOURCES = tools/bluetooth-player.c +@@ -3959,15 +3959,15 @@ unit_tests = $(am__append_62) unit/test- + @READLINE_TRUE@tools_bluetooth_player_SOURCES = tools/bluetooth-player.c client/player.c @READLINE_TRUE@tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \ @READLINE_TRUE@ src/libshared-glib.la \ -@READLINE_TRUE@ $(GLIB_LIBS) $(DBUS_LIBS) -lreadline @@ -55,7 +55,7 @@ @DEPRECATED_TRUE@@READLINE_TRUE@attrib_gatttool_SOURCES = attrib/gatttool.c attrib/att.c attrib/gatt.c \ @DEPRECATED_TRUE@@READLINE_TRUE@ attrib/gattrib.c btio/btio.c \ -@@ -3821,7 +3821,7 @@ unit_tests = $(am__append_55) unit/test- +@@ -3976,7 +3976,7 @@ unit_tests = $(am__append_62) unit/test- @DEPRECATED_TRUE@@READLINE_TRUE@ client/display.h @DEPRECATED_TRUE@@READLINE_TRUE@attrib_gatttool_LDADD = lib/libbluetooth-internal.la \ @@ -64,7 +64,7 @@ @CUPS_TRUE@cupsdir = $(libdir)/cups/backend @CUPS_TRUE@profiles_cups_bluetooth_SOURCES = profiles/cups/main.c \ -@@ -3841,7 +3841,7 @@ unit_tests = $(am__append_55) unit/test- +@@ -3996,7 +3996,7 @@ unit_tests = $(am__append_62) unit/test- @BTPCLIENT_TRUE@tools_btpclient_DEPENDENCIES = lib/libbluetooth-internal.la $(ell_dependencies) @BTPCLIENT_TRUE@tools_btpclientctl_SOURCES = tools/btpclientctl.c client/display.c @BTPCLIENT_TRUE@tools_btpclientctl_LDADD = src/libshared-mainloop.la src/libshared-glib.la \ diff --git a/utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch b/utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch index 3252ecf41c..b79667bb0f 100644 --- a/utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch +++ b/utils/bluez/patches/205-refresh_adv_manager_for_non-LE_devices.patch @@ -34,7 +34,7 @@ This commit prevents the call to btd_adv_manager_refresh for non-LE devices. --- a/src/adapter.c +++ b/src/adapter.c -@@ -601,7 +601,9 @@ static void settings_changed(struct btd_ +@@ -634,7 +634,9 @@ static void settings_changed(struct btd_ */ if (!adapter->discovery_discoverable) store_adapter_info(adapter); diff --git a/utils/bluez/patches/210-util-define-MAX_INPUT.patch b/utils/bluez/patches/210-util-define-MAX_INPUT.patch new file mode 100644 index 0000000000..e2af0bf653 --- /dev/null +++ b/utils/bluez/patches/210-util-define-MAX_INPUT.patch @@ -0,0 +1,12 @@ +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -23,6 +23,9 @@ + #include + #include + #include ++#ifndef MAX_INPUT ++#define MAX_INPUT _POSIX_MAX_INPUT ++#endif + + #ifdef HAVE_SYS_RANDOM_H + #include