[FX30 Cat-M] Modem won't connect after /mnt/userrw/ erasing

Hello,

While doing test of migration between release 9.1 and 14, I erased the /mnt/userrw folder and since that the modem is stuck in (even after several hours):

root@fx30:~# cm radio
Power:                         ON
Current Network Operator:
Current RAT:                   Module not registered on network, RAT not available
Status:                        Not registered and not currently searching for new operator (LE_MRC_REG_NONE)
Signal:                        No signal strength (0)
PS:                            Packet Switched Not registered (LE_MRC_REG_NONE)

We erased the content of the /mnt/userrw because, on one of our test FX30-Cat-M (that was in 9.1) the flash operation to R14 make the modem crash (and so the FX30 restarted). After erasing the userrw contents, the FX30 boot as expected but with this strange problem. In addition, our R14 FW work without any problem on 2 others FX30-Cat-M.

We tried to reflash the default 9.1 FW, the modem firmware itself, multiple time the R14 without success.

How can I repair the modem part?

The antenna and SIM are connected and work properly on other equipment.

Best regards,
Guillaume

What are the followings?

At!entercnd=“A710”
At!selrat?
At!impref?
At!band?
At+cgdcont?
At!gstatus?
At!uims?

Thanks for your help, I found it.
It was the impref that was causing the problem, after calling : at!impref=“AUTO-SIM”

It worked again.

It occur again but this time "AT!IMPREF=“AUTO-SIM” doesn’t help…

Here is the output of the previsouly asked commands:

root@fx30:~# microcom -s 230400 /dev/ttyAT
at!impref?
!IMPREF:
 preferred fw version:    00.00.00.00
 preferred carrier name:  AUTO-SIM
 preferred config name:   AUTO-SIM_000.000_000
 preferred subpri index:  000
 current fw version:      02.36.06.00
 current carrier name:    GENERIC
 current config name:     GENERIC_001.071_001
 current subpri index:    000

OK
At!entercnd=“A710”
ERROR
At!selrat?
!SELRAT: 12, GSM and LTE Only

OK
At!impref?
!IMPREF:
 preferred fw version:    00.00.00.00
 preferred carrier name:  AUTO-SIM
 preferred config name:   AUTO-SIM_000.000_000
 preferred subpri index:  000
 current fw version:      02.36.06.00
 current carrier name:    GENERIC
 current config name:     GENERIC_001.071_001
 current subpri index:    000

OK
At!band?
Index, Name
00, All bands

OK
At+cgdcont?
+CGDCONT: 1,"IPV4V6","em","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0

OK
At!gstatus?
!GSTATUS:
Current Time:  90               Temperature: 29
Modem Mitigate Level: 0         ModemProc Mitigate Level: 0
Reset Counter: 29               Mode:        ONLINE
System mode:   LTE              PS state:    Not attached
IMS reg state: UNKNOWN          IMS mode:    Not Support
IMS Srv State: UNKNOWN SMS,UNKNOWN VoIP
LTE band:      No band          LTE bw:      1.4 MHz
LTE Rx chan:   1                LTE Tx chan:  ---
LTE CA state:  ACTIVE                   LTE Scell band:No band
LTE Scell bw:Unknown            LTE Scell chan: ---
EMM state:     Deregistered     Attach Needed
RRC state:     RRC Idle

PCC RxM RSSI:  0                RSRP (dBm):  0
PCC RxD RSSI:  0                RSRP (dBm):  0
SCC RxM RSSI:  0                RSRP (dBm):  0
SCC RxD RSSI:  0                RSRP (dBm):  0
Tx Power:      --               TAC:         97DC (38876)
RSRQ (dB):     0                Cell ID:     00000003 (3)
SINR (dB):     0

OK
At!uims?
!UIMS: 3,0

OK

root@fx30:~# cm radio
Power:                         ON
Current Network Operator:
Current RAT:                   Module not registered on network, RAT not available
Status:                        Not registered but currently searching for a new operator (LE_MRC_REG_SEARCHING)
Signal:                        No signal strength (0)
PS:                            Packet Switched Not registered (LE_MRC_REG_NONE)

