Problem with bluetooth on android 2.1 (samsung spi

2019-01-15 04:14发布

问题:

I have a Samsung Spica i5700 which I already have updated to Android 2.1. I am using the phone with an application called Run.GPS (http://www.rungps.net). This application logs data such as GPS position, route, speed, bearing etc. It can also log heartrate provided the user has a Zephyr HxM bluetooth heart rate monitor ("HxM"), which I do have.

I can pair the HxM to the phone through the standard bluetooth utility. I'm prompted for the PIN, which I enter and the device is shown as 'Paired but not connected'.

In the Run.GPS application itself, I click on 'Connect Heartrate Monitor'. This times out after about 30 seconds and the error message is 'Could not connect to heartrate monitor. Please try other settings'.

I used a friend's HTC Windows Mobile as a control device to see if the HxM works there. It does. The Run.GPS application automatically sets the baud rate (initially to 9600 IIRC, though the connection also worked with higher baud rates) and it is possible to choose between various COM ports as well as a .Net COM port.

I did some testing on my Spica Android, to try to find out why the bluetooth connection doesn't work. Below are some log files that I connected over adb when I clicked on 'Connect to Heartrate Monitor' in the Run.GPS application.

I would be interested in any tips (including if I'm posting to the wrong forum here ;-)) - whether or not it's possible to experiment with the baud rate in Android etc. I still don't know if the problem is with the Run.GPS application (I've posted already on the development forum there) or with Android 2.1. I checked out another application - Endomondo - which is also a sport tracking application which supports heartrate monitor only with the HxM. There, what looked like exactly the same error occurred - I clicked on 'Connect Zephyr HxM'. For a few seconds I was shown the 'Connecting...' status, but then it timed out into 'Not Connected'. I'm thus tending towards looking at Android for the problem.

Here's the output of adb logcat while trying to connect

./adb logcat | grep Run.GPS
  D/WYNEX> (11551): Excute :: Run.GPS Trainer UV, (null)
  E/Run.GPS (11997): Cannot connect to BT device
  E/Run.GPS (11997): java.io.IOException: Service discovery failed
  E/Run.GPS (11997): at  android.bluetooth.BluetoothSocket$SdpHelper.doSdp(BluetoothSocket.java:374)
  E/Run.GPS (11997): at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:184)
  E/Run.GPS (11997): at ju.a(Unknown Source)
  E/Run.GPS (11997): at qk.j(Unknown Source)
  E/Run.GPS (11997): at fs.c(Unknown Source)
  E/Run.GPS (11997): at le.a(Unknown Source)
  E/Run.GPS (11997): at s.b(Unknown Source)
  E/Run.GPS (11997): at pb.a(Unknown Source)
  E/Run.GPS (11997): at as.a(Unknown Source)
  E/Run.GPS (11997): at am.b(Unknown Source)
  E/Run.GPS (11997): at gf.onTouchEvent(Unknown Source)
  E/Run.GPS (11997): at android.view.View.dispatchTouchEvent(View.java:3709)
  E/Run.GPS (11997): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
  E/Run.GPS (11997): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
  E/Run.GPS (11997): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1665)
  E/Run.GPS (11997): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
  E/Run.GPS (11997): at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
  E/Run.GPS (11997): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1649)
  E/Run.GPS (11997): at android.view.ViewRoot.handleMessage(ViewRoot.java:1694)
  E/Run.GPS (11997): at android.os.Handler.dispatchMessage(Handler.java:99)
  E/Run.GPS (11997): at android.os.Looper.loop(Looper.java:123)
  E/Run.GPS (11997): at android.app.ActivityThread.main(ActivityThread.java:4363)
  E/Run.GPS (11997): at java.lang.reflect.Method.invokeNative(Native Method)
  E/Run.GPS (11997): at java.lang.reflect.Method.invoke(Method.java:521)
  E/Run.GPS (11997): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
  E/Run.GPS (11997): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
  E/Run.GPS (11997): at dalvik.system.NativeStart.main(Native Method)
  E/Run.GPS (11997): Cannot connect to BT device
  E/Run.GPS (11997): java.io.IOException: Service discovery failed

Here's the output of dmesg while trying to connect the heartrate monitor

