Phone restarts several times per hour FP3, e/os 3.2 community

Hey there,
I have an issue with my phone (about since a month, can’t tell exactly when it started).
I am not completely new, but also not an expert :wink:

I have Fairphone 3. I use /e/OS 3.2-a15-20251025540112-community-FP3

The issue is: the phone shows the restart screen (the e with the ball jumping up and down) for about 10-20 seconds about two or three times per hour. Sometimes more, sometimes less. I am not sure if it actually restarts, or does other things. It is just very annoying, because It interrupts me when I listen to podcasts or do other things on the phone. But everything (wifi and mobile network) works fine when phone is on.

As far as I can tell, it did not happen after an update or an installation of a certain app, but I am not 100% sure. What I know is, that I installed an update which was provided in between (e/OS/3.2) and nothing changed, the problem stayed the same as before.

Because I could not find any error message on the phone, I run adb logcat to look into the logs.
However, they are huge, and a bit difficult to make sense of it. I tried with AI to sort things and show me the most striking errors.

Those are the errors I got listed:

  1. Repeated Wi-Fi driver errors (WifiHAL:multiple times per second):

E WifiHAL : Invalid data received from driver
E dpm_run_callback(): wcnss_wlan_suspend_noirq+0x0/0x60 returns -1
E PM : Device a000000.qcom,wcnss-wlan failed to suspend noirq: error -1

2.Suspend/Resume loop

PM : suspend entry / suspend exit … repeated every few seconds
android.system.suspend-service: Unknown/empty wakeup reason

3. Vendor ATFWD Daemon Crash Loop

ATFWD-daemon: libminijail[…] blocked syscall: gettid
I init : Sending signal 9 to service ‘vendor.atfwd’
E init : process with updatable components ‘vendor.atfwd’ exited 4 times in 4 minutes
I flags_health_check: updatable crashing detected, resetting flags

What I tried already:

  • restarting phone in recovery mode: problem did still occur
  • Resetting the network settings on my phone: problem did still occur
  • keeping the phone in airplane mode for about 30 mins: the log changes:
    now this is repeatedly shown:

I init : starting service ‘vendor.atfwd’…
I init : … started service ‘vendor.atfwd’ has pid …
E init : process with updatable components ‘vendor.atfwd’ exited 4 times in 4 minutes

E ATFWD-daemon: libminijail[...] blocked syscall: gettid

I flags_health_check: ServerConfigurableFlagsReset updatable crashing detected, resetting flags.

Now I dont know what would make sense to do next. I would be happy if there would be a way that I won’t have to reset the whole system to factory settings or install the whole phone over again.
any suggestions?

Thanks a lot for the help!

You might check if this continues in Safe mode.

Press Power (off) button > Long press Power off icon > Accept.

If the problem were to stop it would imply that an installed app were responsible. The logs are enormous but perhaps Search with ^F … if you suspect any app it may appear in the log associated with E … can be used in search “space E space” … to look for an error line.

As I see atfwd

At its core, ATFWD stands for Always-On Technology Forwarding. This technology is designed to enhance the user experience by enabling certain functions to run in an always-on state, even when the device is in low-power modes.

… is it a clue?

thanks, I already tried that (called it “recovery mode” above, sorry, wrong term).

Even in safe mode, I see a continuous vendor.atfwd crash loop and flags_health_check reactions.
Also, WifiHal error en the error with ‘vendor.atfwd’ keeps recurring. Just tried it again. However, it reboots a little less often, maybe less going on, so more space to run the errors over and over again? I suspect the reboots to be a result of the normal usage of some apps on top of the above stated errors which make the phone collapse for a short time, does that make sense?

What's ATFWD about?

ATFWD in the Qualcomm context is an AT command forwarder to the modem. Online sources are pretty off the mark. Actually most maintainers got rid of the daemon completely. It’s out of the moto sdm632 common repo, but still in FP3 (same SoC).. maintainer oversight / lag?

I’m unsure if it’s contributing to the resets. You can elevate to adb root and stop the service after boot and observe if it helps stability (enabled adb root). On reboot it will try to start from the init again:
adb root && adb shell stop vendor.atfwd

When I upgraded a FP3 to a15 from a14 mid '25 with /e/ v3.0 it got a bit unstable with sudden reboots. It improved with subsequent versions so didn’t bother me that much. I did collect pstore kernel oops (giving you a reason for the last reboot, needs adb root: adb pull /sys/fs/pstore/)

Those weren’t very conclusive in terms of being the same kernel bug / panic or reproducible so didn’t post those logs yet.

Just for refs this forum stub from Dec '24 and this fp3 reboot gitlab issue from 2022 that is updated with recent logs, see my comments as to what I think is relevant in that users pstore logs (not mine): subsys-restart: Resetting the SoC - modem crashed.

Great, thanks for the suggestion.
I get however only the result:

/sys/fs/pstore/: 0 files pulled, 0 skipped.

so there seem to be no files :frowning:
However I noted the time when the phone restarted. At least for some time. today I took notes for about three hours and within that time it restarted every 5-9 minutes.
looking into the adb logcat textfile of several of that restart moments it says (several times):

11-22 11:57:20.423 588 588 F libc : Unwind request: crash_dump helper failed to exec, or was killed

so that might be the reasons for an empty pstore, right?

you did adb pull on the pstore after (enabling and) running adb root? without it will come up empty.

If restarts happen as often as a 5min interval, the crash_dump fatal is the only suspicious line?

Does that atfwd daemon stop help in stability?

Your quoted line sure is close to the system signaling being unable to produce a stacktrace (unwinding the stack).. but what’s the lines around them?

I guess you have the modem resets as the user in the gitlab thread.

As to my own resets ..

.. (like at most one per day) there are a few reasons, but one coming up more often is dm-verity (devicemapper) enforcing a reboot by policy when it detects corruption. Maybe my system flash is getting weak. If this happens, you’ll see this log line:

reboot: Restarting system with command 'dm-verity device corrupted' and if you check ‘adb shell getprop sys.boot.reason.last’ after reboot it wil read [sys.boot.reason.last]: [reboot,dm-verity_device_corrupted] - you can at least run that last cmd