PINE64 PinePhone Pro (pine64-pinephonepro)
|
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 The software and version the device was shipped with. |
postmarketOS |
Extended version The most recent supported version from the manufacturer. |
postmarketOS |
| postmarketOS | |
| Category | community |
Pre-built images Whether pre-built images are available from the postmarketOS Installation page. |
no |
Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. |
yes |
pmOS kernel The kernel version that runs on the device's port. |
7.0 |
Unixbench score Unixbench Whetstone/Dhrystone score. See Unixbench. |
2304.8 |
| Device package |
|
| Kernel package |
|
USB Networking After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system). |
Works
|
|---|---|
Battery Whether charging and battery level reporting work. |
Partial
|
Screen Whether the display works; ideally with sleep mode and brightness control. |
Works
|
Touchscreen |
Works
|
| Multimedia | |
3D Acceleration |
Works
|
Audio Audio playback, microphone, headset and buttons. |
Works
|
Camera |
Partial
|
| Connectivity | |
WiFi |
Works
|
Bluetooth |
Works
|
GPS |
Works
|
| Modem | |
Calls |
Partial
|
SMS |
Partial
|
Mobile data |
Works
|
| Miscellaneous | |
FDE Full disk encryption and unlocking with unl0kr. |
Works
|
USB OTG USB On-The-Go or USB-C Role switching. |
Broken
|
HDMI/DP Video and audio output with HDMI or DisplayPort. |
Partial
|
| Sensors | |
Accelerometer Handles automatic screen rotation in many interfaces. |
Works
|
Ambient Light Measures the light level; used for automatic screen dimming in many interfaces. |
Works
|
Proximity |
Works
|
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.
Installing postmarketOS
External storage (microSD card)
To quickly try out postmarketOS, download an image and flash it onto an SD card.
After flashing, remove the SD card from your PC and insert it into the Pinephone Pro. Hold the RE button, press the power button, wait a few moments, then release both buttons. U-boot doesn't give any visual or tactile feedback, but postmarketOS should boot from the SD card after a few seconds.
Internal storage (eMMC)
To install postmarketOS to the internal eMMC, first boot postmarketOS from a microSD card using the method above.
Next, the SPI needs to be wiped. On the Pinephone Pro, run the following:
Install required tools
sudo apk update sudo apk upgrade sudo apk add mtd-utils
erase SPI
cat /proc/mtd sudo flash_eraseall /dev/mtd0
After the SPI has been wiped, postmarketOS can be installed to the eMMC in one of two ways. Once installed to the eMMC, power off the device, remove the SD card, and then hold the power button for a few moments to boot postmarketOS.
Pre-built image
| This must be run on the Pinephone Pro itself, not your PC. |
| Pre-built images do not include full disk encryption. |
Similar to the SD card, download an image and flash it to the eMMC. The eMMC is usually available as `/dev/mmcblk2`, but you should verify this by running `lsblk` on the terminal before writing to it.
pmbootstrap
| This must be run on the Pinephone Pro itself, not your PC. |
If you're comfortable with the command line and/or want features not available on the prebuilt images (like full disk encryption), follow these steps:
Install required tools
sudo apk update sudo apk upgrade sudo apk add pmbootstrap
Initialize pmbootstrap:
pmbootstrap init --shallow-initial-clone
Verify the eMMC device. Typically it's /dev/mmcblk2
lsblk
Then use pmbootstrap to install postmarketOS to the eMMC. This is showcasing full disk encryption.
pmbootstrap install --fde --disk /dev/mmcblk2
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
Note: u-boot is now the default bootloader as Tow-boot is no longer developed. What's the best way to recover from a fully drained battery?
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).
Calls/SMS
Calling and SMS messaging work, however, the phone will not receive them when it is in suspend.
Contributors
Users owning this device
- 0mega (Notes: pmOS 24.12 + Phosh)
- Aleksander (Notes: WWAN stack tinkering)
- Alexander (Notes: Testing)
- Anjanmomi
- Antonroots
- Ariebombarie (Notes: PostmarketOS 12.04 + Phosh)
- Aya
- Breakfastisready (Notes: Also own a keyboard)
- CalcProgrammer1
- Chilledfrogs
- Craftyguy
- 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: Previous daily driver on pmOS, has power issues sadly)
- Flacks
- Fossdd
- Gbhdrew
- Hazardchem (Notes: Explorer Edition)
- Icenowy
- Jacoblightning3 (Notes: Now running pmOS edge/SXMO)
- Joshaspinall (Notes: pmOS Stable)
- Linmob (Notes: Explorer Edition, pmOS)
- LogicalErzor
- Matthewfennell
- Mbohun
- Newbyte (Notes: 1 working, 1 broken)
- Nspmos (Notes: postmarketOS edge/Phosh)
- Ollieparanoid
- Pbryan
- Proycon
- PureTryOut
- QC8086
- Ranny Bergamotte (Notes: Can't get the modem to work))
- Retourmy (Notes: Explorer Edition, Mobian Trixie with Phosh UI, encrypted root file system, thanks to Mobian Recipes, daily driver when I have the possibility to charge it often enough ;))
- 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)
- Yjftsjthsd-g
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.