Usually we can fully rely on our phones to be reachable at any time—given cellular reception of course—and we take that for granted.
You surely know situations in your life where that becomes especially critical. Be it when you’re expecting an important call or when you need to be able to receive “emergency” calls in general. The Librem 5 phone is the primary device for the majority of our team, therefore the stability and reliability for us is equally as important for us as our customers.
The Librem 5 phone is a pretty exceptional device. It’s a general- purpose computer running the same software that laptops run. Plug in a cellular modem into a laptop and you have roughly the same thing in just a different form factor.
One of the hardest things these days is to get a removable cellular modem card that does audio calls in the first place. It’s a tough market full of proprietary hardware and software where licensing requirements inhibit modems from doing audio calling. For the Librem 5 phone we found one but we can really consider ourselves fortunate as it was and will continue to be a supply chain challenge.
And even after we located the modem hardware that does what we desire, it’s quite a long way from successfully testing phone calls to having a device that you can 100% rely on to be reachable at any time – a device that should save power wherever possible – a device that should run free software only and use the latest mainline Linux kernel.
In the Librem 5 phone the modem is connected on an internal USB bus. This has an added benefit of proper hardware isolation for the utmost in security separation from the CPU and memory. It is connected to a USB hub first, and that in turn is connected to the host controller of the SoC.
We see two kind of minor (but meaningful for me) reliability and stability issues with the modem currently:
First, we see USB commands on that path time out that result in the host controller “dying” and thus the modem (and the SD card reader that is connected to the same USB hub) are not available any more. These timeouts are very rare, but yet to be fixed.
Second, we sometimes see the modem “disconnect” 50ms after it went to sleep (it constantly goes to sleep and wakes up again when you use it). That triggers a wakeup event by the hub that fails and Linux resets the USB Port of the modem. For users, that means that the connection is interrupted for a few seconds, but also if that happens during a phone call, the open (Calls) Application can’t control the modem anymore (i.e. hang up) until the App is restarted. Of course for any “live” data stream that “disconnection” is a big problem too.
I use the Librem 5 as my main personal phone. I can’t afford to miss a phone call. For me this is not just nice to have. It’s critically important. Until now I have needed to monitor the described USB connection and get notified in case of a problem and in the worst case reboot the phone.
As part of the kernel team I’ll keep working on these and any issues with stability and reliability until they are fully fixed. I need them to be fixed and it’s surely important for the experience of all our users. We track each and every issue and you can read the code and tracked issues for more details and progress reports. I hope to be able to close this issue soon.
|Librem Mini||In Stock||10 days|
|Librem Servers||In Stock||10 days|
|Librem Key||In Stock||10 days|
|Librem 14||In Stock||10 days|
|Librem 5 USA||In Stock||60 days|
|Librem 5||Currently shipping backlogs||52 weeks|