how about "AT!IMPREF=“GENERIC” ?
Is the APN correct?

How about AT!UIMS=0 on sim slot 1?

Both commands returned OK and APN is good (em in my case)

at!impref="GENERIC"
OK

at!uims=0
OK

root@fx30:~# cm data
Index:                         1
APN:                           em
PDP Type:                      IPV4V6
Connected:                     no

Even a reboot after the at!impref=“GENERIC” doesn’t change anything.

At+cpin?
At!uims?
At!gstatus?

At+cpin?
+CPIN: READY

OK
At!uims?
!UIMS: 0

OK
At!gstatus?
!GSTATUS:
Current Time:  549              Temperature: 29
Modem Mitigate Level: 0         ModemProc Mitigate Level: 0
Reset Counter: 31               Mode:        ONLINE
System mode:   LTE              PS state:    Not attached
IMS reg state: UNKNOWN          IMS mode:    Not Support
IMS Srv State: UNKNOWN SMS,UNKNOWN VoIP
LTE band:      No band          LTE bw:      Unknown
LTE Rx chan:   1                LTE Tx chan:  ---
LTE CA state:  ACTIVE                   LTE Scell band:No band
LTE Scell bw:Unknown            LTE Scell chan:       0
EMM state:     Deregistered     Attach Needed
RRC state:     RRC Idle

PCC RxM RSSI:  0                RSRP (dBm):  0
PCC RxD RSSI:  0                RSRP (dBm):  0
SCC RxM RSSI:  0                RSRP (dBm):  0
SCC RxD RSSI:  0                RSRP (dBm):  0
Tx Power:      --               TAC:         0156 (342)
RSRQ (dB):     0                Cell ID:     00000156 (342)
SINR (dB):     0

OK

Is the sim ok to register network?
Is the apn correct?

Yes the SIM and APN are good. The LTE-M/GSM worked well before the transition between R9.1/R14 (forward and backward) and the erasing of /mnt/userrw.

I’m starting to think that the “full” fw is not a real full FW, maybe some parts of the modem configuration/fw has been lost by the fw upgrade/downgrade or the erasing?

I don’t know then, maybe you can copy the /mnt/userrw from other module to this one

I already try that and even with it’s own /mnt/userrw content (that I have backuped before erasing) it doesn’t work.
Could you confirm that the: FX30_WP77xx_full_R14.1.1.002-generic-SWI9X06Y_02.36.06.00.cwe fw reset all modem files/config?

not sure if you can do a NV restore?

at!entercnd=“A710”
OK
at!nvrestore?
!NVRESTORE:
0 Factory
1 Provision
2 unnamed
3 Latest

OK

I type:

at!entercnd="A710"
OK
at!nvrestore?
!NVRESTORE:
0 Factory
1 Provision
3 Latest

OK
at!nvrestore=0
!NVRESTORE:

Items Restored:  1011
Items Deleted:   239
Items Skipped:   3

OK

Then I reboot the box and it get stuck in (from the serial port):

[   15.051717] gbam_connect_work: gbam_connect_work: Bam channel is not ready
[   15.118218] qti_ctrl_queue_notify: qti_ctrl_queue_notify: rmnet ctrl file handler cd516900 is not open
[   15.127363] qti_ctrl_queue_notify: qti_ctrl_queue_notify: rmnet ctrl file handler cd516900 is not openstart_at_cmux_le: UART1_SERVICE = DISABLED
Legato start sequence
start_at_cmux_le: UART1 is NON-AT service, assume DS_MUX daemon over USB
restart_at_uart: NO UART map for AT service
start_at_cmux_le: Done start_at_cmux_le script.
update-ld-cache: Removing stale mount [/etc/ld.so.conf]...
update-ld-cache: Removing stale mount [/etc/ld.so.cache]...
update-ld-cache: Updating ld.so.cache using [/legato/systems/current/lib]...
update-ld-cache: Updating /etc/ld.so.cache ...
[   17.206331] i2c-msm-v2 78b8000.i2c: msm_bus_scale_register_client(mstr-id:86):0xb (ok)
update-ld-cache: Removing stale mount [/etc/ld.so.cache]...
[   19.121014] mdm9607-asoc-snd soc:sound-wm8944: Defering mdm_asoc_machine_probe, q6_state 0
[   19.151460] M-Notify: General: 7
[   19.310916] diag: In diag_send_feature_mask_update, control channel is not open, p: 0, c0fa68d4

