PinePhone Pro

From PINE64
Revision as of 10:46, 12 April 2022 by Fxc (talk | contribs) (→‎First time setup: reduced size, simplified instructions)
Jump to navigation Jump to search
Rendering of the PinePhone Pro

The PinePhone Pro is PINE64's flagship smartphone announced on October 15, 2021. It features 4GB of RAM, an 128GB eMMC and is using an Rockchip RK3399S SoC, which is a specialized version of the RK3399 made specifically for the PinePhone Pro.

Introduction

The PinePhone Pro is PINE64’s second smartphone and a successor to the original PinePhone. It does not, however, replace the original PinePhone. It should also not be considered a second generation PinePhone; it is a higher-end device, with much better specs, aimed at those who wish to daily-drive a open system stack. Achieving this goal will, however, take time as the software and overall smartphone software ecosystem needs to mature.

More information about the PinePhone Pro can be found on the device main page.

State of the software

Presently the PinePhone Pro Explorer Edition is aimed at Linux developers with an extensive knowledge of embedded systems and/or experience with mobile Linux. It will take time for all the PinePhone Pro’s functionality to reach software parity with the original PinePhone and for mobile operating systems, in more general, to reach a higher degree of maturity.

Bear in mind that the software for these smartphones is still in a very early stage, with most of the software being in alpha or beta state. That's especially also the case for scalability of applications, their availability and practicability, any hardware function implementations and the firmware. The software is provided as is. There is no warranty for the software, not even for merchantability or fitness for a particular purpose.

The following table lists the feature functionality status of the unaltered pre-installed factory image of the current shipping batch and as comparison an up-to-date reference image (no responsibility is accepted for the accuracy of this information, the list is provided and updated by the community). If you have any questions regarding the current state of the software or of specific features working, please don't hesitate to ask in the community chat before buying the device:

