PINE64 PinePhone Pro (pine64-pinephonepro)
WARNING: At present the PinePhone Pro should be considered a development platform. Don't get one unless you intend to contribute to development! |
A PinePhone Pro running Plasma Mobile | |
Manufacturer | PINE64 |
---|---|
Name | PinePhone Pro |
Codename | pine64-pinephonepro |
Released | 2021 |
Type | handset |
Hardware | |
Chipset | Rockchip RK3399S |
CPU | 4x 1.5 GHz Cortex-A53 & 2x 2Ghz Cortex-A72 |
GPU | Mali-T860 MP4 |
Display | 720x1440 IPS |
Storage | 128 GB |
Memory | 4 GB |
Architecture | aarch64 |
Software | |
Original software | postmarketOS |
postmarketOS | |
Category | community |
Pre-built images | yes |
postmarketOS kernel | 6.6.0 |
Unixbench Whet/Dhry score | 2304.8 |
USB Networking |
Works |
---|---|
Internal storage | |
SD card | |
Battery |
Partial |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Works |
Audio |
Works |
Camera |
Partial |
Camera Flash | |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
GPS |
Works |
Modem | |
Calls |
Works |
SMS |
Works |
Mobile data |
Works |
Miscellaneous | |
FDE |
Works |
USB OTG |
Broken |
HDMI/DP | |
Sensors | |
Accelerometer |
Works |
Magnetometer | |
Ambient Light |
Works |
Proximity |
Works |
Hall Effect | |
Haptics | |
Barometer | |
The PinePhone Pro is the second version of the PinePhone, adding in an rk3399 SoC just like the other Pro-series products from PINE64. If you have a Developer Edition, make sure to read PINE64 PinePhone Pro Development.
Contributors
Users owning this device
- Aleksander (Notes: WWAN stack tinkering)
- Anjanmomi
- Antonroots
- Aya
- Breakfastisready (Notes: Also own a keyboard)
- CalcProgrammer1
- Czarkoff
- Danct12
- DanSman (Notes: pmOS (v24.06) UI: plasma-mobile)
- Dragon788 (Notes: have one of these running the multi-OS test image from uSD that I update periodically, intend to evaluate as an alternative to the Planet Computers devices but the Pine keyboard isn't quite as nice as the Gemini/Cosmo)
- EspiDev (Notes: Main development device)
- Ethical haquer (Notes: Daily driver, phosh, edge)
- Flacks
- Fossdd (Notes: edge: experimental device for testing purposes)
- Gbhdrew
- Icenowy
- Joshaspinall
- Linmob (Notes: Explorer Edition, pmOS v23.12, Sxmo with Keyboard accessory - daily driver (no calls on that number, though ;-))
- Newbyte (Notes: 1 working, 1 broken)
- Ollieparanoid
- Pbryan
- Proycon
- PureTryOut
- QC8086
- Retourmy (Notes: Explorer Edition, mobian with Phosh UI)
- Robert.mader (Notes: Development / Testing)
- Sado1 (Notes: plus keyboard addon)
- Techwizz (Notes: It was too tempting)
- Weissnix4711
- Wilsonjholmes (Notes: Just Learning)
- Yifei (Notes: mobian dev platform)
Installing Tow-Boot on the SPI
Since 2022-03, the supported way to run postmarketOS on the PinePhone Pro is with Tow-Boot flashed to the SPI. See this post for reasoning. Once installed, the plan is to upgrade Tow-Boot from within postmarketOS (and other distributions) through fwupd, though that is not yet implemented.
Explorer Edition / Development Edition
While we expect that future revisions of the PinePhone Pro will come with Tow-Boot pre-installed, you will need to install it yourself for the Explorer Edition and Development Edition.
Download the latest Tow-Boot release for the PinePhone Pro from the releases page, then follow the "Installing to SPI" instructions in the official manual.
If you have the Developer Edition, one way to get it to boot from SD card in order to install Tow-Boot is nuking the factory AOSP installation.
Installing postmarketOS
WARNING: No matter which installation method you pick below, you must install Tow-Boot to the SPI first! Otherwise you may render your phone unbootable. |
Releases before v23.12 had installer images. We were planning to bring them back with ondev2, but this idea has since changed. See this milestone. |
Installing pmOS to eMMC and SD at the same time is currently not supported, see pmaports#1531. |
Without encryption
External storage (microSD card)
To quickly try out postmarketOS, download an image and flash it onto an SD card.
After that, unplug the microSD card from your PC, put it in your PinePhone Pro. Turn it on, and wait until Tow-Boot lets the phone vibrate for the first time. Press the volume down button, until shortly after it vibrated for the second time. The LED color will change to aqua, and stay in this color for a few more seconds with a black screen. Then the postmarketOS loading screen should boot up. If the LED is blinking, then boot from SD failed.
Internal storage (eMMC)
Run lsblk
on your PC to see available storage devices. Connect your PinePhone Pro to your PC with an USB cable. Turn it on, and wait until Tow-Boot lets the phone vibrate for the first time. Press the volume up button, until shortly after it vibrated for the second time. The LED color will change to blue, indicating that it is now in USB Mass Storage mode.
Run lsblk
again and note which device appeared, this is the eMMC of your PinePhone Pro. Now perform the same installation steps as for SD card below, but specify the path to your PinePhone's eMMC as target device (for dd
or pmbootstrap install --fde --sdcard=
). When done, hold the power button for 5 seconds. The PinePhone Pro should reboot into the postmarketOS installation (without pressing a volume button during boot, eMMC is default).
With full disk encryption
WARNING: An installation with FDE currently kernel panics during/just after boot, see pmaports#2916. |
FDE might be broken currently with the PinePhone Pro, see pmaports#1477 for discussion and workarounds. Further investigation and help with fixing welcome. |
Build a custom image with pmbootstrap, using pmbootstrap install --fde
.
Serial console
The PinePhone Pro has the standard PINE64 serial port in the headphone connector, it's activated by the 6th contact on the DIP switch. If the switch is on then the headphone connector is in audio mode, if it's off then it's in UART mode.
The uart is 1500000n8
The pinout for the serial connector on the headphone jack is:
- Tip: RX
- Ring: TX
- Sleeve: GND
The serial connection is 3.3V
You can also buy the debug cable from PINE64 Store. The store cable uses a 4 ring plug, as seen in the PDF, but a 3 ring plug works just as well.
Hardware switches
There's a 6 contact DIP switch on the back of the phone underneath the back cover. The 6 switches are for enabling/disabling hardware components. The switch has tiny numbers 1-6 beneath the contacts, moving the contact up sets that contact on.
# | Off | On |
---|---|---|
1 | Modem disabled | Modem enabled |
2 | Wifi/BT disabled | Wifi/BT enabled |
3 | Microphone disabled | Microphone enabled |
4 | Rear camera disabled | Rear camera enabled |
5 | Front camera disabled | Front camera enabled |
6 | Headphone UART mode | Headphone audio mode |
Expansion port
There is a 2x3 grid of pogo pins on the back of the PinePhone for connecting a back cover with extra hardware like an extended battery case or a keyboard case. The pinout for this connector:
Interrupt | SDA | SCL |
5V / VBUS | VBAT | GND |
The VBUS pin is powered by USB and is 5V. The second power pin is VBAT, which connects to the battery voltage. The I2C and interrupt lines have pull-ups on the phone side. The I2C lines are pulled up to 3V3 by the phone.
Components
Component | Model | Driver |
---|---|---|
Touchscreen | Goodix GT917S | TOUCHSCREEN_GOODIX |
Rear camera | IMX 258 | CONFIG_VIDEO_IMX258 |
Camera flash | Awinic AW3641EDNR | ? |
Front camera | OmniVision OV8858 | ? |
LCD | Himax HX8394 compatible | CONFIG_DRM_PANEL_SITRONIX_ST7703 |
WiFi | Ampak AP6335 | CONFIG_B43_SDIO |
Bluetooth | Ampak AP6335 | ? |
Modem | Quectel EC25-G | USB_NET_QMI_WWAN |
GNSS/GPS | Quectel EC25-G | CONFIG_USB_SERIAL_OPTION |
Notification LED | LED0603RGB | LEDS_GPIO |
Ambient Light and Proximity Sensor | STK3311-A | ? |
Battery fully drained bootloop
When the pinephone pro's battery is fully drained, it will go into a boot loop. If you have not installed tow-boot, follow the instructions on the Pine64 wiki to recover from this battery drained state:
https://wiki.pine64.org/wiki/PinePhone_Pro#The_battery_is_fully_drained
If tow-boot is installed, follow the following procedure to recover from a battery fully drained bootloop:
- Remove any microSD card from the phone
- Remove the battery
- Reinsert the battery
- Plug the phone into power charger while holding volume up
The phone will have a blue led lit and is charging. Leave the phone charging overnight.
Camera
Both cameras work with Snapshot/GNOME Camera (packaged in Alpine), and Megapixels 2.x (Not currently released). Unfortunately, the back camera stops working after first suspend currently.
See also
- pmaports!2870: pine64-pinephonepro: switch to UEFI booting
- pine64-pinephonepro camera debugging
- Install postmarketOS on a single or mutiple distribution enviroment, rk2aw pre-loader, and U-Boot bootloaders. More info on Multi-distribution image
- pinephone_modem_sdk, a project to build custom firmware images for the modem.