A few days ago I wrote about getting up and going with your PinePhone. Included in the post were a couple quick fixes for things, like the WiFi. The fix in that post involved a reboot, but today I found one that works without rebooting your phone!

The issue is that the WiFi driver doesn't reload correctly when the SoC is put into suspend mode. I discovered on the postmarketOS WiKi page for the PinePhone that the fix is actually rather simple: just unload and reload the driver manually.

sudo rmmod 8723cs
sudo modprobe 8723cs

The WiFi should the reconnect by itself. It's still rather annoying and the WiFi can die faily often, but this will at least keep you from having to reboot.

I got my PinePhone a few days ago and have been doing a lot of tinkering since then. I've primarily been running UBPorts, but briefly tried Manjaro as well.

UBPorts, to me, feels like the most polished UI and OS in general. However, the PinePhone is still super new and there are plenty of bugs to encounter and work around. I'm going to keep this post brief and just limit it to how you can get started with UBPorts on your PinePhone, and a couple scripts to help keep your software up to day and running as smooth as possible.

Download the Image and Flash an SD Card

  • Download the latest build
    • ubuntu-touch-pinephone.img.gz
  • Using whatever method you want (I reccoment etcher) flash your SD card with your freshly downloaded build. You're going to want to use at least an 8GB card.

Insert your SD Card and Boot your Phone

  • You're going to want to take the back cover off your phone, remove the battery, and insert your SD card. The SD card slot is right on top of the SIM card slot.
  • Put everything back together and hold the power button for a second or two, it should turn on and look like the picture below.

Boot Screen

Initial Setup

  • Select your language
  • (I don't have a SIM card in mine, but set that up)
  • Connect to WiFi (if it disconnects right away, don't worry I have a fix for that later)
  • Select your timezone (this won't work right, but again, fix down below)
  • Enter your preferred name (this does nothing as near as I can tell, but perhaps its supposed to?)

Default Credentials

  • Username: phablet
  • Password: phablet

Change your password

The first thing you should do is change your password. This is done simply with the passwd command. Just open the terminal app (swipe from the left side of the screen to open the app drawer) and run it.

SSH into your pinephone

If your WiFi died already skip to the WiFi section below and run the commands in that script to fix it. If it's still working, hooray!

First, run ifconfig on your PinePhone in the terminal to get your IP Address. Then push your SSH Key to your pinephone:

ssh-copy-id -i ~/.ssh/id_pub phablet@<IP_OF_PINEPHONE>

You should be promped for your password, and then your SSH key will be copied to your phone. Then, you can ssh into your pinephone without having to type in your password:

ssh phablet@<IP_OF_PINEPHONE>

Some commands / Scripts to fix things

The reason I wanted to get you SSH'd into your phone first, is because it's going to be easier to copy/paste this script / command from your computer than your PinePhone. In fact, I haven't been able to get copy/paste working at all on my PinePhone with UBPorts.


The first issue I had was with the WiFi. I connected during the initial setup and it disconnected right away, leaving me wondering if I had broken something. Luckily that wasn't the case, and it's an issue documented in the PinePhone UBPorts Repo.

I have not found a permanant fix yet, but I do have a temporary one to get things working again.

#!/usr/bin/env bash

sudo nmcli radio wifi off && \
sudo nmcli radio wifi on && \
sudo reboot now

Setting the Date/Time

During initial setup you set your timezone, but you've probably noticed that the time isn't correct (unless you live at UTC +0). This issue is also documented. The fix is actually pretty easy. This command is another on that's easier to run from your computer while SSH'd into the PinePhone:

sudo dpkg-reconfigure tzdata

This will open a CLI wizard and take you through setting your timezone. Once you're done, reboot your phone and you should see the correct time displayed in the UI.


The PinePhone, with UBPorts is not ready to be your daily driver. It's getting close, but it's not quite there yet. That said, it's a great start and with your help it's going to get there more quickly. How can you help? I think the best thing you can do is be proactive about reporting bugs you find. You can do so in the PinePhone UBPorts Repo. If you feel comfortable, you can also dive in and help fix the bugs you find.