So I flashed the FX30 with a .exe (built with the FX30_WP77xx_full_R14.1.1.002-generic-SWI9X06Y_02.36.06.00.cwe). It is also stuck at the same step:

[   14.454134] enable_store: android_usb: already disabled
SOFTAP_W_DUN: Y
Starting diagrebootapp: done
$Starting qcom_time:
starting time-daemon
Starting time_services: done
[   15.076002] gbam_connect_work: gbam_connect_work: Bam channel is not ready
[   15.156946] qti_ctrl_queue_notify: qti_ctrl_queue_notify: rmnet ctrl file handler cd513900 is not open
[   15.165170] qti_ctrl_queue_notify: qti_ctrl_queue_notify: rmnet ctrl file handler cd513900 is not openstart_at_cmux_le: UART1_SERVICE = DISABLED
Legato start sequence
start_at_cmux_le: UART1 is NON-AT service, assume DS_MUX daemon over USB
restart_at_uart: NO UART map for AT service
start_at_cmux_le: Done start_at_cmux_le script.
update-ld-cache: Removing stale mount [/etc/ld.so.conf]...
update-ld-cache: Removing stale mount [/etc/ld.so.cache]...
update-ld-cache: Updating ld.so.cache using [/legato/systems/current/lib]...
update-ld-cache: Updating /etc/ld.so.cache ...
[   17.177896] i2c-msm-v2 78b8000.i2c: msm_bus_scale_register_client(mstr-id:86):0xb (ok)
update-ld-cache: Removing stale mount [/etc/ld.so.cache]...
[   19.173490] mdm9607-asoc-snd soc:sound-wm8944: Defering mdm_asoc_machine_probe, q6_state 0
[   19.204118] M-Notify: General: 7
[   19.371056] diag: In diag_send_feature_mask_update, control channel is not open, p: 0, c0fa68d4
Finished Legato start Sequence

How about swiflash recovery?
how about the pushbutton from factory resetting the device?

I tried both and my FX30 is still stuck in the boot sequence.
Even downgrade to FW9.1 (and force overlay reset) doesn’t help.

If it can help, here is the boot sequence log (from the serial port):

▒▒▒▒▒▒ѱ▒▒▒▒Ɂj▒%E▒E▒
                   R▒+▒W++K▒▒▒

                              j▒▒[10] Qseecom Init Done in Appsbl
