Firmware upgrade for UBLOX SARA-R410M-02B on the MKR NB 1500 #2

A continuation of this topic: https://forum.arduino.cc/index.php?topic=628808.30

A new version of the firmware is available: https://www.u-blox.com/en/ubx-viewer/view/SARA-R410M-02B-03_PCN_UBX-20058104?url=https%3A%2F%2Fwww.u-blox.com%2Fsites%2Fdefault%2Ffiles%2FSARA-R410M-02B-03_PCN_UBX-20058104.pdf

I also attached the .pdf.

I have not tried it yet. Several things to note:

  1. “Old modules, this means modules running previous firmware revisions (before than 05.12), can be upgraded to SARA-R410M-02B-03 firmware ONLY by using the u-blox EasyFlash tool. It is NOT possible to upgrade those modules over-the-air using FOTA or FOAT methods.”

This means the FOAT method used in the previous topic will no longer work. A direct USB connection will be required.

  1. CellLocate is listed as a new feature.

SARA-R410M-02B-03_PCN_UBX-20058104.pdf (165 KB)

Steps to successfully do this upgrade on your MKR NB 1500 are:

1.Contact your local ublox office and request the firmware. They will ask you to complete an online NDA, once this is done they will email you ftp instructions and a login/pwd to to download the firmware .dof, EasyFlash utility, Qualcomm USB drivers for the SARA-R4 port and a txt instruction file.

  1. Follow the instruction txt file to install EasyFlash and put the firmware .dof file in the EasyFlash folder and install the Qualcomm drivers.

  2. Solder on a USB cable to the bottom of the MKR NB 1500 board here:

  3. The upgrade requires you to power the modem down and up at specific points. I added a switch to pin6 on the MKR NB 1500 and modified the SerialSARAPassThrough sketch to do this, copy of this sketch attached.

  4. Connect a the MKR NB 1500 USB to your PC. Important: don't connect the SARA USB yet. Compile and download the sketch to the board. Leave your switch OFF. Open the Serial Monitor and confirm that the modem responds to an AT command.

  5. Connect the SARA USB cable to your PC leaving the MKR one connected. You should see a Qualcomm modem and Diagnostic port appear in Device Manager

  6. Now disconnect the SARA USB cable from you PC, make sure your switch is off so the modem is powered down. Run EasyFlash and set the module to SARA-R4 and port to USB, leave baud rate blank. Press the Start button.

  7. Connect the SARA-R4 USB cable and turn your switch ON to power up the modem. You should see the upgrade start and progress ending in a success message.

  8. Cycle the power to the MKR NB 1500 and check the firmware version with the ATI9 command.

SerialSARAPassthrough_DI6-SARA-RST.ino (1.45 KB)

steveroky:
Steps to successfully do this upgrade on your MKR NB 1500 are:

Thank you for all of the Info!
Arduino should really consider a board mounted pwr_on switch and dedicated modem USB on future revisions. Similar to what this modem has: LTE IoT click | Mikroelektronika

And why not upgrade with the pass-trough sketch with Extra Putty like the updates before without soldering?
You can also connect the m-center ublox software trough the pass trough sketch for convenient maintenance.
Did i miss something?

intstarep:
And why not upgrade with the pass-trough sketch with Extra Putty like the updates before without soldering?
You can also connect the m-center ublox software trough the pass trough sketch for convenient maintenance.
Did i miss something?

See note #1 of my OP.

M-center is different than easy-flash.

This firmware update went smooth on a Mikroe modem with direct USB connection.

  1. Install Qualcomm usb drivers
  2. Place "SARA-R410M-02B-03-L0.0.00.00.05.12_A.02.19_IP.dof" in same directory as EasyFlash.exe
  3. Plug modem into USB
  4. Open EasyFlash and push start
  5. Wait until it tells you to power on the modem
  6. Push board mounted pwr_on button
  7. Let it finish

Several changes I noticed:

  1. CellLocate does respond to commands. I tried it out, but I must no have enough towers around because it responded with a Lat/Long in the wrong part of country...

  2. It looks like the modem now supports multiple CIDs. See examples below:

Before update:

05:56:08.635 -> AT+CGDCONT?
05:56:08.670 -> 
05:56:08.670 -> +CGDCONT: 1,"IP","m2m64.com.attz","10.64.33.207",0,0,0,0

