ok basic BT start-up on android happens in system/bluetooth/bluedroid..
it has to do ..
1. set power i.e write 1 to /sys/class/rfkill/rfkill0/state
2. run hciattach ..via the start hciattach ..
3. ioctl DEVUP to hci0 ..
4. run bluetooth via doing a start bluetoothd..

I have no idea why in your case hciattach need to be run twice.. it need not..
and also when I mentioned start bluetoothd i meant
$ start bluetoothd

basically start <service> starts up the service mentioned in init.rc..
so in your case mention hciattach in your init.rc
and then try and do start hciattach from cmd line...  if this doens't
work then BT on from UI will also not work..




On Wed, Aug 4, 2010 at 2:31 PM, Ajith Kamath <sjce.aj...@gmail.com> wrote:
> Hiattach has bcm specific initialisation.
>
> Till now to run BT I didn't do start bluetoothd command.
> Also after 2 hciattach's when i manaually give hciconfig hci0 up, it gives
> me Connection timed out(110) error.
> But inspite of this BT will be start when clicked , since i have given those
> 2 commands( i guess)
>
> I used to check /sys/class/rfkill/rfkill0 for power state.
> Here state will be 1 when boot up.
> Is this right parameter to check?
>
> I also checked with 2 hciattach's in init.rc , It didn't work either.
> Also , if i give bluetoothd -start i get this :
> # bluetoothd -start
> bluetoothd -start
> ** (process:2648): CRITICAL (recursed) **: g_convert_with_fallback:
> assertion `to_codeset != NULL' failed
> aborting...
> [1] + Stopped (signal)        bluetoothd -start
>
> Further, When bluetooth starts successfully(cmd line - 2 commands) heres
> log:
>
> 01-01 00:24:58.711: INFO/ActivityManager(2509): Displayed activity
> com.android.settings/.bluetooth.BluetoothSettings: 310 ms (total 310 ms)
> 01-01 00:24:59.806: DEBUG/BluetoothService(2509): Bluetooth state 0 -> 1
> 01-01 00:25:02.030: INFO/bluedroid(2509): Starting hciattach daemon
> 01-01 00:25:02.061: INFO/bluedroid(2509): Starting bluetoothd deamon
> 01-01 00:25:05.311: ERROR/BluetoothEventLoop.cpp(2509): event_filter:
> Received signal org.freedesktop.DBus:NameAcquired from /org/freedesktop/DBus
> 01-01 00:25:05.416: DEBUG/BluetoothService(2509): Bluetooth state 1 -> 2
> 01-01 00:25:05.456: DEBUG/dalvikvm(2616): GC freed 1276 objects / 95736
> bytes in 440ms
> 01-01 00:25:05.471: VERBOSE/A2dpAudioInterface(1880): setParameters()
> bluetooth_enabled=true
> 01-01 00:25:05.551: ERROR/BluetoothEventLoop.cpp(2509): event_filter:
> Received signal org.bluez.Adapter:PropertyChanged from /org/bluez/2482/hci0
> 01-01 00:25:05.571: INFO/bluetooth_ScoSocket.cpp(2550): Listening SCO
> socket...
> 01-01 00:25:05.671: INFO/BluetoothPbapService(2616): Starting PBAP service
> 01-01 00:25:05.706: DEBUG/dalvikvm(2976): GC freed 3503 objects / 212264
> bytes in 167ms
> 01-01 00:25:14.666: INFO/BtOpp RfcommListener(2616): Accept thread started
> on channel 12
> 01-01 00:25:15.816: ERROR/BluetoothEventLoop.cpp(2509): event_filter:
> Received signal org.bluez.Adapter:PropertyChanged from /org/bluez/2482/hci0
>
>
> When error, this is the log:
>
> 01-01 00:01:24.536: INFO/ActivityManager(1928): Displayed activity
> com.android.settings/.bluetooth.BluetoothSettings: 306 ms (total 306 ms)
> 01-01 00:01:25.181: DEBUG/BluetoothService(1928): Bluetooth state 0 -> 1
> 01-01 00:01:27.386: INFO/bluedroid(1928): Starting hciattach daemon
> 01-01 00:01:30.411: DEBUG/dalvikvm(2020): GC freed 2082 objects / 181736
> bytes in 67ms
> 01-01 00:01:37.571: ERROR/bluedroid(1928): bt_enable: Timeout waiting for
> HCI device to come up
> 01-01 00:01:37.571: DEBUG/BluetoothService(1928): Bluetooth state 1 -> 0
> 01-01 00:01:37.681: ERROR/libdbus(1928): arguments to
> dbus_message_new_method_call() were incorrect, assertion "path != NULL"
> failed in file external/dbus/dbus/dbus-message.c line 1070.
> 01-01 00:01:37.681: ERROR/libdbus(1928): This is normally a bug in some
> application using the D-Bus library.
> 01-01 00:01:37.681: DEBUG/libc-abort(1928): abort() called in pid 1928
> 01-01 00:01:37.721: INFO/DEBUG(1877): *** *** *** *** *** *** *** *** ***
> *** *** *** *** *** *** ***
> 01-01 00:01:37.721: INFO/DEBUG(1877): Build fingerprint:
> 'Samsung/SPH-M900/SPH-M900/SPH-M900:2.1-update1/ECLAIR/DH02:eng/test-keys'
> 01-01 00:01:37.721: INFO/DEBUG(1877): pid: 1928, tid: 2033  >>>
> system_server <<<
> 01-01 00:01:37.721: INFO/DEBUG(1877): signal 11 (SIGSEGV), fault addr
> deadbaad
> 01-01 00:01:37.721: INFO/DEBUG(1877):  r0 00000027  r1 afe2f218  r2
> afe2f23d  r3 afe10635
> 01-01 00:01:37.721: INFO/DEBUG(1877):  r4 afe37e08  r5 afe2f218  r6
> deadbaad  r7 ae833d7d
> 01-01 00:01:37.721: INFO/DEBUG(1877):  r8 47b5eb80  r9 444e6eb8  10
> 444e6ea0  fp 002554e0
> 01-01 00:01:37.721: INFO/DEBUG(1877):  ip 000a3832  sp 47b5ea18  lr
> afe1f34d  pc afe1063e  cpsr a0000030
> 01-01 00:01:37.781: DEBUG/dalvikvm(2104): GC freed 3477 objects / 211640
> bytes in 174ms
> 01-01 00:01:37.851: INFO/DEBUG(1877):          #00  pc 0001063e
> /system/lib/libc.so
> 01-01 00:01:37.851: INFO/DEBUG(1877):          #01  pc 0002c28c
> /system/lib/libdbus.so
> 01-01 00:01:37.851: INFO/DEBUG(1877):          #02  pc 00016086
> /system/lib/libdbus.so
> 01-01 00:01:37.851: INFO/DEBUG(1877):          #03  pc 00020db0
> /system/lib/libdbus.so
> 01-01 00:01:37.851: INFO/DEBUG(1877):          #04  pc 0004d450
> /system/lib/libandroid_runtime.so
> 01-01 00:01:37.851: INFO/DEBUG(1877):          #05  pc 0004d56a
> /system/lib/libandroid_runtime.so
> 01-01 00:01:37.861: INFO/DEBUG(1877):          #06  pc 0004f176
> /system/lib/libandroid_runtime.so
> 01-01 00:01:37.861: INFO/DEBUG(1877):          #07  pc 0000f174
> /system/lib/libdvm.so
> 01-01 00:01:37.861: INFO/DEBUG(1877):          #08  pc 00037f16
> /system/lib/libdvm.so
> 01-01 00:01:37.861: INFO/DEBUG(1877):          #09  pc 0003159a
> /system/lib/libdvm.so
> 01-01 00:01:37.861: INFO/DEBUG(1877):          #10  pc 00013ed8
> /system/lib/libdvm.so
> 01-01 00:01:37.866: INFO/DEBUG(1877):          #11  pc 000196b4
> /system/lib/libdvm.so
> 01-01 00:01:37.866: INFO/DEBUG(1877):          #12  pc 00018c88
> /system/lib/libdvm.so
> 01-01 00:01:37.866: INFO/DEBUG(1877):          #13  pc 0004dbd2
> /system/lib/libdvm.so
> 01-01 00:01:37.866: INFO/DEBUG(1877):          #14  pc 0003b324
> /system/lib/libdvm.so
> 01-01 00:01:37.866: INFO/DEBUG(1877):          #15  pc 0002d674
> /system/lib/libdvm.so
> 01-01 00:01:37.871: INFO/DEBUG(1877):          #16  pc 0003d202
> /system/lib/libandroid_runtime.so
> 01-01 00:01:37.871: INFO/DEBUG(1877):          #17  pc 0003d514
> /system/lib/libandroid_runtime.so
> 01-01 00:01:37.871: INFO/DEBUG(1877):          #18  pc 0001540c
> /system/lib/libbinder.so
> 01-01 00:01:37.871: INFO/DEBUG(1877):          #19  pc 00018ae4
> /system/lib/libbinder.so
> 01-01 00:01:37.896: INFO/DEBUG(1877):          #20  pc 00018cb2
> /system/lib/libbinder.so
> 01-01 00:01:37.896: INFO/DEBUG(1877):          #21  pc 0001f33c
> /system/lib/libbinder.so
> 01-01 00:01:37.896: INFO/DEBUG(1877):          #22  pc 0001b60c
> /system/lib/libutils.so
> 01-01 00:01:37.896: INFO/DEBUG(1877):          #23  pc 0002886e
> /system/lib/libandroid_runtime.so
> 01-01 00:01:37.896: INFO/DEBUG(1877):          #24  pc 0001ba36
> /system/lib/libutils.so
> 01-01 00:01:37.901: INFO/DEBUG(1877):          #25  pc 0000f8d0
> /system/lib/libc.so
> 01-01 00:01:37.901: INFO/DEBUG(1877):          #26  pc 0000f3a4
> /system/lib/libc.so
> 01-01 00:01:37.901: INFO/DEBUG(1877): stack:
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5e9d8  47b5ea14
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5e9dc  afe13ab3
> /system/lib/libc.so
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5e9e0  afe3802c
> /system/lib/libc.so
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5e9e4  afe37fd8
> /system/lib/libc.so
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5e9e8  00000000
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5e9ec  afe13ce5
> /system/lib/libc.so
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5e9f0  00000000
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5e9f4  be596834
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5e9f8  00015e58  [heap]
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5e9fc  afe37e08
> /system/lib/libc.so
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5ea00  afe2f218
> /system/lib/libc.so
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5ea04  00002ed8
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5ea08  ae833d7d
> /system/lib/libdbus.so
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5ea0c  afe10635
> /system/lib/libc.so
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5ea10  df002777
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5ea14  e3a070ad
> 01-01 00:01:37.901: INFO/DEBUG(1877): #00 47b5ea18  afe37fd8
> /system/lib/libc.so
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5ea1c  ae83a22c
> /system/lib/libdbus.so
> 01-01 00:01:37.901: INFO/DEBUG(1877):     47b5ea20  ae833d7d
> /system/lib/libdbus.so
> 01-01 00:01:37.921: INFO/DEBUG(1877):     47b5ea24  afe176cf
> /system/lib/libc.so
> 01-01 00:01:37.921: INFO/DEBUG(1877):     47b5ea28  ae833d7d
> /system/lib/libdbus.so
> 01-01 00:01:37.921: INFO/DEBUG(1877):     47b5ea2c  fffffbdf
> 01-01 00:01:37.921: INFO/DEBUG(1877):     47b5ea30  ae8423c4
> /system/lib/libdbus.so
> 01-01 00:01:37.921: INFO/DEBUG(1877):     47b5ea34  afe37fd8
> /system/lib/libc.so
> 01-01 00:01:37.921: INFO/DEBUG(1877):     47b5ea38  ae83a22c
> /system/lib/libdbus.so
> 01-01 00:01:37.921: INFO/DEBUG(1877):     47b5ea3c  ae82c28f
> /system/lib/libdbus.so
> 01-01 00:01:37.921: INFO/DEBUG(1877): #01 47b5ea40  ae8423c4
> /system/lib/libdbus.so
> 01-01 00:01:37.921: INFO/DEBUG(1877):     47b5ea44  ae81608b
> /system/lib/libdbus.so
> 01-01 00:01:40.816: INFO/ActivityThread(2094): Removing dead content
> provider: settings
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):
> android.os.DeadObjectException
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> android.os.BinderProxy.transact(Native Method)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> android.bluetooth.IBluetooth$Stub$Proxy.getAddress(IBluetooth.java:400)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> android.bluetooth.BluetoothAdapter.getAddress(BluetoothAdapter.java:168)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> com.android.bluetooth.pbap.BluetoothPbapService.onCreate(BluetoothPbapService.java:196)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> android.app.ActivityThread.handleCreateService(ActivityThread.java:2686)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> android.app.ActivityThread.access$3100(ActivityThread.java:116)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> android.app.ActivityThread$H.handleMessage(ActivityThread.java:1848)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> android.os.Handler.dispatchMessage(Handler.java:99)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> android.os.Looper.loop(Looper.java:123)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> android.app.ActivityThread.main(ActivityThread.java:4208)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> java.lang.reflect.Method.invokeNative(Native Method)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> java.lang.reflect.Method.invoke(Method.java:521)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:850)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
> 01-01 00:01:40.821: ERROR/BluetoothAdapter(2073):     at
> dalvik.system.NativeStart.main(Native Method)
> 01-01 00:01:40.826: INFO/ServiceManager(1875): service 'batteryinfo' died
> 01-01 00:01:40.826: INFO/ServiceManager(1875): service 'activity.services'
> died
> 01-01 00:01:40.826: INFO/ServiceManager(1875): service 'usagestats' died
>
> and all service die and it restarts.
>
> Can you please advice on this
>
> Thanks ,
> Ajith
>
>
>
>
>
> On Wed, Aug 4, 2010 at 2:02 PM, Pavan Savoy <pavan.sa...@gmail.com> wrote:
>>
>> there should really be on 1 hciattach, i.e it needs to be run once..
>> I guess with mentioning bcmxxxx, the hciattach would have a custom
>> _init and _post function which does BCM specific initialization, like
>> setting baud-rate via HCI-VS and fw download...
>>
>> but via cmd line.. you should probably be doing an start bluetoothd
>> before doing hciattach, in case hciattach also needs hci0 to be up ...
>>
>> also how do you make sure chip is ON ?
>> Is it ON always? on boot ?
>>
>> On Wed, Aug 4, 2010 at 1:59 PM, Ajith Kamath <sjce.aj...@gmail.com> wrote:
>> > Hi Pavan,
>> > But doing only hciattach with device type as 'any' doesn't work.( I
>> > tried
>> > that now , inside init.rc)
>> > Do i need to put second hciattach with dev type as 'bcm2035' in
>> > init.rc???
>> >
>> > Also in command line only after exceution of both commands , i get
>> > buletooth
>> > running.
>> > I stumbled across this by accident. But to do have anyidea why is it
>> > needed
>> > twice?
>> >
>> > When I run command with dev type any i get :
>> > #hciattach -s 115200 /dev/s3c_serial1 any 460800 flow NULL
>> > hciattach -s 115200 /dev/s3c_serial1 any 460800 flow NULL
>> > Device setup complete
>> >
>> > Next when I run with bcm2035 i get:
>> > # hciattach -s 115200 /dev/s3c_serial1 bcm2035 460800 flow NULL
>> > hciattach -s 115200 /dev/s3c_serial1 bcm2035 460800 flow NULL
>> > Failed to write reset command
>> > Can't initialize device: Unknown error: 0
>> >
>> >
>> > But only after I completed both the steps, BT will be up. Else, it will
>> > restart the device.
>> > Also if i directly start off with bcm2035 it give me initialization
>> > timed
>> > out error.
>> > Any advice??
>> >
>> > Thanks,
>> > Ajith
>> >
>> > On Wed, Aug 4, 2010 at 12:19 PM, Pavan Savoy <pavan.sa...@gmail.com>
>> > wrote:
>> >>
>> >> On Wed, Aug 4, 2010 at 12:19 PM, Pavan Savoy <pavan.sa...@gmail.com>
>> >> wrote:
>> >> > #service hciattachd /system/bin/hciattach -s 115200 /dev/s3c_serial1
>> >> > any 460800 flow NULL
>> >> >        #user root
>> >> >        #group bluetooth net_bt_admin
>> >> >        #disabled
>> >> >    #oneshot
>> >> >
>> >> > is almost correct except for the hciattach"d" part..
>> >> > so your entry should be ...
>> >> >
>> >> > service hciattach /system/bin/hciattach -s 115200 /dev/s3c_serial1
>> >> > any
>> >> > 460800 flow NULL
>> >> >        user root
>> >> >        group bluetooth net_bt_admin
>> >> >        disabled
>> >> >    oneshot
>> >> >
>> >> > And no there is no hcid anymore since bluez4.x.. it is now
>> >> > bluetoothd.. which you have it properly..
>> >> >
>> >> > Assuming you have your rfkill driver in right place, and it has
>> >> > exposed the /sys/class/rfkill/rfkill0/state entry .. everything
>> >> > should
>> >> > automagically work !!
>> >> >
>> >> >
>> >> > On Wed, Aug 4, 2010 at 11:57 AM, Ajith Kamath <sjce.aj...@gmail.com>
>> >> > wrote:
>> >> >> Hi all,
>> >> >>
>> >> >> I'm able to start bluetooth after porting only from command line.
>> >> >> I give following commands and it works
>> >> >>
>> >> >> #hciattach -s 115200 /dev/s3c_serial1 any 460800 flow NULL
>> >> >> #hciattach -s 115200 /dev/s3c_serial1 bcm2035 460800 flow NULL
>> >> >>
>> >> >> Doing this brings bluetooth up for me.
>> >> >> But I want to put this in init.rc file so that it happens in boot
>> >> >> itself.
>> >> >> But its not working.
>> >> >> Can someone tell how to put it in init.rc
>> >> >>
>> >> >> Also from references i have realised that hcid is not at all there
>> >> >> in
>> >> >> system/bin or in data/misc/hcid
>> >> >> Can some one please advice on this.
>> >> >>
>> >> >> commented parts in init.rc relating to bluetooth are things I tried
>> >> >> but
>> >> >> didn't work
>> >> >>
>> >> >> Thanks,
>> >> >> Ajith
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> unsubscribe: android-porting+unsubscr...@googlegroups.com
>> >> >> website: http://groups.google.com/group/android-porting
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > --Pavan Savoy
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> --Pavan Savoy
>> >>
>> >> --
>> >> unsubscribe: android-porting+unsubscr...@googlegroups.com
>> >> website: http://groups.google.com/group/android-porting
>> >
>> >
>>
>>
>>
>> --
>> --Pavan Savoy
>
>



-- 
--Pavan Savoy

-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

Reply via email to