<4>[74726.239833] select 11691 (.serviceModeApp), adj 15, size 3205, to kill
<4>[74726.240741] select 11739 (com.wssnps), adj 15, size 3207, to kill
<4>[74726.246870] select 11750 (id.partnersetup), adj 15, size 3219, to kill
<4>[74726.253390] select 11857 (p.bluetoothicon), adj 15, size 3299, to kill
<4>[74726.259879] select 13131 (ndroid.settings), adj 15, size 4586, to kill
<4>[74726.266372] send sigkill to 13131 (ndroid.settings), adj 15, size 4586
<7>[74733.945097] [BT] GPIO_BT_WAKE = 1
<7>[74733.945121] [BT] wake_lock(bt_wake_lock)
<7>[74733.951799] [BT] GPIO_BT_HOST_WAKE = 1
<7>[74733.951822] [BT] wake_lock timeout = 5 sec
<7>[74735.890196] [BT] GPIO_BT_HOST_WAKE = 0
<7>[74736.150987] [BT] GPIO_BT_HOST_WAKE = 1
<7>[74736.151009] [BT] wake_lock timeout = 5 sec
<7>[74737.490185] [BT] GPIO_BT_HOST_WAKE = 0
<7>[74740.073913] [BT] GPIO_BT_HOST_WAKE = 1
<7>[74740.073948] [BT] wake_lock timeout = 5 sec
<7>[74741.315336] [BT] GPIO_BT_HOST_WAKE = 0
<7>[74743.249747] [BT] GPIO_BT_HOST_WAKE = 1
<7>[74743.249768] [BT] wake_lock timeout = 5 sec
<7>[74744.865099] [BT] GPIO_BT_HOST_WAKE = 0
<7>[74745.154487] [BT] GPIO_BT_HOST_WAKE = 1
<7>[74745.154509] [BT] wake_lock timeout = 5 sec
<7>[74748.852534] [BT] GPIO_BT_HOST_WAKE = 0
<7>[74749.156256] [BT] GPIO_BT_HOST_WAKE = 1
<7>[74749.156278] [BT] wake_lock timeout = 5 sec
<7>[74750.490018] [BT] GPIO_BT_HOST_WAKE = 0
<4>[74754.230424] select 11691 (.serviceModeApp), adj 15, size 3191, to kill
<4>[74754.231326] select 11739 (com.wssnps), adj 15, size 3193, to kill
<4>[74754.237473] select 11750 (id.partnersetup), adj 15, size 3205, to kill
<4>[74754.243950] select 11857 (p.bluetoothicon), adj 15, size 3283, to kill
<4>[74754.250452] select 13140 (com.svox.pico), adj 15, size 3465, to kill
<4>[74754.256787] send sigkill to 13140 (com.svox.pico), adj 15, size 3465 

Here's the logcat output when I click 'connect zephyr' in Endomondo

