RC7620 doesn't start after power failure

Hello,

I have a lot of RC7620 who don’t start anymore due to some power failure in our system.

I have try to update with mangoH Yellow and i have this:

FDT version: 2.1.2303.0
Awaiting adapter …
Firmware download failed
Primary error code: 14 - No MBN adapter available.

And this with minicom:

Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.BF.3.1.4-00032
S - IMAGE_VARIANT_STRING=LAATNNAZA
S - OEM_IMAGE_VERSION_STRING=SWI9X07H_00.09.10.00 85890e jenkins 2023/09/25 04
S - Boot Config, 0x000002e1
B - 1216 - PBL, Start
B - 3723 - bootable_media_detect_entry, Start
B - 4375 - bootable_media_detect_success, Start
B - 4379 - elf_loader_entry, Start
B - 6530 - auth_hash_seg_entry, Start
B - 30537 - auth_hash_seg_exit, Start
B - 81890 - elf_segs_hash_verify_entry, Start
B - 129910 - PBL, End
B - 129926 - SBL1, Start (MPM timestamp = 138317)
B - 194223 - pm_device_init, Start
B - 214640 - PM_SET_VAL:Skip
D - 18617 - pm_device_init, Delta
B - 215986 - boot_config_data_table_init, Start
D - 6 - boot_config_data_table_init, Delta - (0 Bytes)
B - 224753 - CDT version:3,Platform ID:8,Major ID:1,Minor ID:0,Subtype:129
B - 231664 - sbl1_ddr_set_params, Start
B - 235405 - Pre_DDR_clock_init, Start
D - 230 - Pre_DDR_clock_init, Delta
D - 0 - sbl1_ddr_set_params, Delta
B - 248215 - pm_driver_init, Start
D - 4561 - pm_driver_init, Delta
B - 254565 - cpr_init, Start
D - 100 - cpr_init, Delta
B - 259048 - cpr_cx_mx_apc_vol_update, Start
D - 80 - cpr_cx_mx_apc_vol_update, Delta
B - 274294 - clock_init, Start
D - 150 - clock_init, Delta
B - 274509 - boot_flash_init, Start
D - 26158 - boot_flash_init, Delta
B - 304598 - boot_flash_swi_ddr_init, Start
D - 3411 - Segments hash check
D - 32063 - boot_flash_swi_ddr_init, Delta
B - 436664 - hw_family:6, hw_type:4, hw_rev:0
B - 437252 - nv_swinv_filename_build 66081
B - 441043 - ssmem region 1 crc check failed:d63956ef != d0eea29b
B - 444991 - SSMEM framework version check failed
B - 449730 - SSMEM bad, reinit
B - 453765 - SSMEM init OK
B - 459710 - DEBUG OU: 0000000000000002
B - 459769 - DEBUG OU - setting: 2
B - 462535 - is_memory_dump_allowed (0) in this secure module
B - 468375 - ssmem_get: region 18 not exists
B - 472574 - cannot get SSMEM fwupdate region
B - 476993 - nv_swinv_filename_build 65653
B - 481679 - item 65653: file does not exist: /swinv/item_files/PRODUCT_NAE
B - 488261 - nv_swinv_filename_build 65543
B - 493473 - nv_swinv_filename_build 65541
B - 497606 - nv_swinv_filename_build 65542
B - 501779 - nv_swinv_filename_build 65546
B - 505032 - item 65546: file does not exist: /swinv/item_files/USB_REMOTEP
B - 512417 - nv_swinv_filename_build 65549
B - 516740 - item 65549: file does not exist: /swinv/item_files/USB_MAX_SEZ
B - 523926 - nv_swinv_filename_build 65548
B - 528247 - item 65548: file does not exist: /swinv/item_files/USB_MTU
B - 534636 - nv_swinv_filename_build 65550
B - 539055 - item 65550: file does not exist: /swinv/item_files/USB_IDMORPN
B - 546079 - nv_swinv_filename_build 65544
B - 551232 - nv_swinv_filename_build 65545
B - 554568 - item 65545: file does not exist: /swinv/item_files/USB_COMP_2D
B - 561409 - nv_swinv_filename_build 65744
B - 567234 - nv_swinv_filename_build 65552
B - 570979 - nv_swinv_filename_build 65538
B - 574739 - nv_swinv_filename_build 65539
B - 578978 - USB non-zero endpoint requirements: 7 in, 4 out
B - 583645 - nv_swinv_filename_build 66042
B - 589592 - opening partition 0:SLOT_0
B - 591960 - error for readpage:0
B - 594931 - no meta data:didn’t write

