Kirsle.net logo Kirsle.net

Pinephone with a SIM Card

January 18, 2021 by Noah

The state of the apps for Pinephone is looking good enough lately that I could actually consider daily-driving the GNU/Linux smartphone, but how reliable would it be as a phone if I put my T-Mobile SIM card into it?

My main concern was around the deep sleep mode of the Pinephone: to conserve battery life the phone suspends and turns off networking and everything. Would this affect reliable delivery of incoming text messages and phone calls?

As it turns out, everything works well enough except that MMS picture and group messaging is still not ready yet and you might miss surprise phone calls when the phone is sleeping (but you can just call them back later).

What works:

  • Dialing a number works perfectly fine: earpiece speaker and microphone work, audio quality is fine, can dial DTMF tones to navigate phone menus.
  • Incoming calls while the phone is awake (e.g. plugged in to charge) ring the phone right away and the call works as expected. But in deep sleep the phone is slow to wake (I counted 11 seconds!) and you may miss the call. But you'll be notified about your missed calls.
  • SMS text messaging works reliably, sending and receiving, waking the phone up quickly even from deep sleep.
  • 4G data connection for web browsing and apps.
  • 4G Hotspot sharing via Wi-Fi

See the full blog post for my notes and details for the Mobian OS running the Phosh shell and a T-Mobile (US) SIM card. If you have a Pinephone, try it out on your own carrier.

Getting 4G Data Working

Immediately upon booting the phone, the cell modem connected but I didn't have a 4G data connection by default. I just needed to manually enter T-Mobile's APN settings. A quick google brought me to T-Mobile's documentation on that as well as the Pine64 Wiki's page listing APN settings for a lot of carriers.

Settings -> Mobile -> (Advanced): Access Point Names

For T-Mobile I simply added fast.t-mobile.com (username and password left empty) and then I could load web pages in Firefox over the 4G connection.

4G WiFi Hotspot

To share your Pinephone's 4G connection over a WiFi network (WiFi tethering), this requires a one-time setup in the Terminal app and then is easy enough to use from then on.

The Mobian wiki has a page about this. Briefly, for the one-time setup you'll SSH into your Pinephone (or type this in the Terminal app) to create the hotspot for NetworkManager:

sudo nmcli device wifi hotspot ifname wlan0 \
     con-name Hotspot ssid Pinephone  password HotspotPassword

Here, "Hotspot" is the connection name for NetworkManager (I recommend leaving it as Hotspot), "Pinephone" is the WiFi SSID and "HotspotPassword" is its password.

Note: this command immediately activates the hotspot, so may disconnect your SSH session.

pinephone-hotspot.png

When the hotspot is active: you can turn it off from the "Settings -> WiFi" screen easily.

To activate the hotspot later: after the nmcli command above, NetworkManager now remembers the hotspot.

  1. Open the Settings app
  2. Click "WiFi"
  3. Click the "..." menu in the corner and choose "Connect to hidden network"
  4. The "Connection: New" drop-down lists networks your Pinephone remembers. Pick the "Hotspot" one and connect.

Phone Calls

Phone calls should be very reliable if you're the one placing the call from your Pinephone. Voice and audio quality works great in both directions, you can enter DTMF tones to navigate automated menus, and so on.

I googled for a test phone number I could call and found 804-222-1111 which provides an echo service where you can test your microphone and speakers together. Navigating the menu ("press 3 for echo service") worked and quality was as good as I'd expect from any phone, eg. Android.

Receiving a phone call while awake

I used my Google Voice number running on an old Pixel phone to place incoming calls to my Pinephone.

If the phone is awake, e.g. plugged into a charging cable and so deep sleep is disabled, the phone reacts quickly to an incoming phone call. The screen turns on and the incoming call screen is visible within a couple seconds of the other end uplacing the call.

Receiving a phone call while asleep

If the Pinephone was in deep sleep and received an incoming phone call, it didn't wake up and connect very fast. I counted once and it took 11 seconds, other times it slept through the entire ring.

Within seconds of dialing my Pinephone, the sleeping phone:

  • Started blinking its blue Notification LED and screen turned on within 1-2 seconds.
  • The cell and WiFi indicators on the lock screen showed "disconnected" (as they do when awakening from sleep).
  • After the cell indicator connected, the phone began to ring. About 11 seconds in.

You're likely to miss surprise phone calls when the phone is sleeping. If you're expecting a call, keep your phone plugged in to suspend sleep.

Fortunately, you'll get a notification for the missed call and you can see it from the "Recents" tab of the Calls app, so you can just call them back.

SMS Text Messaging

For this test I sent text messages back and forth between Google Voice and my Pinephone to check latency and responsiveness in deep sleep.