[10] secure app region addr=0x87900000 size=0x280000[10] TZ App region notif returned with status:0 addr:87                               900000 size:2621440
[20] TZ App log region register returned with status:0 addr:82675000 size:4096
[30] Qseecom TZ Init Done in Appsbl
[30] ERROR: No devinfo partition found
[30] Neither 'config' nor 'frp' partition found
[40] ERROR: No misc partition found
[1100] SSMEM init OK[1100] ssmem_get: region 20 not exists[1190] DEBUG: cmdline has root=
[1310] Channel alloc freed
[    0.000000] GIC CPU mask not found - kernel will fail to boot.
[    0.000000] GIC CPU mask not found - kernel will fail to boot.
[    0.000000] MPM 1 irq mapping errored -517
[    0.215740] spmi_pmic_arb 200f000.qcom,spmi: PMIC Arb Version-2 0x20010000
[    0.231247] msm_mpm_dev_probe(): Cannot get clk resource for XO: -517
[    0.234404] smd_channel_probe_now: allocation table not initialized
[    0.242143] msm_thermal:msm_thermal_dev_probe Failed reading node=/soc/qcom,msm-thermal, key=qcom,online                               -hotplug-core. err:-517
[    0.270306] msm_mpm_dev_probe(): Cannot get clk resource for XO: -517
[    0.273312] msm_thermal:get_kernel_cluster_info CPU0 topology not initialized.
[    0.274237] cpu cpu0: dev_pm_opp_get_opp_count: device OPP not found (-19)
[    0.274253] msm_thermal:get_cpu_freq_plan_len Error reading CPU0 freq table len. error:-19
[    0.274967] cpu cpu0: dev_pm_opp_get_opp_count: device OPP not found (-19)
[    0.274984] msm_thermal:get_cpu_freq_plan_len Error reading CPU0 freq table len. error:-19
[    0.275000] cpu cpu0: dev_pm_opp_get_opp_count: device OPP not found (-19)
[    0.275013] msm_thermal:get_cpu_freq_plan_len Error reading CPU0 freq table len. error:-19
[    0.369872] AXI: msm_bus_scale_register_client(): msm_bus_scale_register_client: Bus driver not ready.
[    0.371755] AXI: msm_bus_scale_register_client(): msm_bus_scale_register_client: Bus driver not ready.[                                   0.372050] i2c-msm-v2 78b8000.i2c: NACK: slave not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(                               rx:0 tx:2) mode:FIFO slv_addr:0x3a MSTR_STS:0x081343c8 OPER:0x00000090
[    0.420608] swimcu_appl_psm_duration_get: return status 0
[    0.420636] swimcu_pm_rtc_restore: invalid PSM elapsed time: 0
[    0.478178] i2c-msm-v2 78b8000.i2c: NACK: slave not responding, ensure its powered: msgs(n:2 cur:0 tx) b                               c(rx:3 tx:1) mode:FIFO slv_addr:0x22 MSTR_STS:0x091343c8 OPER:0x00000010
[    0.478251] pca953x 4-0022: failed reading register
[    0.479320] i2c-msm-v2 78b8000.i2c: NACK: slave not responding, ensure its powered: msgs(n:2 cur:0 tx) b                               c(rx:2 tx:2) mode:FIFO slv_addr:0x1a MSTR_STS:0x091343c8 OPER:0x00000010
[    0.479391] wm8944 4-001a: Failed to read ID register
[    0.483415] msm_bus_fabric_init_driver
[    0.497922] SWI ssmem_framework_init: SSMEM init OK
[    0.687043] scm_call failed with error code -4
[    0.687063] msm_audio_protect_memory_region: SCM call failed, scm_call_ret -95 tz_resp 0
[    0.692561] uart_tx_gpio is not available
[    0.692583] uart_rx_gpio is not available
[    0.692603] uart_cts_gpio is not available
[    0.692623] uart_rfr_gpio is not available
[    0.693474] AXI: get_pdata(): Error: Client name not found
[    0.693484] AXI: msm_bus_cl_get_pdata(): client has to provide missing entry for successful registration
[    0.693493] msm_serial_hsl_probe: Bus scaling is disabled
[    0.995524] sps: BAM device 0x07984000 is not registered yet.
[    1.045403] unable to find DT imem DLOAD mode node
[    1.049492] unable to find DT imem EDLOAD mode node
[    1.054501] unable to find DT imem dload-type node
[    1.058978] Failed to disable secure wdog debug: -4
[    1.091045] devfreq soc:qcom,cpubw: Couldn't update frequency transition information.
[    1.098078] coresight_event: error registering on panic -38
[    1.104677] sdhci_msm 7864900.sdhci: sdhci_msm_pm_qos_parse_irq: error -22 reading irq cpu
[    1.118242] coresight-tmc 6025000.tmc: failed to get flush cti
[    1.124449] coresight-tmc 6025000.tmc: failed to get reset cti
[    1.187956] mdm9607-asoc-snd soc:sound-wm8944: Defering mdm_asoc_machine_probe, q6_state 0
[    1.210667] mdm9607-asoc-snd soc:sound-wm8944: Defering mdm_asoc_machine_probe, q6_state 0
[    1.218495] wl12xx GPIO: 131
[    1.241264] mdm9607-asoc-snd soc:sound-wm8944: Defering mdm_asoc_machine_probe, q6_state 0
[    1.256401] calculate_residency: residency < 0 for LPM
[    1.260950] mdm9607-asoc-snd soc:sound-wm8944: Defering mdm_asoc_machine_probe, q6_state 0
[    1.280148] parse_cpu_levels: idx 1 420
[    1.282950] calculate_residency: residency < 0 for LPM
[    1.288075] parse_cpu_levels: idx 2 500
[    1.300132] parse_cpu_levels: idx 2 3040
[    1.304065] mdm9607-asoc-snd soc:sound-wm8944: Defering mdm_asoc_machine_probe, q6_state 0
[    1.321289] mdm9607-asoc-snd soc:sound-wm8944: Defering mdm_asoc_machine_probe, q6_state 0
cat: can't open '/sys/class/gpio/gpiochip996/label': No such file or directory
sh: tca6416: unknown operand
cat: can't open '/sys/class/gpio/gpiochip988/label': No such file or directory
sh: tca6424: unknown operand
ima: setting up IMA subsystem...
ima: feature not supported
The proc node does not exist
mount root fs from partition (rootfs|system)
Non-secure.
UBI device number 0, total 120 LEBs (30474240 bytes, 29.1 MiB), available 0 LEBs (0 bytes), LEB size 253952                                bytes (248.0 KiB)
rootfs roothash: 681542d6bab41e8c2f7ddfb6edae36f844b0fb67b38b61a4f789fa7e57e550c1
rootfs: dev '/dev/ubiblock0_0' 'squashfs'
mount /dev/mapper/rt
rootfs: mounting took 0ms
init started: BusyBox v1.24.1 (2019-01-29 10:47:12 PST)
/etc/init.d/rcS: /etc/run.env: line 168: can't create /etc/hostname: Read-only file system
rcS: Executing mount_essential_fs...
rcS: Executing simple_network...
rcS: Executing check_recovery...
/etc/init.d/factory_default_recovery.sh: /etc/run.env: line 168: can't create /etc/hostname: Read-only file                                system
rcS: Executing run_S_scripts...
/etc/rcS.d/S02mount_early: /etc/run.env: line 168: can't create /etc/hostname: Read-only file system
S02mount_early: Executing mount_early_pseudo...
S02mount_early: Executing mount_early_other...
S02mount_early: Executing mount_early_create_dirs...
S02mount_early: Executing yaffs2_kern_supported_init...
S02mount_early: Executing mount_early_user_start...
S02mount_early: RO rootfs fudge allowed.
S02mount_early: User is forcing userapp file system to be ubifs.
S02mount_early: Trying to mount UBIFS on /mnt/flash using [usrquota,grpquota,rw] mount options...
UBI device number 3, total 524 LEBs (133070848 bytes, 126.9 MiB), available 5 LEBs (1269760 bytes, 1.2 MiB)                               , LEB size 253952 bytes (248.0 KiB)
S02mount_early: Performing quota check on file system mounted at /mnt/flash
S02mount_early: UBIFS volume successfully mounted on /mnt/flash
S02mount_early: Executing mount_early_legato_start...
sh: 200: unknown operand
mount Legato from partition lefwkro
S02mount_early: Non-secure.
UBI device number 2, total 35 LEBs (8888320 bytes, 8.5 MiB), available 0 LEBs (0 bytes), LEB size 253952 by                               tes (248.0 KiB)
S02mount_early: SQUASHFS successfully mounted on /mnt/legato
S02mount_early: Executing mount_early_userrw_start...
S02mount_early: Mounting swirw file system as UBIFS
S02mount_early: Trying to mount UBIFS on /mnt/userrw using [usrquota,grpquota,rw] mount options...
UBI device number 4, total 100 LEBs (25395200 bytes, 24.2 MiB), available 2 LEBs (507904 bytes, 496.0 KiB), LEB size 253952 bytes (248.0 KiB)
S02mount_early: Performing quota check on file system mounted at /mnt/userrw
S02mount_early: UBIFS volume successfully mounted on /mnt/userrw
S02mount_early: swirw mounted to /mnt/userrw
/etc/rcS.d/S03confighw.sh: /etc/run.env: line 168: can't create /etc/hostname: Read-only file system
S03confighw.sh: Kernel internal entropy pool filler is available, increasing write_wakeup_threshold to 3072
chown: unknown user messagebus
chgrp: unknown group messagebus
Starting system message bus: start-stop-daemon: unknown user messagebus
dbus.
/etc/rcS.d/S07mount_unionfs: /etc/run.env: line 168: can't create /etc/hostname: Read-only file system
S07mount_unionfs: RO rootfs fudge allowed.
S07mount_unionfs: Overlay over /etc is allowed
Mounting local filesystems...
[    8.971280] UBIFS error (pid: 489): cannot open "ubi0:usrfs", error -19mount: mounting ubi0:usrfs on /usr failed: No such device
sh: 200: unknown operand
mount modem from partition modem
MTD : Detected block device : /firmware for modem