I/PUSH Event(19147): MotionEvent : QueuedEvent{43d7d480 MotionEvent{440b5680 action=1 x=228.28438 y=212.55624 pressure=0.0 size=0.0}} 
D/BluetoothZephyrService(23605): connect to: 00:07:80:88:F5:AD
D/BluetoothSocket(23605): BluetoothSocket created fd: -1uuid00001101-0000-1000-8000-00805f9b34fbport -1                     
D/BluetoothSocket.cpp(23605): initSocketNative      
I/BLZ20_WRAPPER(23605): blz20_wrp_socket: fam 31, type 1, prot BTPROTO_RFCOMM                                                      
D/BLZ20_WRAPPER(23605): blz20_init: initializing...       
D/BTL_IFC_WRP(23605): wsactive_init: init active list                                                                          
I/BTL_IFC (23605): main_client_thread: Client main thread starting                                                               
D/BLZ20_WRAPPER(23605): blz20_init: success       
I/BTL_IFC (23605): BTL_IFC_RegisterSubSystem: Register subsystem [(null)]                                                         
I/BTL_IFC (23605): btl_ifc_ctrl_connect: Connect control channel for subsystem [(null)]                                           
D/BTL_IFC_WRP(23605): wrp_sock_create: CTRL 
D/BTL_IFC_WRP(23605): wrp_alloc_new_sock: wrp_alloc_new_sock sub 1                                               
D/BTL_IFC_WRP(23605): wrp_sock_create: 28
D/BTL_IFC_WRP(23605): wrp_sock_connect: wrp_sock_connect 127.0.0.1:9000 (28)                                      
I/BTL-IFS (21889): main_server_thread: [CTRL] Client connected (14)                                               
I/BTL_IFC_WRP(23605): wrp_sock_connect: Connected. (28)                                                           
I/BTL_IFC (23605): send_ctrl_msg: [BTL_IFC CTRL] send BTLIF_REGISTER_SUBSYS_REQ ((null)) 0 pbytes (hdl 28)      
I/BTL-IFS (21889): attach_client: multiclient index 1                                                                       
I/BTL-IFS (21889): attach_client: ######## Attached client subsystem  (14) ########                                                  
I/BTL-IFS (21889): btl_if_notify_local_event: Notify local event BTLIF_SUBSYSTEM_ATTACHED 
D/        (21889): btlif_bts_api_ctrl_cb: btlif_bts_api_ctrl_cb : id BTLIF_SUBSYSTEM_ATTACHED (4112) on hdl 14                 
I/        (21889): btlif_rfc_ctrl_chan_attached: client attached ctrl handle 14                                               
D/BTL-IFS (21889): send_registration_rsp: send_registration_rsp [0]                                                             
I/BTL-IFS (21889): send_ctrl_msg: [BTL_IFS CTRL] send BTLIF_REGISTER_SUBSYS_RSP (CTRL) 2 pbytes (hdl 14)                        
D/BTL_IFC (23605): BTL_IFC_RegisterSubSystem: add new ctrl fd to active set                                                     
D/BTL_IFC_WRP(23605): wrp_wsock_create: (null)     
D/BTL_IFC_WRP(23605): wrp_alloc_new_sock: wrp_alloc_new_sock sub 15                                                            
D/BTL_IFC_WRP(23605): wrp_wsock_create: 32     
D/BLZ20_WRAPPER(23605): btsk_alloc_add: success    
I/BLZ20_WRAPPER(23605): blz20_wrp_socket: return 32                                                                            
D/BLZ20_WRAPPER(23605): blz20_wrp_setsockopt:  fd (-1:32), bta -1, rc 0, wflags 0x0                                                
I/BLZ20_WRAPPER(23605): blz20_wrp_setsockopt: configure rfcomm lm mode 0x26, (master:0, auth 1, enc 1)                       
I/BLZ20_WRAPPER(23605): blz20_wrp_setsockopt: success
D/BLZ20_WRAPPER(23605): blz20_wrp_setsockopt:  fd (-1:32), bta -1, rc 0, wflags 0x0                                            
I/BLZ20_WRAPPER(23605): blz20_wrp_setsockopt: configure rfcomm sndbuf len 71680 bytes                                            
I/BLZ20_WRAPPER(23605): blz20_wrp_setsockopt: success 
D/BluetoothSocket.cpp(23605): ...fd 32 created (RFCOMM, lm = 26)                                                               
D/BluetoothSocket.cpp(23605): initSocketFromFdNative              
D/BluetoothZephyrService(23605): setState() 0 -> 2                                                                              
I/BluetoothZephyrService(23605): BEGIN mConnectThread      
E/BluetoothService.cpp(19147): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session) 
D/BluetoothSocket(23605): connect                  
D/BluetoothSocket(23605): doSdp                 
I/BluetoothService.cpp(19147): ... Object Path = /org/bluez/21902/hci0/dev_00_07_80_88_F5_AD      
I/BluetoothService.cpp(19147): ... Pattern = 00001101-0000-1000-8000-00805f9b34fb, strlen = 36                                 
I/BluetoothZephyr(23605): MESSAGE_STATE_CHANGE: 2                                                                             
D/DEVICE  (21902):     *************DiscoverServices********                         
I/DTUN_HCID(21902): dtun_client_get_remote_svc_channel: starting discovery on  (uuid16=0x0011)                                               
I/DTUN_HCID(21902):    bdaddr=00:07:80:88:F5:AD                     
I/DTUN_CLNT(21902):     Client calling DTUN_METHOD_DM_GET_REMOTE_SERVICE_CHANNEL (id 4)                                       
I/        (21889): DTUN_ReceiveCtrlMsg: [DTUN] Received message [BTLIF_DTUN_METHOD_CALL] 4354                                   
I/        (21889): handle_method_call: handle_method_call :: received DTUN_METHOD_DM_GET_REMOTE_SERVICE_CHANNEL (id 4), len 134 
E/BTLD    (21889): ****************search UUID = 1101***********         
I//system/bin/btld(21888):              btapp_dm_GetRemoteServiceChannel()                              
W/BTLD    (21889): SDP - Rcvd conn cnf with error: 0x4  CID 0x42                                                               
I/BTL-IFS (21889): send_ctrl_msg: [BTL_IFS CTRL] send BTLIF_DTUN_SIGNAL_EVT (CTRL) 13 pbytes (hdl 10)                          
I/DTUN_CLNT(21902): dtun-rx signal [DTUN_SIG_DM_RMT_SERVICE_CHANNEL] (id 42) len 15                                           
I/DTUN_HCID(21902): dtun_dm_sig_rmt_service_channel: success=1, service=00000000                                                          
E/DTUN_HCID(21902): discovery unsuccessful!             
V/BluetoothEventRedirector(21741): Received android.bleutooth.device.action.UUID  
E/CachedBluetoothDevice(21741): onUuidChanged: Time since last connect9266997                                                            
D/BluetoothService(19147): Cleaning up failed UUID channel lookup: 00:07:80:88:F5:AD 00001101-0000-1000-8000-00805f9b34fb                                       
D/BluetoothSocket(23605): onRfcommChannelFound -1                                                                             
D/BluetoothZephyrService(23605): setState() 2 -> 1                                                                             
D/BluetoothSocket(23605): close                
D/BluetoothSocket(23605): cancel            
D/BluetoothSocket.cpp(23605): abortNative         
D/BluetoothSocket.cpp(23605): ...asocket_abort(32) complete                                                                    
D/BluetoothSocket.cpp(23605): destroyNative        
D/BluetoothSocket.cpp(23605): ...asocket_destroy(32) complete                                                                       
D/BluetoothZephyrService(23605): start         
D/BluetoothSocket(23605): close              
D/BluetoothSocket(23605): BluetoothSocket created fd: -1uuidnullport 1                                                   
D/BluetoothSocket.cpp(23605): initSocketNative         
I/BLZ20_WRAPPER(23605): blz20_wrp_socket: fam 31, type 1, prot BTPROTO_RFCOMM                                                           
D/BTL_IFC_WRP(23605): wrp_wsock_create: (null)  
D/BTL_IFC_WRP(23605): wrp_alloc_new_sock: wrp_alloc_new_sock sub 15                                                            
D/BTL_IFC_WRP(23605): wrp_wsock_create: 32  
D/BLZ20_WRAPPER(23605): btsk_alloc_add: success    
D/BLZ20_WRAPPER(23605): btsk_dump_list:  fd (-1:32), bta -1, rc 0, wflags 0x0                                                
I/BLZ20_WRAPPER(23605): blz20_wrp_socket: return 32                                                                             
E/BLZ20_WRAPPER(23605): ##### ERROR : btsk_check_duplicates: WARNING : duplicate entries found for key 4, val 32#####          
D/BLZ20_WRAPPER(23605): btsk_check_duplicates:  fd (-1:32), bta -1, rc 0, wflags 0x0                                        
D/BLZ20_WRAPPER(23605): btsk_check_duplicates:  fd (-1:32), bta -1, rc 0, wflags 0x0                                          
E/BLZ20_WRAPPER(23605): ##### ERROR : btsk_check_duplicates: ### ASSERT : frameworks/base/core/jni/../../../../vendor/brcm/adaptation/btl-if/client/blz20_wrapper.c line 534 duplicates found (2) ########     
D/BLZ20_WRAPPER(23605): blz20_wrp_setsockopt:  fd (-1:32), bta -1, rc 0, wflags 0x0                                        
I/BLZ20_WRAPPER(23605): blz20_wrp_setsockopt: configure rfcomm lm mode 0x26, (master:0, auth 1, enc 1)                       
I/BLZ20_WRAPPER(23605): blz20_wrp_setsockopt: success  
E/BLZ20_WRAPPER(23605): ##### ERROR : btsk_check_duplicates: WARNING : duplicate entries found for key 4, val 32#####           
D/BLZ20_WRAPPER(23605): btsk_check_duplicates:  fd (-1:32), bta -1, rc 0, wflags 0x0                                           
D/BLZ20_WRAPPER(23605): btsk_check_duplicates:  fd (-1:32), bta -1, rc 0, wflags 0x0                                          
E/BLZ20_WRAPPER(23605): ##### ERROR : btsk_check_duplicates: ### ASSERT : frameworks/base/core/jni/../../../../vendor/brcm/adaptation/btl-if/client/blz20_wrapper.c line 534 duplicates found (2) ########     
D/BLZ20_WRAPPER(23605): blz20_wrp_setsockopt:  fd (-1:32), bta -1, rc 0, wflags 0x0                                           
I/BLZ20_WRAPPER(23605): blz20_wrp_setsockopt: configure rfcomm sndbuf len 71680 bytes                                          
I/BLZ20_WRAPPER(23605): blz20_wrp_setsockopt: success 
D/BluetoothSocket.cpp(23605): ...fd 32 created (RFCOMM, lm = 26)                                                        
D/BluetoothSocket.cpp(23605): initSocketFromFdNative         
D/BluetoothSocket(23605): bindListen                    
D/BluetoothSocket.cpp(23605): bindListenNative                 
I/BLZ20_WRAPPER(23605): blz20_wrp_bind: s 32   
E/BLZ20_WRAPPER(23605): ##### ERROR : btsk_check_duplicates: WARNING : duplicate entries found for key 4, val 32#####           
D/BLZ20_WRAPPER(23605): btsk_check_duplicates:  fd (-1:32), bta -1, rc 0, wflags 0x0                                           
D/BLZ20_WRAPPER(23605): btsk_check_duplicates:  fd (-1:32), bta -1, rc 0, wflags 0x0                                           
E/BLZ20_WRAPPER(23605): ##### ERROR : btsk_check_duplicates: ### ASSERT : frameworks/base/core/jni/../../../../vendor/brcm/adaptation/btl-if/client/blz20_wrapper.c line 534 duplicates found (2) ########     
D/BLZ20_WRAPPER(23605): blz20_wrp_bind: bind socket fd (-1:32), bta -1, rc 0, wflags 0x0                                       
D/BLZ20_WRAPPER(23605): __bind_prot_rfcomm: rc_chan 1                                                                       
D/BTL_IFC_WRP(23605): wrp_sock_bind: wrp_sock_bind on port 9050                                                             
I/BLZ20_WRAPPER(23605): blz20_wrp_listen: s 32, backlog 1                                                                      
E/BLZ20_WRAPPER(23605): ##### ERROR : btsk_check_duplicates: WARNING : duplicate entries found for key 4, val 32#####            
D/BLZ20_WRAPPER(23605): btsk_check_duplicates:  fd (-1:32), bta -1, rc 1, wflags 0x0                                         
D/BLZ20_WRAPPER(23605): btsk_check_duplicates:  fd (-1:32), bta -1, rc 0, wflags 0x0                                        
E/BLZ20_WRAPPER(23605): ##### ERROR : btsk_check_duplicates: ### ASSERT : frameworks/base/core/jni/../../../../vendor/brcm/adaptation/btl-if/client/blz20_wrapper.c line 534 duplicates found (2) ########     
D/BLZ20_WRAPPER(23605): blz20_wrp_listen:  fd (-1:32), bta -1, rc 1, wflags 0x0                                             
D/BLZ20_WRAPPER(23605): btlif_send_msg_wait_response: send BTLIF_BTS_RFC_LISTEN_REQ, wait for |BTLIF_BTS_RFC_LISTEN_RSP|                           
D/BTL_IFC (23605): BTL_IFC_CtrlSend: BTL_IFC_CtrlSend    
I/BTL_IFC (23605): send_ctrl_msg: [BTL_IFC CTRL] send BTLIF_BTS_RFC_LISTEN_REQ ((null)) 20 pbytes (hdl 28)                    
D/        (21889): btlif_bts_api_ctrl_cb: btlif_bts_api_ctrl_cb : id BTLIF_BTS_RFC_LISTEN_REQ (4433) on hdl 14                  
I/        (21889): btlif_rfc_listen_req: Allocated dynamic server channel 4                                                  
D/        (21889): bts_chan_alloc_add: bts_chan_alloc_add : success (tot 1)                                                   
D/        (21889): bts_chan_dump_all: ### channel list ###                                                                       
D/        (21889): bts_chan_dump_all:  type 3, dhdl -1, bta_hdl -1, scn -1, phdl 65535, lstpnd 0, -1:-1 (L:D)
I/        (21889): btlif_rfc_listen_req: start rfcomm server on scn 4, role 1, sec_mask 0x30
D/        (21889): jw_if_rfcomm_srv_cback: event=BTA_JV_RFCOMM_START_EVT
I/        (21889): jw_if_rfcomm_srv_cback: [BTA_JV_RFCOMM_START_EVT] start status: 0, handle:0, security id: 47
I/        (21889): jv_rfc_srv_listen_started: jv_rfc_srv_listen_started
I/BTL-IFS (21889): send_ctrl_msg: [BTL_IFS CTRL] send BTLIF_BTS_RFC_LISTEN_RSP () 17 pbytes (hdl 14)
I/BTL_IFC (23605): btl_ifc_ctrl_rx: [BTL_IFC CTRL] recv BTLIF_BTS_RFC_LISTEN_RSP ((null)) 19 pbytes (hdl 28)
I/BLZ20_WRAPPER(23605): btlif_ctrl_callback: btlif_ctrl_callback : msg id BTLIF_BTS_RFC_LISTEN_RSP
E/BLZ20_WRAPPER(23605): ##### ERROR : btsk_check_duplicates: WARNING : duplicate entries found for key 4, val 32#####
D/BLZ20_WRAPPER(23605): btsk_check_duplicates:  fd (-1:32), bta -1, rc 1, wflags 0x2
D/BLZ20_WRAPPER(23605): btsk_check_duplicates:  fd (-1:32), bta -1, rc 0, wflags 0x0
E/BLZ20_WRAPPER(23605): ##### ERROR : btsk_check_duplicates: ### ASSERT : frameworks/base/core/jni/../../../../vendor/brcm/adaptation/btl-if/client/blz20_wrapper.c line 534 duplicates found (2) ########
I/BLZ20_WRAPPER(23605): btlif_process_listen_rsp: listen response for bta hdl 0
D/BLZ20_WRAPPER(23605): btlif_signal_event:  fd (-1:32), bta 0, rc 1, wflags 0x2
D/BLZ20_WRAPPER(23605): btlif_signal_event: event BTLIF_BTS_RFC_LISTEN_RSP matched
D/BLZ20_WRAPPER(23605): btlif_send_msg_wait_response: unblocked fd (-1:32), bta 0, rc 1, wflags 0x0
I/BLZ20_WRAPPER(23605): __listen_prot_rfcomm: success, scn 4
D/BTL_IFC_WRP(23605): wrp_sock_listen_bl: wrp_sock_listen_bl : fd 32 127.0.0.1:9050 backlog 1
I/BLZ20_WRAPPER(23605): __listen_prot_rfcomm: success
D/BluetoothSocket.cpp(23605): ...bindListenNative(32) success
I/DTUN_CLNT(21902):     Client calling DTUN_METHOD_DM_ADD_SDP_REC (id 17)
I/        (21889): DTUN_ReceiveCtrlMsg: [DTUN] Received message [BTLIF_DTUN_METHOD_CALL] 4354
I/        (21889): handle_method_call: handle_method_call :: received DTUN_METHOD_DM_ADD_SDP_REC (id 17), len 270
I/        (21889): btapp_bts_convert_rc_chan_to_scn: found scn 4
I/BTL-IFS (21889): send_ctrl_msg: [BTL_IFS CTRL] send BTLIF_DTUN_SIGNAL_EVT (CTRL) 12 pbytes (hdl 10)
I/DTUN_CLNT(21902): dtun-rx signal [DTUN_SIG_DM_SDP_REC_HANDLE] (id 50) len 14
I/DTUN_HCID(21902): dtun_dm_sig_sdp_rec_handle: handle = 0x10006
D/BluetoothService(19147): new handle 0
I/BluetoothZephyr(23605): MESSAGE_STATE_CHANGE: 1
I/BluetoothZephyr(23605): Unable to connect device
D/BluetoothZephyrService(23605): setState() 1 -> 1
D/BluetoothZephyrService(23605): BEGIN mAcceptThreadThread[Thread-9,5,main]
D/BluetoothSocket(23605): accept
D/BluetoothSocket.cpp(23605): acceptNative
I/BluetoothZephyr(23605): MESSAGE_STATE_CHANGE: 1
D/WynexActivity(19215): <><><>ACTION ::android.intent.action.TIME_TICK
D/LocationMasfClient(19147): getNetworkLocation(): Location not found in cache, making network request
D/ProtoRequestListener(19147): requestFailed()
I/power   (19147): *** set_screen_state 0