SMS messaging works very reliably. Messages were delivered both ways within seconds of being sent, and if the phone is in deep sleep it still reacts as quickly to incoming messages. The blue notification LED begins blinking and the screen powers on (to the lock screen). The phone goes back to sleep shortly if ignored.

Notifications

Notifications with the Chatty app (default SMS app on Mobian) behaved pretty strangely.

  • If I keep the Chatty window open in the background: I do NOT receive notifications about incoming SMS messages. I have to manually switch back to Chatty to see them.
  • But if I close out of the Chatty window, I do receive a notification about the incoming messages. Clicking the notification opens the Chatty conversation.

So, just remember to always close out of Chatty when you're done so you don't miss your SMS notifications!

MMS Messaging

MMS messaging (pictures and group chat ) is not yet working well, but it seems to be coming up on the horizon shortly. Some recent Pine64 forum threads:

Per Mobian's wiki for the Pinephone you can poke and prod at your MMS messages using the ModemManager CLI.

# Find your modem ID with `mmcli -L`
# e.g. mine was:
# /org/freedesktop/ModemManager1/Modem/8 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module
# so modem ID was 8
$ mmcli -L

# List the SMS/MMS messages the modem manager is hanging onto:
$ mmcli -m (modem-id) --messaging-list-sms

# Delete them by their ID numbers from the above.
$ mmcli -m (modem-id) --messaging-delete-sms=(id)

# Save the message to disk.
$ mmcli -m (modem-id) -s (message-id) --create-file-with-data=(filename.bin)

Note: the latter doesn't save the photo sent to you over MMS, but saves a binary file that contains a URL. Using strings filename.bin should find and print this URL, or it can be seen in hex notation via hexcump -C

Attempting to grab this URL returns an authentication error like:

$ curl -I 'https://ttnmmsget.msg.eng.t-mobile.com/mms/wapenc?T=XXXXXXXXXXX'
HTTP/1.1 400 Bad Request
Warning: 299 GBA "Generic Bootstrapping Architecture (3GPP TS 33.220) support is required to access the requested resource"

I saw some hints about using curl --interface wwan0 to download over the 4G modem but to no avail. I had heard people have shell scripts to pull their MMS pictures for AT&T and other carriers, and I gave the jenky MMS script a try. jmms was only able to download the same binary files I got before and it too ran into auth errors.

MMS support seems to be coming soon to natively "just work" in the Chatty app. In the mean time, ModemManager can become "clogged up" with these and you'll need to delete them if you can't find a script to pull them out for you.

Is the Pinephone "daily driver" able?

I say yes! And especially when they get the MMS messages sorted out. I don't receive an awful lot of those, but some day somebody's going to rope me in to an MMS group conversation and I'll get it fragmented across a hundred threads, if I get anything at all.

On the software front, there are a lot of great mobile GNU/Linux apps that provide all my core requirements: password manager, web browser, messenger apps (Telegram official app; Signal clients on the horizon), and the little ones like Calculator, Files, Photos, and so on. I'm already able to spend hours scrolling Twitter and Reddit (via native Linux apps, even!) just like I do on my current main phone.

What is my current daily driver?

I currently use two Android phones: my "main phone" that has a cellular connection is a de-googled Pixel 3 that doesn't have any Google apps or services on it. And I carry around my older "googling phone", a Pixel 1 running the stock Android OS and Google apps.

On my de-googled phone, a lot of Google Play Store apps don't function correctly and I need to rely more on free and open source apps from the F-Droid app store. This works very well -- see my previous blog about Pinephone vs. de-googled Android.

But, my de-googled phone can't cast to Chromecast devices and so I can't easily cast and control YouTube, Netflix or Hulu. And some apps just don't work at all without Google. And so I carry around my older Pixel phone, with stock Android, as my Chromecast controller.

How would I daily a Pinephone?

Similarly: the Pinephone would be my "main phone" with the cell connection and my Pixel 3 would be re-googled to be my new Chromecast remote controller and runner of the odd irreplaceable Android app. With 4G Hotspot Sharing I could give the Android phone data if needed while out and about.

Plus: the Pixel has a good camera and the Pinephone's camera is a potato.

As a "pocket-sized, full-on Linux PC" the Pinephone is already 💯 my dream device I've always wanted. But as a replacement to your typical Android or iOS smartphone: most of your apps won't work and you'll need to find alternatives. Compared to my de-googled Android, the only few Android apps I have that can't be used (well) on Pinephone yet are: Slack, Discord, Venmo (social payments) and a couple messenger apps like Kik. A lot of my friends are on Telegram which already works on Pinephone, tho I'd like to migrate to Signal just as soon as that works on Linux-mobile too.

Until MMS is working reliably, though, the SIM card is going back in my Android.

Tags:

Comments

There are 0 comments on this page. Add yours.

Add a Comment

Used for your Gravatar and optional thread subscription. Privacy policy.
You may format your message using GitHub Flavored Markdown syntax.