User:Xad6/Dogfooding:PinePhone

Notes on the preparation and consumption of dog food.

I’ve been using the PinePhone as my daily driver since early 2022, when the cellular networks in the US started to shut down their 3G networks, making my old Android phone unusable for calling. The PinePhone has generally been usable as a cell phone, but I still use the old Android phone for a few things, which I’m slowly migrating away from.

Software I use
Currently using pmOS stable 22.06 SP1 with sxmo (sway), and Biktor’s custom modem firmware. I’ve tried Plasma Mobile and Phosh a little, but I’ve found sxmo to have the lowest number of weird issues that impact usability for my use case.

Switching modem firmware to Biktor’s firmware
In my experience, this firmware is more reliable than the stock firmware. Instructions on how to switch (pretty easily, using fwupd) are here.

Note that you may want to change the volume settings, I've had issues with the call volume being too low (both coming from the microphone and playing through the earpiece). See the "PinePhone" section here.

Mobile data silently stops working after a while
Sometimes the mobile data connection will silently stop working with no indication (at least in sxmo) until you try to use it. This might be this issue.

To work around this, one can restart the connection via NetworkManager whenever this happens. Below is the setup for a cron job that does that daily.

First step is to ensure cron is enabled and running:

sudo rc-service crond start sudo rc-update add crond default Then edit your crontab with  (sudo not required), and add something like the following to the crontab (replace “mobile-data” with the name of your connection, as shown by running  )

0 7 * * * sxmo_rtcwake.sh nmcli connection up mobile-data This should wake up the device at 7:00 every morning, and restart the mobile data connection ( restarts the connection if it’s already up).

Unresolved issues

 * Sometimes pressing the volume-up button causes something on the software level to receive a volume-down button press. Hopefully a hardware issue since replacement volume keys only cost $1 (thanks PINE64 for making replacement parts available!).
 * Sometimes upon unlocking the phone with sxmo, terminal windows will constantly spawn until you press the power button again. Documented in sxmo-tickets#517.
 * Upon termination of most (if not all) calls, including those I don’t pick up, sxmo gives me an error notification saying “We failed to reset call audio”, and sure enough, the main speaker has been switched to the earpiece and not switched back to the phone’s speaker, which I need to manually fix in sxmo’s audio menu. This is a new issue upon updating from pmOS 21.12 to 22.06.
 * This should be fixed by commit 9f5346f0 in sxmo-utils, so it should be available in the next sxmo release.
 * Upon termination of most (if not all) calls, sxmo gives me a notification saying something along the lines of “Failed to hang up the call”. As far as I can tell, the call did actually hang up, and the person on the other end of the call can’t still hear me, but the notification is a bit annoying and an indication that something isn’t working properly. This is not a new issue, I’ve been experiencing this since pmOS 21.12.
 * This should be fixed by commit 858005e6 in sxmo-utils, so it should be available in the next sxmo release.
 * When playing music or using a timer in sxmo, the phone auto-suspends while the music is playing or the timer is running, causing the music to stop playing or the timer to never finish until we manually un-suspend the phone. Kind of annoying, but my workaround has been to just turn off auto-suspend when playing music.
 * Upon boot, the phone’s date will often revert back to 1970, until a network connection is established and the phone can sync time via NTP. Therefore I assume the PinePhone doesn’t have a RTC unit? If not, the ideal behavior would probably be to save the current time to disk upon shutdown, and restore it on boot. That would prevent weird timestamps on things that may be modified after boot but before time synchronization.

udev rule for Biktor’s modem firmware
The ideal settings for modem power management differ for Biktor’s firmware vs. the stock Quectel firmware. See https://github.com/Biktorgj/pinephone_modem_sdk/blob/kirkstone/docs/SETTINGS.md for instructions on setting this up. This fixes the modem sometimes vanishing until you restart eg25-manager.