I am trying to enable BLE in Android 4.3 on Pandaboard ES(with TI's BR/EDR and BLE chipset WL1271L). But the WL1271L firmware(Version: TIInit_7.6.15.bts) seems not support a command from Bluedroid, so I can not start BLE.(BR/EDR works well.) The details see below.
/******************************************************************************* ** ** Function btm_issue_host_support_for_lmp_features ** ** Description This function: ** - issues commands to set host supported LMP features (one at ** a time); ** - after this is done it issues command to re-read LMP features ** page 1; ** - after this is done it calls the last step of BR <http://androidxref.com/4.3_r2.1/s?path=BR/>/EDR <http://androidxref.com/4.3_r2.1/s?path=BR/EDR> ** controller startup sequence. ** ** Returns void ** *******************************************************************************/*static* *void* btm_issue_host_support_for_lmp_features <http://androidxref.com/4.3_r2.1/s?refs=btm_issue_host_support_for_lmp_features&project=external> (*void*) { BTM_TRACE_DEBUG1 <http://androidxref.com/4.3_r2.1/s?defs=BTM_TRACE_DEBUG1&project=external>("btm_issue_host_support_for_lmp_features lmp_features_host_may_support: 0x%02x", btm_cb <http://androidxref.com/4.3_r2.1/s?defs=btm_cb&project=external>.devcb <http://androidxref.com/4.3_r2.1/s?defs=devcb&project=external>.lmp_features_host_may_support <http://androidxref.com/4.3_r2.1/s?defs=lmp_features_host_may_support&project=external>); *if* (btm_cb <http://androidxref.com/4.3_r2.1/s?defs=btm_cb&project=external>.devcb <http://androidxref.com/4.3_r2.1/s?defs=devcb&project=external>.lmp_features_host_may_support <http://androidxref.com/4.3_r2.1/s?defs=lmp_features_host_may_support&project=external> & BTM_HOST_MAY_SUPP_SSP <http://androidxref.com/4.3_r2.1/s?defs=BTM_HOST_MAY_SUPP_SSP&project=external>) { btsnd_hcic_write_simple_pairing_mode <http://androidxref.com/4.3_r2.1/s?defs=btsnd_hcic_write_simple_pairing_mode&project=external>(HCI_SP_MODE_ENABLED <http://androidxref.com/4.3_r2.1/s?defs=HCI_SP_MODE_ENABLED&project=external>); *return*; } #*if* (BLE_INCLUDED <http://androidxref.com/4.3_r2.1/s?defs=BLE_INCLUDED&project=external> == TRUE <http://androidxref.com/4.3_r2.1/s?defs=TRUE&project=external>) *if* (btm_cb <http://androidxref.com/4.3_r2.1/s?defs=btm_cb&project=external>.devcb <http://androidxref.com/4.3_r2.1/s?defs=devcb&project=external>.lmp_features_host_may_support <http://androidxref.com/4.3_r2.1/s?defs=lmp_features_host_may_support&project=external> & BTM_HOST_MAY_SUPP_LE <http://androidxref.com/4.3_r2.1/s?defs=BTM_HOST_MAY_SUPP_LE&project=external>) { *if* (btm_cb <http://androidxref.com/4.3_r2.1/s?defs=btm_cb&project=external>.devcb <http://androidxref.com/4.3_r2.1/s?defs=devcb&project=external>.lmp_features_host_may_support <http://androidxref.com/4.3_r2.1/s?defs=lmp_features_host_may_support&project=external> & BTM_HOST_MAY_SUPP_SIMULT_BR_LE <http://androidxref.com/4.3_r2.1/s?defs=BTM_HOST_MAY_SUPP_SIMULT_BR_LE&project=external>) { /* At the moment the host can't work simultaneously with BR <http://androidxref.com/4.3_r2.1/s?path=BR/>/EDR <http://androidxref.com/4.3_r2.1/s?path=BR/EDR> and LE */ btsnd_hcic_ble_write_host_supported <http://androidxref.com/4.3_r2.1/s?defs=btsnd_hcic_ble_write_host_supported&project=external>(BTM_BLE_HOST_SUPPORT <http://androidxref.com/4.3_r2.1/s?defs=BTM_BLE_HOST_SUPPORT&project=external>, 0); } *else* { btsnd_hcic_ble_write_host_supported <http://androidxref.com/4.3_r2.1/s?defs=btsnd_hcic_ble_write_host_supported&project=external>(BTM_BLE_HOST_SUPPORT <http://androidxref.com/4.3_r2.1/s?defs=BTM_BLE_HOST_SUPPORT&project=external>, 0); } *return*; } #*endif* * ...* *}* * * btsnd_hcic_ble_write_host_supported() send the command *HCI_WRITE_LE_HOST_SUPPORTED*, btm_write_le_host_supported_complete() received the status *HCI_ERR_UNSUPPORTED_VALUE*. So when I started LE Scan, BTM_BleObserve() returned failed status *BTM_ILLEGAL_VALUE*. /******************************************************************************* ** ** Function BTM_BleObserve ** ** Description This procedure keep the device listening for advertising ** events from a broadcast device. ** ** Parameters start: start or stop observe. ** white_list: use white list in observer mode or not. ** ** Returns void ** *******************************************************************************/tBTM_STATUS <http://androidxref.com/4.3_r2.1/s?defs=tBTM_STATUS&project=external> BTM_BleObserve <http://androidxref.com/4.3_r2.1/s?refs=BTM_BleObserve&project=external>(BOOLEAN <http://androidxref.com/4.3_r2.1/s?defs=BOOLEAN&project=external> start <http://androidxref.com/4.3_r2.1/s?refs=start&project=external>, UINT8 <http://androidxref.com/4.3_r2.1/s?defs=UINT8&project=external> duration <http://androidxref.com/4.3_r2.1/s?refs=duration&project=external>, tBTM_INQ_RESULTS_CB <http://androidxref.com/4.3_r2.1/s?defs=tBTM_INQ_RESULTS_CB&project=external> *p_results_cb <http://androidxref.com/4.3_r2.1/xref/external/bluetooth/bluedroid/stack/btm/btm_ble_gap.c#p_results_cb>, tBTM_CMPL_CB <http://androidxref.com/4.3_r2.1/s?defs=tBTM_CMPL_CB&project=external> *p_cmpl_cb <http://androidxref.com/4.3_r2.1/xref/external/bluetooth/bluedroid/stack/btm/btm_ble_gap.c#p_cmpl_cb>) { tBTM_BLE_INQ_CB <http://androidxref.com/4.3_r2.1/s?defs=tBTM_BLE_INQ_CB&project=external> *p_inq <http://androidxref.com/4.3_r2.1/s?refs=p_inq&project=external> = &btm_cb <http://androidxref.com/4.3_r2.1/s?defs=btm_cb&project=external>.ble_ctr_cb <http://androidxref.com/4.3_r2.1/s?defs=ble_ctr_cb&project=external>.inq_var <http://androidxref.com/4.3_r2.1/s?defs=inq_var&project=external>; tBTM_STATUS <http://androidxref.com/4.3_r2.1/s?defs=tBTM_STATUS&project=external> status <http://androidxref.com/4.3_r2.1/s?refs=status&project=external> = BTM_NO_RESOURCES <http://androidxref.com/4.3_r2.1/s?defs=BTM_NO_RESOURCES&project=external>; BTM_TRACE_EVENT0 <http://androidxref.com/4.3_r2.1/s?defs=BTM_TRACE_EVENT0&project=external> ("BTM_BleObserve "); *if* (!HCI_LE_HOST_SUPPORTED <http://androidxref.com/4.3_r2.1/s?defs=HCI_LE_HOST_SUPPORTED&project=external>(btm_cb <http://androidxref.com/4.3_r2.1/s?defs=btm_cb&project=external>.devcb <http://androidxref.com/4.3_r2.1/s?defs=devcb&project=external>.local_lmp_features <http://androidxref.com/4.3_r2.1/s?defs=local_lmp_features&project=external>[HCI_EXT_FEATURES_PAGE_1 <http://androidxref.com/4.3_r2.1/s?defs=HCI_EXT_FEATURES_PAGE_1&project=external>])) *return* BTM_ILLEGAL_VALUE <http://androidxref.com/4.3_r2.1/s?defs=BTM_ILLEGAL_VALUE&project=external>; ... } Is there anyone to enable BLE successfully in Android 4.3 on Pandaboard ES? Is it a firmware issue? -- -- unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting --- You received this message because you are subscribed to the Google Groups "android-porting" group. To unsubscribe from this group and stop receiving emails from it, send an email to android-porting+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.