Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BLE Radio OTA DFU Only Works With Adafruit Bluefruit Connect App? #2

Open
biomurph opened this issue Mar 25, 2024 · 7 comments
Open

Comments

@biomurph
Copy link
Member

It has been the case that the only OTA DFU process that completed successfully has been done with the Adafruit Bluefruit Connect App. This thread will record the results of testing OTA DFU using various methods. Each test begins with a radio module that is direct from production testing, flashed with the TympanRadio_baseFirmware.ino sketch.

OTA DFU variables include
Operating System

  • iOS
  • Android
    File Base Used
  • Arduino IDE Menu Select: Sketch > Export Compiled Binary
  • Arduino IDE .zip file created during normal compilation process
    App Used
  • Adafruit Bluefruit Connect App
  • nRF Toolbox App or nRF Connect App

Android OS

Tested using Google Pixel 6

  • Adafruit Bluefruit App uploads OTA successfully
  • Nordic nRF Toolbox App
    • Fails using Arduino Export Compiled Binary after DFU Initialization, at the beginning of the upload process
    • Fails using Arduino zip created during compilation after DFU Initialization, at the beginning of the upload process
  • Nordic nRF Connect App
    • Fails using Arduino Export Compiled Binary after DFU Initialization, at the beginning of the upload process
    • Fails using Arduino zip created during compilation after DFU Initialization, at the beginning of the upload process

Successful OTA DFU is possible, but only via the Adafruit Bluefruit App.
I uploaded 3 times in a row with 3 times success.

@chipaudette
Copy link
Member

I still can't get Adafruit Bluefruit Connect to accept any of the file managers on my phone. I have both the default google "Files", I have Google Drive, and I downloaded (per the Adafruit error message) Dropbox. No joy.

I went into the settings for Bluefruit Connect and made sure that I was allowing access to "media and files". Still, no success.

Specific error is "Unavailable. File browser app not [sic] has not been found on your device. You should install an app like Dropbox, GoogleDrive..."

Googling this error only reveals the GitHub repo for this App. I had been hoping a Adafruit forum posting might show up in the Google results. Nope. :(

@biomurph
Copy link
Member Author

@chipaudette Are you able to test with a different phone?
I will test with my burner today. It is an LG phone, I think.

@chipaudette
Copy link
Member

I just tested with my ancient phone via the Adafruit app. Unlike on my normal phone, it correctly found a File Browser App, so I was able to select the HEX and DAT files. Unfortunately, it failed to get very far in the actual update process. :(

This was for your nRF52840 stand-alone board, not a Rev F. I'm a little hesitant to try this on a Rev F as we risk locking up its nRF unit until we get the nest working. But, I suppose that I ought to give it a try anyway? What do you think?

@biomurph
Copy link
Member Author

biomurph commented Mar 26, 2024

I have always been able to bring the nRF51 back to life with the bed of nails and the J-Link. That process erases the whole chip and starts from scratch.
You should get email notifications from USPS about the package shipping and arrival at Creare.

I have my backup phone charging. Will have to set it up with the right apps, etc. I will try to get that done today, or first thing tomorrow morning.

@biomurph
Copy link
Member Author

Unfortunately, I am unable to load Bluefruit Connect App on my old backup phone...
Guess I need a new backup phone...

@chipaudette
Copy link
Member

The project had an older Android phone that I was able to borrow. It runs the update portion of the Adafruit app just fine. I've successfully updated the firmware a couple of times. It ain't fast, but it does the job. Excellent.

@chipaudette
Copy link
Member

chipaudette commented Apr 3, 2024

Alison and I just tried to update the nRF BLE firmware in the Tympan Rev F using an iPhone. Sadly, it did not work.

After connecting to the Tympan in the Adafruit App, we confirmed that the BLE link was working by communicating via the UART page in the Adafruit app. No problems.

Then, in the Adafruit App, we switched over to the page for updating the firmware. Immediately upon switching to that page, the App gave an error that it could not do any firmware updating due to the “legacy bootloader” (or something like that) present on the remote device. My android phone does not give such an error. So, that was unsettling.

We then soldiered onward anyway, scrolling to the bottom of the page, selecting “custom firmware”, pointing it to the HEX and DAT file, and proceeding with the update. After switching to DFU mode, but before any firmware had begun to transfer, the phone said that it failed. I don’t believe that it said why. Bummer.

In addition to the update failing, it has also left the nRF BLE unit in a bad state. I’ll need to forcibly reflash the firmware using your programming nest.

So, in summary, a big ol’ negative finding here…or trial of using an iPhone to update the nRF firmware has failed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants