3

Android 2.3.6を搭載したsamsung galaxy noteでBluetooth SPPに問題があります-しばらくは機能しますが、突然接続が終了します-他の電話では継続的に機能します。これが発生するログの一部です

D/BLZ20_ASOCKWRP(11288): asocket_read
I/BLZ20_WRAPPER(11288): blz20_wrp_poll: nfds 2, timeout -1 ms
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: transp poll : (fd 46) returned r_ev [POLLIN ] (0x1)
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: return 1
D/BLZ20_WRAPPER(11288): blz20_wrp_read: read 43 bytes out of 43 on fd 46
D/BLZ20_ASOCKWRP(11288): asocket_write
I/BLZ20_WRAPPER(11288): blz20_wrp_poll: nfds 2, timeout -1 ms
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: transp poll : (fd 46) returned r_ev [POLLOUT ] (0x4)
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: return 1
D/BLZ20_WRAPPER(11288): blz20_wrp_write: wrote 10 bytes out of 10 on fd 46
I//system/bin/btld(11351): btlif_bts_api_data_cb: btlif_bts_api_data_cb : hdl 35, len 10
I//system/bin/btld(11351): bts_alloc_buf: hdr:0x405241a4, max 1712, offset 20, len 0 
I//system/bin/btld(11351): bts_alloc_buf: peer mtu 127
I//system/bin/btld(11351): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_WRITE_EVT
I//system/bin/btld(11351): rfc_setup_rx_buf: pushed in queue p_buf #0: 0x405241a4, len:0, offset:20
I//system/bin/btld(11351): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_DATA_IND_EVT
I//system/bin/btld(11351): jv_forward_data_to_jni: BTA_JV_RFCOMM_DATA_IND_EVT bta hdl 2
I/BluetoothPolicyService( 2767): getBluetoothDataTransferAllowed 
D/BLZ20_ASOCKWRP(11288): asocket_read
I/BLZ20_WRAPPER(11288): blz20_wrp_poll: nfds 2, timeout -1 ms
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: transp poll : (fd 46) returned r_ev [POLLIN ] (0x1)
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: return 1
D/BLZ20_WRAPPER(11288): blz20_wrp_read: read 9 bytes out of 9 on fd 46
I//system/bin/btld(11351): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_DATA_IND_EVT
I//system/bin/btld(11351): jv_forward_data_to_jni: BTA_JV_RFCOMM_DATA_IND_EVT bta hdl 2
I//system/bin/btld(11351): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_DATA_IND_EVT
I//system/bin/btld(11351): jv_forward_data_to_jni: BTA_JV_RFCOMM_DATA_IND_EVT bta hdl 2
I/BluetoothPolicyService( 2767): getBluetoothDataTransferAllowed 
D/BLZ20_ASOCKWRP(11288): asocket_read
I/BLZ20_WRAPPER(11288): blz20_wrp_poll: nfds 2, timeout -1 ms
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: transp poll : (fd 46) returned r_ev [POLLIN ] (0x1)
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: return 1
D/BLZ20_WRAPPER(11288): blz20_wrp_read: read 67 bytes out of 67 on fd 46
I//system/bin/btld(11351): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_DATA_IND_EVT
I//system/bin/btld(11351): jv_forward_data_to_jni: BTA_JV_RFCOMM_DATA_IND_EVT bta hdl 2
I//system/bin/btld(11351): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_DATA_IND_EVT
I//system/bin/btld(11351): jv_forward_data_to_jni: BTA_JV_RFCOMM_DATA_IND_EVT bta hdl 2
I//system/bin/btld(11351): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_DATA_IND_EVT
I//system/bin/btld(11351): jv_forward_data_to_jni: BTA_JV_RFCOMM_DATA_IND_EVT bta hdl 2
I/BluetoothPolicyService( 2767): getBluetoothDataTransferAllowed 
D/BLZ20_ASOCKWRP(11288): asocket_read
I/BLZ20_WRAPPER(11288): blz20_wrp_poll: nfds 2, timeout -1 ms
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: transp poll : (fd 46) returned r_ev [POLLIN ] (0x1)
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: return 1
D/BLZ20_WRAPPER(11288): blz20_wrp_read: read 69 bytes out of 69 on fd 46
D/BLZ20_ASOCKWRP(11288): asocket_write
I/BLZ20_WRAPPER(11288): blz20_wrp_poll: nfds 2, timeout -1 ms
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: transp poll : (fd 46) returned r_ev [POLLOUT ] (0x4)
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: return 1
D/BLZ20_WRAPPER(11288): blz20_wrp_write: wrote 10 bytes out of 10 on fd 46
I//system/bin/btld(11351): btlif_bts_api_data_cb: btlif_bts_api_data_cb : hdl 35, len 10
I//system/bin/btld(11351): bts_alloc_buf: hdr:0x405370b0, max 1712, offset 20, len 0 
I//system/bin/btld(11351): bts_alloc_buf: peer mtu 127
I//system/bin/btld(11351): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_WRITE_EVT
I//system/bin/btld(11351): rfc_setup_rx_buf: pushed in queue p_buf #0: 0x405370b0, len:0, offset:20
I//system/bin/btld(11351): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_DATA_IND_EVT
I//system/bin/btld(11351): jv_forward_data_to_jni: BTA_JV_RFCOMM_DATA_IND_EVT bta hdl 2
I//system/bin/btld(11351): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_DATA_IND_EVT
I//system/bin/btld(11351): jv_forward_data_to_jni: BTA_JV_RFCOMM_DATA_IND_EVT bta hdl 2
I/BluetoothPolicyService( 2767): getBluetoothDataTransferAllowed 
I//system/bin/btld(11351): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_DATA_IND_EVT
I//system/bin/btld(11351): jv_forward_data_to_jni: BTA_JV_RFCOMM_DATA_IND_EVT bta hdl 2
D/BLZ20_ASOCKWRP(11288): asocket_read
I/BLZ20_WRAPPER(11288): blz20_wrp_poll: nfds 2, timeout -1 ms
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: transp poll : (fd 46) returned r_ev [POLLIN ] (0x1)
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: return 1
D/BLZ20_WRAPPER(11288): blz20_wrp_read: read 65 bytes out of 65 on fd 46
I/BluetoothPolicyService( 2767): getBluetoothDataTransferAllowed 
I//system/bin/btld(11351): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_DATA_IND_EVT
I//system/bin/btld(11351): jv_forward_data_to_jni: BTA_JV_RFCOMM_DATA_IND_EVT bta hdl 2
I//system/bin/btld(11351): jw_if_rfcomm_cl_cback: jw_if_rfcomm_cl_cback event=BTA_JV_RFCOMM_DATA_IND_EVT
I//system/bin/btld(11351): jv_forward_data_to_jni: BTA_JV_RFCOMM_DATA_IND_EVT bta hdl 2
D/BLZ20_ASOCKWRP(11288): asocket_read
I/BLZ20_WRAPPER(11288): blz20_wrp_poll: nfds 2, timeout -1 ms
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: transp poll : (fd 46) returned r_ev [POLLIN ] (0x1)
D/BLZ20_WRAPPER(11288): blz20_wrp_poll: return 1
D/BLZ20_WRAPPER(11288): blz20_wrp_read: read 0 bytes out of 0 on fd 46
I/BLZ20_WRAPPER(11288): blz20_wrp_read: connection aborted
D/BLZ20_WRAPPER(11288): blz20_wrp_read: set errno 103 (Software caused connection abort) l.1910 
D/BLZ20_ASOCKWRP(11288): asocket_abort [46,47,48]
I/BLZ20_WRAPPER(11288): blz20_wrp_shutdown: s 46, how 2
D/BLZ20_WRAPPER(11288): blz20_wrp_shutdown:  fd (-1:46), bta 2, rc 1, wflags 0x800, cflags 0x0, port 9050
I/BLZ20_WRAPPER(11288): blz20_wrp_shutdown: shutdown socket
D/BLZ20_WRAPPER(11288): blz20_wrp_write: wrote 1 bytes out of 1 on fd 48
D/BLZ20_ASOCKWRP(11288): asocket_destroy
D/BLZ20_ASOCKWRP(11288): asocket_abort [46,47,48]
I/BLZ20_WRAPPER(11288): blz20_wrp_shutdown: s 46, how 2
D/BLZ20_WRAPPER(11288): blz20_wrp_shutdown:  fd (-1:46), bta 2, rc 1, wflags 0x800, cflags 0x0, port 9050
I/BLZ20_WRAPPER(11288): blz20_wrp_shutdown: shutdown socket
D/BLZ20_WRAPPER(11288): blz20_wrp_write: wrote 1 bytes out of 1 on fd 48
I/BLZ20_WRAPPER(11288): blz20_wrp_close: s 48
D/BLZ20_WRAPPER(11288): blz20_wrp_close: std close (48)
I/BLZ20_WRAPPER(11288): blz20_wrp_close: s 47
D/BLZ20_WRAPPER(11288): blz20_wrp_close: std close (47)
I/BLZ20_WRAPPER(11288): blz20_wrp_close: s 46
D/BLZ20_WRAPPER(11288): blz20_wrp_close:  fd (-1:46), bta 2, rc 1, wflags 0x800, cflags 0x0, port 9050
4

2 に答える 2

4

問題は、データが利用できない状態で、後続の読み取り呼び出しを頻繁に実行したことです。これはほとんどの電話でうまく機能していますが(読み取りは0バイトの読み取りを返すだけです)-これは一部のSamsung電話では失敗します-解決策は、読み取りを行う前に実際に利用可能なデータがあるかどうかをavailable()で確認することです。

于 2012-05-15T08:03:22.073 に答える
0

私が見つけたもう少し詳細。これは、samsung BT スタックが生成するスパムの量に関連しているようです。毎秒最大 10.5k のデータを生成する BT デバイスがあります。この問題があるサムスンのデバイスに接続すると、毎秒約 3k のデータしか取得できません。最終的にはスタックがクラッシュします。Android デバイスではロギングが高価であることを知っています。また、ligi が提案することを行うと、スタックによって生成されるメッセージの量が減少します。これが根本原因だと思います。

私の場合、読んでいたストリームを a でラップするBufferedInputStreamと問題が解決したようで、10.5 k/s に戻りました。

于 2012-06-18T05:00:13.763 に答える