@reidfo
Quite hopeless!
Today I have used a Fipy (instead of Gpy) and Expansion Board 3.0 (instead of 3.1 that I have used previously) and ended with same result.
Experiencing exactly the same scenario with brand new Fipy module with Expansion board 3.
This time all I have noticed as:
for the very first attempt of Cellular Firmware up-gradation outcome,

>>> import sqnsupgrade >>> sqnsupgrade.run('/sd/CATM1-39529.dup', '/sd/updater.elf') <<< Welcome to the SQN3330 firmware updater [1.2.3] >>> >>> FiPy with firmware version 1.18.2.r2 Attempting AT wakeup... Session opened: version 1, max transfer 8192 bytes Sending 55570 bytes: [########################################] 100% Attempting AT auto-negotiation... ERROR sending AT command... no response? b'' AT auto-negotiation failed! Exiting. Unable to load updater from /sd/updater.elf

It dealt with, transfer 8192 bytes and sends 55570 bytes before crashing.
I can ensure that the updater.elf was in the SD card,

>>> from machine import SD >>> sd = SD() >>> os.mount(sd,'/sd') >>> os.listdir('/sd') ['System Volume Information', 'CATM1-39529.dup', 'updater.elf', 'upgdiff_33080-to-39529.dup', 'upgdiff_38638-to-39529.dup', 'test.txt']

Following on, every other attempts gives the result as,

>>> import sqnsupgrade >>> sqnsupgrade.run('/sd/CATM1-39529.dup', '/sd/updater.elf') <<< Welcome to the SQN3330 firmware updater [1.2.3] >>> >>> FiPy with firmware version 1.18.2.r2 Attempting AT auto-negotiation... Session opened: version 1, max transfer 2048 bytes Sending 429340 bytes: [########################################] 100% Waiting for updater to load...

Waiting for updater to load... that I am dealing with!
Important here that, the transferring byte size is small, 2048 bytes always and sends 429340 bytes. with respect to the very first attempt of transfer 8192 bytes and sends 55570 bytes !

So, what's going on?
What I am missing? Anything, new with the updater.elf that I am downloading is creating such a problem?
How can I erase and clean the Firmware for redoing again?