After update:

21:02:31.668 -> AT+CGDCONT?
21:02:31.702 -> 
21:02:31.737 -> +CGDCONT: 1,"IP","m2m64.com.attz","10.29.86.213",0,0,0,0,0,0
21:02:31.737 -> +CGDCONT: 2,"IP","attm2mglobal","10.142.95.118",0,0,0,0,0,0

steveroky:
Steps to successfully do this upgrade on your MKR NB 1500 are:

1.Contact your local ublox office and request the firmware. They will ask you to complete an online NDA, once this is done they will email you ftp instructions and a login/pwd to to download the firmware .dof, EasyFlash utility, Qualcomm USB drivers for the SARA-R4 port and a txt instruction file.

Hi,
at this point I fail. I contacted the support twice, they refused to send me the software and the information. Their answer was " We don't support that product"
Is there any other chance to get in hand of the update, the utility and the information?
I desperately need an updated firmware (ATI9 : L0.0.00.00.05.06,A.02.00). My boards always stop working after some hours/days and need to be switched off/on again. Even pressing the Reset-Button at that point won't work.
Greetings,
Stefan

You have to ask for the support for the modem (SARA-R410M) not for the arduino.
Whatsoever, it’s a stupid game they play, so: https://xs.u-blox.com/sbha/SARA-R410M-02B-03-L0.0.00.00.05.12_A2.19_IP.zip

Hint: Be my … to … the software to your computer.

It wasn’t me…

Hi,
with a little help from my friends, I made progress in updating the modem.
My problem now is, that the EasyFlash Software does not connect to the modem. The reason for that is a Qualcom driver, that ist not correct installed (see attachement).

Is there any specific driver needed?

Everything works until a mysterious Error occurred![Chip ID failed!] . Any hints or ideas?

Here is the log from EasyFlash:

Using USB port

Processing ‘SARA-R410M-02B-03-L0.0.00.00.05.12_A.02.19_IP.dof’
Please TURN ON the device and don’t disconnect power supply
Waiting for device…
Device found!
Mobile Version report: PASS
Ext Mobile Mobile SW Rev: L0.0.00.00.05.08

→ Backup of legacy NV objects
Process time was 14.2 sec.
OK

→ Backup of ublox legacy NV objects
Process time was 63 msec.
OK

→ Backup of RF NV objects
Process time was 4.8 sec.
OK

→ Backup of CONF NV objects
Process time was 3.5 sec.
OK

→ Backup of FS objects
Process time was 16 msec.
OK

→ Backup of Alternate FS objects
Process time was 0 msec.
OK

→ Switching to download mode
Waiting for synchronization…
<1>
<2>
<3>
Error occurred![Chip ID failed!]
Please TURN OFF the device and press ‘Start’ to install the firmware

If I had to guess, it is probably something to do with the qualcomm drivers not finding the modem after easyflash resets the modem… I have not tried this on a MKR NB1500 yet, so I cant help more… Here is the log from my update in the Mikroe modem:

Using USB port

Processing 'SARA-R410M-02B-03-L0.0.00.00.05.12_A.02.19_IP.dof'
Please TURN ON the device and don't disconnect power supply
Waiting for device...
Device found!
Mobile Version report: PASS
Ext Mobile Mobile SW Rev: L0.0.00.00.05.11

-> Backup of legacy NV objects
Process time was 20.3 sec.
OK

-> Backup of ublox legacy NV objects
Process time was 125 msec.
OK

-> Backup of RF NV objects
Process time was 7.6 sec.
OK

-> Backup of CONF NV objects
Process time was 5.0 sec.
OK

-> Backup of FS objects
Process time was 0 msec.
OK

-> Backup of Alternate FS objects
Process time was 15 msec.
OK

-> Switching to download mode
Waiting for synchronization...
<1>

Device synchronized.
Injecting NPRG9x06.mbn
Boot-loader is active

-> Partition table '0:MIBIB' from 'partition.mbn' loaded!
Process time was 6.4 sec.
OK

-> Start downloading item '0:EFS2' from 'efs.mbn'
Process time was 2797 msec.
OK

-> Start downloading item '0:sec' from 'sec.dat'
Process time was 15 msec.
OK

-> Start downloading item '0:TZ' from 'tz.mbn'
Process time was 1313 msec.
OK

-> Start downloading item '0:MBA' from 'mba.mbn'
Process time was 594 msec.
OK

-> Start downloading item '0:ACDB' from 'acdb.mbn'
Process time was 296 msec.
OK

-> Start downloading item '0:RPM' from 'rpm.mbn'
Process time was 360 msec.
OK

-> Start downloading item '0:QDSP' from 'qdsp6sw.mbn'
Process time was 56.1 sec.
OK

-> Start downloading item '0:APPS' from 'apps.mbn'
Process time was 11.6 sec.
OK

-> Start downloading item '0:UA' from 'UA9x06.mbn'
Process time was 421 msec.
OK

-> Start downloading item '0:EFS2BKUP' from 'padded_efs.mbn'
Process time was 2407 msec.
OK

-> Start downloading item '0:EFS2APPSBKUP' from 'efs2.mbn'
Process time was 703 msec.
OK

-> Start downloading item '0:EFS2APPS' from 'efs2.mbn'
Process time was 734 msec.
OK

-> Start downloading item '0:SBL' from 'sbl1.mbn'
Process time was 516 msec.
OK
Resetting device...
Device found!
WARNING service interface locked!
-> Restore of legacy NV objects
Process time was 407 msec.
OK

-> Restore of ublox legacy NV objects
Process time was 78 msec.
OK

-> Restore of RF NV objects
Process time was 8.1 sec.
OK

-> Restore of CONF NV objects
Process time was 2641 msec.
OK

-> Restore of persistent objects in FS
Process time was 0 msec.
OK

-> Restore of persistent objects in Alternate FS
Process time was 0 msec.
OK

-> Apply SCR objects
Process time was 15 msec.
OK

Mobile Version report: PASS
Ext Mobile Mobile SW Rev: L0.0.00.00.05.12

Extra command: RESET
Process time was 0 msec.
OK

Process time was 2 min 29 sec.
Done!

Please TURN OFF the device and press 'Start' to install the firmware

I was just able to update a MKR NB1500 using a modified version of @steveroky method:

  1. Solder USB cable as shown by @steveroky, but bridge the pads where the +5v is soldered. This bridge will supply the board with 5v from the soldered USB and enable USB on the modem.
  2. Load blank sketch using regular USB with Tools/Board set to MKRZERO
  3. Disconnect regular USB
  4. Plug in soldered USB
  5. Start EasyFlash with .dof file placed in easyflash folder
  6. When it tells you to turn on the device, short the arrowed pin to ground for about .5 sec

This will simulate a pwr_on
7. Let it finish

Three more things…

In my case, windows installed a SIM Tech HS-USB Modem 90B2, which led to #9.

After installing the driver from:
https://www.u-blox.com/en/ubx-viewer/view/qud.win_.1.1_installer_10057.4.zip?url=https%3A%2F%2Fwww.u-blox.com%2Fsites%2Fdefault%2Ffiles%2Fqud.win_.1.1_installer_10057.4.zip

I was able to sync.

BUT: With the new guide and also with the first setup, the result is the same:

(…blablabackupsstuff…)

→ Backup of FS objects
Process time was 0 msec.
OK

→ Backup of Alternate FS objects
Process time was 0 msec.
OK

→ Switching to download mode
Waiting for synchronization…
<1>

Device synchronized.
Injecting NPRG9x06.mbn
Error occurred!
Please TURN OFF the device and press ‘Start’ to install the firmware

It’s a nightmare.
The old xmodem method was working fine, why did they change the way to update?
Soldering needed for a firmware update of a modem?
What means “Error occurred!” exactly? Why aren’t there any logfiles?
Why is windows automatically installing wrong drivers?
How is it possible that windows became so big?
Why do i feel like after a timejump to a f*ç56up driver installation on a customers windows 3.1 in the early 90ies?

Anyway, Thx to zbelding & steveroky

PS: After
Injecting NPRG9x06.mbn
The modem disapears from the device manager and then the error occurs.

Update: For an unknown kind of reason, it worked out of sudden!

My setup and instruction:

-After installing the driver from:
https://www.u-blox.com/en/ubx-viewer/view/qud.win_.1.1_installer_10057.4.zip?url=https%3A%2F%2Fwww.u-blox.com%2Fsites%2Fdefault%2Ffiles%2Fqud.win_.1.1_installer_10057.4.zip

  • Solder the USB Cable without a bridge mentioned in #11 but WITH USB Black to GND Black (5) as in #1 but without a switch on PIN 6
  • Install EasyFlash 2.10 with the upgrade file in the same dir
  • The common SerialPasstrough Sketch from MKRNB examples/tools loaded
  • Check with command ATI9
    Response:
    09:42:15.148 → ATI9
    09:42:15.148 → L0.0.00.00.05.08,A.02.04
    09:42:15.148 →
    09:42:15.148 → OK

-Then i unplugged the MKR USB and plugged into a power only USB (Probably superstition)

  • Then i plug the soldered USB into a Windows PC. The Qualcomm Modem 90B2 should apear in device manager.
  • Start EasyFlash as Admin with “Sara-R4, USB, nothing”
  • After a scary long procedure → SUCCESS!
  • Unplug the soldered USB from the PC
  • Unplug the MKR USB from the power USB back to the arduino PC, check with ATI9 and hopefully see:
    11:18:22.144 → ATI9
    11:18:22.144 → L0.0.00.00.05.12,A.02.19
    11:18:22.144 →
    11:18:22.144 → OK

in nomine spiritus sancti…Hallelujah!

PPS: The holy ghost left me this morning…same setup, another MKR1500, the old problems…after injecting sequence the modem disapears for unknown reasons in windows os. No logs, no nothing…

PPPS: After reinstalling the Qualcomm driver i had another lucky shot…

PPPPS: Next MKR1500: USB soldered, SerialPasstrough loaded, Modem was not even answering in Windows Diagnosis, EasyFlash worked at first attempt! Really easy this time…

Check the solder joint well with a loupe!

Thanks all above! This was very helpful. I was successfully able to upgrade from A.02.00 to A.02.19 using usb easyflash following the instructions above.

I was happy to find that I did not have to:

  1. Do the grounding of the pin as specified in post #11 by zbelding
  2. Bridge the pins as in post #11
  3. Connect a switch as in post #1

I did have the same issue with the usb modem as described in post #13 by intstarep with the modem not initially responding in device manager when doing the modem test the first time. I unplugged the soldered usb and plugged it back in and it worked the second time.

Couple other comments:

  1. I was also able to update a different board from A.02.04 to A.02.19
  2. When soldering, wet the 4 usb wires before soldering to the board and either swap out or sharpen the tip of your iron. Those pads get smaller when you have the hot iron in your hand.
  3. When soldering, I found going in this order made it easier for me (I'm right handed). green, white, black, red. Red was the hardest for me.
  4. For me, other than the soldering the new method was faster, easier, and less stressful than the old method described very well here: Arduino NB1500 SARA-R410M Firmware Update | No Modem Connection Fix - YouTube
  5. The new method took around 2 minutes once I clicked go in EasyFlash

To consolidate some download links.

  1. uBlox m-center Utility (check versions) : https://www.u-blox.com/sites/default/files/products/tools/m-center-02.00.00.exe
  2. Modem Drivers: https://www.u-blox.com/en/ubx-viewer/view/qud.win_.1.1_installer_10057.4.zip?url=https%3A%2F%2Fwww.u-blox.com%2Fsites%2Fdefault%2Ffiles%2Fqud.win_.1.1_installer_10057.4.zip
  3. EasyFlash 12.10: https://www.u-blox.com/5fe20adce67be
  4. Firmware: Either figure out the UN/PW from post #7 or go to u-blox Portal and click "Create a Support Case" and title it something like "SARA-R410M-02B-03 Firmware" and they will provide you a download link with un/pw. I think they only respond Monday-Friday.

ARDUINO SUPPORT: There are several ways provided here for hard soldering USB to the board... What is the SUPPORTED way to upgrade the 3-years out of date and BROKEN firmware on this board?

Please don't leave your customers hanging here. It's irresponsible to look the other way when you are STILL selling these on your store with 3-years out of date modem firmware.

1 Like

I've since cut my losses and switched to a different board. I'm now using using a Pro Mini clone and a SIM7000A module. You can find the breakout board pretty easily for < $40. The combo price is almost half the cost of the MRK 1500. The only real drawback I've found so far is no X.509 crypto chip which isn't an issue for my use case. I've seen a significant improvements in reliability especially when coming out from a deep sleep. The usb port and easy access to firmware is a HUGE plus.

1 Like