# \[WP7702\] Can't go in ULPM Mode

**URL:** <https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030>\
**Category:** mangOH Yellow\
**Created:** [June 28, 2022, 2:22pm UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030 "2022-06-28T14:22:00Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeremylaharotte](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@jeremylaharotte](https://mangoh.discourse.group/u/jeremylaharotte)\
**Post date:** [June 28, 2022, 2:22pm UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030/1 "2022-06-28T14:22:00Z")

</div>

Hello,

We are currently using MangOH Yellow cards with a WP7702 chip.

Some of our systems in the field have encountered a problem.  
They no longer go into ULPM mode.

![image](https://us1.discourse-cdn.com/flex016/uploads/mangoh/original/2X/0/0c669b6ebc0c4f47945b9da32f7d2fcf1da0d158.png)

We use the latest image of the MangOH Yellow software provided by the MangOH website: 0.7.0

With a slight modification of the Mango firmware: Modification of the accelerometer driver  
And modification of the Yocto: Modification of the curl package + addition of python library

Method to switch to ULPM mode:  
We use a Legato application in C

Code :

> //Réveil sur Timer  
> le\_ulpm\_BootOnTimer(TimeULPM);  
> //Réveil sur ADC  
> le\_ulpm\_BootOnAdc(2,100,500,1799);  
> if (le\_ulpm\_ShutDown() == LE\_OK){  
> sleep(5);  
> FILE \*fp = popen(“echo -e 'at+cpsms=0\r\n’ \> /dev/ttyAT”,“r”);  
> pclose(fp);  
> }

We have never encountered this problem in the office so far.  
As the systems are currently in the field, I cannot provide more logs.

Has anyone encountered this problem before?

Thank,  
Jérémy

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea2.discourse-cdn.com/flex016/user_avatar/mangoh.discourse.group/jyijyi/32/997_2.png) [@jyijyi](https://mangoh.discourse.group/u/jyijyi)\
**Post date:** [June 28, 2022, 4:16pm UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030/2 "2022-06-28T16:16:16Z")

</div>

How is the reproducibility?  
Not sure if there is same problem with at!powermode command.

---

<div class="post-metadata">

**Author:** ![jeremylaharotte](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@jeremylaharotte](https://mangoh.discourse.group/u/jeremylaharotte)\
**Post date:** [June 29, 2022, 3:53pm UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030/3 "2022-06-29T15:53:12Z")

</div>

Hi,

Our system wakes up every 15 minutes. It retrieves some data from an external sensor and switches back to ULPM mode. And every hour, it sends a file with the data by FTP. The system has been in the field for a month and has had no issues until this week.

We’ve restarted some systems at the office in hopes of reproducing the error, but this is an issue we hadn’t previously detected in our testing.

Thank,  
Jérémy

---

<div class="post-metadata">

**Author:** ![jeremylaharotte](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@jeremylaharotte](https://mangoh.discourse.group/u/jeremylaharotte)\
**Post date:** [October 27, 2022, 8:50am UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030/4 "2022-10-27T08:50:06Z")

</div>

Hi

We have retrieved our faulty systems from the field.

The problem for the ULPM seems to be an I2C communication issue between the CPU and the MCU.

Some of the logs we were able to extract from our systems :

> Sep 14 13:49:59 swi-mdm9x28-wp user.info kernel: [424.710009] swimcu\_set\_fault\_mask: 0x1, cnt 41  
> Sep 14 13:49:59 swi-mdm9x28-wp user.err kernel: [424.710789] Failed to send request c2 (-105)  
> Sep 14 13:49:59 swi-mdm9x28-wp user.err kernel: [424.714445] MCU Protocol Command 0xC2 failed, retry=8  
> Sep 14 13:50:00 swi-mdm9x28-wp user.err kernel: [425.220641] i2c-msm-v2 78b8000.i2c: BUS ERROR:noisy bus/unexpected start/stop tag: msgs(n:1 cur:0 tx) bc(rx:0 tx:18) mode:FIFO slv\_addr:0x3a MSTR\_STS:0x041121c4 OPER:0x00000080  
> Sep 14 13:50:00 swi-mdm9x28-wp user.err kernel: [425.262493] i2c-msm-v2 78b8000.i2c: error timeout on polling for valid state. check core\_clk  
> Sep 14 13:50:00 swi-mdm9x28-wp user.err kernel: [425.271767] i2c-msm-v2 78b8000.i2c: BUS ERROR:noisy bus/unexpected start/stop tag: msgs(n:1 cur:0 tx) bc(rx:0 tx:18) mode:FIFO slv\_addr:0x3a MSTR\_STS:0x041121c4 OPER:0x00000080  
> Sep 14 13:50:00 swi-mdm9x28-wp user.err kernel: [425.313448] i2c-msm-v2 78b8000.i2c: error timeout on polling for valid state. check core\_clk  
> Sep 14 13:50:00 swi-mdm9x28-wp user.err kernel: [425.322764] i2c-msm-v2 78b8000.i2c: BUS ERROR:noisy bus/unexpected start/stop tag: msgs(n:1 cur:0 tx) bc(rx:0 tx:18) mode:FIFO slv\_addr:0x3a MSTR\_STS:0x041121c4 OPER:0x00000080  
> Sep 14 13:50:00 swi-mdm9x28-wp user.err kernel: [425.364812] i2c-msm-v2 78b8000.i2c: error timeout on polling for valid state. check core\_clk  
> Sep 14 13:50:00 swi-mdm9x28-wp user.err kernel: [425.374132] i2c-msm-v2 78b8000.i2c: BUS ERROR:noisy bus/unexpected start/stop tag: msgs(n:1 cur:0 tx) bc(rx:0 tx:18) mode:FIFO slv\_addr:0x3a MSTR\_STS:0x041121c4 OPER:0x00000080  
> Sep 14 13:50:00 swi-mdm9x28-wp user.err kernel: [425.415565] i2c-msm-v2 78b8000.i2c: error timeout on polling for valid state. check core\_clk  
> Sep 14 13:50:00 swi-mdm9x28-wp user.err kernel: [425.424878] i2c-msm-v2 78b8000.i2c: BUS ERROR:noisy bus/unexpected start/stop tag: msgs(n:1 cur:0 tx) bc(rx:0 tx:18) mode:FIFO slv\_addr:0x3a MSTR\_STS:0x041121c4 OPER:0x00000080  
> Sep 14 13:50:00 swi-mdm9x28-wp user.err kernel: [425.466505] i2c-msm-v2 78b8000.i2c: error timeout on polling for valid state. check core\_clk  
> Sep 14 13:50:00 swi-mdm9x28-wp user.err kernel: [425.475874] i2c-msm-v2 78b8000.i2c: BUS ERROR:noisy bus/unexpected start/stop tag: msgs(n:1 cur:0 tx) bc(rx:0 tx:18) mode:FIFO slv\_addr:0x3a MSTR\_STS:0x041121c4 OPER:0x00000080  
> Sep 14 13:50:00 swi-mdm9x28-wp user.err kernel: [425.517562] i2c-msm-v2 78b8000.i2c: error timeout on polling for valid state. check core\_clk  
> Sep 14 13:50:00 swi-mdm9x28-wp user.err kernel: [425.525141] mci\_protocol\_frame\_send: write frame fail to I2C: -5 of 18

Our problem seems to be similar to:

 ![image](https://us1.discourse-cdn.com/flex016/uploads/mangoh/original/2X/b/b84b7ac91afcd9e569f8eca2216bc0e1b31e6016.jpeg)

But we use the version : 002.014.

Has anyone encountered the same problem before ? And if so what was your solution?

Thank,  
Jérémy

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea2.discourse-cdn.com/flex016/user_avatar/mangoh.discourse.group/jyijyi/32/997_2.png) [@jyijyi](https://mangoh.discourse.group/u/jyijyi)\
**Post date:** [October 27, 2022, 9:04am UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030/5 "2022-10-27T09:04:31Z")

</div>

Can you use at!powermode to force module back to sleep mode?

---

<div class="post-metadata">

**Author:** ![jeremylaharotte](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@jeremylaharotte](https://mangoh.discourse.group/u/jeremylaharotte)\
**Post date:** [October 27, 2022, 9:13am UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030/6 "2022-10-27T09:13:30Z")

</div>

Hi ,

I forgot one detail:  
If I can’t go to ULPM the system restarts: my application does: reboot -f after a while but the problem persists. It seems the solution is to do a hardware reboot (interrupt ON/OFF) and after that the system can switch to ULPM mode but I can’t do that when the system is in the field.

Thank,  
Jérémy

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea2.discourse-cdn.com/flex016/user_avatar/mangoh.discourse.group/jyijyi/32/997_2.png) [@jyijyi](https://mangoh.discourse.group/u/jyijyi)\
**Post date:** [October 27, 2022, 9:19am UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030/7 "2022-10-27T09:19:49Z")

</div>

after “reboot -f”, do you still see those logread message about I2C communication issue between the CPU and the MCU?

---

<div class="post-metadata">

**Author:** ![jeremylaharotte](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@jeremylaharotte](https://mangoh.discourse.group/u/jeremylaharotte)\
**Post date:** [October 27, 2022, 9:21am UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030/8 "2022-10-27T09:21:57Z")

</div>

Yes, and we can’t go in ULPM.

Jérémy

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea2.discourse-cdn.com/flex016/user_avatar/mangoh.discourse.group/jyijyi/32/997_2.png) [@jyijyi](https://mangoh.discourse.group/u/jyijyi)\
**Post date:** [October 27, 2022, 9:25am UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030/9 "2022-10-27T09:25:39Z")

</div>

Are you able to upgrade the FW and see if problem still happened in these SDK?

```auto

 swi-wp77_5.0.1 │ SDK for WP77 (Release 14.1 + Legato 19.11.5) │ wp77xx,stable │
│ swi-wp77_5.0.2 │ SDK for WP77 (Release 14.1 + Legato 19.11.6) │ wp77xx,dev │
│ swi-wp77_6.0.0.beta │ SDK for WP77 (Release 15 + Legato 21.05.0) │ latest,wp77xx,stable

```

---

<div class="post-metadata">

**Author:** ![jeremylaharotte](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@jeremylaharotte](https://mangoh.discourse.group/u/jeremylaharotte)\
**Post date:** [October 27, 2022, 9:36am UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030/10 "2022-10-27T09:36:52Z")

</div>

On some systems we upgraded to swi-wp77\_5.0.1 (MCU 2.015) and one system seems to have this problem but we haven’t gotten the log yet.  
On the previous version the problem did not appear immediately. We have systems that have never had this issue and systems that have had this issue after a week in the field.

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea2.discourse-cdn.com/flex016/user_avatar/mangoh.discourse.group/jyijyi/32/997_2.png) [@jyijyi](https://mangoh.discourse.group/u/jyijyi)\
**Post date:** [October 27, 2022, 9:41am UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030/11 "2022-10-27T09:41:30Z")

</div>

when there is I2C communication issue between the CPU and the MCU, can you check “cm info” and see if the MCU version is missed?

Here says you can reset it until a MCU version is shown:

> **[Using GPIO36-38 on WP7607](https://forum.legato.io/t/using-gpio36-38-on-wp7607/4828/9)**
>
> Yes the missing MCU Version might be a clue. Found another gateway prototype that did work: root@swi-mdm9x28-wp:~# cm info Device: WP7607-1 IMEI: 359780080485307 IMEISV: 6 ...

> **[MCU Firmware Missing](https://forum.legato.io/t/mcu-firmware-missing/5365/16)**
>
> Dear Kiran, The previous logs have been posted with older firmware’s for newer firmware we are seeing different logs. Both the issues do not seem to be similar. Thanks & Regards, Pankaj Sant

---

<div class="post-metadata">

**Author:** ![jeremylaharotte](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@jeremylaharotte](https://mangoh.discourse.group/u/jeremylaharotte)\
**Post date:** [October 27, 2022, 10:10am UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030/12 "2022-10-27T10:10:09Z")

</div>

Hi,

I don’t have the system with me. As I said in the previous post, I do a reboot if I can’t get into ULPM. But after some time the recovery mechanism is activated and I lose the Legato apps and the file on the system (I will write a new post about this). The log I am posting is from a system we recovered in the field after an I2C problem and before the recovery mechanism.

It’s on this system that I do a hardware reboot (ON/OFF), and I can’t remember if the MCU version was missing.

On a system reboot my app uses: reboot -f, when I don’t have ULPM so every 15 minutes (96 reboots per day) but it seems to only reboot the CPU but not the MCU.  
Is there a software command to restart both?

Jérémy

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea2.discourse-cdn.com/flex016/user_avatar/mangoh.discourse.group/jyijyi/32/997_2.png) [@jyijyi](https://mangoh.discourse.group/u/jyijyi)\
**Post date:** [October 27, 2022, 10:19am UTC](https://mangoh.discourse.group/t/wp7702-cant-go-in-ulpm-mode/10030/13 "2022-10-27T10:19:19Z")

</div>

i am not sure if AT!RESET is equal to “reboot -f”, you might give a try to use AT!RESET and see if it can reset both modem and MCU.  
Another option is to download the FW including MCU FW, I guess it would also reboot the MCU.
