Re: android-bluez with usb adapter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Keith,

(lets keep mailing list in CC)

On Tuesday 17 February 2015 15:00:02 Keith Conger wrote:
> Thanks for getting back to me.  I did skip the hciattach part and I
> have verified /system/lib/bluetooth.default.so exists. When enabling
> via the UI I just see the following in the log:

bluetooth.default.so should be in /system/lib/hw/

This lib is loaded via hw_get_module().
(I'm not sure why this wasn't installed there - it should if you used our 
Android.mk)

> 
> E/BluetoothAdapter( 1109): Bluetooth binder is null
> E/DeviceListPreferenceFragment( 1109): Bluetooth is not supported on this
> device
> 
> I have attached a zip of my init scripts I'm using, I'm I missing anything?

I'd make it a bit simpler:
- load modules directly from init.rc on boot
- remove this init.genericam33x.bt.rc file.
  this magic is not needed with btusb, also bluetoothd will power up device on
  start and power down on shutdown.
- remove init.bt.sh (not needed if you load module on init)
- import init.bluetooth.rc directly from you init.fooboard.rc file

> Thanks again for your help!
> Keith
> 
> On Tue, Feb 17, 2015 at 2:47 PM, Szymon Janc <szymon.janc@xxxxxxxxx> wrote:
> > 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@xxxxxxxxx

-- 
Szymon K. Janc
szymon.janc@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux