2
votes

My installation of Apple's BTLE-transfer app is behaving really flaky, even on brand new iPads. I have Googled and not found any solution.

I installed iOS app Apple BTLE-transfer v1.0 unmodified, using Xcode 4.6.2, onto four, brand-new iPad mini's Gen4 purchased from Apple store a week ago, all at the same time: the two black colored ones are iOS v6.1.2 and the two silver colored ones are v6.1.3 The two v6.1.2 work the best, but are usually flaky. One of the v6.1.3 ones performs BTLE-transfer app transfers now and then. And the 2nd v6.1.3 never performs BTLE-transfer app transfers. No other Bluetooth devices are running.

But BTLE transfer usually fails. If one iPad is Peripheral and the rest Central, only none or 1 or 2 others ever receive. iPad #4 never sends or receives.

iPad #2 Peripheral always talks to #1 Central, and sometimes to #3 Central, never #4 Central iPad #1 Peri sometimes talks to #2, never #4, never #3.

The problem follows the hardware, but they are identical mini's therefore it is probably a slight timing difference in the hardware that BTLE app fails to adapt to.

I've tried cycling power on the iPads and starting the app in various sequences. No Bluetooth devices are nearby (within 30ft.).

THE LATEST STATUS: The Central reports an RSSI range of -59 to -39 db with both brand new iPad mini's side by side. And that is why they fail to connect.

I will investigate further, and then report the solution here...

2
Do you mean Bluetooth LE? Several places in your question you say BLTE not BTLE - Dan F
I don't know, but this project might be a better example to look at: github.com/kstechnologies/BTLE_Transfer - Tom Harrington
Dan F: Sorry. I corrected it. I meant: the Apple "BTLE-transfer" app. - Doug Null

2 Answers

4
votes

The solution is to remove the -35 db limit in Apple's "BTLE central peripheral transfer" sample code app. Search for -35 and delete the 'if' and 'return'.

Once you remove that, it works dandy up to 30 frickin feet away. Sweet!!

I tested with my 'fleet' of four iPad mini's and an iPhone 5.

BUT WAIT, THERE'S MORE GRIEF: After a few minutes, the app won't transfer anymore until you close it, restart the device, and re-run the app. There are comments within the app implying that it is less than robust.

0
votes

Also note that if you see the following errors from the sample:

2015-08-27 00:04:09.459 BTLE Transfer[537:60b] CoreBluetooth[API MISUSE] can only accept commands while in the powered on state

2015-08-27 00:04:09.467 BTLE Transfer[537:60b] Scanning stopped

Make sure you are using a supported device (e.g. iPhone4 doesn't support bluetooth-le).

See: https://developer.apple.com/library/ios/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html