The software is written by the community, any contributions towards the community projects are greatly appreciated! Please see "How to Contribute" to learn about how to contribute to the software projects and "Where to Report Bugs" to learn about where to report bugs.
Functionality Component Status (factory)¹ Status (updated)² Notes
Bootloader U-Boot Critical bugs Some critical software bugs currently not fixed yet: A drained battery causes U-Boot to bootloop (cause is known and currently being worked on);Workaround Occasionally the eMMC fails to initializeReport
SPI Unfinished SPI memory is currently empty in the Explorer Edition batch, a corrupted installation on the eMMC has a higher boot priority than a fresh microSD card installation, leading to a involved recovery procedurePlanned
Boot GUI Not implemented Currently there is no graphical boot selection implementedPossibly planned
Operating System Stability Critical bugs WIP The pre-flashed and outdated operating system on the eMMC often gets corrupted after updatingExample
Suspend Not working Experimental Without suspend the phone will drain very fast! Suspend only available in specific more recent imagesNews Audio is often higher pitched after waking up from suspend due to a bugReport
Updates Critical bugs WIP The pre-flashed and outdated operating system on the eMMC often gets corrupted after updatingExample; Pacman database lock preventing updatesSolution; Keyring bug[Solution is to run "pinephonepro-post-install" script as root]
Modem General Critical bugs The modem crashes frequentlyReportReportAlternative firmware; Slow wakeupReport; Some carriers blocking specific TANs in their networkPinePhone Carrier Support; Note: Proprietary firmware
Phone WIP The modem crashes frequently, which can lead to missed callsReportReportAlternative firmware; bad call audio qualityReport;
SMS Working SMS functionality is expected to work. In certain cases the functionality might be blocked by a clogged modemReport; Some bugs
MMS WIP MMS functionality is integrated into the application "Spacebar", some bugs remaining and expected
Push notifications Not implemented Receiving push notifications while the phone is suspended is not implemented
Components LCD Working Under certain circumstances it is difficult to wake up the screen[Citation]
Touch Working
Rear camera Not working WIP Camera works with DTS fix; userspace still needs to do some catching up (see debugging article)
Front camera Not working WIP Camera works with DTS fix; userspace still needs to do some catching up (see debugging article)
Camera flash Working (tested on Manjaro; at /sys/class/leds/white:flash)
WiFi Working WiFi is expected to work. Some remaining tasks, such as "monitor mode". Note: Proprietary firmware
Bluetooth WIP Bluetooth not necessarily working for calls yet due to missing audio routing[Citation]; Bluetooth in general dodgy under Pulseaudio.Info Note: Proprietary firmware
GNSS/GPS WIP aGPS to be implemented[Citation]; long loading times to get a GPS fix[Citation]; No preinstalled application[Citation]
Sensors WIP "3 Axis Magnetometer" (lis3mdl): Not present in hardware (it's an alternative chip to af8133j due to component shortages)

"Geo Magnetic Sensor" (af8133j): Working (tested on Manjaro, at /sys/bus/i2c/devices/4-001c/iio:device1)
"Accelerometer / Gyroscope" (mpu6500): Working (tested on Manjaro, at /sys/bus/i2c/devices/4-0068/iio:device2)
"Ambient light / Proximity" (stk3311): Not working (tested on Manjaro 5.17.6-2 kernel; IRQ issues)

stk3311 dmesg excerpt
[    9.406478] genirq: Failed to request resources for stk3310_event (irq 99) on irqchip rockchip_gpio_irq
[    9.407380] stk3310 3-0048: request irq 99 failed
[    9.408360] stk3310: probe of 3-0048 failed with error -5
Vibration motor Working
Notification LED Working
Buttons Working Power buttons and volume buttons are working.
Accessory compatibility, spare parts Keyboard Add-on WIP and critical hardware issue The keyboard add-on compatibility is work-in-progress. Hardware issue: USB-C port of the phone must not be used while the current keyboard revision is connectedWarning; Top row symbols not implemented as designed[Citation]; Keyboard hot-plugging not supported[Citation]; Battery state not exposed in the pre-flashed operating system state[Citation]; general driver bugs[Citation]
LoRa Add-on Not implemented No software support implemented
Qi Wireless Charging Add-on WIP Wireless charging with the add-on case is expected to work to some degree. Certain software functionality and a driver is currently missing[Citation]
Fingerprint Reader Add-on Not implemented No software support implemented
Spare parts Not available yet Spare parts currently not available yet in the store.Store
Software notes Waydroid Software rendering only Waydroid is an Android container used to run Android applications. Currently can only be started using software rendering due to a bugReportReport

¹ Status of the features at the time of the last factory installation without updates

² Status of the features with an up-to-date reference image

Editions and revisions

Similarly to the original PinePhone, various PinePhone Pro editions are planned, the first of which is the Developer Edition (aimed at developers, as the name entails) followed by the Explorer Edition, which is aimed at early adopters.

Help and support

Still have any questions regarding software, shipping, or ordering after reading this Wiki? Please don't hesitate to contact the community in the bridged community channels for detailed answers or simply to chat with friendly people in the community! See Main Page#Community and Support.

Please keep in mind that PINE64 is not like a regular company (see the PINE64 philosophy) and that support resources are limited - the best way to get support quickly is to ask in the community chat! Please only contact the PINE64 support directly if questions couldn't be solved via the community chat or this wiki.

First time setup

Before the PinePhone Pro is taken into operation, the following points have to be considered:

  • When shipped the battery is isolated from the mainboard contacts using a protective plastic tab, which is required to be removed before using the phone. The battery will not charge until it is removed and some of the device’s functionality may not function properly.
  • The PinePhone Pro's SIM slot only accepts a micro SIM, please do not insert an empty micro SIM adapter or a nano SIM without an adapter into the phone, as the adapter will get stuck on the contact pins and risk breaking them, while the loose nano SIM might short the contacts. The SIM card has to be placed in the lower slot, while the microSD has to be placed in the upper slot. An adapter from a nano to a micro SIM is included in the box.

Software

At the time of the release, in late 2021, the PinePhone Pro is in an early development stage. That said, the device has benefited greatly from work done on the original PinePhone, which means that even early development images feature all core functionality, such as: functional UI, sensors and even the modem (to a degree).

The development is expected to proceed very quickly compared to progress done on the original PinePhone as much of the fundamental work can carry over to the new device. You can follow development efforts on Megi's blog, the dedicated PinePhone Pro Development section as well as on individual project’s Wiki’s and repositories.

Boot order

The PinePhone Pro's internal storage (called eMMC) has a higher boot priority than the microSD card (see boot sequence details for details regarding the boot sequence).

The Explorer Edition comes pre-flashed with an installation of Manjaro (using the Plasma Mobile desktop) on the internal storage. The pre-flashed operating system can be overwritten at any time and it is also possible to wipe the pre-flashed operating system to make the phone boot from a microSD card, please see the installation instructions for the details. The eMMC on the Explorer Edition can be bypassed by holding the RE button underneath the back cover for multiple seconds while booting. Please see the section bypassing the eMMC for details on how to do this.

The Developer Edition, which was an earlier revision intended for development, was coming with an Android factory OS preinstalled. For details regarding how to remove the bootloader and the preinstalled OS of the eMMC for Developer Edition, please see the relevant article. The eMMC on the Developer Edition can be bypassed by shorting two specific contact points, please join the community chat for any questions regarding the process.

Installation instructions

Please ask in the community chat if you have any questions regarding the installation.

As explained in the boot order section, the eMMC has a higher boot priority than the microSD card. On the Explorer Edition the default installation of U-Boot shipped by the factory points to the microSD card when holding the power key at boot. If the default installation was corrupted or overwritten by a differently configured bootloader, the eMMC may have to be bypassed to boot from microSD card and to alter the eMMC contents.

If the battery is fully drained U-Boot might fail to boot any installed operating system on the eMMC and microSD card due to a bug.

If that's the case please start your phone in Maskrom mode and let it charge in that for a few hours. To do that:

  • Remove any microSD card from the phone and keep it removed for the below procedure
  • Remove the battery, any USB cable and any serial cable
  • Reinsert the battery
  • Hold the "RE" button underneath the back cover of your Explorer Edition (or shorting the bypass contact points on the Developer Edition)
  • Connect the phone to an USB port of a computer, while still holding the button for some time
  • Check if the phone in Maskrom mode appears in the output of the Linux command lsusb on the computer
  • Let the phone charge for multiple hours

Note: If the device doesn't appear under lsusb please try again with a different known good USB-C cable make sure that there is no microSD card in the phone inserted.

It can be checked if the battery is charged or not by putting the phone into Maskrom mode and by removing the USB cable for 30 seconds and reinserting it into the computer. If the device reappears under lsusb the battery is not drained and the installed operating system on the eMMC is instead corrupted, in that case please see the following flashing instructions.

Flashing to microSD card

To install an image to the microSD card:

  1. Download your chosen image from PinePhone Pro Software Releases
  2. Extract the compressed file
  3. Write the image to your microSD card using your favorite method, examples:
    • Using dd: On the device you're flashing the microSD card from, find the correct device under lsblk and then flash the image to the microSD card using sudo dd if=pine.img of=/dev/[DEVICE] bs=1M status=progress conv=fsync. Make sure the target is the whole microSD card and not its first partition (sdc1 or mmcblk0p1 are wrong!).
    • Using bmaptool: Make sure to select the correct device using lsblk. Then run bmaptool with the correct device: Download the .img.xz and the .img.bmap files, then run bmaptool copy --bmap image.bmap image.xz /dev/[DEVICE]. This takes around 2.5 minutes to flash a 4 GB file.
    • Using a graphical tool: A graphical tool such as Gnome Disks under Linux or Etcher under Windows may also be used.
  4. Insert the microSD card into the top slot of the phone
  5. Boot the phone. If there is an existing bootloader on the eMMC (the eMMC has a higher boot priority) you need to bypass the eMMC at boot and you can wipe the bootloader from the eMMC to default boot from the microSD card by default in the freshly booted installation.

Flashing to the eMMC

Flashing to the eMMC can be simply done by booting an operating system from the microSD and to flash the eMMC from there:

  1. Boot an operating system from the microSD card. If there is already a bootloader on the eMMC installed see the section bypassing the eMMC to bypass it
  2. Download or copy the new image to the microSD card
  3. Check if the eMMC appears under lsblk. If it doesn't appear there you held the RE button in the eMMC bypass for too long (the eMMC didn't initialize then)
  4. Extract the image
  5. Flash the extracted image using sudo dd if=IMAGE.img of=/dev/mmcblk2 bs=1M status=progress conv=fsync
  6. Reboot the phone

