2012-04-26 2 views
3

У меня проблемы с bluetooth SPP на заметке галактики Samsung с Android 2.3.6 - это работает некоторое время, но внезапно соединение прекращается - работает непрерывно на других телефонах. Здесь часть журнала, где это происходитbluetooth SPP на заметке галактики с 2.3.6

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

Проблема заключалась в том, что я делал последующие запросы на чтение слишком часто, не имея данных. Хотя это хорошо работает на большинстве телефонов (чтение всего лишь возвращает 0 байтов) - это не удается на некоторых телефонах Samsung - решение должно проверяться через доступные(), если есть фактические данные, доступные перед чтением.

+0

это только что спасло мое ***. благодаря! – kolosy

+2

и ваш комментарий сделал мой день - так победа выиграть ;-) – ligi

+0

ты спас мой *** тоже;) спасибо! – 2red13

0

немного более подробно, что я наткнулся на. это, по-видимому, связано с количеством спама, который генерирует BT BT samsung. У меня есть устройство BT, которое генерирует ~ 10,5 тыс. Данных в секунду. при подключении к устройству samsung, у которого есть эта проблема, я получаю около 3 тыс. данных в секунду. в конечном итоге стек просто падает. Я знаю, что регистрация на устройствах Android стоит дорого, а то, что предлагает ligi, уменьшает количество сообщений, генерируемых стеком; Я думаю, что это основная причина.

в моем случае, обертывание потока, с которого я читал, с BufferedInputStream, похоже, решил проблему и вернул меня к 10,5 к/с.

Смежные вопросы