This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to enable peripheral mode in Android L

Hello,

I have develop and app to send BLE Advertisement packet in Android. But what I found out is my device has Android Lollipop but it does not have peripheral mode turned on.

Is there a way I can turn on the peripheral mode on my device?

Regrards MJ

Parents
  • Maulik,

    Please refer to the following thread to determine how to check whether your device(s) support peripheral mode under Android...

    devzone.nordicsemi.com/.../nrf-master-control-panel-how-to-check-if-advertiser-mode-is-supported

    Update: 26/4/2016

    Maulik,

    Since you gave some additional detail in your comments (it would have been better to include that in your original question), here is an updated response…

    As you would have read in the link that I posted, there is currently no specific and/or exposed Android API call in stock versions of Lollipop (v5.x) and beyond to enable/disable BLE peripheral mode. Its implementation is specific to the BLE chipset vendor and how they choose to respond to a bluetoothAdapter.isMultipleAdvertisementSupported(); function call.

    This means that you could potentially have a number of scenarios:

    (1) the chipset could support peripheral mode at the hardware level but that may not be exposed within the vendor driver;

    (2) hardware support and implementation at the driver level;

    (3) the chipset may not support peripheral mode at all.

    In relation to how the above pans out for your chipset (Snapdragon 805, APQ8084), as Keton alluded to, you will have to check with your specific chipset vendor and therefore the Qualcomm support forums would appear to be your most appropriate venue. I would suggest that answers to the following questions would be great information for you to be able to pass on to them if/when you submit your query to that forum.

    a) What return value do you get from the call to .isMultipleAdvertisementSupported(); within your application?

    b) Have you tried to instantiate a GATT server from within your application on that given chipset (and what was the response/error)?

    Given the above, and, if you are still adamant that peripheral mode is simply ‘turned off’ on your chipset and/or your Android version then I would suggest that you refer to the source where you derived that information to ask them how it can be ‘turned on’.

    Regards,

    leonwj

  • Right, so given your latest comment it would appear that your chipset falls under scenarios (1) or (3) as outlined above. Also I'm not sure how you would have derived that peripheral mode was 'turned off' from your debug flow. It simply seems to be saying that peripheral mode is 'not supported'.

    Again, you will have to refer to the Qualcomm support forums or log a support ticket with Qualcomm so that they can provide insight into which of the 2 scenarios you are encountering and if it's scenario (1), whether they plan to release updated drivers to support BLE advertisements.

Reply
  • Right, so given your latest comment it would appear that your chipset falls under scenarios (1) or (3) as outlined above. Also I'm not sure how you would have derived that peripheral mode was 'turned off' from your debug flow. It simply seems to be saying that peripheral mode is 'not supported'.

    Again, you will have to refer to the Qualcomm support forums or log a support ticket with Qualcomm so that they can provide insight into which of the 2 scenarios you are encountering and if it's scenario (1), whether they plan to release updated drivers to support BLE advertisements.

Children
No Data
Related