현제..
커널상에서
블루투스 셋팅을 android 에서 빌드된 bluez를 사용하여 테스트하였습니다
스캔을통해 장치검색도 되고 해당주소로 핑도 잘 날라가는 상태입니다.
문제는 프레임워크단에서 동작이 문제인데요..
rfkill모듈을 커널에 등록하여 bluetooth.c내부에서 rfkill 연산을 통해 (sys/class에 해당값을 writing 하는 방법으로 온오프)
bluetooth모듈을 온오프하게 되있더군요.
이부분 또한 동작확인을하였습니다..
hciattach service 또한 init.rc에 등록해준상태고 관련 퍼미션또한 다 변경하여 사용가능한상태입니다.
UI상에서 블루투스 ON을 할시 프로세서들이 죽어가는데 디버깅포인트를 못찾겠네요
의심가는부분은 Dbus쪽인데 이쪽은 커널상에서 dbus데몬이 떠있질않고 바로실행종료되어 테스트가 불가능하고
로그또한 나오지가않아서 디버깅이 힘드네요..
아래는 관련 로그입니다.
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: Bluetooth deamon 4.69
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/main.c:parse_config() parsing main.conf
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/main.c:parse_config() discovto=120
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/main.c:parse_config() pairto=0
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/main.c:parse_config() pageto=8192
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/main.c:parse_config() name=%m
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/main.c:parse_config() class=0x40020C
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/main.c:parse_config() discov_interval=0
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/main.c:parse_config() deviceid=android:generic:1.5
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/main.c:parse_config() default_link_policy=7
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: Starting SDP server
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: Got Unix socket fd '10<3>bcsp_recv: Short BCSP packet
[ 313.149188] bcsp_recv: Short BCSP packet
' from environment
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: Adding device id record for 000a:0000
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/plugin.c:plugin_init() Loading builtin plugins
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/plugin.c:add_plugin() Loading hciops plugin
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/plugin.c:plugin_init() Loading plugins /system/lib/bluez-plugin
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/plugin.c:add_plugin() Loading audio plugin
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/plugin.c:add_plugin() Loading input plugin
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: HCI dev 0 registered
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/plugins/hciops.c:init_device() child 1130 forked
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/adapter.c:btd_adapter_ref() 0x10d50: ref=1
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: HCI dev 0 up
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: Starting security manager 0
I//system/bin/bluetoothd( 1128): [start_security_manager:1205]=========CWJ============
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/adapter.c:btd_adapter_set_class() Changing Major/Minor class to 0x00020c
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/adapter.c:adapter_start() Stopping Inquiry at adapter startup
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/adapter.c:btd_adapter_ref() 0x10d50: ref=2
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/adapter.c:btd_adapter_ref() 0x10d50: ref=3
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server() Adding record with handle 0x10001
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000019-0000-1000-8000-00805f9
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000100-0000-1000-8000-00805f9
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001002-0000-1000-8000-00805f9
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110a-0000-1000-8000-00805f9
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110d-0000-1000-8000-00805f9
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server() Adding record with handle 0x10002
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000017-0000-1000-8000-00805f9
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server() Record pattern UUID 00000100-0000-1000-8000-00805f9
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server() Record pattern UUID 00001002-0000-1000-8000-00805f9
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110c-0000-1000-8000-00805f9
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/sdpd-service.c:add_record_to_server() Record pattern UUID 0000110e-0000-1000-8000-00805f9
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: ioctl(HCIUNBLOCKADDR): Invalid argument (22)
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: Adapter /org/bluez/1129/hci0 has been enabled
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/src/main.c:main() Entering main loop
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: external/bluetooth/bluez/plugins/hciops.c:child_exit() child 1130 exited
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: /home/ses4love/work/android_2.3.4/external/bluetooth/bluez/src/rfkill.c:rfkill_event() RFKILL event idx 0 type 2 op 0 soft 0 hard 0
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: /home/ses4love/work/android_2.3.4/external/bluetooth/bluez/src/rfkill.c:rfkill_event() [rfkill_event:104]====CWJ_DBG========
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: /home/ses4love/work/android_2.3.4/external/bluetooth/bluez/src/rfkill.c:rfkill_event() RFKILL event idx 1 type 2 op 0 soft 0 hard 0
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: /home/ses4love/work/android_2.3.4/external/bluetooth/bluez/src/rfkill.c:rfkill_event()
I//system/bin/bluetoothd( 1128): bluetoothd[1129]: Inquiry Failed with status 0x0c
I/DEBUG ( 811): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 811): Build fingerprint: 'generic/generic/generic:2.3.4/GRJ22/eng.ses4love.20110916.180306:eng/test-keys'
I/DEBUG ( 811): pid: 849, tid: 1120 >>> system_server <<<
I/DEBUG ( 811): signal 7 (SIGBUS), code 128 (?), fault addr 00000000
I/DEBUG ( 811): r0 80218c6c r1 80234e60 r2 fffe3e0c r3 00000000
I/DEBUG ( 811): r4 45b11af7 r5 002c8fa8 r6 00000031 r7 45b11a54
I/DEBUG ( 811): r8 45b11b58 r9 43907f80 10 43907f68 fp 41e94ee4
I/DEBUG ( 811): ip 00000073 sp 45b11978 lr 80218c2b pc 80218c6c cpsr a0000030
I/DEBUG ( 811): #00 pc 00018c6c /system/lib/libdbus.so
I/DEBUG ( 811): #01 pc 0001b5b0 /system/lib/libdbus.so
I/DEBUG ( 811): #02 pc 0001f96a /system/lib/libdbus.so
I/DEBUG ( 811): #03 pc 0002023e /system/lib/libdbus.so
I/DEBUG ( 811): #04 pc 00020384 /system/lib/libdbus.so
I/DEBUG ( 811): #05 pc 000655d6 /system/lib/libandroid_runtime.so
I/DEBUG ( 811): #06 pc 00065766 /system/lib/libandroid_runtime.so
I/DEBUG ( 811): #07 pc 000658a0 /system/lib/libandroid_runtime.so
I/DEBUG ( 811): #08 pc 00011d74 /system/lib/libdvm.so
I/DEBUG ( 811): #09 pc 00042f08 /system/lib/libdvm.so
I/DEBUG ( 811): #10 pc 0003bab6 /system/lib/libdvm.so
I/DEBUG ( 811): #11 pc 00016fd4 /system/lib/libdvm.so
I/DEBUG ( 811): #12 pc 0001c0dc /system/lib/libdvm.so
I/DEBUG ( 811): #13 pc 0001afd0 /system/lib/libdvm.so
I/DEBUG ( 811): #14 pc 00059430 /system/lib/libdvm.so
I/DEBUG ( 811): #15 pc 00059656 /system/lib/libdvm.so
I/DEBUG ( 811): #16 pc 0004db4e /system/lib/libdvm.so
I/DEBUG ( 811): #17 pc 00011a7c /system/lib/libc.so
I/DEBUG ( 811): #18 pc 00011640 /system/lib/libc.so
I/DEBUG ( 811):
I/DEBUG ( 811): code around pc:
I/DEBUG ( 811): 80218c4c d0552c00 2f002001 3601d052 e04f603e
I/DEBUG ( 811): 80218c5c 1c288822 9b0a1c31 f7ff9700 e047fdef
I/DEBUG ( 811): 80218c6c 1e536822 e000419a 1c286822 9b0a1c31
I/DEBUG ( 811): 80218c7c f7ff9700 e03bfe39 6822990a 1c286863
I/DEBUG ( 811): 80218c8c 1c319100 f7ff9701 e031ff2b 491e6820
I/DEBUG ( 811):
I/DEBUG ( 811): code around lr:
I/DEBUG ( 811): 80218c08 9f0b9203 fae6f00d 41981e43 493b4b3a
I/DEBUG ( 811): 80218c18 447b4a3b 93003354 4b3a4479 f7fd447a
I/DEBUG ( 811): 80218c28 9b03fca7 2b173b62 4937d85d 44790098
I/DEBUG ( 811): 80218c38 18505842 78224687 1c311c28 fddcf011
I/DEBUG ( 811): 80218c48 20001c04 d0552c00 2f002001 3601d052
I/DEBUG ( 811):
I/DEBUG ( 811): stack:
I/DEBUG ( 811): 45b11938 002c8f6c [heap]
I/DEBUG ( 811): 45b1193c 00299c10 [heap]
I/DEBUG ( 811): 45b11940 00000062
I/DEBUG ( 811): 45b11944 8023d5b7 /system/lib/libdbus.so
I/DEBUG ( 811): 45b11948 0001c26e [heap]
I/DEBUG ( 811): 45b1194c 80226205 /system/lib/libdbus.so
I/DEBUG ( 811): 45b11950 80236928 /system/lib/libdbus.so
I/DEBUG ( 811): 45b11954 002c8f6c [heap]
I/DEBUG ( 811): 45b11958 002d02a8 [heap]
I/DEBUG ( 811): 45b1195c 80236928 /system/lib/libdbus.so
I/DEBUG ( 811): 45b11960 002d02a8 [heap]
I/DEBUG ( 811): 45b11964 45b11af7
I/DEBUG ( 811): 45b11968 45b11af7
I/DEBUG ( 811): 45b1196c 002c8fa8 [heap]
I/DEBUG ( 811): 45b11970 df002777
I/DEBUG ( 811): 45b11974 e3a070ad
I/DEBUG ( 811): #00 45b11978 80235160 /system/lib/libdbus.so
I/DEBUG ( 811): 45b1197c 002d02a8 [heap]
I/DEBUG ( 811): 45b11980 00000001
I/DEBUG ( 811): 45b11984 00000062
I/DEBUG ( 811): 45b11988 80235d78 /system/lib/libdbus.so
I/DEBUG ( 811): 45b1198c 45b11a44
I/DEBUG ( 811): 45b11990 00000062
I/DEBUG ( 811): 45b11994 45b11af7
I/DEBUG ( 811): 45b11998 80235d78 /system/lib/libdbus.so
I/DEBUG ( 811): 45b1199c 8021b5b5 /system/lib/libdbus.so
I/DEBUG ( 811): #01 45b119a0 0000006c
I/DEBUG ( 811): 45b119a4 45b11a54
I/DEBUG ( 811): 45b119a8 8023c078 /system/lib/libdbus.so
I/DEBUG ( 811): 45b119ac 80238278 /system/lib/libdbus.so
I/DEBUG ( 811): 45b119b0 80242478 /system/lib/libdbus.so
I/DEBUG ( 811): 45b119b4 8021f96f /system/lib/libdbus.so
위와 같은식으로 죽어나가는데 어느쪽을 디버깅을 해야될지모르겠네요..
해당증상 겪으신분 있으신가요??
또한 kernel에서 Bluez및 Dbus관련하여 테스트 하신분은 계신가요??
아시는분 지식공유좀 부탁드리겠습니다..
많은 조언 부탁드리겠습니다..