Hi everybody,
I am using Librem 5 for a long time. Since the beginning I experienced unexpected freezes and hard reboots when the phone was tasked with something hard (like accidentally opening unusable Firefox while doing something else). I initially attributed it to low amount of RAM and out-of-memory conditions. Or maybe a faulty MicroSD where I placed an encrypted swap in addition to ZRAM configured by default.
Some time ago a Linux kernel update arrived which dramatically improved performance and made these hard resets much more rare. As mentioned in this post, now the kernel “never to swap out a page that was touched in the last 1 second”. Maybe this nonstop swapping of RAM pages and unswapping them next split second was what triggered these resets.
Nevertheless, I recently still stumbled upon a way to reproducibly trigger hardware reset. I was moving Flatpak installation path to MicroSD card as described here. I started removing apps from “system” “installation” one by one and installing them to a new “installation” on a MicroSD. Each time I started flatpak install ...
there was a hard reset after some work was done.
By the way, the same behavior was also before the kernel update and adding a new flatpak “installation”. But back then I did not pay attention because resets were all the time.
After a few such reboots I created a cgroup, set read and write limits on a block device mounted from MicroSD through the io.max mechanism and started flatpak install ...
again inside this cgroup. I also temporarily disabled swap on the MicroSD. This time it was somewhat long, but if finally completed without hard resets.
Has anyone else experienced something like that? It is long past the warranty period, so I just want to know whether this is a universal problem with Librem 5 or maybe it is just a single device with faulty hardware.
Also, I am not sure whether hard resets are really linked to high IO on MicroSD. Maybe it is a high load on something else. Determining the exact cause will hopefully help me to find out what exactly should I limit to completely avoid unexpected hard resets.
And the last question: Does anyone know how to determine from which hardware batch is my Librem 5? I am still unsure.