回答1:

I got this information from the gps-sport forum. Not sure what to do with it though...

See also http://www.gps-sport.net/forums/thread/1532-0/Keine-Sprachausgabe-auf-HTC-Desire

Cross posting this entry from the software category. The thread over there deals with the Zephyr HxM as a secondary issue - meaning it mightn't be easy to find...

24.04.2010 16:47:05 UTC geändert am 24.04.2010 17:03:03 UTC

A fix to the bluetooth connection problem

Hi

If this problem still is not resolved, the code below describes how to make the connection work with Android 2.1 (Tested on HTC Desire). Just replace "00:07:80:89:EE:EB" with the MAC of your HXM to make it connect. After the connection is successful, a regular method with input = socket.getInputStream() can be used.

BluetoothDevice hxm = BluetoothAdapter.getDefaultAdapter().getRemoteDevice("00:07:80:89:EE:EB");
Method m = hxm.getClass().getMethod("createRfcommSocket", new Class[]{int.class});
socket = (BluetoothSocket)m.invoke(hxm, Integer.valueOf(1));
socket.connect();

Hope the fix will be out very soon =)

Best regards Espen S. Nygaard



回答2:

Ok, solved it.

The solution is to update the firmware on the phone. I now have: PDA: I570EXXJE1 PHONE: i570EXXJD1 CSC: I570EOXEJE1

