DFOTA update in BC660K failing

Hello,

I am trying to run the QFOTADL to update the firmware of BC660K-GL.

Basically, I did the following steps:

1 - Build the firmware A (let’s call it firmware_old);
2 - Do some very small change, and then build firmware B (lets call it firmware_new);
3 - Go to https://dfota.quectel.com:8443/
4 - Upload firmware_old and firmware_new
5 - download the delta, which was named by the webite as firmware_old-TO_firmware_new.zip
6 - then I uploaded this zip file into my HTTP Server
7 - Then I ran the command AT+QFOTADL="http://xxx.xxx.xxx:80/firmware_old-TO_firmware_new.zip"

Here are the logs:

AT+QFOTADL="http://xxx.xxx.xxx:80/firmware_old-TO_firmware_new.zip"
OK
+QIND: "FOTA","HTTPSTART"

# [->> then it took about 2 minutes to show the below URC <<-]

+QIND: "FOTA","HTTPEND",12

There was no indication in between about the download progress, as the PDF “DFOTA Application Note”.

I would expect some indication like this about the download: +QIND: "FOTA","DOWNLOADING",x, where x is the percentile progress.

Also, I do not know why it returned the error “12”.

Did I do some wrong step?

Here is my module’s firmware version:

ati
Quectel_Ltd
Quectel_BC660K-GL
Revision: BC660KGLAAR01A04
OK

UPDATE 1:

Yes, the error code 12 means: "Download failed".
But still, it took so long, and I do not know why it fails.
The HTTP Server is publicly available, and I can download the zip file normally.

UPDATE 2:

I used Wireshark to sniff in/out packets, and my firmware keeps sending a “hello” message over UDP (in a specific port), so I can see in Wireshark that I am receiving the “hello” messages.

However, when I ran the AT+QFOTADL="http://xxx.xxx.xxx:80/firmware_old-TO_firmware_new.zip" I do not see any different traffic, only the “hello” message on UDP.

Well, turns out I had some port mapping issue.

Tested on a different port, and it is working.

AT+QFOTADL="http://xxx.xxx.xxx:1883/firmware_old-TO-firmware_new.zip"
OK
+QIND: "FOTA","HTTPSTART"
+QIND: "FOTA","DOWNLOADING",65%
+QIND: "FOTA","DOWNLOADING",100%
+QIND: "FOTA","HTTPEND",0

# [ module restarted ]

yes, you are great! Thank you for sharing!