diff options
author | 2019-09-29 12:58:47 +0200 | |
---|---|---|
committer | 2019-09-29 12:58:47 +0200 | |
commit | 01275fe1564faa3c830bca4b0ea900fb44bafb0f (patch) | |
tree | 7a2e4a09afe0d7760a6f3c1ad6cf1152aa6ccc8e /net-wireless/bluez/files | |
parent | sys-apps/portage: amd64 stable wrt bug #695692 (diff) | |
download | gentoo-01275fe1564faa3c830bca4b0ea900fb44bafb0f.tar.gz gentoo-01275fe1564faa3c830bca4b0ea900fb44bafb0f.tar.bz2 gentoo-01275fe1564faa3c830bca4b0ea900fb44bafb0f.zip |
net-wireless/bluez: Version bump to 5.51
- Follow Fedora for installing few more needed extra-tools, AutoEnable
bluetooth as soon as possible for keyboard/mouse devices.
- Install example files for meshctl (#662110)
- Fix QA issues (#694852)
Closes: https://bugs.gentoo.org/662110
Bug: https://bugs.gentoo.org/683230
Closes: https://bugs.gentoo.org/694852
Closes: https://bugs.gentoo.org/695316
Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: Pacho Ramos <pacho@gentoo.org>
Diffstat (limited to 'net-wireless/bluez/files')
-rw-r--r-- | net-wireless/bluez/files/69-btattach-bcm.rules | 33 | ||||
-rw-r--r--[-rwxr-xr-x] | net-wireless/bluez/files/bluetooth-init.d-r4 | 2 | ||||
-rw-r--r-- | net-wireless/bluez/files/btattach-bcm-service.sh | 30 | ||||
-rw-r--r-- | net-wireless/bluez/files/btattach-bcm_at.service | 6 |
4 files changed, 70 insertions, 1 deletions
diff --git a/net-wireless/bluez/files/69-btattach-bcm.rules b/net-wireless/bluez/files/69-btattach-bcm.rules new file mode 100644 index 000000000000..dfe8d1e785c8 --- /dev/null +++ b/net-wireless/bluez/files/69-btattach-bcm.rules @@ -0,0 +1,33 @@ +# Some devices have a bluetooth HCI connected to an uart, these needs to be +# setup by calling btattach. The systemd btattach-bcm.service takes care of +# this. These udev rules hardware-activate that service when necessary. +# +# For now this only suports ACPI enumerated Broadcom BT HCIs. +# This has been tested on Bay and Cherry Trail devices with both ACPI and +# PCI enumerated UARTs. + +# Note we check for the platform device not for the acpi device, because +# some DSDTs list multiple bluetooth adapters, but only some (or none) +# are enabled. Only enabled adapters get a platform device created. +ACTION!="add", GOTO="btattach_bcm_rules_end" +SUBSYSTEM!="platform", GOTO="btattach_bcm_rules_end" + +KERNEL=="BCM2E1A:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E39:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E3A:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E3D:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E3F:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E40:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E54:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E55:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E64:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E65:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E67:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E71:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E7B:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E7C:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E7E:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E95:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" +KERNEL=="BCM2E96:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" + +LABEL="btattach_bcm_rules_end" diff --git a/net-wireless/bluez/files/bluetooth-init.d-r4 b/net-wireless/bluez/files/bluetooth-init.d-r4 index 97cf500008e0..e69c66867fa0 100755..100644 --- a/net-wireless/bluez/files/bluetooth-init.d-r4 +++ b/net-wireless/bluez/files/bluetooth-init.d-r4 @@ -1,5 +1,5 @@ #!/sbin/openrc-run -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 pidfile="/run/bluetoothd.pid" diff --git a/net-wireless/bluez/files/btattach-bcm-service.sh b/net-wireless/bluez/files/btattach-bcm-service.sh new file mode 100644 index 000000000000..c7f8b1784679 --- /dev/null +++ b/net-wireless/bluez/files/btattach-bcm-service.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# Simple shell script to wait for the tty for an uart using BT HCI to show up +# and then invoke btattach with the right parameters, this is intended to be +# invoked from a hardware-activated systemd service +# +# For now this only suports ACPI enumerated Broadcom BT HCIs. +# This has been tested on Bay and Cherry Trail devices with both ACPI and +# PCI enumerated UARTs. +# +# Note the kernel bt developers are working on solving this entirely in the +# kernel, so it is not worth the trouble to write something better then this. + +BT_DEV="/sys/bus/platform/devices/$1" +BT_DEV="$(readlink -f $BT_DEV)" +UART_DEV="$(dirname $BT_DEV)" + +# Stupid GPD-pocket has USB BT with id 0000:0000, but still claims to have +# an uart attached bt +if [ "$1" = "BCM2E7E:00" ] && lsusb | grep -q "ID 0000:0000"; then + exit 0 +fi + +while [ ! -d "$UART_DEV/tty" ]; do + sleep .2 +done + +TTY="$(ls $UART_DEV/tty)" + +exec btattach --bredr "/dev/$TTY" -P bcm diff --git a/net-wireless/bluez/files/btattach-bcm_at.service b/net-wireless/bluez/files/btattach-bcm_at.service new file mode 100644 index 000000000000..1e7c7dbe582e --- /dev/null +++ b/net-wireless/bluez/files/btattach-bcm_at.service @@ -0,0 +1,6 @@ +[Unit] +Description=btattach for Broadcom devices + +[Service] +Type=simple +ExecStart=/usr/libexec/bluetooth/btattach-bcm-service.sh %I |