Bypassing the eMMC

The eMMC can always be temporarily bypassed at boot to be able to boot from a microSD card:

On the Explorer Edition hold the RE button underneath the cover for a few seconds, while powering on the device (holding it too long will cause the eMMC to not get initialized after the boot).

On the Developer Edition short the eMMC bypass contacts while booting.

For details see the section boot order.

Wipe U-Boot from the eMMC

To boot from microSD card permanently, one of the methods is to wipe the bootloader from the eMMC. If no bootloader is found on the eMMC, the phone will boot to the microSD card instead. To wipe U-Boot from the microSD card:

  • Boot a GNU/Linux operating system from the microSD card by holding power at boot (or using the above bypass method if the bootloader was altered or the Developer Edition is used)
  • Type lsblk in a terminal on the phone to list the devices
  • Wipe the bootloader using sudo dd if=/dev/zero of=/dev/mmcblk2 seek=64 count=400 conv=fsync

The phone should now default to the microSD card at boot.

If there are any issues please join the bridged community PinePhone channel and explain your issue and what you've tried so far.

Software releases

The PinePhone Pro Software Releases page has a complete list of currently supported phone-optimized operating system images that work with the PinePhone Pro.

Privacy switch configuration

Detail of DIP switch

The PinePhone features six switches that can be used to configure its hardware. They are numbered 1-6, with switch 1 located nearest to the modem. Their "on" position is toward the top of the phone.