and bluetooth spp worked 'out of the box'.

Look at http://samsung-firmwares.com for both the latest firmware as well as programs to flash the phone (odin) and details/tutorials.



回答3:

This thread over at Google Groups (android-developers) is also interesting: ' Is Google working on the Bluetooth bug? Any estimated date of completion? '

------ VERSION INFO ------ currenttime=Sat May 1 21:31:48 CEST 2010 kernel.version=Linux version 2.6.29 (root@SE-S611) (gcc version 4.3.1 (for S3C64XX Samsung Electronics AP Development Team) ) #2 Sat Mar 13 02:28:48 KST 2010

kernel.cmdline=# begin build properties

autogenerated by buildinfo.sh

ro.build.id=ECLAIR ro.build.display.id=ECLAIR.XXJCB ro.build.version.incremental=XXJCB ro.build.version.sdk=7 ro.build.version.codename=REL ro.build.version.release=2.1-update1 ro.build.date=2010. 03. 13. (토) 02:07:55 KST ro.build.date.utc=1268413675 ro.build.type=user ro.build.user=root ro.build.host=SE-S611 ro.build.tags=ota-rel-keys,release-keys ro.product.model=GT-I5700 ro.product.brand=Samsung ro.product.name=GT-I5700 ro.product.device=GT-I5700 ro.product.board=GT-I5700 ro.product.cpu.abi=armeabi ro.product.manufacturer=Samsung ro.product.locale.language=en ro.product.locale.region=GB ro.wifi.channels= ro.board.platform=s3c6410