UBI device number 1, total 128 LEBs (32505856 bytes, 31.0 MiB), available 0 LEBs (0 bytes), LEB size 253952 bytes (248.0 KiB)
Initializing random number generator...
Switching to composition sierra_dev (1199:68C0)
[    9.666697] enable_store: android_usb: already disabled
microcom: can't open '/dev/ttyAT': No such device
Configuring network interfaces... [   10.311074] gbam_connect_work: gbam_connect_work: Bam channel is not ready
done.
Starting syslogd/klogd: [   10.395929] qti_ctrl_queue_notify: qti_ctrl_queue_notify: rmnet ctrl file handler cd663780 is not open
[   10.405059] qti_ctrl_queue_notify: qti_ctrl_queue_notify: rmnet ctrl file handler cd663780 is not opendone
Starting diagrebootapp: done
$Starting qcom_time:
starting time-daemon
Starting time_services: ifconfig: SIOCGIFFLAGS: No such device
done
ifconfig: SIOCSIFADDR: No such device
Legato start sequence
start_at_cmux_le: Starting DS_MUX:
start_at_cmux_le: UART1_SERVICE=DISABLED
restart_at_uart: NO UART map for AT service
start_at_cmux_le: DS_MUX daemon on USB
start_at_cmux_le: Done start_at_cmux_le script.
update-ld-cache: Removing stale mount [/etc/ld.so.conf]...
update-ld-cache: Removing stale mount [/etc/ld.so.cache]...
update-ld-cache: Updating ld.so.cache using [/legato/systems/current/lib]...
update-ld-cache: Updating /etc/ld.so.cache ...
[   12.899669] i2c-msm-v2 78b8000.i2c: msm_bus_scale_register_client(mstr-id:86):0xa (ok)
[   12.937683] i2c-msm-v2 78b8000.i2c: NACK: slave not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(rx:0 tx:2) mode:FIFO slv_addr:0x3a MSTR_STS:0x001363c8 OPER:0x00000090
update-ld-cache: Removing stale mount [/etc/ld.so.cache]...
cp: can't stat '/etc/resolv.conf': No such file or directory
[   15.266938] M-Notify: General: 7
mount: mounting /tmp/resolv.conf on /etc/resolv.conf failed: No such file or directory
[   15.314925] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route MM_DL5 -> MultiMedia5 -> TERT_MI2S_RX Audio Mixer
[   15.338790] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route MM_DL8 -> MultiMedia8 -> TERT_MI2S_RX Audio Mixer
[   15.356695] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route INT_FM_TX -> INTERNAL_FM_TX -> SEC_MI2S_RX Port Mixer
[   15.403852] diag: In diag_send_feature_mask_update, control channel is not open, p: 0, c0fe3904
[   15.568060] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for MM_UL28
[   15.586777] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route MultiMedia28 Mixer -> direct -> MM_UL28

Is there any AT command enumerated?

I’m not sure to understand but there are no AT performed in the boot sequence’s log

You can check in device manager

The DM and NMEA ports are in the device manager however, I can’t access to the box (ping doesn’t work on USB and the boot sequence stop before the login prompt on serial