14
votes

I've been trying to pair BLE device with my Nexus 7 (ME370T) using sample from sdk (sdk\samples\android-18\legacy\BluetoothLeGatt). But I'm getting information "Ble not supported". I was searching for solution and I've only found that:

NB! Nexus 7 (2012) with Android 4.3 is not delivered with BLE enabled. To work with BLE on this device you will >need the Bluetooth Low Energy Enabler tool. Prerequisites for this to work is that the device is rooted and that >the BusyBox app is installed.

I couldn't find any information about support on 4.4.2 or any enabled for 4.4.2. I only could find

Just in case some one else is searching for BLE on Nexus 7 - this ROM has a working BLE on 4.4 KitKat. It is almost >Stock ROM called 'purity'. PURITY ROM (link: http://forum.xda-developers.com/showthread.php?t=2222374).

And the question is do I need to root my Nexus 7 with 4.4.2 to another ROM to enable BLE? Will it work after mod?

4

4 Answers

18
votes

Basically, it seems that the Broadcom Bluetooth chipset within the 2012 Nexus 7 is Bluetooth 4.0 LE/Low Energy (BLE) capable, however, Google never certified it as such, only certifying to the then current v3.0 spec. This means that Google probably now see no financial benefit in re-certifying the device for legal BLE development (as the 2012 Nexus 7 is now EOL). However, there is a light at end of the tunnel.

Manuel Naranjo has created a Android Open Source Project (AOSP) code patch (which I believe Google avoided, due to the above) which he has submitted, freely, to the AOSP-based CyanogenMod project (specifically in versions 10.2 and 11 based on Android 4.3 and 4.4 (KitKat), respectively). This means that we do get BLE for the 2012 Nexus 7 (codename 'grouper'), if you install CyanogenMod (or possibly Purity Rom).

If you're interested in the BLE patches Manuel made, they can be found here, his changes are reasonably easy to follow (he removed the 'false' switches for BLE etc., amongst other changes).

I would assume that these patches could also be applied to the stock 2012 Nexus 7 Wifi ('grouper') Google Android source build (which can be found here), if a 3rd-party custom Rom like CyanogenMod wasn't to your liking (Nexus 7-specific binary hardware drivers, required for the build, including Broadcom Bluetooth, are available here).

I'm looking at picking up an older Nexus 7, as they're very low-cost right now (£99 in the UK), and Google/CyanogenMod will probably ensure a continued upgrade path, for some while (I'm hoping for BLE Peripheral support, possibly in Android 4.5).

BTW, Manuel also markets a Nexus BLE Helper @ Google Play (paid) which I assume somehow simplifies the installation of his workaround, without have to flash the entire OS. (Disclaimer - I am no way connected to the developer).

Edit: I found this additional thread which pinpoints the Bluetooth omission within the Google codebase.

0
votes

I do some work on 2012 Nexus 7(4.1.2,first version, Not Nexus 7 II) and can get rssi from BLE tag. So that is true ,Big Rich's statement :Basically, it seems that the Broadcom Bluetooth chipset within the 2012 Nexus 7 is Bluetooth 4.0 LE/Low Energy (BLE) capable. I don't update to android 4.3, but I know android 4.3's api begin support BLE. I suggest you find some BLE tool from android market to check whether your device is capable BLE on specific HW and SW version.

0
votes

There is a thread on XDA-dev where people compiled the patched libraries for Nexus 7 2012, packed in recovery-installable zips. The last one is said to work BLE on Android 5.1.1 too.

0
votes

I just get BLE working on Android 7 with this Custom ROM + speed up my nexus 7:

https://forum.xda-developers.com/nexus-7/development/rom-android-7-aosp-grouper-t3467514