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.

Reply via email to