ro.build.product is obsolete; use ro.product.device

ro.build.product=GT-I5700

Do not try to parse ro.build.description or .fingerprint

ro.build.description=GT-I5700-user 2.1-update1 ECLAIR XXJCB ota-rel- keys,release-keys ro.build.fingerprint=Samsung/GT-I5700/GT-I5700/GT-I5700:2.1-update1/ ECLAIR/XXJCB:user/ota-rel-keys,release-keys

Samsung Specific Properties

ro.build.PDA=I570EXXJCB ro.build.Phone=I570EXXJCB ro.build.HW=REV 0.1 ro.build.RFCallDate=2009.02.25 ro.build.hidden_ver=I570EXXJCB ro.build.changelist=193516 ro.build.FUSDLMode=Change ro.build.SupportFUS=TRUE ro.build.CGMM=GT-I5700 ro.build.GMM=GT-I5700

end build properties

#

system.prop for spica



回答4:

I found this exact problem happens when one of the devices has the Bluetooth turned off.



回答5:

https://android.git.kernel.org/?p=platform/system/wlan/broadcom.git;a=commit;h=e10efcc0c020caa486fa9d8cd05c986fd86f7c44

may solve this. The commit log is: "Add firmware for BCM4325"

If there was no firmware in the kernel to support this before, then it obviously would cause problems.

I guess I'll have to see if I can build android from source and install it on my phone :-(