Cellular radio firmware release (SQN3330) for both Cat-M1 and NB-IoT
-
Hello everyone,
I know many of you were expecting this. We have made available 2 new firmware files for the Cellular radio in the FiPy, GPy and G01 modules. All the details and instructions can be found here:
https://github.com/pycom/pycom-libraries/tree/master/lib/sqnsupgrade
Cheers,
Daniel
-
@danielm Thanks! Anything about band support?
-
@flo242
No, I asked Daniel Campora specifically regarding NB-IoT firmware. I suggest to contact him by email.
-
@danielm Would you happen to have any changelog for the new Cat-M1 firmware as well?
Thanks in advance!
-
@kevin hi! Same issue here. Did you manage to sort it out?
Cheers!
-
@kevin
I received this info from Daniel:
New features compared to release LR6.0.0.0-ER9-36571
• Support of standalone mode of operation
• Support of Guard-band mode of operation
• Non IP PDN data delivery (NIDD)
• Support of 3.75KHz NPUSCH Format 1Did not try to update myself yet.
-
Is the new NB1 firmware at https://software.pycom.io/downloads/sequans.html ready to use? Are there release notes detailing new feature support?
I tried to upgrade a GPY to FIPY_GPY_NB1-37365, but it stalled toward the end of the process. I waited about 30 minutes, then reset it. The previous NB1 firmware loads correctly. Any idea why it would hang at the final reset?
>>> import sqnsupgrade >>> sqnsupgrade.run('/sd/FIPY_GPY_NB1-37365.dup', 921600) <<< Welcome to the SQN3330 firmware updater >>> Entering recovery mode Resetting.. Starting STP (DO NOT DISCONNECT POWER!!!) STP started Session opened: version 1, max transfer 8192 bytes Sending 5050226 bytes: [########################################] 100% Code download done, returning to user mode Resetting (DO NOT DISCONNECT POWER!!!).............................. ....... Deploying the upgrade (DO NOT DISCONNECT POWER!!!)... Resetting (DO NOT DISCONNECT POWER!!!)...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
-
Hey Guys, I see this has been a problem for a few people and I have battled it for a few hours today. Initially, I was unable to get the firmware update to occur under any conditions. Always the same result:
<<< Welcome to the SQN3330 firmware updater >>> Entering recovery mode Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/flash/lib/sqnsupgrade.py", line 100, in run OSError: AT+SMSWBOOT=3,0 failed! >>>
I have now performed the upgrade three times successfully and each time under slightly different conditions. Here's my setup:
- Pycom GPy (w/ firmware 1.17.5.b2)
- LTE antenna attached
- nano SIM for Telstra (Australia)
- Expansion Board 2.0
- SanDisk Ultra 16GB microSD card
Procedure:
- Remove all partitions from SD and format as single FAT32 partition
- Copy to SD, FIPY_GPY_CATM1_33988.dup from https://software.pycom.io/downloads/sequans.html. Check file size 5,533KB.
- Put SIM in GPy. Put SD card in Expansion Board 2.0. GPy on EB2.0
- Power from USB. Join Wi-Fi AP provided by GPy with password www.pycom.io.
- Create Atom IDE project folder. Use Settings - Project Settings to set Address: 192.168.4.1. Connect. Do not use Reset button: if reset is required, power down by unplugging, wait 10 seconds, reconnect.
- Use REPL to check contents of SD card:
>>> import os >>> from machine import SD >>> sd = SD() >>> os.mount(sd, '/sd') >>> os.listdir('/sd') ['System Volume Information', 'FIPY_GPY_CATM1_33988.dup']
- In the Atom project, create a 'lib' folder, add files from https://github.com/pycom/pycom-libraries/tree/master/lib/sqnsupgrade
- Synchonise with the microcontroller Ctrl-Alt-S
- Disconnect Atom IDE. Unplug GPy. Wait 10s. Reattach USB power. Reconnect Atom IDE, again, don't use Reset.
- Begin SQN3330 update at REPL per documentation:
import sqnsupgrade sqnsupgrade.run('/sd/FIPY_GPY_CATM1_33988.dup', 921600)
- If successful, expect:
>>> import sqnsupgrade >>> sqnsupgrade.run('/sd/FIPY_GPY_CATM1_33988.dup', 921600) <<< Welcome to the SQN3330 firmware updater >>> Entering recovery mode Resetting. Starting STP (DO NOT DISCONNECT POWER!!!) STP started Session opened: version 1, max transfer 8192 bytes Sending 5665583 bytes: [######################### ] 63%Sending 5665583 bytes: [#########################Sending 5665583 bytes: [########################################] 100% Code download done, returning to user mode Resetting (DO NOT DISCONNECT POWER!!!). ......... Deploying the upgrade (DO NOT DISCONNECT POWER!!!)... Resetting (DO NOT DISCONNECT POWER!!!). ... Upgrade completed! Here's the current firmware version: UE5.0.0.0c LR5.1.1.0-33988 OK >>> >>>
Since the first update I also tried the above conditions with the following changes:
- Serial connection instead of Wi-Fi ... OK
- Expansion Board 3.0 instead of Expansion Board 2.0 ... OK
Honestly I think one of two things made the difference: Getting all the libraries loaded and the firmware image on the SD card before powering down. On first power up everything seemed to work the first time. If I reset, or if I'd had a failed attempt, only powering down and restarting made it work again.
The other option that might have had effect is doing the initial update using Expansion Board 2.0 (no firmware, FTDI only). Maybe once the first firmware update took hold subsequent updates were more likely to succeed.
Hoping that helps anyone still stuck with this. Chris.
-
@danielm
Could you shed some details on how you resolved the problem?? By manully mounting card-folder (/sd) using script via serial REPL?
I am having similar similar ussue:
https://forum.pycom.io/topic/3142/firmware-upgrade-tool-for-the-sequans-monarch-sqn3330
Thanks a lot.
-
I successfully managed to upgrade my FiPy. I don't have any GPy but I have custom board with G01 ready. I am not able to try the upgrade, because there is no SD card slot on that board. About 10 days ago Daniel wrote me that they are working on scripts for upgrade through serial interface.
There was no new firmware release for about a month already. I just hope that there is not any hardware flaw in boards equipped with Sequans LTE modem.
-
Hi everyone,
Is there a reason why sequans cellular radio is not upgraded with the gpy last firmware?
I ask this as the sequans upgrade method never work with our 3 gpy. ( Issue created on https://pycomiot.atlassian.net/servicedesk/ but no answer for now ).
We waited months for the sequans upgrade so we could use Nb-IOT and progress in our R&D but now we're stucked with 3 pycom we can not use anymore...
Is it normal people have so much problems with this upgrade?
Thanks in advance
-
@flo242
Please note the modem firmware update process takes quite some time to complete - possibly over the 5 minute mark.Please let it do it's thing. Unfortunately its hard to tell what's the state of your modem now without running some diagnostics through the test points.
-
@tealbrains Since I ran out of other options I even tried Safe-Boot but as expected it didn't revive the bricked modem (the FiPy itself works without any problem).
-
@flo242 Have you tried a "safe boot"?
-
I seem to have run into an unrecoverable problem while trying to upgrade the modem with the latest CAT-M1 firmware (it had the stock firmware, no previous upgrade yet). I wanted to try NB-IoT, so I followed the instructions to first upgrade to the latest CAT-M1 firmware before flashing the NB-IoT firmware. I was using Pysense (firmware pysense_0.0.8.dfu) and FiPy (firmware 1.17.3.b1), connected via serial. No SIM card was inserted, because in my first try it caused the modem to not accept the initial AT+SMSWBOOT=3,0 command to enter the recovery mode.
>>> import sqnsupgrade >>> sqnsupgrade.run('/sd/FIPY_GPY_CATM1_33988.dup', 921600) <<< Welcome to the SQN3330 firmware updater >>> Entering recovery mode Resetting.. .. Starting STP (DO NOT DISCONNECT POWER!!!) STP started Session opened: version 1, max transfer 8192 bytes Sending 5665583 bytes: [########################################] 100% Code download done, returning to user mode Resetting (DO NOT DISCONNECT POWER!!!). ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/flash/lib/sqnsupgrade.py", line 129, in run File "/flash/lib/sqnsupgrade.py", line 59, in wait_for_modem KeyboardInterrupt: >>> >>> from network import LTE >>> lte = LTE() >>> lte.send_at_cmd('AT') ''
After waiting almost 5 minutes there was no hope that it would ever finish, and after CTRL-C the modem didn't reply anymore. After a hard-reset I also can no longer create an LTE object, it just sits there forever. Obviously I am unable to retry the firmware upgrade since the modem doesn't respond anymore, what other options are left?
Thanks in advance!
-
@kevin Thanks, that fixed it.
-
2 cents worth, used fileZilla and had a similar problem trying to transfer the upgrade ~5.4mb file. Would only transfer 786432 bytes (20 seconds ish) before timing out and closing the connection. So wrote part file only! - Fix for me was to mount card-folder (/sd) using script via serial REPL console, then use fileZilla (via wifi connection) to write entire 5.4mb file (to /sd path).
---- Script I used ----
from machine import SD
import os
import time
import gcsd = SD()
os.mount(sd, '/sd')#check the content
os.listdir('/sd')#found this helps with NOT SHUTTING down Link after 20-30 Seconds, used filezilla while this was running to upload file
xx = 1
while xx < 40:
print('Going to sleep')
time.sleep(5) # in seconds
print('waking up')
print(str(xx))
xx += 1os.unmount('/sd')
gc.collect()
-
@cssmacs01 Still looks like you got something odd happening there but interesting that it states your version to be the latest... Guess this is one for the @administrators to comment on.
-
@nathanh You think I'm good?
-
@nathanh Yes sir! For so much of my night I wasn't able to mount the SD, so that's why I went that route. I just finally mounted and it's transferring 5.5megs. Cross fingers!