diff options
Diffstat (limited to 'meta/recipes-connectivity/bluez')
8 files changed, 240 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/bluez/bluez-dtl1-workaround/02dtl1_cs.sh b/meta/recipes-connectivity/bluez/bluez-dtl1-workaround/02dtl1_cs.sh new file mode 100644 index 0000000000..fefc72e07a --- /dev/null +++ b/meta/recipes-connectivity/bluez/bluez-dtl1-workaround/02dtl1_cs.sh | |||
| @@ -0,0 +1,57 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | case "$1" in | ||
| 4 | suspend) | ||
| 5 | if [ "`/sbin/hciconfig`" != "" ]; then | ||
| 6 | #If hciconfig outputs anything then there's probably a Bluetooth | ||
| 7 | # CF card in the slot so shut it down. | ||
| 8 | hcitool dc `hcitool con | grep ACL | sed 's/^.*\([0-9A-F]\{2\}\(:[0-9A-F]\{2\}\)\{5\}\).*$/\1/'` | ||
| 9 | hciconfig hci0 down | ||
| 10 | killall hciattach > /dev/null 2>&1 | ||
| 11 | fi | ||
| 12 | ;; | ||
| 13 | |||
| 14 | resume) | ||
| 15 | #check for kernel version | ||
| 16 | if [ "`uname -r | grep 2.4.`" != "" ]; then | ||
| 17 | k="o" | ||
| 18 | elif [ "`uname -r | grep 2.6.`" != "" ]; then | ||
| 19 | k="ko" | ||
| 20 | else | ||
| 21 | exit 0 | ||
| 22 | fi | ||
| 23 | |||
| 24 | if test -e /sbin/cardctl; then | ||
| 25 | CARDCTL=/sbin/cardctl | ||
| 26 | elif test -e /sbin/pccardctl; then | ||
| 27 | CARDCTL=/sbin/pccardctl | ||
| 28 | else | ||
| 29 | exit 0 | ||
| 30 | fi | ||
| 31 | |||
| 32 | if [ "`lsmod | grep hci_uart`" != "" ]; then | ||
| 33 | #If the hci_usb module is still loaded then there's a serial based | ||
| 34 | # Bluetooth CF card in the slot, which only needs a resume to get it going | ||
| 35 | # again. | ||
| 36 | rfcomm bind all | ||
| 37 | $CARDCTL resume | ||
| 38 | hciconfig hci0 up | ||
| 39 | else | ||
| 40 | # only works for nokia dtl1 cards | ||
| 41 | for f in /lib/modules/`uname -r`/kernel/drivers/bluetooth/dtl1_cs.$k | ||
| 42 | do | ||
| 43 | #Enumerate all the self-contained Bluetooth CF card drivers | ||
| 44 | f=`echo $f | sed 's/\.'$k'$//'` | ||
| 45 | f=`basename $f` | ||
| 46 | if [ "`lsmod | grep $f`" != "" ]; then | ||
| 47 | #If one of these drivers is still loaded, then there is probably | ||
| 48 | #a non-serial based Bluetooth CF card in the slot that needs | ||
| 49 | #ejecting and reinserting to get it going again | ||
| 50 | rfcomm bind all | ||
| 51 | $CARDCTL eject | ||
| 52 | $CARDCTL insert | ||
| 53 | hciconfig hci0 up | ||
| 54 | fi | ||
| 55 | done | ||
| 56 | fi | ||
| 57 | esac | ||
diff --git a/meta/recipes-connectivity/bluez/bluez-dtl1-workaround_1.0.bb b/meta/recipes-connectivity/bluez/bluez-dtl1-workaround_1.0.bb new file mode 100644 index 0000000000..64000b7a5f --- /dev/null +++ b/meta/recipes-connectivity/bluez/bluez-dtl1-workaround_1.0.bb | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | DESCRIPTION = "A nasty hack for for dtl1-cs driver to workaround suspend/resume." | ||
| 2 | LICENSE = "GPLv2" | ||
| 3 | SECTION = "console" | ||
| 4 | PRIORITY = "optional" | ||
| 5 | PR = "r1" | ||
| 6 | |||
| 7 | SRC_URI = "file://02dtl1_cs.sh" | ||
| 8 | |||
| 9 | do_install() { | ||
| 10 | install -d ${D}${sysconfdir}/apm/event.d/ | ||
| 11 | install -m 0755 ${WORKDIR}/02dtl1_cs.sh ${D}${sysconfdir}/apm/event.d/ | ||
| 12 | } | ||
| 13 | |||
| 14 | #Package 02dtl1_cs.sh, which is a nasty hack to get dtl1c_cs cards working with suspend/resume | ||
| 15 | FILES_${PN} += "${sysconfdir}/apm/" | ||
| 16 | |||
| 17 | PACKAGE_ARCH = "all" | ||
diff --git a/meta/recipes-connectivity/bluez/bluez-hcidump_1.42.bb b/meta/recipes-connectivity/bluez/bluez-hcidump_1.42.bb new file mode 100644 index 0000000000..4c117281aa --- /dev/null +++ b/meta/recipes-connectivity/bluez/bluez-hcidump_1.42.bb | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | DESCRIPTION = "Linux Bluetooth Stack HCI Debugger Tool." | ||
| 2 | SECTION = "console" | ||
| 3 | PRIORITY = "optional" | ||
| 4 | DEPENDS = "bluez4" | ||
| 5 | LICENSE = "GPL" | ||
| 6 | PR = "r0" | ||
| 7 | |||
| 8 | SRC_URI = "http://bluez.sourceforge.net/download/bluez-hcidump-${PV}.tar.gz" | ||
| 9 | S = "${WORKDIR}/bluez-hcidump-${PV}" | ||
| 10 | |||
| 11 | EXTRA_OECONF = "--with-bluez-libs=${STAGING_LIBDIR} --with-bluez-includes=${STAGING_INCDIR}" | ||
| 12 | |||
| 13 | inherit autotools | ||
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.66/bluetooth.conf b/meta/recipes-connectivity/bluez/bluez4-4.66/bluetooth.conf new file mode 100644 index 0000000000..ca5e9e4f2f --- /dev/null +++ b/meta/recipes-connectivity/bluez/bluez4-4.66/bluetooth.conf | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | <!-- This configuration file specifies the required security policies | ||
| 2 | for Bluetooth core daemon to work. --> | ||
| 3 | |||
| 4 | <!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" | ||
| 5 | "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> | ||
| 6 | <busconfig> | ||
| 7 | |||
| 8 | <!-- ../system.conf have denied everything, so we just punch some holes --> | ||
| 9 | |||
| 10 | <policy context="default"> | ||
| 11 | <allow own="org.bluez"/> | ||
| 12 | <allow send_destination="org.bluez"/> | ||
| 13 | <allow send_interface="org.bluez.Agent"/> | ||
| 14 | </policy> | ||
| 15 | |||
| 16 | </busconfig> | ||
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.66/fix-dfutool-usb-declaration-mismatch.patch b/meta/recipes-connectivity/bluez/bluez4-4.66/fix-dfutool-usb-declaration-mismatch.patch new file mode 100644 index 0000000000..91c802bc41 --- /dev/null +++ b/meta/recipes-connectivity/bluez/bluez4-4.66/fix-dfutool-usb-declaration-mismatch.patch | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | # bluez4: add compile patch fixing some usb declaration mismatch | ||
| 2 | # Author: Michael 'Mickey' Lauer <mickey@vanille-media.de> | ||
| 3 | # Date: Thu Jan 29 16:52:21 2009 +0000 | ||
| 4 | # | ||
| 5 | # Acquired from OpenEmbedded | ||
| 6 | |||
| 7 | Index: bluez-4.27/tools/dfutool.c | ||
| 8 | =================================================================== | ||
| 9 | --- bluez-4.27.orig/tools/dfutool.c | ||
| 10 | +++ bluez-4.27/tools/dfutool.c | ||
| 11 | @@ -59,7 +59,7 @@ | ||
| 12 | #endif | ||
| 13 | |||
| 14 | #ifdef NEED_USB_GET_BUSSES | ||
| 15 | -static inline struct usb_bus *usb_get_busses(void) | ||
| 16 | +inline struct usb_bus *usb_get_busses(void) | ||
| 17 | { | ||
| 18 | return usb_busses; | ||
| 19 | } | ||
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.66/hid2hci_usb_init.patch b/meta/recipes-connectivity/bluez/bluez4-4.66/hid2hci_usb_init.patch new file mode 100644 index 0000000000..ed15fd5a1b --- /dev/null +++ b/meta/recipes-connectivity/bluez/bluez4-4.66/hid2hci_usb_init.patch | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | # Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 2 | # | ||
| 3 | # Use the new usb1 API for usb_init() and check for fails from | ||
| 4 | # usb_init (). Currently we see a crash on a system which does | ||
| 5 | # not have USB because usb_init() fails and it cleans up all initialized | ||
| 6 | # data (e.g. ctx) which is used in subsequent calls to libusb | ||
| 7 | # We return immediately if usb_init() fails for some reason. | ||
| 8 | |||
| 9 | Index: bluez-4.24/tools/hid2hci.c | ||
| 10 | =================================================================== | ||
| 11 | --- bluez-4.24.orig/tools/hid2hci.c 2008-10-25 23:40:34.000000000 -0700 | ||
| 12 | +++ bluez-4.24/tools/hid2hci.c 2008-12-29 22:06:04.000000000 -0800 | ||
| 13 | @@ -337,7 +337,7 @@ | ||
| 14 | int main(int argc, char *argv[]) | ||
| 15 | { | ||
| 16 | struct device_info dev[16]; | ||
| 17 | - int i, opt, num, quiet = 0, mode = HCI; | ||
| 18 | + int i, ret, opt, num, quiet = 0, mode = HCI; | ||
| 19 | |||
| 20 | while ((opt = getopt_long(argc, argv, "+01qh", main_options, NULL)) != -1) { | ||
| 21 | switch (opt) { | ||
| 22 | @@ -361,8 +361,9 @@ | ||
| 23 | argc -= optind; | ||
| 24 | argv += optind; | ||
| 25 | optind = 0; | ||
| 26 | - | ||
| 27 | - usb_init(); | ||
| 28 | + ret = libusb_init(); | ||
| 29 | + if (ret < 0) | ||
| 30 | + return ret; | ||
| 31 | |||
| 32 | num = find_devices(mode, dev, sizeof(dev) / sizeof(dev[0])); | ||
| 33 | if (num <= 0) { | ||
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.66/sbc-thumb.patch b/meta/recipes-connectivity/bluez/bluez4-4.66/sbc-thumb.patch new file mode 100644 index 0000000000..474423670b --- /dev/null +++ b/meta/recipes-connectivity/bluez/bluez4-4.66/sbc-thumb.patch | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | # Acquired from OpenEmbedded | ||
| 2 | |||
| 3 | --- bluez/sbc/sbc_math.h~ 2008-03-05 20:18:03.000000000 +0000 | ||
| 4 | +++ bluez/sbc/sbc_math.h 2008-10-27 13:39:27.000000000 +0000 | ||
| 5 | @@ -59,7 +59,7 @@ | ||
| 6 | |||
| 7 | #define SBC_FIXED_0(val) { val = 0; } | ||
| 8 | #define MUL(a, b) ((a) * (b)) | ||
| 9 | -#ifdef __arm__ | ||
| 10 | +#if defined(__arm__) && !defined(__thumb__) | ||
| 11 | #define MULA(a, b, res) ({ \ | ||
| 12 | int tmp = res; \ | ||
| 13 | __asm__( \ | ||
diff --git a/meta/recipes-connectivity/bluez/bluez4_4.66.bb b/meta/recipes-connectivity/bluez/bluez4_4.66.bb new file mode 100644 index 0000000000..7abf0faa65 --- /dev/null +++ b/meta/recipes-connectivity/bluez/bluez4_4.66.bb | |||
| @@ -0,0 +1,72 @@ | |||
| 1 | DESCRIPTION = "Linux Bluetooth Stack Userland V4" | ||
| 2 | HOMEPAGE = "http://www.bluez.org" | ||
| 3 | SECTION = "libs" | ||
| 4 | PRIORITY = "optional" | ||
| 5 | LICENSE = "GPLv2+ & LGPLv2.1+" | ||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ | ||
| 7 | file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \ | ||
| 8 | file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e \ | ||
| 9 | file://sbc/sbc.c;beginline=1;endline=25;md5=1a40781ed30d50d8639323a184aeb191" | ||
| 10 | DEPENDS = "gst-plugins-base alsa-lib libusb dbus-glib libnl" | ||
| 11 | |||
| 12 | # For angstrom we want this to replace at least bluez-libs | ||
| 13 | PROVIDES_append_angstrom = " bluez-utils bluez-libs" | ||
| 14 | |||
| 15 | ASNEEDED = "" | ||
| 16 | |||
| 17 | PR = "r0" | ||
| 18 | |||
| 19 | SRC_URI = "\ | ||
| 20 | http://www.kernel.org/pub/linux/bluetooth/bluez-${PV}.tar.gz \ | ||
| 21 | file://fix-dfutool-usb-declaration-mismatch.patch;patch=1 \ | ||
| 22 | file://sbc-thumb.patch;patch=1 \ | ||
| 23 | file://bluetooth.conf \ | ||
| 24 | " | ||
| 25 | S = "${WORKDIR}/bluez-${PV}" | ||
| 26 | |||
| 27 | inherit autotools | ||
| 28 | AUTOTOOLS_STAGE_PKGCONFIG = "1" | ||
| 29 | |||
| 30 | EXTRA_OECONF = "\ | ||
| 31 | --enable-gstreamer \ | ||
| 32 | --enable-alsa \ | ||
| 33 | --enable-usb \ | ||
| 34 | --enable-netlink \ | ||
| 35 | --enable-tools \ | ||
| 36 | --enable-bccmd \ | ||
| 37 | --enable-hid2hci \ | ||
| 38 | --enable-dfutool \ | ||
| 39 | --enable-hidd \ | ||
| 40 | --enable-pandd \ | ||
| 41 | --enable-dund \ | ||
| 42 | --disable-cups \ | ||
| 43 | --enable-test \ | ||
| 44 | --enable-manpages \ | ||
| 45 | --enable-configfiles \ | ||
| 46 | --enable-initscripts \ | ||
| 47 | --disable-pcmciarules \ | ||
| 48 | " | ||
| 49 | |||
| 50 | do_install_append() { | ||
| 51 | install -m 0644 ${S}/audio/audio.conf ${D}/${sysconfdir}/bluetooth/ | ||
| 52 | install -m 0644 ${S}/network/network.conf ${D}/${sysconfdir}/bluetooth/ | ||
| 53 | install -m 0644 ${S}/input/input.conf ${D}/${sysconfdir}/bluetooth/ | ||
| 54 | # at_console doesn't really work with the current state of OE, so punch some more holes so people can actually use BT | ||
| 55 | install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/ | ||
| 56 | } | ||
| 57 | |||
| 58 | PACKAGES =+ "gst-plugin-bluez libasound-module-bluez" | ||
| 59 | |||
| 60 | FILES_gst-plugin-bluez = "${libdir}/gstreamer-0.10/lib*.so" | ||
| 61 | FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so" | ||
| 62 | FILES_${PN} += "${libdir}/bluetooth/plugins/*.so" | ||
| 63 | FILES_${PN}-dev += "\ | ||
| 64 | ${libdir}/bluetooth/plugins/*.la \ | ||
| 65 | ${libdir}/alsa-lib/*.la \ | ||
| 66 | ${libdir}/gstreamer-0.10/*.la \ | ||
| 67 | " | ||
| 68 | |||
| 69 | FILES_${PN}-dbg += "\ | ||
| 70 | ${libdir}/bluetooth/plugins/.debug \ | ||
| 71 | ${libdir}/*/.debug \ | ||
| 72 | " | ||
