We are currently testing our board designed for BLE application using the CC2540 chip from Texas Instruments.
Using Texas Instruments' USB BLE dongle (also CC2540 based) and Windows application (BTool), our board is correctly discovered, connects and we can read/write characteristics over the BLE connection.
However, our board running same software cannot be discovered from our iPhone 4S.
We know that our iPhone IOS application is not the source of the problem, because same iPhone IOS program can connect without problems when we run our embedded application using the development hardware kit from Texas Instruments.
Using the Texas Instruments RF Sniffer we see our board correctly sending the ADV_IND advertising packets however we don't see the iPhone responding with a SCAN_REQ packet which acknowledges that it 'sees' the device.
Looks as if the iPhone scanning for peripherals either does not see the advertising coming from our board, or for some reason decides to not acknowledge them. We tried the method 'scanForPeripheralsWithServices' both specifying and not specifying specific services.
So here are the questions we would appreciate to get feedback for:
So given that our board works fine over BLE protocol with Texas Instruments hardware and software, why is not working with the iPhone?
Is there any communication happening in the discovery phase at a lower level than the ADV_IND, SCAN_REQ and SCAN_RSP packets that w/ don't see with the RF Sniffer ?
Could our board have a border line RF performance that can connect with the Texas Instruments USB BLE dongle, but cannot do with an iPhone, perhaps with a minor deviation from the standard 'tolerated' by an identical chip, but not by the iPhone?
Any other hardware or software reason of why the iPhone does not identify our board when scanning for peripherals ?
Thank you!
Alex