Number Name Description
1 Modem "On" enables 2G/3G/4G communication and GNSS hardware, "off" disables it.
2 WiFi / Bluetooth "On" enables WiFi and Bluetooth communication hardware, "off" disables it.
3 Microphone "On" enables audio input from on-board microphones (not 3.5 mm jack), "off" disables it.
4 Rear camera "On" enables the rear camera, "off" disables it.
5 Front camera "On" enables the front camera, "off" disables it.
6 Headphone "On" enables audio input and output via the 3.5 mm audio jack, "off" switches the jack to hardware UART¹ mode.

¹ Note: The baud rate may be 1500000 instead of 115200.

Specifications

  • Dimensions: 160.8 x 76.6 x 11.1mm
  • Weight: Approx. 220g
  • SIM Card: Micro-SIM
  • Display:
    • Size: 6 inches (151mm) diagonal
    • Type: 1440 x 720 in-cell IPS with Gorilla Glass 4™
    • Resolution: 1440x720, 18:9 ratio
  • System on Chip: Rockchip RK3399S 64bit SoC – 2x A72 and 4x A53 CPU cores @ 1.5GHz
  • RAM: 4GB LPDDR4 @ 800MHz
  • Internal Storage: 128GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC
  • Back Camera: 13MP Sony IMX258 with Gorilla Glass 4™ protective layer, LED Flash
  • Front Camera: 8MP, OmniVision OV8858 front-facing camera
  • Sound: Loudspeaker, 3.5mm jack & mic (jack doubles as hardware UART if hardware switch 6 is deactivated)
  • Communication:
    • Modem: Quectel EG25-G
    • LTE-FDD: B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28
    • LTE-TDD: B38, B39, B40, B41
    • WCDMA: B1, B2, B4, B5, B6, B8, B19
    • GSM: B2, B3, B5, B8 (850, 900, 1800, 1900 MHz)
    • WLAN & Bluetooth: Wi-Fi 802.11AC, hotspot capable + Bluetooth V5.0
    • GNSS: GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS
  • Sensors: Accelerometer, gyroscope, proximity, ambient light, compass
  • Privacy switches: Modem, WiFi & Bluetooth, Microphone, Cameras
  • Battery: Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh) (nominally replaceable with any Samsung J7 form-factor battery)
  • I/O: USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification

Components

Component Model
Touchscreen Goodix GT917S
LCD Himax HX8394 compatible
Rear camera IMX258
Front camera OV8858
Camera flash AW3641EDNR
WiFi + Bluetooth AzureWave AW-CM256SM
Modem Quectel EG25-G
GNSS/GPS Quectel EG25-G
3 Axis Magnetometer ST LIS3MDL
Geo Magnetic Sensor Voltafield AF8133J
Ambient light / Proximity STK3311-A
Accelerometer / Gyroscope TDK MPU-6500
Vibration motor
Notification LED LED0603RGB
Audio Codec ALC5616 and ALC5640
Volume buttons Buttons connected to the KEYADC
Power button
Battery fuel gauge RK818

Datasheets, schematics and certifications

  • PinePhone Pro USB-C small board schematic:
    • TBD

Factory Test Build for Hardware Checking

  • Please note that this Android build solely for PinePhone Pro hardware checking purpose and solely used by support team. This is NOT a general release build.
  • DD image (for 8GB microSD Card or larger)
  • Download the build, extract the image and dd it to a 8 GB or larger microSD card, takes out the PinePhone Pro Explorer Edition then insert it into microSD slot (upper slot).
  • Insert battery, press RE button (bypass SPI and eMMC boot) while plug in USB-C power. After 3 seconds release RE button.
  • When power up, below battery icon screen show up and press power key for two second, the Rockchip logo screen shows up.

PPP Abdroid Test Utility-1.jpgPPP Abdroid Test Utility-2.jpg

  • Wait for home screen, double tap on the test app icon (mark red circuit) and this will bring up the factory test screen. Please note that SD test is disable due to this is a SD boot build.
  • After running particular test function, please snapshot test result and pass back to support team
    • Note: Please slot in functional Sim card when perform SIM test
    • Note: When perform GPS test, the first result may fail and please ignore this false message.
    • Note: For light sensing test, please have touch light shine to PinePhone Pro when perform test.

PPP Abdroid Test Utility-4.jpgPPP Abdroid Test Utility-5.jpg

Using Factory Test Build for Battery charging

  • Please note that this Android build solely for PinePhone Pro hardware checking purpose and solely used by support team. This is NOT a general release build.
  • DD image (for 8GB microSD Card or larger)
  • Download the build, extract the image and dd it to a 8 GB or larger microSD card, takes out the PinePhone Pro Explorer Edition then insert it into microSD slot (upper slot).
  • Insert battery, press RE button (bypass SPI and eMMC boot) while plug in USB-C power. After 3 seconds release RE button.
  • When power up, below battery icon screen show up and battery will start charging.
  • The battery icon display for few seconds and then LCD panel turn off while charging. To check charging status, just quick press power button (about 0.5 second) and battery icon will display progress.

PPP Abdroid Test Utility-1.jpg

Press

For an overview about media of the PinePhone Pro you can use for the news, blogs, or similar see PinePhone Pro Press.

External links