Reply
Posts: 1
Registered: ‎10-11-2017

Trouble Supporting Different Android Devices

Hello,

I have developed a product using the BLE113-256k using UART to an ATMEGA32U4 arduino type processor.

I created an android app based on Android's BluetoothLeGatt source code.

 

I can easily & flawlessly connect to the BLE113 using Samsung phones (Galaxy S7, and many others)

I cannot connect using LG or Droid phones (LG-G4 is what I am currently debugging on)

 

Even when I use the Heart-Rate bgscript demo ble113 firmware, I can't get this LG-G4 to connect to the ble113.  Although, the app works on the LG-G4 when I connect to other random devices.

 

The app on the LG-G4 can scan and see the BLE113 device advertising, but cannot connect.  When attempting to connect it often just times out and goes back to the scanning screen.  Is there some setting in the firmware that might cause this issue?  I've tried many firmwares, I'm starting to think it the BLE113 might not be compatible with some android devices.

 

Please help me, I have this product out to beta-testers, and they are wanting a fix.

Highlighted
Posts: 2,934
Registered: ‎08-25-2015

Re: Trouble Supporting Different Android Devices

Hi,

 

What android versions are on those phones which are having connection issues? There are occasional issues with smartphone connectivity but he majority of those is from the mobile device side.

 

Are you able to take a over-the-air logs showing the connection process?

 

Regards,

Tiago

Posts: 4
Registered: ‎06-01-2017

Re: Trouble Supporting Different Android Devices

I too am having problems with OTA to my Android device.  I have been developing with a Galaxy S4 (Android 4.4.4) on which I modified the Blue Gecko demo code to operate with Android api 19 on the device.  Upon trying the OTA with a Galaxy S8 (Android 7.0, api24), but targeting api22, the OTA hangs at the 'OTA Progress' dialog.  Eventually it terminates with 'GATT CONN' and 'GATT CONN TERMINATE LOCAL HOST' Toast messages.Thinking the problem was with my code, I reloaded my BGM111 with the 'Empty Example' and uninstalled and reinstalled from Google a fresh 'Blue Gecko'.  I have the same problem with what appears to be a "stock" example configuration.  The .ebl files I'm loading are functioning files that I know operate correctly on the BGM111 as they are the same ones that I can successfully load and run using the OTA from the S4.

Thinking the problem was with my code, I reloaded my BGM111 with the 'Empty Example' and uninstalled and reinstalled a fresh 'Blue Gecko' from Google.  I still see the same problem - even with  what should be a "stock" example configuration.  The .ebl files I'm loading are functioning files that I know operate correctly on the BGM111 as they are the same ones that I can successfully load and run using the OTA from the S4.

Any help or guidance is, of course, greatly appreciated as I'm not sure what steps to take next.

I am able to read the Gatt information and have used my code to successfully read and write characteristics and bond to the S8.  There is no change to the OTA behavior on the S8 whether the phone and BGM111 are paired or not.

Thanks.

Posts: 2,934
Registered: ‎08-25-2015

Re: Trouble Supporting Different Android Devices

Hi @LS_Rover,

 

Did the advice in the other thread help with this issue?

 

Regards,

Tiago

Posts: 4
Registered: ‎06-01-2017

Re: Trouble Supporting Different Android Devices

Hi Tiago,

 

I was unable to respond to your email - I received a kickback from the Silabs Postmaster: "not on the same community list".  My reply is here below:

 

Thanks for the response.  The other thread was helpful in getting me going with the whole OTA process back in June.  However the problem I’m having now seems to be more specific.

 

I am trying to update two different devices provided to me by my client.  They are both running the BGM111 and I am able to simulate the operation of one of them using my dev kit.  The other is running standalone as a separate device.  I can successfully OTA the dev kit device using my Galaxy S4 and code adapted from the Blue Gecko app, using the BLE service.  When trying to perform OTA to the other device I receive a status error 0x85 from the onCharacteristicWrite callback.  If I ignore this error, the OTA proceeds as expected (!).  Not good practice, however, …

 

When I test the app using a Galaxy S8 (Android 7.0) I receive the same 0x85 error upon trying to write to the dev kit or the device.  And ignoring the error leads to a hang for both.  So I’m still stuck.

 

As mentioned in the original post, I tried this weekend to OTA Silicon Labs’ “Empty Example” on my dev kit using a fresh download of the Blue Gecko app and was unable to get the update to work.  After reading various posts on StackOverflow I see that many are trying different delays between connecting and writing…  I was about to try that…

 

Any insight you can provide would be great!  Is there a functioning OTA for an Android 7.0 device with your standard “Empty Example” and your BG app?

 

Thanks again for the help,