Difference between revisions of "PinePhone Pro"

Jump to navigation Jump to search
→‎Specifications: Add the NOR Flash to the specifications
(→‎Boot order: lang fix)
(→‎Specifications: Add the NOR Flash to the specifications)
Tags: Mobile web edit Mobile edit
(27 intermediate revisions by 3 users not shown)
Line 10: Line 10:


=== State of the software ===
=== State of the software ===
<sup>([[PinePhone Pro Software State|view separately]])</sup>


Presently, at the time of writing (late 2021), the PinePhone Pro is aimed solely at early adopters and developers. 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.
{{:PinePhone Pro Software State}}
 
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.
 
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 (see [[Main Page#Community and Support]])!


=== Editions and revisions ===
=== Editions and revisions ===
Line 30: Line 27:


== First time setup ==
== First time setup ==
Before the PinePhone Pro is taken into operation, the following information have to be considered:
[[File:Pinephone_warning.png|320px|thumb|right|A protection foil isolates the battery for the shipping.]]


* 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.
When shipped the battery is isolated from the device using a protective plastic tab, which is required to be removed before using the phone. The battery '''will not''' charge or boot until it is removed and the battery is connected again.  
* 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 the loose nano SIM will short the device! 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.


To remove the sticker after unboxing the phone:
{{Info|To remove the sticker after unboxing the phone: Carefully remove the back panel using the notch in the corner of the back cover without overbending it. Then remove the battery. Peel off the clear plastic sticker below it, which isolates the charging contacts and reinsert the battery.}}


# Carefully remove the back panel using the notch in the corner of the back cover without overbending it
The PinePhone's SIM slot only accepts a micro-SIM, please do not insert a nano-SIM without an adapter and make sure that the nano-SIM does not get released from its adapter. The SIM card has to be placed in the lower slot, while the microSD has to be placed in the upper slot.
# Remove the battery
# Peel off the clear plastic sticker below it, which isolates the charging contacts
# Reinsert the battery


<gallery mode="nolines" widths="400px" heights="400px">
{{Info|Do not insert an empty micro-SIM adapter into the phone and do not release the nano-SIM inside the adapter, as it will get stuck on the contact pins. If the nano-SIM got released inside the adapter inside the phone, carefully reinsert the nano-SIM card without moving the adapter. In that case do not pull on the empty adapter as it will get stuck on the contact pins and damage them!}}
Image:Pinephone_warning.png|A protection foil isolates the battery for the shipping.
 
Image:Pinephone_backside.png|The microSD belongs in the upper slot, the micro SIM in the lower slot.
[[File:Pinephone slots.png|600px|thumb|none|The microSD belongs in the upper slot, the micro-SIM in the lower slot.]]
</gallery>
 
An adapter from a nano to a micro-SIM might be included under tape in the camera notch of the phone's packaging. Some nano-SIMs will not fit firmly into that adapter that comes with the PinePhone and if the included adapter is used without a well-fitting nano-SIM, the contact pins might get damaged. In that case it is highly recommended to acquire a better fitting adapter.


== Software ==
== 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 software section explains how to install the available software releases for the PinePhone Pro to the internal eMMC or a microSD card, how to boot them and how to solve common booting issues.


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.
=== Software releases ===
You can follow development efforts on [https://xnux.eu/log/ Megi's blog], the dedicated [[PinePhone Pro Development]] section as well as on individual project’s Wiki’s and repositories.
 
The [[PinePhone Pro Software Releases]] page has a complete list of currently supported phone-optimized operating system images that work with the PinePhone Pro.
 
{{Info|Images of the regular PinePhone are not compatible with the PinePhone Pro.}}


=== Boot order ===
=== Boot order ===


The PinePhone Pro's internal storage (called '''eMMC''') has a higher boot priority than the microSD card (see [[RK3399 boot sequence#Boot sequence details|boot sequence details]] for details regarding the boot sequence).
The RK3399S processor in the PinePhone Pro searches for the bootloader (such as ''U-Boot'') in the following order:
 
# SPI flash
# eMMC (the internal memory)
# MicroSD card


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 [[PinePhone Pro#Installation instructions|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 [[PinePhone Pro#Bypassing the eMMC|bypassing the eMMC]] for details on how to do this.
The bootloader uses its own boot order for loading the kernel and other core operating system components at boot, which for example may result in the boot loader residing on the eMMC loading and booting the kernel from a microSD card.


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 [[PinePhone Pro Developer Edition#Nuking the factory AOSP installation|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.
The SPI flash and the eMMC chip can be bypassed during boot by temporarily disabling them at the hardware level using the following method, which can be used in cases such as having corrupted installation on the SPI flash or the eMMC:


=== Installation instructions ===
* On the '''Explorer Edition''' hold the ''RE'' button underneath the cover for a few seconds, while powering on the device.


{{Template:note|Due to the specific [[PinePhone Pro#Boot order|boot order]] it is currently '''strongly recommended''' to boot from the '''microSD card only'''. Please ask in the [[Main Page#Chat Platforms|community chat]] if you have any questions regarding the installation.}}
* On the '''Developer Edition''', which was an earlier revision intended for developers only, the SPI and the eMMC can be bypassed by shorting the bypass test points while booting. The process is explained in the article [[PinePhone Pro Developer Edition#Nuking the factory AOSP installation|PinePhone Pro Developer Edition]]. Please join the community chat for any questions regarding the process.


As explained in the [[PinePhone Pro#Boot order|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.
The bypass disables the SPI and the eMMC while being applied and the PinePhone Pro will try to boot from the next available boot medium, which is the microSD card. Note: When holding the ''RE'' button (or when shorting the contact points in case of the ''Developer Edition'') for a longer time at boot the operating system will not initialize the SPI and eMMC and it will not be possible to write to these storage mediums until the next reboot.


{{hint|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.  
{{Info|The bootloader (such as ''U-Boot'') resides in the free space in front of the first partition. Wiping the bootloader from the eMMC to make the PinePhone Pro boot from microSD card can be done using <code>sudo dd if&#61;/dev/zero of&#61;/dev/mmcblk2 seek&#61;64 count&#61;400 conv&#61;fsync</code>. Formatting the drive or deleting the partition table is not sufficient to wipe the bootloader.}}


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:
See [[RK3399 boot sequence]] for details regarding the boot sequence.


* Remove any microSD card from the phone and keep it removed for the below procedure
=== Installation instructions ===
* 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 <code>lsusb</code> on the computer
* Let the phone charge for multiple hours


Note: If the procedure doesn't work please try again with a different known good USB-C cable make sure that there is no microSD card in the phone.
The software releases can be installed (the process is being referred to as ''flashing'') to the eMMC or to an microSD card.
}}


==== Flashing to microSD card ====
==== Flashing to microSD card ====
To install an image to the microSD card:
To install an image to the microSD card:


# Download your chosen image from [[PinePhone Pro Software Releases]]
# Download a compatible image from [[PinePhone Pro Software Releases]]
# Extract the compressed file
# Extract the compressed image
# Write the image to your microSD card using your favorite method, examples:
# 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 <code>lsblk</code> and then flash the image to the microSD card using <code>sudo dd if=pine.img of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync</code>. Make sure the target is the whole microSD card and not its first partition (''sdc1'' or ''mmcblk0p1'' are wrong!).
#* Using ''dd'': On the device you're flashing the microSD card from, find the correct device under <code>lsblk</code> and then flash the image to the microSD card using <code>sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync</code>. 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 <code>lsblk</code>. Then run bmaptool with the correct device: Download the ''.img.xz'' and the ''.img.bmap'' files, then run <code>bmaptool copy --bmap image.bmap image.xz /dev/'''[DEVICE]'''</code>. This takes around 2.5 minutes to flash a 4 GB file.
#* Using ''bmaptool'': Make sure to select the correct device using <code>lsblk</code>. Then run bmaptool with the correct device: Download the ''IMAGE.xz'' and the ''IMAGE.bmap'' files, then run <code>bmaptool copy --bmap '''IMAGE.bmap''' '''IMAGE.xz''' /dev/'''[DEVICE]'''</code>. 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.
#* Using ''a graphical tool'': A graphical tool such as Gnome Disks under Linux or Etcher under Windows may also be used.
# Insert the microSD card into the top slot of the phone
# Insert the microSD card into the top slot of the PinePhone Pro. Make sure the microSD card is inserted all the way and that the notch of the right side of the microSD card is not visible anymore, see [[:File:Pinephone_slots.png|here]].
# Boot the phone. If there is an '''existing bootloader on the eMMC''' (the eMMC has a [[PinePhone Pro#Boot order|higher boot priority]]) you need to [[PinePhone Pro#Bypassing the eMMC|bypass the eMMC]] at boot and you can [[PinePhone Pro#Wipe U-Boot from the eMMC|wipe the bootloader from the eMMC]] to default boot from the microSD card by default in the freshly booted installation.
# Power on the PinePhone Pro. If there is an '''existing bootloader on the eMMC''' already you need to bypass or wipe the bootloader on the eMMC as explained in the section [[PinePhone Pro#Boot order|Boot order]].


==== Flashing to the eMMC ====
==== Flashing to the eMMC ====
Flashing to the eMMC can be done by booting an operating system from the microSD (see the section [[PinePhone Pro#Flashing to microSD card|Flashing to microSD card]]) and by writing to the eMMC directly from there:
# Boot an operating system [[PinePhone Pro#Flashing to microSD card|from the microSD card]]. If there is already a bootloader on the eMMC installed see the section [[PinePhone Pro#Boot order|Boot order]] to bypass it
# Download or copy the desired image to the microSD card as file
# Check if the eMMC appears under <code>lsblk</code>. If it doesn't appear in the output of the command, the eMMC wasn't initialized due to applying the above explained bypass method for a too long time during the boot
# Extract the image
# Flash the extracted image using <code>sudo dd if='''IMAGE.img''' of=/dev/mmcblk2 bs=1M status=progress conv=fsync</code>
# Reboot the PinePhone Pro


{{warning|Installing to the eMMC is currently '''not recommended''' due to installations breaking commonly, as flashing to the eMMC will complicate the recovery process considerably.}}
=== Troubleshooting ===


Flashing to the eMMC can be simply done by booting an operating system from the microSD and to flash the eMMC from there:
If the PinePhone Pro is not booting (either booting incompletely into a boot splash or tty or if the PinePhone Pro is showing no signs of life) this will typically have the following two reasons:


# Boot an operating system from the microSD card. If there is already a bootloader on the eMMC installed see the section [[PinePhone Pro#Bypassing the eMMC|bypassing the eMMC]] to bypass it
==== The battery is fully drained ====
# Download or copy the new image to the microSD card
The bootloader ''U-Boot'' is currently booting into a boot loop if the battery is fully drained. In that case it is not possible to charge the phone. The battery can be charged by interrupting the boot loop by booting the PinePhone Pro into ''Maskrom mode'' or by charging the battery externally. To boot the PinePhone Pro into ''Maskrom mode'':
# Check if the eMMC appears under <code>lsblk</code>. If it doesn't appear there you held the ''RE'' button in the eMMC bypass for too long (the eMMC didn't initialize then)
# Extract the image
# Flash the extracted image using <code>sudo dd if='''IMAGE.img''' of=/dev/mmcblk2 bs=1M status=progress conv=fsync</code>
# Reboot the phone


==== Bypassing the eMMC ====
* 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 short 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 terminal command <code>lsusb</code> on the computer, the expected ''VID:PID'' of the device is ''2207:330c'' (under ''Windows'' this can be checked using the ''Device Manager'' and checking the VID and PID of an appearing ''Unknown device'')
* Let the phone charge for at least two hours


The eMMC can always be temporarily bypassed at boot to be able to boot from a microSD card:
{{Info|If the device doesn't appear under ''lsusb'' please try again with a different known good USB-C cable and make sure that there is no microSD card in the phone inserted.}}


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).
The device should now be able to boot from the boot medium again. If that is not the case the installation got corrupted, as explained below.


On the '''Developer Edition''' short the eMMC bypass contacts while booting.
==== The installation is corrupted ====
The PinePhone Pro won't be able to boot if the installation on the SPI flash, the eMMC or the microSD card got corrupted. To boot a working operating system:


For details see the section [[PinePhone Pro#Boot order|boot order]].
* Prepare a microSD card as explained in the section [[PinePhone Pro#Flashing to microSD card|Flashing to microSD card]]
* Remove any USB-C cable or device or add-on case from the PinePhone Pro
* Make sure the device is powered off by shortly removing the battery for a second
* Insert the microSD card into the top slot of the PinePhone Pro. Make sure the microSD card is inserted all the way and that the notch of the right side of the microSD card is not visible anymore.
* Power on the device while bypassing the SPI and eMMC as explained under [[PinePhone Pro#Boot order|Boot order]]


==== Wipe U-Boot from the eMMC ====
The device should now boot from the microSD card. If the phone does not boot from the microSD card the microSD card was flashed with an incompatible image or the battery got drained as explained above.
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)
=== Bootloaders ===
* Type <code>lsblk</code> in a terminal on the phone to list the devices
The following section contains notes regarding compatible bootloaders with the PinePhone Pro.
* Wipe the bootloader using <code>sudo dd if=/dev/zero of=/dev/mmcblk2 seek=64 count=400 conv=fsync</code>


The phone should now default to the microSD card at boot.
==== U-Boot ====
The pre-installed operating system on the PinePhone Pro Explorer Edition is using ''U-Boot'' as default bootloader.


If there are any issues please join the bridged [[Main Page#Community and Support|community PinePhone channel]] and explain your issue and what you've tried so far.
==== Tow-Boot ====
There are plans to possibly ship the PinePhone Pro with ''Tow-Boot'' pre-installed to the SPI flash in a future batch, which is an opinionated distribution of ''U-Boot'' and brings numerous advantages over stock ''U-Boot'', such as the possibility to choose from booting the eMMC or microSD card using the volume buttons during boot, as well as a ''USB Mass Storage mode'', where the device can be written to by connecting the device to a computer via USB.


=== Software releases ===
The user can flash Tow-Boot to the PinePhone Pro using the [https://tow-boot.org/devices/pine64-pinephonePro.html instructions on the Tow-Boot website].


The [[PinePhone Pro Software Releases]] page has a complete list of currently supported phone-optimized operating system images that work with the PinePhone Pro.
==== levinboot ====
The levinboot bootloader is another upcoming option for the PinePhone Pro. The project repository can be found [https://gitlab.com/DeltaGem/levinboot/-/tree/master/ here].


== Privacy switch configuration ==
== Privacy switch configuration ==


[[File:PinePhone Kill Interruptors de Maquinari del PinePhone 4529.jpg|320px|thumb|right|Detail of DIP switch]]
[[File:PinePhone Kill Interruptors de Maquinari del PinePhone 4529.jpg|320px|thumb|right|Picture of the privacy switches]]


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.
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.
Line 184: Line 194:
* '''RAM:''' 4GB LPDDR4 @ 800MHz
* '''RAM:''' 4GB LPDDR4 @ 800MHz
* '''Internal Storage:''' 128GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC
* '''Internal Storage:''' 128GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC
* '''NOR Flash:''' Listed as [GigaDevices] GD25LQ128EWIGR, but physical inspection found a SiliconKaiser SK25LP128.
* '''Back [[#Camera|Camera]]:''' 13MP Sony IMX258 with Gorilla Glass 4™ protective layer, LED Flash
* '''Back [[#Camera|Camera]]:''' 13MP Sony IMX258 with Gorilla Glass 4™ protective layer, LED Flash
* '''Front Camera:''' 8MP, OmniVision OV8858 front-facing camera
* '''Front Camera:''' 8MP, OmniVision OV8858 front-facing camera
Line 276: Line 287:
** [https://files.pine64.org/doc/cert/PinePhone%20Pro%20CE%20RED%20Certificate-S21101902802-R1.pdf PinePhone Pro CE RED Certificate]
** [https://files.pine64.org/doc/cert/PinePhone%20Pro%20CE%20RED%20Certificate-S21101902802-R1.pdf PinePhone Pro CE RED Certificate]
** [https://files.pine64.org/doc/cert/PinePhonePro%20RoHS%20Test%20Report.pdf PinePhone Pro ROHS Test Report]
** [https://files.pine64.org/doc/cert/PinePhonePro%20RoHS%20Test%20Report.pdf PinePhone Pro ROHS Test Report]
== 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)
** [http://files.pine64.org/os/PinePhonePro/pinephone_pro_dd_android9_QC_Test_SDboot_20220215-8GB.img.gz Direct download from pine64.org]
*** MD5 (GZip file): 214e063c8205c1a98d44b2015a21bb5d
*** File Size: 722MB
* 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.
[[File:PPP_Abdroid_Test_Utility-1.jpg|300px]][[File:PPP_Abdroid_Test_Utility-2.jpg|300px]]
* 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.
[[File:PPP_Abdroid_Test_Utility-4.jpg|300px]][[File:PPP_Abdroid_Test_Utility-5.jpg|538px]]
== 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)
** [http://files.pine64.org/os/PinePhonePro/pinephone_pro_dd_android9_QC_Test_SDboot_20220215-8GB.img.gz Direct download from pine64.org]
*** MD5 (GZip file): 214e063c8205c1a98d44b2015a21bb5d
*** File Size: 722MB
* 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.
[[File:PPP_Abdroid_Test_Utility-1.jpg|300px]]


== Press ==
== Press ==


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


== External links ==
== External links ==
24

edits

Navigation menu