B - 598687 - Program mode 0
B - 2603890 - SVC PIN detected
B - 2604454 - DWL-get: ecnt=0 code=7
B - 2610898 - API change: date not generated by cwe_header_init
B - 2616081 - nv_swinv_filename_build 65726
B - 2616443 - Failed to read size: /swinv/item_files/CUST_IM_SWITCH_HIDE
B - 2621208 - nv_swinv_filename_build 65664
B - 2626614 - nv_swinv_filename_build 65562
B - 2630732 - nv_swinv_filename_build 65553
B - 2634957 - nv_swinv_filename_build 65902
B - 2638114 - Failed to read size: /swinv/item_files/FOTA_PARTITION
B - 2643957 - nv_swinv_filename_build 65727
B - 2648544 - Failed to read size: /swinv/item_files/CUST_IM_CONFIG
B - 2654384 - nv_swinv_filename_build 66018
B - 2661755 - nv_swinv_filename_build 65683
B - 2664714 - flags: u=1 e=1 obmsk=c,0
B - 2666307 - nv_swinv_filename_build 65994
B - 2671949 - ssmem_get: region 21 not exists
B - 2675294 - nv_swinv_filename_build 65999
B - 2680100 - nv_swinv_filename_build 66034
B - 2684184 - nv_swinv_filename_build 65684
B - 2688332 - nv_swinv_filename_build 66001
B - 2692954 - sec_oem_keys_flash_read, RoT_get: cannot open partition
B - 2697793 - ssmem_release: region 20 not exists
B - 2702360 - ssmem_get: region 20 not exists
B - 2706674 - nv_swinv_filename_build 65994
B - 2712918 - smart recovery counter cleared
B - 2714870 - DWL-ety: rea=1 rcv=0
B - 2718659 - nv_swinv_filename_build 65542
B - 3150616 - Sahara over USB
B - 3150671 - nv_swinv_filename_build 66061

Did you think we can do something ?

you can try to trigger the TP1 (Boot Pin) and kick the module to download mode
after power cycle, you should see there is one DM port.
Then you can try with fdt2.exe tool to download firmware and see if it can be recovered.

Before doing this test, you need to test with a workable module to make sure your environment is OK to perform this operation.

Hello,

Thanks for the answer.
See the test :

FDT version: 2.0.2012.0
Awaiting suitable port or adapter …
Switching to streaming mode …
Downloading images …
Writing image C:\Module 3G-4G\Bin\x64\release\rc.spk /
Flashing image /
Enabling selective suspend …
Awaiting adapter …
Firmware download failed.
Primary error code: 14 - No MBN adapter available.
Secondary error code: 0 - Not applicable.
Device error code: 0x0 - Unknown device error code.

Preexisting images information:
Current:
Firmware:
ImageId:
BuildId:
Configuration:
ImageId:
BuildId:
Final images information:
Current:
Firmware:
ImageId:
BuildId:
Configuration:
ImageId:
BuildId:

OEM PRI:

IMEI:

Total time elapsed: 351609 ms.

Images downloaded:
Image ID: 001.164_000
Build ID: 00.09.10.00_GENERIC
write time: 14593 ms
additional flash time: 91860 ms

Time to reset to application mode: -1 ms.

Press Enter to continue …

As you have trigger TP1 boot pin, after reboot, it will stay in the DM only mode which is a download mode.
I believe you will see this in a OK module, right?

What if now you put the TP1 pin back to normal?

When i turn back the TP1 pin, i have the same issue.
the module restart every time (only green LED)

have you tried the same step in a OK module?

This can to make sure your environment is OK to perform this operation

Yes and it’s working fine

so is that all faulty modules cannot be recovered with this method?

Exactly i have approximatively 20 module like this one.

then i have no idea, seems it is damaged.
According to the specification, sudden power off might damage the flash:

Hello,

I also have 20+ RC7620-1 modules which have become “bricked” after power loss. They no longer respond to AT commands.

The user can disconnect external power to my unit at anytime so the software cannot predict when to power-down the module. The problem seems to occur more often after disconnecting power and re-powering again at a different location.

Is there any strategy to reduce this risk of “bricking”.

Should I add larger bulk reservoir capacitance onto VBATT pins or have I chosen the wrong module type/vendor for my application?

Any ideas please?

did you try to add a backup battery and follow the power down sequence?

Thanks for your help. We never had this problem with previous 2G and 3G modules.

There is no user control to switch-off except for a DC power switch or external power removed.

Are you suggesting I must have a battery back up and a detector circuit to trigger when the supply drops?

I would appreciate some more details?

yes, that back up battery can help to comply with the proper power down sequence mentioned in specification

Can I join a back-up battery to the module VBATT and design a supervisor circuit so that when main power has dropped it will assert POWER_ON_N to low over 1s to turn the module OFF ?

You need to make some test on the hardware