From: Szymon Janc <szymon.janc@gmail.com>
To: Keith Conger <keith.conger@gmail.com>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: android-bluez with usb adapter
Date: Tue, 17 Feb 2015 22:47:28 +0100 [thread overview]
Message-ID: <4717325.0Njt2iLfvL@athlon> (raw)
In-Reply-To: <CALUN+EfYdOffOSejMQh3vnLGX1PZmBqMXL8UhvL-UHK_2kZqFA@mail.gmail.com>
Hi Keith,
On Tuesday 17 February 2015 14:16:37 Keith Conger wrote:
> I'm trying to swap out bluedroid with android-bluez to add bluetooth
> usb adapter support into KitKat for my Beaglebone Black(ARM). Should
> this be possible?
Yeap, this is possible.
>
> I followed this guide,
> http://forum.xda-developers.com/showthread.php?t=2640723 skipping the
> CSR parts.
>
> Here is a logcat with debugging enabled. I've googled the errors and
> have had no luck. Does anyone have any ideas?
>
> I/bluetoothd( 1072): Bluetooth daemon 5.28
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/android/main.c:set_capabilities() Caps: eff:
> 0x3400, perm: 0x3400, inh: 0x0
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/android/bluetooth.c:bt_bluetooth_start()
> index -1
>
> I/bluetoothd( 1072): Starting SDP server
>
> D/bluetoothd( 1072): external/bluetooth/bluez/android/main.c:main()
> Entering main loop
>
> I/bluetoothd( 1072): mgmt_if: [0xffff] command 0x0001
>
> I/bluetoothd( 1072): mgmt_if: < 01 00 ff ff 00 00
> ..??..
>
> I/bluetoothd( 1072): mgmt_if: > 01 00 ff ff 06 00 01 00 00 01 07 00
> ..??........
>
> I/bluetoothd( 1072): mgmt_if: [0xffff] command 0x0001 complete: 0x00
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/android/bluetooth.c:read_version_complete()
>
> I/bluetoothd( 1072): Bluetooth management interface 1.7 initialized
>
> I/bluetoothd( 1072): Kernel connection control will be used
>
> I/bluetoothd( 1072): mgmt_if: [0xffff] command 0x0003
>
> I/bluetoothd( 1072): mgmt_if: < 03 00 ff ff 00 00
> ..??..
>
> I/bluetoothd( 1072): mgmt_if: > 01 00 ff ff 07 00 03 00 00 01 00 00 00
> ..??.........
>
> I/bluetoothd( 1072): mgmt_if: [0xffff] command 0x0003 complete: 0x00
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/android/bluetooth.c:read_index_list_complete()
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/android/bluetooth.c:read_index_list_complete()
> Number of controllers: 1
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0004
>
> I/bluetoothd( 1072): mgmt_if: < 04 00 00 00 00 00
> ......
>
> I/bluetoothd( 1072): mgmt_if: > 01 00 00 00 1b 01 04 00 00 e9 36 36 e7
> 18 00 03 .........?66?...
>
> I/bluetoothd( 1072): mgmt_if: 0f 00 bf 10 00 00 90 00 00 00 00 00 00
> 42 43 4d ..?..........BCM
>
> I/bluetoothd( 1072): mgmt_if: 32 30 34 35 42 33 00 00 00 00 00 00 00
> 00 00 00 2045B3..........
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00
> .
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0004 complete: 0x00
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/android/bluetooth.c:read_info_complete()
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/src/sdpd-service.c:register_device_id()
> Adding device id record for 0002:1d6b:0247:051c
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server()
> Adding record with handle 0x10001
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server()
> Record pattern UUID 00001002-0000-1000-8000-00805f9
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server()
> Record pattern UUID 0000113a-0000-1000-8000-00805f9
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server()
> Record pattern UUID 0000113b-0000-1000-8000-00805f9
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/android/bluetooth.c:load_ltks() ltks 0
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/android/bluetooth.c:load_irks() irks 0
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/android/bluetooth.c:load_link_keys() keys 0
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x000e
>
> I/bluetoothd( 1072): mgmt_if: < 0e 00 00 00 02 00 02 0c
> ........
>
> I/bluetoothd( 1072): mgmt_if: > 01 00 00 00 06 00 0e 00 00 00 00 00
> ............
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x000e complete: 0x00
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0011
>
> I/bluetoothd( 1072): mgmt_if: < 11 00 00 00 10 00 00 00 00 00 00 00 00
> 00 00 00 ................
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 00 00 00
> ......
>
> I/bluetoothd( 1072): mgmt_if: > 01 00 00 00 06 00 11 00 00 00 00 00
> ............
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0011 complete: 0x00
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0034
>
> I/bluetoothd( 1072): mgmt_if: < 34 00 00 00 07 00 00 00 00 00 00 00 00
> 4............
>
> I/bluetoothd( 1072): mgmt_if: > 01 00 00 00 0a 00 34 00 00 00 00 00 00
> 00 00 00 ......4.........
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0034 complete: 0x00
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0018
>
> I/bluetoothd( 1072): mgmt_if: < 18 00 00 00 01 00 01
> .......
>
> I/bluetoothd( 1072): mgmt_if: > 01 00 00 00 03 00 18 00 00
> .........
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0018 complete: 0x00
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0028
>
> I/bluetoothd( 1072): mgmt_if: < 28 00 00 00 08 00 02 00 6b 1d 47 02 1c
> 05 (.......k.G...
>
> I/bluetoothd( 1072): mgmt_if: > 01 00 00 00 03 00 28 00 00
> ......(..
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0028 complete: 0x00
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0010
>
> I/bluetoothd( 1072): mgmt_if: < 10 00 00 00 11 00 fb 34 9b 5f 80 00 00
> 80 00 10 ......?4._......
>
> I/bluetoothd( 1072): mgmt_if: 00 00 00 12 00 00 00
> .......
>
> I/bluetoothd( 1072): mgmt_if: > 01 00 00 00 06 00 10 00 00 00 00 00
> ............
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0010 complete: 0x00
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0010
>
> I/bluetoothd( 1072): mgmt_if: < 10 00 00 00 11 00 fb 34 9b 5f 80 00 00
> 80 00 10 ......?4._......
>
> I/bluetoothd( 1072): mgmt_if: 00 00 3b 11 00 00 00
> ..;....
>
> I/bluetoothd( 1072): mgmt_if: > 01 00 00 00 06 00 10 00 00 00 00 00
> ............
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0010 complete: 0x00
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0013
>
> I/bluetoothd( 1072): mgmt_if: < 13 00 00 00 02 00 00 00
> ........
>
> I/bluetoothd( 1072): mgmt_if: > 02 00 00 00 03 00 13 00 0c
> .........
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x13 status: 0x0c
>
> I/bluetoothd( 1072): Failed to load LTKs: Not Supported (0x0c)
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0030
>
> I/bluetoothd( 1072): mgmt_if: < 30 00 00 00 02 00 00 00
> 0.......
>
> I/bluetoothd( 1072): mgmt_if: > 02 00 00 00 03 00 30 00 0c
> ......0..
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x30 status: 0x0c
>
> I/bluetoothd( 1072): Failed to load IRKs: Not Supported (0x0c)
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0012
>
> I/bluetoothd( 1072): mgmt_if: < 12 00 00 00 03 00 00 00 00
> .........
>
> I/bluetoothd( 1072): mgmt_if: > 01 00 00 00 03 00 12 00 00
> .........
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0012 complete: 0x00
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/android/bluetooth.c:load_link_keys_complete()
> status 0
>
> I/bluetoothd( 1072): Adapter initialized
>
> D/bluetoothd( 1072): external/bluetooth/bluez/android/ipc.c:cmd_connect_cb()
>
> E/bluetoothd( 1072): IPC: command socket connect failed
>
> I/bluetoothd( 1072): Switching controller off
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0005
>
> I/bluetoothd( 1072): mgmt_if: < 05 00 00 00 01 00 00
> .......
>
> I/bluetoothd( 1072): mgmt_if: > 01 00 00 00 07 00 05 00 00 90 00 00 00
> .............
>
> I/bluetoothd( 1072): mgmt_if: [0x0000] command 0x0005 complete: 0x00
>
> D/bluetoothd( 1072):
> external/bluetooth/bluez/android/main.c:cleanup_services()
>
> I/bluetoothd( 1072): Stopping SDP server
>
> I/bluetoothd( 1072): Exit
This log looks OK. Adapter was found and initialized. Only problem is that
there was no IPC socket listening for it to connect.
On Android bluetoothd is not suppose to be started 'by hand'. It needs to be
started as service defined in init.rc (check android/README and
android/init.bluetooth.rc). This service is started via bluetooth.default.so
provided by BlueZ (this is implementation ofn Android Bluetooth HAL
interface). When bluetoothd starts and initializes adapter it tries to connect
IPC to this library. If lib is not loaded (and there is no socket to connect
to) bluetoothd shuts down.
This library is loaded by Android Framework and when you enable BT from UI lib
will be initialized and daemon will be started. Other option for testing is
our test tool called haltest. This is command line tool that will load bt lib
and allow you to play with bt stack (this tool doesn't use Android Framework).
So what you should check:
- you have init.bluetooth.rc in /
- this file is included from your board init.foo.rc file
- daemon and bluetooth.default.so are installed on system (this should be
handled just fine by Android.mk provided by BlueZ)
- you don't need hciattach service - this is not needed with btusb
--
Szymon K. Janc
szymon.janc@gmail.com
next prev parent reply other threads:[~2015-02-17 21:47 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-17 21:16 android-bluez with usb adapter Keith Conger
2015-02-17 21:47 ` Szymon Janc [this message]
[not found] ` <CALUN+EcJ4p4kkFDZDyi01iSAwDMv4M1Q=axAPiCb+YOAQ64CNQ@mail.gmail.com>
2015-02-18 7:34 ` Szymon Janc
2015-02-18 16:01 ` Keith Conger
2015-02-18 18:41 ` Keith Conger
2015-02-18 19:52 ` Szymon Janc
2015-02-18 19:57 ` Szymon Janc
[not found] ` <CALUN+EcsmogUt4PU-sSM4peusX4gdnmAF=ou1ouj5y-QPSpq3Q@mail.gmail.com>
2015-02-18 20:37 ` Szymon Janc
[not found] ` <CALUN+EfrG1o8VsTWjMxW7Y4NGe=-E3M_hz_618ToAG4QHwPZKA@mail.gmail.com>
2015-02-19 15:39 ` Keith Conger
2015-02-19 16:02 ` Andrei Emeltchenko
2015-02-19 16:06 ` Keith Conger
2015-02-19 16:08 ` Szymon Janc
2015-02-19 16:31 ` Keith Conger
2015-02-19 17:25 ` Keith Conger
2015-02-19 18:49 ` Keith Conger
2015-02-20 10:05 ` Szymon Janc
2015-02-20 14:59 ` Keith Conger
2015-02-20 16:30 ` Szymon Janc
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4717325.0Njt2iLfvL@athlon \
--to=szymon.janc@gmail.com \
--cc=keith.conger@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox