<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pine64.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Paulfertser</id>
	<title>PINE64 - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pine64.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Paulfertser"/>
	<link rel="alternate" type="text/html" href="https://wiki.pine64.org/wiki/Special:Contributions/Paulfertser"/>
	<updated>2026-04-15T11:11:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=20542</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=20542"/>
		<updated>2023-08-21T19:28:48Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Serial console */ add a &amp;quot;Tx to Tip&amp;quot; note to the picture title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PinePhone Beta Edition.png|400px|thumb|right|Rendering of the PinePhone Beta Edition]]&lt;br /&gt;
&lt;br /&gt;
The '''PinePhone''' is a smartphone created by PINE64. It is capable of running mainline Linux and is supported by many partner projects.&lt;br /&gt;
&lt;br /&gt;
The Braveheart Edition of the PinePhone was the first publicly available version of the phone. It shipped without a fully functional operating system and was geared specifically towards early adopters. The Braveheart Edition's successors were the Community Editions, which featured a branded backcover and box of selected community projects. The Community Editions became available in June 2020. The Beta Edition featuring Manjaro with Plasma Mobile is the latest edition, it became available in March 2021.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone is not a regular phone and you might not get the latest and greatest hardware and this years' newest innovation. You will get a device with good mainline support with a great community behind it.&lt;br /&gt;
&lt;br /&gt;
=== State of the software ===&lt;br /&gt;
&lt;br /&gt;
First things first, the PinePhone is aimed solely at early adopters - more specifically, the units are solely intended to find their way into the hands of users with extensive operating system experience.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that the software for these smartphones is very early, 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.&lt;br /&gt;
&lt;br /&gt;
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]])!&lt;br /&gt;
&lt;br /&gt;
=== Help and support ===&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Please keep in mind that PINE64 is not like a regular company (see the [https://www.pine64.org/philosophy/ 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.&lt;br /&gt;
&lt;br /&gt;
== First time installation ==&lt;br /&gt;
[[File:Pinephone_warning.png|320px|thumb|right|A protection foil isolates the battery for the shipping.]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{{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.}}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{{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!}}&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone slots.png|600px|thumb|none|The microSD belongs in the upper slot, the micro-SIM in the lower slot.]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Operating systems ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. Although it is technically possible to use any ARM distribution (because the PinePhone uses the mainline kernel), there are a few that are designed specifically for mobile use on devices like the PinePhone.&lt;br /&gt;
&lt;br /&gt;
=== Software releases ===&lt;br /&gt;
&lt;br /&gt;
The [[PinePhone Software Releases]] page has a complete list of currently supported phone-optimized Operating System images that work with the PinePhone as well as other related software information. As soon as more patches get mainlined and distributions ship with the updated kernel, they will also be able to run unmodified on the device. To update any installed operating system please see [[PinePhone Updating Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The instructions to install an operating system to the internal memory (&amp;quot;eMMC&amp;quot;) or a microSD card can be found here: [[PinePhone Installation Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If the PinePhone is not booting from eMMC and/or microSD card anymore it can have two causes:&lt;br /&gt;
&lt;br /&gt;
==== The battery is drained ====&lt;br /&gt;
&lt;br /&gt;
If the battery is fully drained, most operating systems and distributions won't boot anymore. One of the exceptions which still boots is the utility ''Jumpdrive'', which can usually be used to expose the eMMC and microSD card as drives to a USB-connected computer. Mind that JumpDrive won't expose the eMMC and microSD card with a drained battery but it still can be flashed and booted from microSD card to confirm that the phone still functions and boots up fine. &lt;br /&gt;
&lt;br /&gt;
JumpDrive can be downloaded from [https://github.com/dreemurrs-embedded/Jumpdrive/releases/download/0.8/pine64-pinephone.img.xz here] (not compatible with the PinePhone Pro!). &lt;br /&gt;
&lt;br /&gt;
{{Info|If JumpDrive boots and other releases do not boot, the battery is likely drained. In that case let it charge while running JumpDrive with a compatible charger for multiple hours and make sure to not fully drain the battery in the future anymore, as that significantly reduces the battery lifetime.}}&lt;br /&gt;
&lt;br /&gt;
Alternatively to testing JumpDrive, the issue can also be diagnosed by checking the battery charge. Simply remove the battery from the device and measure the voltage on the (+) and (-) contacts on the battery. Make sure to not shorten the contacts as shorting battery pins is a severe life and safety danger.&lt;br /&gt;
&lt;br /&gt;
==== The installation is corrupted or incorrect ====&lt;br /&gt;
&lt;br /&gt;
If the installation of the prioritized boot medium is corrupted or incorrect, the PinePhone will not boot anymore. The following problems are common:&lt;br /&gt;
&lt;br /&gt;
* The microSD card is in the wrong slot (see [[#First time installation|first time installation]])&lt;br /&gt;
* The image file was flashed to partition 1 (example: ''sdx1'', ''nvme0x1p1'') instead of the whole device (example: ''sdx'', ''nvme0x1'')&lt;br /&gt;
* An image without bootloader was flashed (mind the ''Tow-Boot'' bootloader requirements of ''Mobian'' and ''postmarketOS'')&lt;br /&gt;
* The operating systems got corrupted, for example after running updates (reflash the device, see [[PinePhone Installation Instructions]])&lt;br /&gt;
* An incompatible image was flashed (make sure that the images are compatible. Images for the PinePhone Pro won't boot on the PinePhone and vice versa. Check your invoice to see if you ordered a PinePhone or a PinePhone Pro).&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
* '''Dimensions:''' 160.5 x 76.6 x 9.2mm&lt;br /&gt;
* '''Weight:''' Between 180 ~ 200 grams&lt;br /&gt;
* '''SIM Card:''' Micro-SIM&lt;br /&gt;
* '''Display:'''&lt;br /&gt;
** '''Size:''' 5.95 inches (151mm) diagonal&lt;br /&gt;
** '''Type:''' HD IPS capacitive touchscreen, 16M colors&lt;br /&gt;
** '''Resolution:''' 1440x720, 18:9 ratio&lt;br /&gt;
* '''System on Chip:''' [https://linux-sunxi.org/A64 Allwinner A64]&lt;br /&gt;
* '''RAM:''' 2GB or 3GB LPDDR3 SDRAM&lt;br /&gt;
* '''Internal Storage:''' 16GB or 32GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC&lt;br /&gt;
* '''Back Camera:''' Single 5MP, 1/4&amp;quot;, LED Flash&lt;br /&gt;
* '''Front Camera:''' Single 2MP, f/2.8, 1/5&amp;quot;&lt;br /&gt;
* '''Sound:''' Loudspeaker, 3.5mm jack &amp;amp; mic (jack doubles as hardware UART if hardware switch 6 is deactivated)&lt;br /&gt;
* '''Communication:'''&lt;br /&gt;
** '''Modem:''' [https://www.quectel.com/product/lte-eg25-g/ Quectel EG25-G]&lt;br /&gt;
** '''LTE-FDD''': B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28&lt;br /&gt;
** '''LTE-TDD''': B38, B39, B40, B41&lt;br /&gt;
** '''WCDMA''': B1, B2, B4, B5, B6, B8, B19&lt;br /&gt;
** '''GSM''': B2, B3, B5, B8 (850, 900, 1800, 1900 MHz)&lt;br /&gt;
** '''WLAN:''' Wi-Fi 802.11 b/g/n, single-band, hotspot&lt;br /&gt;
** '''Bluetooth:''' 4.0, A2DP&lt;br /&gt;
** '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS&lt;br /&gt;
* '''Sensors:''' Accelerometer, gyroscope, proximity, ambient light, compass&lt;br /&gt;
* '''Privacy switches:''' Modem, WiFi &amp;amp; Bluetooth, Microphone, Cameras&lt;br /&gt;
* '''Battery:''' Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh) (nominally replaceable with any Samsung J7 form-factor battery)&lt;br /&gt;
* '''I/O:''' USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component&lt;br /&gt;
! Model&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen&lt;br /&gt;
| Goodix GT917S&lt;br /&gt;
|-&lt;br /&gt;
| Rear camera&lt;br /&gt;
| OmniVision OV5640&lt;br /&gt;
|-&lt;br /&gt;
| Camera flash&lt;br /&gt;
| SGMICRO SGM3140&lt;br /&gt;
|-&lt;br /&gt;
| Front camera&lt;br /&gt;
| GalaxyCore GC2145&lt;br /&gt;
|-&lt;br /&gt;
| LCD&lt;br /&gt;
| Xingbangda XBD599&lt;br /&gt;
|-&lt;br /&gt;
| WiFi&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Modem&lt;br /&gt;
| [http://static.abstore.pl/design/accounts/soyter/img/dokumentacje/quectel_eg25-g.pdf Quectel EG25-G]&lt;br /&gt;
|-&lt;br /&gt;
| GNSS/GPS&lt;br /&gt;
| [http://static.abstore.pl/design/accounts/soyter/img/dokumentacje/quectel_eg25-g.pdf Quectel EG25-G]&lt;br /&gt;
|-&lt;br /&gt;
| Magnetometer&lt;br /&gt;
| ST LIS3MDL&lt;br /&gt;
|-&lt;br /&gt;
| Ambient light / Proximity&lt;br /&gt;
| SensorTek STK3335&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer / Gyroscope&lt;br /&gt;
| InvenSense MPU-6050&lt;br /&gt;
|-&lt;br /&gt;
| Vibration motor&lt;br /&gt;
| Unknown model&lt;br /&gt;
|-&lt;br /&gt;
| Notification LED&lt;br /&gt;
| LED0603RGB&lt;br /&gt;
|-&lt;br /&gt;
| Volume buttons&lt;br /&gt;
| Buttons connected to the KEYADC&lt;br /&gt;
|-&lt;br /&gt;
| Power button&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|-&lt;br /&gt;
| Battery fuel gauge&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See the [[PinePhone_component_list|PinePhone Component List]].&lt;br /&gt;
&lt;br /&gt;
== Hardware revisions ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_revisions.png|400px|thumb|right|The history of the PinePhone CEs]]&lt;br /&gt;
&lt;br /&gt;
The following are all hardware revisions of the PinePhone that have existed, ordered by the time of their releases:&lt;br /&gt;
&lt;br /&gt;
* [[Project Anakin]] - Development kit&lt;br /&gt;
* [[Project Don't be evil]] - Development kit&lt;br /&gt;
* [[PinePhone v1.0 - Dev|PinePhone v1.0]] - Developer Edition&lt;br /&gt;
* [[PinePhone v1.1 - Braveheart|PinePhone v1.1]] - Braveheart Edition&lt;br /&gt;
* [[PinePhone v1.2]] - Ubports Community Edition&lt;br /&gt;
* [[PinePhone v1.2a]] - postmarketOS Community Edition&lt;br /&gt;
* [[PinePhone v1.2b]] - Manjaro Community Edition, KDE Community Edition, Mobian Community Edition and Beta Edition&lt;br /&gt;
&lt;br /&gt;
== Hardware accessory ==&lt;br /&gt;
&lt;br /&gt;
=== Add-ons ===&lt;br /&gt;
The PinePhone (and PinePhone Pro) is compatible with the official add-on cases, such as the keyboard, the LoRa add-on, the Qi wireless charging add-on and the fingerprint reader add-on. Details can be found under:&lt;br /&gt;
&lt;br /&gt;
* [[PinePhone (Pro) Add-ons]]&lt;br /&gt;
* [[PinePhone (Pro) Keyboard]]&lt;br /&gt;
&lt;br /&gt;
=== PinePhone Accessories ===&lt;br /&gt;
See [[PinePhone Hardware Accessory Compatibility]] for a list of devices working with the PinePhone (depending on their OS support).&lt;br /&gt;
&lt;br /&gt;
The USB-C can be used to power the device, and offers USB2 host and OTG capabilities, and also can make use of the USB-C capability to integrate HDMI signals. Some USB-C hubs are available that offer power throughput, USB connection, an HDMI port and Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
=== Pogo pins ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone pogo.png|400px|thumb|right|The pogo pins, as visible under the back cover.]]&lt;br /&gt;
&lt;br /&gt;
The PinePhone has six pogo pins on the back allowing for custom hardware extensions such as wireless charging, an IR blaster, a keyboard extension or extended battery case. The pogo pins provide access to an interrupt line, power inputs/outputs and an I2C interface.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Interrupt&lt;br /&gt;
| SDA&lt;br /&gt;
| SCL&lt;br /&gt;
|-&lt;br /&gt;
| DCIN&lt;br /&gt;
| USB-5V&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
DCIN and USB-5V are the names used in the schematics. The actual behavior of these pogo pins is not obvious based on their names. DCIN is connected both to the VBUS line of the USB Type-C connector and to the ACIN/VBUS inputs on the PMIC. This means that, depending on a number of factors, DCIN may be at 0&amp;amp;nbsp;V or 5&amp;amp;nbsp;V. USB-5V is connected at the output of an LP6226 DC/DC boost converter (5&amp;amp;nbsp;V), which in turn is fed by the PS output of the PMIC. The boost converter is enabled or disabled by a GPIO output from the A64 SoC, controlled by software (e.g. the Linux kernel). Depending on inputs and decision made by the PMIC, PS may be at the battery voltage (fed &amp;quot;directly&amp;quot; by the battery through a [https://www.zxcompo.com/ transistor] controlled by the PMIC), or at the &amp;quot;USB&amp;quot; voltage (fed by the PMIC's ACIN/VBUS inputs). This means that depending on a number of factors, USB-5V may be at battery voltage (between 3.0&amp;amp;nbsp;V and 4.3&amp;amp;nbsp;V), or at 5&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
Because the PinePhone may act as a USB host (providing 5&amp;amp;nbsp;V at the USB Type-C connector's VBUS to a connected device) or as a USB device (drawing from a 5&amp;amp;nbsp;V source on the USB Type-C connector's VBUS), DCIN is actually not strictly an input nor an output. Some community analysis of the PinePhone schematic (and some testing) indicates that you can connect a 5&amp;amp;nbsp;V power supply to DCIN in order to power the phone at the PMIC's ACIN/VBUS inputs (and, as a side effect, charge the battery). This may not be safe to do in all conditions, e.g., when the phone is acting as a USB host to a connected USB device. It should also be safe to use DCIN as a power output from the PinePhone, e.g., when a USB Type-C charger is connected, you can draw current directly from the USB Type-C port's VBUS, which is provided by the charger. Please note that, when using DCIN as an output from the PinePhone, DCIN isn't &amp;quot;always on&amp;quot;; it may be 0&amp;amp;nbsp;V. It is currently not documented on how much current can be safely drawn.&lt;br /&gt;
&lt;br /&gt;
USB-5V should be safe to use as an &amp;quot;always on&amp;quot; power output from the PinePhone. Depending on a number of factors, voltage may be from 3&amp;amp;nbsp;V to 5&amp;amp;nbsp;V; thus, if you are using USB-5V to power your pogo-pins expansion board, you will probably need to use DC/DC converters/regulators as appropriate. USB-5V is on even while the A64 SoC is powered down.&lt;br /&gt;
&lt;br /&gt;
The I2C and interrupt lines have pull-ups on the phone side. The I2C lines are pulled up to 3v3 by the phone.&lt;br /&gt;
&lt;br /&gt;
For a breakout board see [https://github.com/SMR404/PinephonePogoBreakout here]. For an example project see Martijn's blog post [https://blog.brixit.nl/making-a-backcover-extension-for-the-pinephone/ &amp;lt;i&amp;gt;&amp;quot;Making a backcover extension for the PinePhone&amp;quot;&amp;lt;/i&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
PINE64 store currently sells the [https://pine64.com/product/pinephone-flex-break-out-board/?v=0446c16e2e66 PinePhone Flex Breakout Board]. With the pitch being 2.54 mm, this Flex Breakout Board may have leads soldered directly to the contacts for use in a solderless board. A non-soldered solution would be to use a [https://www.digikey.com/en/products/detail/te-connectivity-amp-connectors/5-520315-6/2258879 TE AMP Connector] that will accept a Flat Flexible Cable 2.54 mm pitch.&lt;br /&gt;
&lt;br /&gt;
=== Back cover ===&lt;br /&gt;
A step file for the back cover for creating custom cases is freely available [https://files.pine64.org/doc/PinePhone/PinePhone%20Back%20Cover%20ver%200.5.stp here].&lt;br /&gt;
&lt;br /&gt;
=== Serial console ===&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. This shows signals from the PinePhone's point of view, so connect the adapter's Rx to Ring 1 and Tx to Tip]]&lt;br /&gt;
&lt;br /&gt;
The PinePhone has a serial port in the headphone connector, it's activated by the 6th contact on the dipswitch. If the switch is set to &amp;quot;on&amp;quot;, the headphone connector is in audio mode, if it is set to &amp;quot;off&amp;quot; it's in UART mode. The UART serial connection can also be used for communication with other devices from the PinePhone.&lt;br /&gt;
&lt;br /&gt;
The UART is 115200n8.&lt;br /&gt;
&lt;br /&gt;
The pinout for the serial connector is:&lt;br /&gt;
&lt;br /&gt;
* Tip: RX&lt;br /&gt;
* Ring: TX&lt;br /&gt;
* Sleeve: GND&lt;br /&gt;
&lt;br /&gt;
You can buy a serial debug cable from the [https://pine64.com/product/pinebook-pinephone-pinetab-serial-console/ PINE64 Store]. The store cable uses a 4 ring plug, as seen in the [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf here], but a 3 ring plug works just as well. The cable uses a CH340 chipset based serial to USB converter, but any 3.3v serial connection can be used. Because it is a &amp;quot;host&amp;quot;/DTE it means that you need a ''cross modem cable'' ([https://en.wikipedia.org/wiki/Null_modem Null Modem]) with TX on Tip to be connected to RX. A cable like e.g. [https://www.ftdichip.com/Products/Cables/USBTTLSerial.htm FTDI TTL-232R-3V3-AJ] which has TX on Tip and RX on Ring fits perfectly.&lt;br /&gt;
&lt;br /&gt;
== Privacy switch configuration ==&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone Kill Interruptors de Maquinari del PinePhone 4529.jpg|320px|thumb|right|Picture of the privacy switches]]&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;on&amp;quot; position is toward the top of the phone.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Name&lt;br /&gt;
! Explanation&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Modem&lt;br /&gt;
| Pulls Q1501 gate up (FET killing modem power)&lt;br /&gt;
| &amp;quot;On&amp;quot; enables 2G/3G/4G communication and GNSS hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| WiFi / Bluetooth&lt;br /&gt;
| Pulls up CHIP_EN&lt;br /&gt;
| &amp;quot;On&amp;quot; enables WiFi and Bluetooth communication hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Microphone&lt;br /&gt;
| Breaks microphone bias voltage from the SoC&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input from on-board microphones (not 3.5 mm jack), &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Rear camera&lt;br /&gt;
| Pulls up PWDN on OV5640&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the rear camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Front camera&lt;br /&gt;
| Pulls up PWDN on GC2145&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the front camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Headphone&lt;br /&gt;
| Pulls up IN2 on analog switch BCT4717ETB&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input and output via the 3.5 mm audio jack, &amp;quot;off&amp;quot; switches the jack to hardware UART mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone has two cameras, OmniVision OV5640 with 5MP (up to 2592 x 1944 pixels) as rear camera and GalaxyCore GC2145 with 2MP (up to 1600 x 1200 pixels) as front camera.&lt;br /&gt;
&lt;br /&gt;
[[File:Rose.jpg|400px|thumb|none|Example picture taken on the PinePhone's rear camera by Martijn Braam using his app ''Megapixels''.]]&lt;br /&gt;
&lt;br /&gt;
Further details regarding the camera and the Megapixels camera app can be found on [https://blog.brixit.nl/tag/phones/ Martijn's blog].&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
The phone ships with a protective plastic sticker between the battery and the phone to protect the device from turning on during shipping. You need to gently open the back cover, then remove the battery and finally remove the sticker and check that the pins aren't bent. Note: If the battery is stuck inside the phone, the mid screw in the lower part of the midframe needs to be slightly loosened, see [[PinePhone_FAQ#The_battery_is_stuck_inside_the_phone|here]].&lt;br /&gt;
&lt;br /&gt;
{{Info|The EG25-G modem and the RTL8723CS WiFi and Bluetooth do not work without a battery and with a drained battery, even when enough power is supplied to the PinePhone via the USB Type-C port. Most operating systems won't boot without a battery or with a drained battery.}}&lt;br /&gt;
&lt;br /&gt;
The [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf supplied battery] is meant to be compatible with Samsung part number EB-BJ700BBC / BBE / CBE from the 2015 J7 phone. The extended life aftermarket BBU does fit, although it is a tight fit.&lt;br /&gt;
&lt;br /&gt;
{{Warning|Using an aftermarket battery with a higher capacity is done at own risk. Batteries with a higher capacity especially in combination with an external charger can lead to overvoltage, which fries the modem and/or the Bluetooth and WiFi chip.}}&lt;br /&gt;
&lt;br /&gt;
The battery terminals, from the nearest to the battery edge to the nearest to the middle of battery, are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| style=&amp;quot;min-width: 90px; text-align: center;&amp;quot; | +ve&lt;br /&gt;
| style=&amp;quot;min-width: 90px; text-align: center;&amp;quot; | thermistor&lt;br /&gt;
| style=&amp;quot;min-width: 90px; text-align: center;&amp;quot; | -ve&lt;br /&gt;
| style=&amp;quot;min-width: 90px; text-align: center;&amp;quot; | not connected&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The battery includes a protection circuit that isolates it in a number of fault conditions, including if it is discharged too far. The fully discharged battery can be recharged by connecting the phone to a charger with a sufficient output. Once it has charged sufficiently you will be able to boot the phone.&lt;br /&gt;
&lt;br /&gt;
== Modem ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone uses Quectel EG25-G as modem. AT commands are used to communicate with the modem.&lt;br /&gt;
&lt;br /&gt;
=== AT commands ===&lt;br /&gt;
&lt;br /&gt;
A list of documented AT commands can be found for example in this [[:File:Quectel_EC2x&amp;amp;EG9x&amp;amp;EG2x-G&amp;amp;EM05_Series_AT_Commands_Manual_V2.0.pdf|AT commands documentation]] from Quectel. Further undocumented AT commands found by the developer megi, who reverse-engineered parts of the modem and its firmware, can be found on megi's website [http://xnux.eu/devices/feature/modem-pp-reveng.html#toc-un-der-documented-at-commands here].&lt;br /&gt;
&lt;br /&gt;
To send AT commands to the modem under Linux, &amp;lt;code&amp;gt;minicom&amp;lt;/code&amp;gt; or the often-preinstalled &amp;lt;code&amp;gt;atinout&amp;lt;/code&amp;gt; utility can be used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;atinout&amp;lt;/i&amp;gt; example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;AT+&amp;lt;command here&amp;gt;&amp;quot; | sudo atinout - /dev/ttyUSB2 -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;minicom&amp;lt;/i&amp;gt; example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;minicom -D /dev/ttyUSB2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VoLTE ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone's modem supports VoLTE and comes with a few VoLTE profiles preloaded. Most operating systems try to set the correct profile automatically.&lt;br /&gt;
&lt;br /&gt;
To list the available VoLTE profiles:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+QMBNCFG=&amp;quot;list&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,0,1,1,&amp;quot;ROW_Generic_3GPP&amp;quot;,0x0501081F,201901141&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,1,0,0,&amp;quot;VoLTE-ATT&amp;quot;,0x0501033C,201909271&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,2,0,0,&amp;quot;hVoLTE-Verizon&amp;quot;,0x05010141,201911251&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,3,0,0,&amp;quot;Sprint-VoLTE&amp;quot;,0x05010205,201908141&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,4,0,0,&amp;quot;Commercial-TMO_VoLTE&amp;quot;,0x05010505,201811231&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,5,0,0,&amp;quot;Telus-Commercial_VoLTE&amp;quot;,0x05800C43,201912031&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,6,0,0,&amp;quot;Commercial-SBM&amp;quot;,0x05011C18,201904021&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,7,0,0,&amp;quot;Commercial-DT&amp;quot;,0x05011F1C,201905311&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,8,0,0,&amp;quot;Reliance_OpnMkt&amp;quot;,0x05011B38,201910161&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,9,0,0,&amp;quot;TF_Germany_VoLTE&amp;quot;,0x05010C1B,201909201&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,10,0,0,&amp;quot;TF_Spain_VoLTE&amp;quot;,0x05010CFA,201909261&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,11,0,0,&amp;quot;Volte_OpenMkt-Commercial-CMCC&amp;quot;,0x05012071,201904281&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,12,0,0,&amp;quot;OpenMkt-Commercial-CT&amp;quot;,0x05011322,201911081&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,13,0,0,&amp;quot;OpenMkt-Commercial-CU&amp;quot;,0x05011505,201807052&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To select a profile manually, select the best fitting one or a generic one if none fits:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;ROW_Generic_3GPP&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then enable Voice over LTE using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+QCFG=&amp;quot;ims&amp;quot;,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And reboot the modem to apply the settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+CFUN=1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check the status of VoLTE during a call, the AT command &amp;lt;code&amp;gt;CLCC&amp;lt;/code&amp;gt; can be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+CLCC&lt;br /&gt;
&lt;br /&gt;
+CLCC: 1,1,0,1,0,&amp;quot;&amp;quot;,128&lt;br /&gt;
+CLCC: 2,1,0,1,0,&amp;quot;&amp;quot;,128&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the fourth item of the list, &amp;quot;0&amp;quot; means voice and and &amp;quot;1&amp;quot; means data. If both rows have &amp;quot;1&amp;quot; then the voice call is being carried over VoLTE.&lt;br /&gt;
&lt;br /&gt;
=== APN settings ===&lt;br /&gt;
&lt;br /&gt;
The APN setting is only required for a public Internet connection (&amp;quot;data&amp;quot;) on the phone. For tested APN settings and how to apply them see [[PinePhone APN Settings]].&lt;br /&gt;
&lt;br /&gt;
=== Carrier support ===&lt;br /&gt;
The page [[PinePhone Carrier Support]] contains information about the frequency support of different carriers and hints on setting up cellular network connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
&lt;br /&gt;
Detailed information about the modem can be found on the [https://xnux.eu/devices/feature/modem-pp.html#toc-modem-on-pinephone page of the developer megi], including reverse-engineered parts of the firmware and its functions. There is also a document about using the modem from January 18th 2020 by megi [https://megous.com/dl/tmp/modem.txt here]. A script at the end of the document showcases a way to poweroff the modem before powering off the phone, which is integrated into most of the available operating systems.&lt;br /&gt;
&lt;br /&gt;
=== Firmware update ===&lt;br /&gt;
&lt;br /&gt;
There is a (nearly) free custom firmware and the stock firmware available for the PinePhone. Both can be updated to a newer version with new features and bug fixes.&lt;br /&gt;
&lt;br /&gt;
==== Custom firmware ====&lt;br /&gt;
&lt;br /&gt;
There is a (nearly) free custom firmware for the PinePhone modem by the developer ''biktorgj'', which can be found [https://github.com/the-modem-distro/pinephone_modem_sdk here].&lt;br /&gt;
&lt;br /&gt;
The custom firmware has various advantages (and zero disadvantages) over the stock firmware, including:&lt;br /&gt;
&lt;br /&gt;
* Signal tracking support with checks against the OpenCelliD database&lt;br /&gt;
* Persistent storage is optional and unexpected shutdowns don't mess up the modem&lt;br /&gt;
* A lower energy consumption due to the lower minimum clock frequency&lt;br /&gt;
* And many more, see [https://github.com/the-modem-distro/pinephone_modem_sdk#features-not-available-on-stock-firmware Features not available on stock firmware]&lt;br /&gt;
&lt;br /&gt;
The custom firmware can be flashed using [https://wiki.postmarketos.org/wiki/Fwupd#Upgrading_Modem_Firmware_on_the_PinePhone_.28Pro.29 fwupd] or a [https://github.com/the-modem-distro/pinephone_modem_sdk/blob/kirkstone/docs/FLASHING.md flashing script].&lt;br /&gt;
&lt;br /&gt;
==== Stock firmware ====&lt;br /&gt;
&lt;br /&gt;
{{Hint|The following instructions are directed towards professional users. It is highly recommend to make sure the update process is not interrupted to prevent the modem from bricking.}}&lt;br /&gt;
&lt;br /&gt;
The stock modem firmware can be updated to a newer version if it is outdated. The firmware version can be checked using the following AT command (at the example of &amp;lt;code&amp;gt;atinout&amp;lt;/code&amp;gt;, alternatively &amp;lt;code&amp;gt;minicom&amp;lt;/code&amp;gt; can be used to communicate with the modem too):&lt;br /&gt;
&lt;br /&gt;
 echo 'AT+QGMR' | sudo atinout - /dev/ttyUSB2 -&lt;br /&gt;
&lt;br /&gt;
'''Pre-update checklist:'''&lt;br /&gt;
&lt;br /&gt;
Please make sure all requirements of the checklist are fulfilled. If the update process is interrupted it will lead to a corrupted firmware of the modem, causing it to brick. Recovering a bricked modem is exponentially more complicated and requires the user to boot a special mode by physically bridging test points on the modem.&lt;br /&gt;
&lt;br /&gt;
* The battery needs to be charged sufficiently&lt;br /&gt;
* The phone needs to be plugged into a charger&lt;br /&gt;
* Deep sleep is recommended to be disabled as it can interrupt the update process&lt;br /&gt;
* It is recommended to close all other running applications&lt;br /&gt;
* Use common sense while doing the update, don't do the update while being impaired in any way&lt;br /&gt;
&lt;br /&gt;
To get the latest firmware, clone the repository of user Biktorgj on the phone:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/Biktorgj/quectel_eg25_recovery&lt;br /&gt;
&lt;br /&gt;
After cloning the directory, open it with cd:&lt;br /&gt;
&lt;br /&gt;
 cd quectel_eg25_recovery&lt;br /&gt;
&lt;br /&gt;
Then run qfirehose, which starts the flashing process:&lt;br /&gt;
&lt;br /&gt;
 sudo ./qfirehose -f ./&lt;br /&gt;
&lt;br /&gt;
The modem will automatically reboot after the update process is done. The boot process takes around 30 to 60 seconds. After that it is highly recommended to reboot the device.&lt;br /&gt;
&lt;br /&gt;
=== Firmware modifications ===&lt;br /&gt;
&lt;br /&gt;
See [[PineModems]] for more information regarding modem bootloader unlocking, building a custom modem firmware and modem recovery.&lt;br /&gt;
&lt;br /&gt;
=== GPS / GNSS ===&lt;br /&gt;
The GPS engine in the modem supports mutli-GNSS reception from GPS, GLONASS, BeiDou, Galileo and QZSS independent of a cellular connection. The operation of the GNSS subsystem can be controlled via a separate set of AT commands, or via qmi. The A-GPS data upload uses the file management AT commands, which also have their own manual. These are linked in the [[PinePhone#Datasheets for components and peripherals|documentation section]] below.&lt;br /&gt;
&lt;br /&gt;
As with most smartphones, the PinePhone has a small antenna and has difficulty getting a first fix without assistance data, a cold start can take 15 minutes under good conditions. The ''eg25-mananger'' is configured to upload A-GPS data by default (see [https://gitlab.com/mobian1/eg25-manager/-/merge_requests/15 here]).&lt;br /&gt;
&lt;br /&gt;
Basic testing of GNSS reception can be done by using the AT command interface (''/dev/ttyUSB2'') from a terminal program like ''minicom'' and the data output interface (''/dev/ttyUSB1'') to feed NMEA data into gpsmon or some other program that can parse standard NMEA sentences.&lt;br /&gt;
&lt;br /&gt;
[[File:Gpsmon eg25g.png|400px|thumb|none|gpsmon decoding GPS data from ''/dev/ttyUSB1'']]&lt;br /&gt;
&lt;br /&gt;
To check if GNSS data output is enabled, you can&lt;br /&gt;
&lt;br /&gt;
 cat /dev/ttyUSB1&lt;br /&gt;
&lt;br /&gt;
this should display a stream of NMEA sentences&lt;br /&gt;
&lt;br /&gt;
 $GPVTG,,T,,M,,N,,K,N*2C&lt;br /&gt;
 $GPGSA,A,1,,,,,,,,,,,,,,,,*32&lt;br /&gt;
 $GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;
&lt;br /&gt;
Further details can be found under [[PinePhone Sensors and Navigation]].&lt;br /&gt;
&lt;br /&gt;
=== Voice mail ===&lt;br /&gt;
&lt;br /&gt;
The operating systems of the PinePhone may not have support for accessing your voicemail by holding down the 1-key. Carriers might support accessing the voice mail via an external number however.&lt;br /&gt;
&lt;br /&gt;
== Safety ==&lt;br /&gt;
&lt;br /&gt;
=== General recommendations ===&lt;br /&gt;
&lt;br /&gt;
Due to the greater control the user is having over the device and its software comes also greater responsibility. It is necessary to verify the configuration of the device to make sure that responsible settings are used. The different operating systems may come with non-sane default settings, including SSH with weak password authentication being enabled by default and exposed to the public Internet, the absence of a firewall, default passwords, unencrypted files, too high temperature zones and emergency shutoff values or an enabled root account. The usage of public resources to verify such settings (such as the in case of GNU/Linux, the Arch Linux [https://wiki.archlinux.org/title/security security] wiki page, or the [https://wiki.archlinux.org/title/general_recommendations general recommendations]) as well as the corresponding operating system's or distribution's resources are strongly recommended.&lt;br /&gt;
&lt;br /&gt;
=== Charging safety ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone supports up to 5V 3A (15W) Quick Charge, it follows the USB Power Delivery specification. Only compatible phone chargers may be used, charging the phone with incompatible chargers (for example laptop chargers with a higher voltage) is prohibited. Charging the phone releases heat, general safety recommendations must be followed, see the section ''Thermal safety''.&lt;br /&gt;
&lt;br /&gt;
=== Thermal safety ===&lt;br /&gt;
&lt;br /&gt;
With the Allwinner A64 being an older generation SoC with a large 40nm chip, the phone produces quite some heat with medium or higher use and especially also during charging or when using USB accessories, like a docking station. Measurements to prevent damage to the phone and to its surroundings need to be taken by the user. This includes especially a proper handling of the phone: do not charge the phone in a way where heat builds up around the phone without being able to escape. Especially don't charge your phone under a pillow, blankets, in pockets or bags. Charging the phone produces heat and charging the phone in a way, where the excessive heat can't dispose around the phone poses an immediate fire risk.&lt;br /&gt;
&lt;br /&gt;
The user might notice that the phone gets warm under usage, compared to phones with more up-to-date hardware. Under normal circumstances these temperatures don't pose a risk while being in the levels within the safe operating temperatures (which lay far beyond the point where components can be too hot to touch). Higher temperatures might especially be experienced on the top side of the screen and on the inside of the phone at the RF shield of the modem. The higher temperature of the RF shield of the modem is commonly caused by the SoC on the opposite side of the mainboard, the RF shield of the modem is used to disperse heat of the SoC. In newer mainboard revisions starting from 1.2a there are also thermal pads on the back cover and between the SoC's RF shield and the screen, dispersing heat on the screen and on the back cover. In the past there has been safety issues regarding thermal safety functions, causing temperature reads to not properly work over an extended period of time, which was causing heat damage in some cases (see the documentation of that issue by the developer Megous [http://xnux.eu/log/#018 here] and [http://xnux.eu/log/#017 here]). While the developers are working hard to prevent such issues, they can't be excluded under all circumstances (see [[PinePhone#State_of_the_software|state of the software]]). The users are expected to monitor their phones' thermal safety at every point at this state of the software.&lt;br /&gt;
&lt;br /&gt;
It is highly recommend to update the phone on a regular basis to always get the latest improvements. The default settings to throttle the performance and to shut down the phone when reaching critical temperatures might be set to a too high point depending on the specific usage and usage length. Under GNU/Linux the phone's thermal management behavior can be modified via the Thermal Sysfs driver to achieve lower temperatures and preventing the screen and other components to potentially take damage, see [[PinePhone Thermal Tweaks]] for the details.&lt;br /&gt;
&lt;br /&gt;
== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
For a list of frequently asked questions (including information regarding the shipping) see [[PinePhone FAQ]].&lt;br /&gt;
&lt;br /&gt;
== Modifications and repairs ==&lt;br /&gt;
&lt;br /&gt;
=== Swapping in a new mainboard revision ===&lt;br /&gt;
&lt;br /&gt;
The mainboard can be replaced, for example for upgrading to a newer hardware revision or if it is faulty. The replacement board does not have an OS preinstalled, to test if everything is working after swapping the mainboard a flashed SD card is required. The mainboard also comes with a non-functional firmware on the ANX chip, a newer firmware version has to be flashed as explained below to get certain USB functionality to work.&lt;br /&gt;
&lt;br /&gt;
==== Replacing the mainboard ====&lt;br /&gt;
&lt;br /&gt;
{{Hint|Replacement boards come with an empty eMMC, which means that trying to boot from them looks like the board is faulty (no LEDs, no screen, no reaction of the phone). Please boot an OS from SD card.}}&lt;br /&gt;
&lt;br /&gt;
Prior to replacing your PinePhone’s mainboard please read the steps outlined in bullet points below and watch the attached video.&lt;br /&gt;
&lt;br /&gt;
# You’ll need a small Phillips screwdriver and a prying tool to swap out the PinePhone’s mainboard.&lt;br /&gt;
# Remove the PinePhone’s back cover. See your quick start guide for details.&lt;br /&gt;
# Remove the battery as well as any inserted SD and SIM cards.&lt;br /&gt;
# Unscrew all 15 Phillips head screws around the midframe of the phone.&lt;br /&gt;
# Gently pry up the midframe using a guitar pick or credit card corner. It is easiest to separate the midframe at one of the bottom edges. Work your way around all the sides of the phone until the midframe separates from the phone’s body.&lt;br /&gt;
# Detach all ribbon cables and “Lego” connectors. List of things to detach: 1) two “Lego” connects at the bottom of the mainboard. 2) u.FL antenna connect and touchscreen digitizer on PCD left side. 3) LCD ribbon cable top of mainboard, next to audio/ UART jack.&lt;br /&gt;
# Pry the mainboard up gently from the left-hand side.&lt;br /&gt;
# Remove front and main cameras and reset them into the new mainboard.&lt;br /&gt;
# Check that the rubber proximity sensor housing is in the chassis, not stuck to the removed mainboard.&lt;br /&gt;
# Place the new mainboard in the chassis, hooking in on the plastic tabs on left side and pressing down firmly on opposite side, and follow the steps (7-2) in reverse. When reattaching the midframe take care that no cables are out of place or trapped, as they may be damaged when tightening screws.&lt;br /&gt;
&lt;br /&gt;
After swapping the mainboard the phone won't boot as there is no OS on the replacement board's eMMC preinstalled. To boot an OS insert a flashed SD card.&lt;br /&gt;
&lt;br /&gt;
A video tutorial by &amp;lt;i&amp;gt;Martijn Braam&amp;lt;/i&amp;gt; can be found here (or alternatively a video tutorial by user &amp;lt;i&amp;gt;brigadan&amp;lt;/i&amp;gt; with additional notes about the camera swap and proximity sensor isolator [https://www.youtube.com/watch?v=J3AJEF7akkw here]):&lt;br /&gt;
[[File:Pinephone_martijn_pcb_replacement.png|thumb|none|600px|link=https://www.youtube.com/watch?v=5GbMoZ_zuZs|Watch Martijn Braam's video tutorial here: https://www.youtube.com/watch?v=5GbMoZ_zuZs.]]&lt;br /&gt;
&lt;br /&gt;
==== Flashing the ANX firmware ====&lt;br /&gt;
&lt;br /&gt;
===== Method 1 =====&lt;br /&gt;
&lt;br /&gt;
After swapping the mainboard the ANX7688 chip has to be flashed for full USB functionality.&lt;br /&gt;
&lt;br /&gt;
Under GNU/Linux this can be done by downloading the latest ANX7688 firmware image on the phone:&lt;br /&gt;
&lt;br /&gt;
 wget https://xff.cz/git/linux-firmware/plain/anx7688-fw.bin&lt;br /&gt;
&lt;br /&gt;
and executing as root (&amp;quot;sudo su&amp;quot;) on the phone:&lt;br /&gt;
&lt;br /&gt;
 cp anx7688-fw.bin /lib/firmware/&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/typec/port0/device/flash_eeprom&lt;br /&gt;
&lt;br /&gt;
===== Method 2 =====&lt;br /&gt;
&lt;br /&gt;
Booting a factory test image will automatically flash the ANX7688 chip. See [[PinePhone Software Releases#Factory Test OS|Factory Test OS]] for such an image.&lt;br /&gt;
&lt;br /&gt;
=== Replacing the screen ===&lt;br /&gt;
&lt;br /&gt;
Before attempting to replace the screen be sure to review the section on [[#Swapping in a new mainboard revision|replacing the mainboard]] since that will get you most of the way there. Be aware that the replacement screen is actually the entire front frame of the phone and there are components that will need to be swapped from your old screen.&lt;br /&gt;
&lt;br /&gt;
* Make sure you have a precision screwdriver set that has the correct size Philips tip. The screws are very small and the heads can easily be stripped if the screwdriver is not correct - if you feel your screwdriver slipping, stop what you are doing and try one that is a better fit. A magnetized screwdriver will help in not losing screws, as will a magnetic parts holder to keep them in while working.&lt;br /&gt;
&lt;br /&gt;
* There are a number of components and cables as well as the insulator sheet under the battery that are glued in place. A hair dryer will loosen the glue and make them much easier to remove. You may want to order extra cables along with the screen just in case.&lt;br /&gt;
&lt;br /&gt;
* The vibration motor, which is part of the USB-C board assembly and glued into place, will come apart easily and be damaged if you pry it up in the wrong place. Make sure you pry from underneath the complete part, not midway on its housing. The ribbon cable attaching this to the USB-C board is small, thin, and fragile so be careful with that as well.&lt;br /&gt;
&lt;br /&gt;
* The new screen comes with new side switches and insulator sheet but there are a number of parts that need to be transferred from the old screen, like the thin coax cable running up the side, the phone ear speaker, proximity sensor gasket, and a gold-colored mesh glued in place that needs to be transferred to a flexible circuit included on the new screen. If you don't swap over the proximity sensor rubber gasket the screen will immediately turn off after logging in. Be careful when routing the coax cable that it goes around the screw holes or you may drive a screw right through the cable.&lt;br /&gt;
&lt;br /&gt;
Take your time, use the right tools, be careful and you should be rewarded with success.&lt;br /&gt;
&lt;br /&gt;
=== Spare parts not available in the PINE64 store ===&lt;br /&gt;
&lt;br /&gt;
* Earpiece: See [[PinePhone (Pro) replacement earpieces]]&lt;br /&gt;
* Loudspeaker dimensions: 15x11x3 mm. Compatible with Nokia N91, Lenovo A536 (requires soldering) and others, see [https://forum.pine64.org/showthread.php?tid=12046&amp;amp;pid=85698#pid85698 here]&lt;br /&gt;
* Proximity sensor rubber isolator&lt;br /&gt;
&lt;br /&gt;
=== Other hardware issues ===&lt;br /&gt;
&lt;br /&gt;
See also [[PinePhone Hardware Issues]] for more issues and how-to's.&lt;br /&gt;
&lt;br /&gt;
== Press ==&lt;br /&gt;
&lt;br /&gt;
For an overview about media of the PinePhone you can use for the news, blogs, or similar see [[PinePhone Press]].&lt;br /&gt;
&lt;br /&gt;
== PinePhone board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
PinePhone mainboard schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2b%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2b]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2a%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2a]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2]&lt;br /&gt;
* [[PinePhone_v1.2|PinePhone schematic ver 1.2 change list]]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20Schematic%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard Schematic ver 1.1]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20top%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component top placement drawing ver 1.1]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20bottom%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component bottom placement drawing ver 1.1]&lt;br /&gt;
* [[PinePhone component list]]&lt;br /&gt;
&lt;br /&gt;
PinePhone USB-C small board schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20schematic%20v1.0%2020190730.pdf PinePhone USB-C small board Schematic ver 1.0]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20top%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component top placement drawing ver 1.0]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20bottom%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component bottom placement drawing ver 1.0]&lt;br /&gt;
&lt;br /&gt;
PinePhone certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/PinePhone%20FCC%20SDOC%20Certificate-S19112602605001.pdf PinePhone FCC Certificate]&lt;br /&gt;
* [https://fcc.report/FCC-ID/2AWAG-PINEPHONE RF Exposure SAR Information from FCC ID site]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/PinePhone%20CE%20RED%20Certificate-S19112602602.pdf PinePhone CE RED Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/PinePhone%20ROHS%20Report.pdf PinePhone ROHS Report]&lt;br /&gt;
* Note: PinePhone's Type Allocation Code (TAC) is &amp;lt;i&amp;gt;86769804&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datasheets for components and peripherals ==&lt;br /&gt;
&lt;br /&gt;
Allwinner A64 SoC information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/A64%20brief%20v1.0%2020150323.pdf Allwinner A64 SoC brief introduction]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf Allwinner A64 SoC Data Sheet V1.1 (Official Released Version)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf Allwinner A64 SoC User Manual V1.0 (Official Release Version)]&lt;br /&gt;
&lt;br /&gt;
X-Powers AXP803 PMIC (Power Management IC) information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf AXP803 PMIC datasheet]&lt;br /&gt;
&lt;br /&gt;
LPDDR3 (178 Balls) SDRAM:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/ATL3A1632H12A_mobile_lpddr3_11x11.5_v1.0_1600.pdf Artmem LPDDR3 datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/Kimtigo_fbga153_16_32_64_eMMC_datasheet_v1.3.pdf Kimtigo eMMC datasheet]&lt;br /&gt;
&lt;br /&gt;
CMOS camera module information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/QZ01-rear-2019-0717(HW)%20Model.pdf PinePhone 5M Pixel Real CMOS Image Sensor Module]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/OV5640_datasheet.pdf OV5640 5MP CMOS Image Sensor SoC for Rear Module datasheet]&lt;br /&gt;
* [https://usermanual.wiki/Document/OV5640FirmwareUserGuideV10.952852672.pdf OV5640 Embedded Firmware User Guide&amp;amp;nbsp;&amp;amp;ndash; VCM AF Module]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/QZ01-front-2019-0717(HW)%20Model.pdf PinePhone 2M Pixel Front CMOS Image Sensor Module]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GC2145 2MP CMOS Image Sensor SoC for Front Module datasheet]&lt;br /&gt;
&lt;br /&gt;
LCD touch screen panel information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20LCD-QZ01.pdf 5.99&amp;quot; 1440x720 LCD IPS Panel specification]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/ST7703_DS_v01_20160128.pdf ST7703 LCD Controller datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/GT917S-Datasheet.pdf GOODiX GT917S Capacitive Touch Controller datasheet]&lt;br /&gt;
&lt;br /&gt;
Lithium battery information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf PinePhone Lithium Battery specification]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20ZCV%20Curve%20Chart.xlsx PinePhone Lithium Battery ZCV curve chart]&lt;br /&gt;
* [https://cad.onshape.com/documents/5194d6303f021e6f300b70a0/w/7b63ac4c32ed63dfd78c7840/e/5d43c0ce5b665bae10082a08 PinePhone Lithium Battery 3D onshape drawing]&lt;br /&gt;
&lt;br /&gt;
WiFi/BT module information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf RTL8723BS/RTL8723CS specification]&lt;br /&gt;
&lt;br /&gt;
LTE module information:&lt;br /&gt;
* [[File:Quectel_EG25-G_LTE_Standard_Specification_V1.3.pdf]]&lt;br /&gt;
* [[File:Quectel_EG25-G_Hardware_Design_V1.4.pdf]]&lt;br /&gt;
* [[File:Quectel_EC2x&amp;amp;EG9x&amp;amp;EG2x-G&amp;amp;EM05_Series_AT_Commands_Manual_V2.0.pdf]]&lt;br /&gt;
* [[File:Quectel_EC2xEG25-GEG9xEM05_FILE_AT_Commands_Manual_V1.0.pdf]]&lt;br /&gt;
* [[File:Quectel_EC2x&amp;amp;EG9x&amp;amp;EG2x-G&amp;amp;EM05_Series_GNSS_Application_Note_V1.3.pdf]]&lt;br /&gt;
&lt;br /&gt;
Sensors:&lt;br /&gt;
* [https://www.st.com/en/mems-and-sensors/lis3mdl.html ST LIS3MDL 3-axis Magnetometer Datasheet]&lt;br /&gt;
* [https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/ InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS datasheet]&lt;br /&gt;
* [https://www.sensortek.com.tw/en/product/Proximity_Sensor_with_ALS.html SensorTek STK3335 Ambient Light Sensor and Proximity Sensor]&lt;br /&gt;
&lt;br /&gt;
Digital video to USB-C bridge:&lt;br /&gt;
* [https://www.analogix.com/en/system/files/AA-002281-PB-6-ANX7688_Product_Brief.pdf ANX7688 product brief]&lt;br /&gt;
&lt;br /&gt;
Case information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Exploded%20Diagram%20ver%201.0.pdf PinePhone case exploded diagram]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Back%20Cover.stp PinePhone back cover 3D file]&lt;br /&gt;
&lt;br /&gt;
Other components:&lt;br /&gt;
* See the [[PinePhone_component_list|Component List]]&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
The following articles contain more specific information:&lt;br /&gt;
* [[PinePhone Accessibility]]&lt;br /&gt;
* [[PinePhone Power Management]]&lt;br /&gt;
* [[PinePhone Security]]&lt;br /&gt;
* [[PinePhone UBports OS Design Discussion]]&lt;br /&gt;
&lt;br /&gt;
The following resources have been made available by Ondřej Jirman, a developer for the Pinephone:&lt;br /&gt;
* [https://xnux.eu/howtos/pine64-pinephone-getting-started.html Getting started with PinePhone Hardware]&lt;br /&gt;
* [https://xnux.eu/devices/pine64-pinephone.html State of development progress]&lt;br /&gt;
* [https://xnux.eu/log/ Development log]&lt;br /&gt;
* [https://xnux.eu/news.html PinePhone Technical News and Update, also applies to other Allwinner devices including PINE A64 SBC]&lt;br /&gt;
* [https://xnux.eu/contribute.html Contributions to the kernel development]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://pine64.com/product-category/pinephone/ The PinePhone on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smartphone-spare-parts/ PinePhone spare parts on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smartphone-accessories/ PinePhone accessories on the official Pine store]&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]] [[Category:Allwinner A64]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=20148</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=20148"/>
		<updated>2023-07-28T09:16:18Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Power Supply */ mention the fact PBP doesn't respect charger's current limit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements is still ongoing. The results (including detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
=== Hardware-accelerated video decoding ===&lt;br /&gt;
Drivers for accelerated video decoding are available in the current kernels but to use the ''v4l2-request'' API with ''FFmpeg'' (and the apps that depend on it) one needs to build [https://github.com/jernejsk/FFmpeg/branches a fork]. With ''mpv'' built against it and the integrated ''yt-dlp'' support watching YouTube and similar sources is possible without stressing the CPU. Read more at [[Mainline Hardware Decoding]].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and its software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''All Pinebook Pros shipped from the factory have the old buggy version installed so consider updating the keyboard and touchpad firmware with the latest fixes from Dragan.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable. All the PBPs from the post-pandemic batches have ''SH61F83'' but TL Lim claimed they can be flashed just the same. No updated datasheet or a statement from the MCU vendor was provided though, so proceed at your own risk. Experience shows flashing those works for at least one time.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO (vertical Enter key) and ANSI (horizontal Enter key). You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WiFi or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard or UART console).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X Window System Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
When using X.Org display server the touchpad can be handled either by ''libinput'' or ''synaptic'' input drivers. The former allows to have shared configuration for both X.Org and Wayland but the latter provides more tunables (e.g. configurable edge scrolling, circular scrolling, mapping of multi-touch events to mouse buttons etc.)&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X11 will allow finer motion in the touchpad. If you use the ''synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. Make sure you have libinput version 1.19.0 or later installed as it includes the necessary quirk.&lt;br /&gt;
&lt;br /&gt;
Synaptic driver users can add ''syndaemon'' to their X11 session for the same effect.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A) (inside photos of the factory-provided adapter: [[:File:Pbp_charger_top.jpg|top]], [[:File:Pbp_charger_bottom.jpg|bottom]])&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W (current limit is at 2.5A regardless of the USB PD negotiations result)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
[[Pinebook Pro power and charging]] explains how exactly external power supply is used to run the system and charge the battery, as there are several counter-intuitive details about the process.&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the barrel jack power supply or a USB Type-C charger is connected to the Pinebook Pro, and the charging is active (that means power is supplied to the battery and system in parallel, and if it's not enough the battery can still be discharging). Second, if the battery is at 100&amp;amp;nbsp;%, the LED will remain turned off regardless of the connected power input (however, this is not possible for more than a split-second when the system is running). Third, this LED will flash at 0.5&amp;amp;nbsp;Hz if there are any problems that prevent charging, such as the [[Pinebook_Pro_power_and_charging#Battery_temperature_fix|battery becoming too hot]]. To fully understand all the nuances, read the [[Pinebook_Pro_power_and_charging#Charging_indicator_LED|corresponding article]].&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
=== ALSA configuration ===&lt;br /&gt;
If you do not have the integrated sound card selected as the default, create &amp;lt;code&amp;gt;/etc/asound.conf&amp;lt;/code&amp;gt; with the following contents:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
defaults.pcm.!card rockchipes8316c&lt;br /&gt;
defaults.ctl.!card rockchipes8316c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to enable software mixing (dmix) by default for all ALSA apps (works without Pipewire or PulseAudio), make &amp;lt;code&amp;gt;/usr/share/alsa/cards/simple-card.conf&amp;lt;/code&amp;gt; file contain this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# default with dmix/dsnoop&lt;br /&gt;
simple-card.pcm.default {&lt;br /&gt;
	@args [ CARD ]&lt;br /&gt;
	@args.CARD {&lt;br /&gt;
		type string&lt;br /&gt;
	}&lt;br /&gt;
	type asym&lt;br /&gt;
	playback.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dmix:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	capture.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dsnoop:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pop/click suppression workaround ===&lt;br /&gt;
&lt;br /&gt;
If you're annoyed by a loud pop sound (especially few seconds after a sound stream stops) you can launch the command &amp;lt;code&amp;gt;echo 50 &amp;gt; /sys/kernel/debug/asoc/rockchip,es8316-codec/dapm_pop_time&amp;lt;/code&amp;gt; with a service file at boot.&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz. This might vary depending on the country you specify in the wireless settings, see ''iw reg get; iw list''.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools. That said, if a certain feature is not reported by ''iw'' it means the currently running kernel driver plus firmware combination doesn't support it, even when the hardware is capable.&lt;br /&gt;
&lt;br /&gt;
WPA3 PSK support should be possible with ''iwd'' but not ''wpa_supplicant'', see [https://github.com/raspberrypi/linux/issues/4718#issuecomment-1279951709 this ticket] for details.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. This shows signals from the PBP's point of view, so connect the adapter's Rx to Ring 1 and Tx to Tip. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;picocom /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
* [https://forum.pine64.org/attachment.php?aid=1935 Everest ES8316 User Guide with register-level description]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro_power_and_charging&amp;diff=20146</id>
		<title>Pinebook Pro power and charging</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro_power_and_charging&amp;diff=20146"/>
		<updated>2023-07-27T22:10:16Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Charging indicator LED */ add a link to a failed PBP charger photo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pinebook Pro external power and charging circuity is quite&lt;br /&gt;
rudimentary, and hence quirky. This article aims to explain all the&lt;br /&gt;
fine points so that the behaviour could be understood and dealt with.&lt;br /&gt;
&lt;br /&gt;
== Monitoring and control ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
No control of charging is possible other than by physically plugging&lt;br /&gt;
and unplugging the chargers.&lt;br /&gt;
&lt;br /&gt;
Software monitoring is also quite limited, one can check whether a&lt;br /&gt;
charger is connected (in&lt;br /&gt;
&amp;lt;code&amp;gt;/sys/class/power_supply/dc-charger/online&amp;lt;/code&amp;gt; and&lt;br /&gt;
&amp;lt;code&amp;gt;/sys/class/power_supply/tcpm-source-psy-4-0022/online&amp;lt;/code&amp;gt;)&lt;br /&gt;
and see the current battery voltage (in&lt;br /&gt;
&amp;lt;code&amp;gt;/sys/class/power_supply/cw2015-battery/voltage_now&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
The [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf CW2015] battery monitoring IC only measures the voltage and tries to&lt;br /&gt;
guessimate the State Of Charge and Remaining Run Time. The last value&lt;br /&gt;
(along with the ''nominal'' battery capacity) is also used by the&lt;br /&gt;
kernel driver to ''compute'' the current. The estimations might be&lt;br /&gt;
relatively accurate under certain conditions but you can not really&lt;br /&gt;
know if they're met with your laptop load at any given moment, so the&lt;br /&gt;
only value provided that can be trusted is the voltage.&lt;br /&gt;
&lt;br /&gt;
=== Charging indicator LED ===&lt;br /&gt;
There is a red LED near the barrel socket that's connected&lt;br /&gt;
directly to the&lt;br /&gt;
[https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 BQ24171] battery charging IC.&lt;br /&gt;
&lt;br /&gt;
It can indicate one of the three states:&lt;br /&gt;
&lt;br /&gt;
# LED ''on'' means the charger is supplying current to the battery and the system;&lt;br /&gt;
# LED ''off'' means the charger is turned off, and the whole system is powered from the battery;&lt;br /&gt;
# LED ''blinking with 0.5&amp;amp;nbsp;Hz frequency'' signals some hardware error: typically [[#Battery temperature fix|battery over-temperature protection]] or input under-voltage (from a [[:File:Pbp_charger_top.jpg|failed charger]]); in this case the charger is also off, and the system is powered from the battery all the time.&lt;br /&gt;
&lt;br /&gt;
All other kinds of blinking really indicate the charger getting turned&lt;br /&gt;
on and off, this happens when BQ24171 detects ''battery full''&lt;br /&gt;
condition, disables the charger, the system starts drawing current&lt;br /&gt;
from the battery, the voltage quickly drops, and the charger is&lt;br /&gt;
enabled again to compensate for the discharge. The blinking frequency&lt;br /&gt;
would depend on the current system load, battery temperature, and the&lt;br /&gt;
backlight level (as the backlight power source adds up to ~70&amp;amp;nbsp;mV&lt;br /&gt;
ripple to the voltage monitoring net). This &amp;quot;trickle-charging&amp;quot; is&lt;br /&gt;
harmful for Li-based batteries, but no workaround is possible other&lt;br /&gt;
than fully disconnecting the external power source, and it's not clear&lt;br /&gt;
whether that would do more good than harm.&lt;br /&gt;
&lt;br /&gt;
=== Monitoring currents ===&lt;br /&gt;
The charging IC uses two measurement shunt resistors: ''R37'' for&lt;br /&gt;
input current, and ''R43'' for battery current, both&lt;br /&gt;
0.010&amp;amp;nbsp;Ohm. They're easily accessible for external equipment after&lt;br /&gt;
removing the RF shield on the mainboard, and one can use a&lt;br /&gt;
battery-powered voltmeter or a differential probe to properly measure&lt;br /&gt;
the real current at any given moment. Do ''not'' connect non-isolated&lt;br /&gt;
oscilloscope ground clip to them, that might damage the&lt;br /&gt;
equipment.&lt;br /&gt;
&lt;br /&gt;
With the external chargers disconnected the system is powered by the&lt;br /&gt;
battery, so measuring voltage on ''R43'' (along with the battery&lt;br /&gt;
voltage at about the same moment) can be used to learn the system&lt;br /&gt;
power consumption under different software loads.&lt;br /&gt;
&lt;br /&gt;
== Charging ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
[[File:pbp-charging-simplified.png|thumb|Pinebook Pro simplified charging schematics]]&lt;br /&gt;
When an external charger is connected, the battery charging process is&lt;br /&gt;
automatically activated, it doesn't depend on any software&lt;br /&gt;
interactions and works all the same even with the main SoC powered&lt;br /&gt;
down. The system automatically chooses between the barrel socket&lt;br /&gt;
(limiting current draw to 3&amp;amp;nbsp;A) and Type-C source (limited to&lt;br /&gt;
2.5&amp;amp;nbsp;A), with the former preferred when both are connected at the&lt;br /&gt;
same time (but the current limit is enforced as if Type-C was used).&lt;br /&gt;
&lt;br /&gt;
The maximum charging current under normal conditions is limited to&lt;br /&gt;
2.75&amp;amp;nbsp;A and the voltage to 4.35&amp;amp;nbsp;V. Battery temperature&lt;br /&gt;
affects these values, and if the measuring is [[#Battery temperature fix|done properly]] the charge is fully suspended under 0&amp;amp;nbsp;°C or above&lt;br /&gt;
60&amp;amp;nbsp;°C, maximum current halved below 10&amp;amp;nbsp;°C, maximum voltage&lt;br /&gt;
reduced to 4.24&amp;amp;nbsp;V above 45&amp;amp;nbsp;°C and to 4.19&amp;amp;nbsp;V above 50&amp;amp;nbsp;°C.&lt;br /&gt;
&lt;br /&gt;
The charging process automatically terminates when the voltage reaches&lt;br /&gt;
the recharge threshold (upper limit - 0.1&amp;amp;nbsp;V) ''and'' the current&lt;br /&gt;
falls below 275&amp;amp;nbsp;mA. However, this also stops supplying external&lt;br /&gt;
power to the system, so if it's running the battery voltage almost&lt;br /&gt;
immediately drops below the recharge threshold, and the charging is&lt;br /&gt;
turned on again.&lt;br /&gt;
&lt;br /&gt;
=== Example run and charge time calculations ===&lt;br /&gt;
&amp;lt;!-- 19:25 &amp;lt; PaulFertser&amp;gt; So my first quick measurements on the shunt:&lt;br /&gt;
with display off and system idle: 1.7 A @3.78V = 6.46 W; with display&lt;br /&gt;
on backlight at 0: 7.03 W; with backlight at 4095: 10.51 W; with&lt;br /&gt;
backlight at 3700: 9.64 W. with performance CPU governor. --&amp;gt;&lt;br /&gt;
Assuming a fully charged 9600&amp;amp;nbsp;mAh battery and an idle system&lt;br /&gt;
using ''performance'' cpufreq governor with backlight at 3700/4095 &lt;br /&gt;
consuming 9.6&amp;amp;nbsp;W we can expect&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;9.6 Ah * 3.8 V / 9.6 W = 3.8 h&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so that gives 3.8 hours of run time.&lt;br /&gt;
&lt;br /&gt;
If the same battery is empty and a barrel plug charger is&lt;br /&gt;
connected while system has the same load it will need&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;9.6 Ah * 3.8 V / ((3 A * 5 V * 0.9 - 9.6 W) * 0.95) = 9.85 h&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that is 9.85 hours of charging from zero to full, assuming 0.9 DC-DC&lt;br /&gt;
conversion efficacy and 0.95 charging efficacy.&lt;br /&gt;
&lt;br /&gt;
Removing the system load reduces the time to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;9.6 Ah * 3.8 V / (2.75 A * 3.8 V * 0.95) = 3.67 h&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so if you need to fully charge the battery, e.g. before a trip, the&lt;br /&gt;
fastest and most reliable way is to power down (not suspend) the system, leave the device with the charger connected&lt;br /&gt;
for a few hours, upside down for better cooling, and wait for the red&lt;br /&gt;
LED on the side to turn off.&lt;br /&gt;
&lt;br /&gt;
=== Working without battery ===&lt;br /&gt;
With the battery disconnected the charger isn't going to turn on, and&lt;br /&gt;
the system won't be getting any power from the external source. That's&lt;br /&gt;
why PBP has additional bypass cable that allows connecting external&lt;br /&gt;
power directly to the system power bus. Of course it should be kept&lt;br /&gt;
disconnected when the battery is present to avoid excess voltage&lt;br /&gt;
overcharging and destroying the battery. It's also recommended to add&lt;br /&gt;
additional insulation to the cable connectors, as they expose battery&lt;br /&gt;
and charger positive terminals on bare metal, and should never be&lt;br /&gt;
accidentally connected to ground. &lt;br /&gt;
&lt;br /&gt;
== Hardware modifications ==&lt;br /&gt;
=== Type-C current limit ===&lt;br /&gt;
Since there's no software control over the input current limit&lt;br /&gt;
unmodified PBP always tries to draw up to 2.5&amp;amp;nbsp;A from a Type-C&lt;br /&gt;
charger.&lt;br /&gt;
&lt;br /&gt;
It's recommended to manually check&lt;br /&gt;
&amp;lt;code&amp;gt;/sys/class/power_supply/tcpm-source-psy-4-0022/current_max&amp;lt;/code&amp;gt;&lt;br /&gt;
for all the chargers you're using. When the value is lower than&lt;br /&gt;
2.5&amp;amp;nbsp;A you shouldn't use that charger with PBP as it would get&lt;br /&gt;
overloaded, running out of specs.&lt;br /&gt;
&lt;br /&gt;
If all of the chargers you want to use can supply 3&amp;amp;nbsp;A or more ''at 5&amp;amp;nbsp;V'' (the sysfs file will still report 2.5&amp;amp;nbsp;A so check the official charger specs and/or label) consider lifting the limit to make it even with the&lt;br /&gt;
barrel plug charger. For that remove the ''R148'' resistor on the&lt;br /&gt;
[https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf bottom layer] of the mainboard.&lt;br /&gt;
&lt;br /&gt;
The easiest way is to use a soldering iron tip big enough to hold a&lt;br /&gt;
1&amp;amp;nbsp;mm drop of an SnPb solder (it mixes with Pb-free nicely and&lt;br /&gt;
lowers the melting point) to heat both sides of the resistor at once&lt;br /&gt;
and lift it off.&lt;br /&gt;
&lt;br /&gt;
=== Battery temperature fix ===&lt;br /&gt;
To ensure safe operation the charger IC is constantly monitoring the&lt;br /&gt;
battery temperature with the sensor integrated inside the pack. The&lt;br /&gt;
thermistor used is a 103AT NTC but the corresponding circuity on PBP&lt;br /&gt;
mainboard was calculated for some other type. This results in the&lt;br /&gt;
charger IC detecting 45&amp;amp;nbsp;°C when the battery is in&lt;br /&gt;
fact at just 35&amp;amp;nbsp;°C, and 60&amp;amp;nbsp;°C when the battery is at 46&amp;amp;nbsp;°C. It's&lt;br /&gt;
easy to hit this threshold with heavy CPU or GPU loads as the metal&lt;br /&gt;
back cover heats up from the SoC and slightly warms up the battery. Under these conditions the charging is suspended (with charging&lt;br /&gt;
LED signalling a hardware issue), and the intensive tasks are&lt;br /&gt;
continued on battery power alone, heating it up even more.&lt;br /&gt;
&lt;br /&gt;
To fix this issue the resistor divider needs to be replaced to match&lt;br /&gt;
the datasheet recommended values. For that one needs to change two&lt;br /&gt;
0402 resistors on the bottom side of the mainboard: use 2.2&amp;amp;nbsp;kOhm&lt;br /&gt;
1&amp;amp;nbsp;% for ''R52'' (instead of 4.4&amp;amp;nbsp;kOhm installed by the factory),&lt;br /&gt;
note it's the one closer to the board edge; and 6.8&amp;amp;nbsp;kOhm 1&amp;amp;nbsp;% for ''R54''&lt;br /&gt;
(30&amp;amp;nbsp;kOhm from the factory).&lt;br /&gt;
&lt;br /&gt;
If your local hackspace doesn't have suitable resistors consider&lt;br /&gt;
getting a sample book from e.g. Aliexpress, it should cost less than&lt;br /&gt;
15&amp;amp;nbsp;USD including shipping.&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=20129</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=20129"/>
		<updated>2023-07-26T12:22:35Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Power Supply */ add a link to the failed factory adapter internals&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements is still ongoing. The results (including detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
=== Hardware-accelerated video decoding ===&lt;br /&gt;
Drivers for accelerated video decoding are available in the current kernels but to use the ''v4l2-request'' API with ''FFmpeg'' (and the apps that depend on it) one needs to build [https://github.com/jernejsk/FFmpeg/branches a fork]. With ''mpv'' built against it and the integrated ''yt-dlp'' support watching YouTube and similar sources is possible without stressing the CPU. Read more at [[Mainline Hardware Decoding]].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and its software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''All Pinebook Pros shipped from the factory have the old buggy version installed so consider updating the keyboard and touchpad firmware with the latest fixes from Dragan.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable. All the PBPs from the post-pandemic batches have ''SH61F83'' but TL Lim claimed they can be flashed just the same. No updated datasheet or a statement from the MCU vendor was provided though, so proceed at your own risk. Experience shows flashing those works for at least one time.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO (vertical Enter key) and ANSI (horizontal Enter key). You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WiFi or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard or UART console).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X Window System Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
When using X.Org display server the touchpad can be handled either by ''libinput'' or ''synaptic'' input drivers. The former allows to have shared configuration for both X.Org and Wayland but the latter provides more tunables (e.g. configurable edge scrolling, circular scrolling, mapping of multi-touch events to mouse buttons etc.)&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X11 will allow finer motion in the touchpad. If you use the ''synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. Make sure you have libinput version 1.19.0 or later installed as it includes the necessary quirk.&lt;br /&gt;
&lt;br /&gt;
Synaptic driver users can add ''syndaemon'' to their X11 session for the same effect.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A) (inside photos of the factory-provided adapter: [[:File:Pbp_charger_top.jpg|top]], [[:File:Pbp_charger_bottom.jpg|bottom]])&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
[[Pinebook Pro power and charging]] explains how exactly external power supply is used to run the system and charge the battery, as there are several counter-intuitive details about the process.&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the barrel jack power supply or a USB Type-C charger is connected to the Pinebook Pro, and the charging is active (that means power is supplied to the battery and system in parallel, and if it's not enough the battery can still be discharging). Second, if the battery is at 100&amp;amp;nbsp;%, the LED will remain turned off regardless of the connected power input (however, this is not possible for more than a split-second when the system is running). Third, this LED will flash at 0.5&amp;amp;nbsp;Hz if there are any problems that prevent charging, such as the [[Pinebook_Pro_power_and_charging#Battery_temperature_fix|battery becoming too hot]]. To fully understand all the nuances, read the [[Pinebook_Pro_power_and_charging#Charging_indicator_LED|corresponding article]].&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
=== ALSA configuration ===&lt;br /&gt;
If you do not have the integrated sound card selected as the default, create &amp;lt;code&amp;gt;/etc/asound.conf&amp;lt;/code&amp;gt; with the following contents:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
defaults.pcm.!card rockchipes8316c&lt;br /&gt;
defaults.ctl.!card rockchipes8316c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to enable software mixing (dmix) by default for all ALSA apps (works without Pipewire or PulseAudio), make &amp;lt;code&amp;gt;/usr/share/alsa/cards/simple-card.conf&amp;lt;/code&amp;gt; file contain this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# default with dmix/dsnoop&lt;br /&gt;
simple-card.pcm.default {&lt;br /&gt;
	@args [ CARD ]&lt;br /&gt;
	@args.CARD {&lt;br /&gt;
		type string&lt;br /&gt;
	}&lt;br /&gt;
	type asym&lt;br /&gt;
	playback.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dmix:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	capture.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dsnoop:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pop/click suppression workaround ===&lt;br /&gt;
&lt;br /&gt;
If you're annoyed by a loud pop sound (especially few seconds after a sound stream stops) you can launch the command &amp;lt;code&amp;gt;echo 50 &amp;gt; /sys/kernel/debug/asoc/rockchip,es8316-codec/dapm_pop_time&amp;lt;/code&amp;gt; with a service file at boot.&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz. This might vary depending on the country you specify in the wireless settings, see ''iw reg get; iw list''.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools. That said, if a certain feature is not reported by ''iw'' it means the currently running kernel driver plus firmware combination doesn't support it, even when the hardware is capable.&lt;br /&gt;
&lt;br /&gt;
WPA3 PSK support should be possible with ''iwd'' but not ''wpa_supplicant'', see [https://github.com/raspberrypi/linux/issues/4718#issuecomment-1279951709 this ticket] for details.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. This shows signals from the PBP's point of view, so connect the adapter's Rx to Ring 1 and Tx to Tip. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;picocom /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
* [https://forum.pine64.org/attachment.php?aid=1935 Everest ES8316 User Guide with register-level description]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=File:Pbp_charger_bottom.jpg&amp;diff=20128</id>
		<title>File:Pbp charger bottom.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=File:Pbp_charger_bottom.jpg&amp;diff=20128"/>
		<updated>2023-07-25T12:50:04Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: Pinebook Pro factory 3 A 5 V charger PCB, bottom.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Pinebook Pro factory 3 A 5 V charger PCB, bottom.&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{PD|PD}}&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=File:Pbp_charger_top.jpg&amp;diff=20127</id>
		<title>File:Pbp charger top.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=File:Pbp_charger_top.jpg&amp;diff=20127"/>
		<updated>2023-07-25T12:49:10Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: Pinebook Pro factory 3 A 5 V charger that failed after 2 months of usage, two output capacitors have bulged&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Pinebook Pro factory 3 A 5 V charger that failed after 2 months of usage, two output capacitors have bulged&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{PD|PD}}&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=20079</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=20079"/>
		<updated>2023-07-13T13:05:56Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Pop/click suppression workaround */ 50 is fully quiet and fast enough, so fits here better&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements is still ongoing. The results (including detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
=== Hardware-accelerated video decoding ===&lt;br /&gt;
Drivers for accelerated video decoding are available in the current kernels but to use the ''v4l2-request'' API with ''FFmpeg'' (and the apps that depend on it) one needs to build [https://github.com/jernejsk/FFmpeg/branches a fork]. With ''mpv'' built against it and the integrated ''yt-dlp'' support watching YouTube and similar sources is possible without stressing the CPU. Read more at [[Mainline Hardware Decoding]].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and its software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''All Pinebook Pros shipped from the factory have the old buggy version installed so consider updating the keyboard and touchpad firmware with the latest fixes from Dragan.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable. All the PBPs from the post-pandemic batches have ''SH61F83'' but TL Lim claimed they can be flashed just the same. No updated datasheet or a statement from the MCU vendor was provided though, so proceed at your own risk. Experience shows flashing those works for at least one time.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO (vertical Enter key) and ANSI (horizontal Enter key). You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WiFi or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard or UART console).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X Window System Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
When using X.Org display server the touchpad can be handled either by ''libinput'' or ''synaptic'' input drivers. The former allows to have shared configuration for both X.Org and Wayland but the latter provides more tunables (e.g. configurable edge scrolling, circular scrolling, mapping of multi-touch events to mouse buttons etc.)&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X11 will allow finer motion in the touchpad. If you use the ''synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. Make sure you have libinput version 1.19.0 or later installed as it includes the necessary quirk.&lt;br /&gt;
&lt;br /&gt;
Synaptic driver users can add ''syndaemon'' to their X11 session for the same effect.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
[[Pinebook Pro power and charging]] explains how exactly external power supply is used to run the system and charge the battery, as there are several counter-intuitive details about the process.&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the barrel jack power supply or a USB Type-C charger is connected to the Pinebook Pro, and the charging is active (that means power is supplied to the battery and system in parallel, and if it's not enough the battery can still be discharging). Second, if the battery is at 100&amp;amp;nbsp;%, the LED will remain turned off regardless of the connected power input (however, this is not possible for more than a split-second when the system is running). Third, this LED will flash at 0.5&amp;amp;nbsp;Hz if there are any problems that prevent charging, such as the [[Pinebook_Pro_power_and_charging#Battery_temperature_fix|battery becoming too hot]]. To fully understand all the nuances, read the [[Pinebook_Pro_power_and_charging#Charging_indicator_LED|corresponding article]].&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
=== ALSA configuration ===&lt;br /&gt;
If you do not have the integrated sound card selected as the default, create &amp;lt;code&amp;gt;/etc/asound.conf&amp;lt;/code&amp;gt; with the following contents:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
defaults.pcm.!card rockchipes8316c&lt;br /&gt;
defaults.ctl.!card rockchipes8316c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to enable software mixing (dmix) by default for all ALSA apps (works without Pipewire or PulseAudio), make &amp;lt;code&amp;gt;/usr/share/alsa/cards/simple-card.conf&amp;lt;/code&amp;gt; file contain this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# default with dmix/dsnoop&lt;br /&gt;
simple-card.pcm.default {&lt;br /&gt;
	@args [ CARD ]&lt;br /&gt;
	@args.CARD {&lt;br /&gt;
		type string&lt;br /&gt;
	}&lt;br /&gt;
	type asym&lt;br /&gt;
	playback.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dmix:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	capture.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dsnoop:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pop/click suppression workaround ===&lt;br /&gt;
&lt;br /&gt;
If you're annoyed by a loud pop sound (especially few seconds after a sound stream stops) you can launch the command &amp;lt;code&amp;gt;echo 50 &amp;gt; /sys/kernel/debug/asoc/rockchip,es8316-codec/dapm_pop_time&amp;lt;/code&amp;gt; with a service file at boot.&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz. This might vary depending on the country you specify in the wireless settings, see ''iw reg get; iw list''.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools. That said, if a certain feature is not reported by ''iw'' it means the currently running kernel driver plus firmware combination doesn't support it, even when the hardware is capable.&lt;br /&gt;
&lt;br /&gt;
WPA3 PSK support should be possible with ''iwd'' but not ''wpa_supplicant'', see [https://github.com/raspberrypi/linux/issues/4718#issuecomment-1279951709 this ticket] for details.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. This shows signals from the PBP's point of view, so connect the adapter's Rx to Ring 1 and Tx to Tip. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;picocom /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
* [https://forum.pine64.org/attachment.php?aid=1935 Everest ES8316 User Guide with register-level description]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=20017</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=20017"/>
		<updated>2023-07-05T05:49:12Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Power Supply */ add a link to the dedicated article about power and charging&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements is still ongoing. The results (including detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
=== Hardware-accelerated video decoding ===&lt;br /&gt;
Drivers for accelerated video decoding are available in the current kernels but to use the ''v4l2-request'' API with ''FFmpeg'' (and the apps that depend on it) one needs to build [https://github.com/jernejsk/FFmpeg/branches a fork]. With ''mpv'' built against it and the integrated ''yt-dlp'' support watching YouTube and similar sources is possible without stressing the CPU. Read more at [[Mainline Hardware Decoding]].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and its software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''All Pinebook Pros shipped from the factory have the old buggy version installed so consider updating the keyboard and touchpad firmware with the latest fixes from Dragan.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable. All the PBPs from the post-pandemic batches have ''SH61F83'' but TL Lim claimed they can be flashed just the same. No updated datasheet or a statement from the MCU vendor was provided though, so proceed at your own risk. Experience shows flashing those works for at least one time.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO (vertical Enter key) and ANSI (horizontal Enter key). You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WiFi or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard or UART console).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X Window System Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
When using X.Org display server the touchpad can be handled either by ''libinput'' or ''synaptic'' input drivers. The former allows to have shared configuration for both X.Org and Wayland but the latter provides more tunables (e.g. configurable edge scrolling, circular scrolling, mapping of multi-touch events to mouse buttons etc.)&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X11 will allow finer motion in the touchpad. If you use the ''synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. Make sure you have libinput version 1.19.0 or later installed as it includes the necessary quirk.&lt;br /&gt;
&lt;br /&gt;
Synaptic driver users can add ''syndaemon'' to their X11 session for the same effect.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
[[Pinebook Pro power and charging]] explains how exactly external power supply is used to run the system and charge the battery, as there are several counter-intuitive details about the process.&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the barrel jack power supply or a USB Type-C charger is connected to the Pinebook Pro, and the charging is active (that means power is supplied to the battery and system in parallel, and if it's not enough the battery can still be discharging). Second, if the battery is at 100&amp;amp;nbsp;%, the LED will remain turned off regardless of the connected power input (however, this is not possible for more than a split-second when the system is running). Third, this LED will flash at 0.5&amp;amp;nbsp;Hz if there are any problems that prevent charging, such as the [[Pinebook_Pro_power_and_charging#Battery_temperature_fix|battery becoming too hot]]. To fully understand all the nuances, read the [[Pinebook_Pro_power_and_charging#Charging_indicator_LED|corresponding article]].&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
=== ALSA configuration ===&lt;br /&gt;
If you do not have the integrated sound card selected as the default, create &amp;lt;code&amp;gt;/etc/asound.conf&amp;lt;/code&amp;gt; with the following contents:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
defaults.pcm.!card rockchipes8316c&lt;br /&gt;
defaults.ctl.!card rockchipes8316c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to enable software mixing (dmix) by default for all ALSA apps (works without Pipewire or PulseAudio), make &amp;lt;code&amp;gt;/usr/share/alsa/cards/simple-card.conf&amp;lt;/code&amp;gt; file contain this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# default with dmix/dsnoop&lt;br /&gt;
simple-card.pcm.default {&lt;br /&gt;
	@args [ CARD ]&lt;br /&gt;
	@args.CARD {&lt;br /&gt;
		type string&lt;br /&gt;
	}&lt;br /&gt;
	type asym&lt;br /&gt;
	playback.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dmix:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	capture.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dsnoop:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pop/click suppression workaround ===&lt;br /&gt;
&lt;br /&gt;
If you're annoyed by a loud pop sound (especially few seconds after a sound stream stops) you can launch the command &amp;lt;code&amp;gt;echo 10 &amp;gt; /sys/kernel/debug/asoc/rockchip,es8316-codec/dapm_pop_time&amp;lt;/code&amp;gt; with a service file at boot.&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz. This might vary depending on the country you specify in the wireless settings, see ''iw reg get; iw list''.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools. That said, if a certain feature is not reported by ''iw'' it means the currently running kernel driver plus firmware combination doesn't support it, even when the hardware is capable.&lt;br /&gt;
&lt;br /&gt;
WPA3 PSK support should be possible with ''iwd'' but not ''wpa_supplicant'', see [https://github.com/raspberrypi/linux/issues/4718#issuecomment-1279951709 this ticket] for details.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. This shows signals from the PBP's point of view, so connect the adapter's Rx to Ring 1 and Tx to Tip. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;picocom /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
* [https://forum.pine64.org/attachment.php?aid=1935 Everest ES8316 User Guide with register-level description]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=20015</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=20015"/>
		<updated>2023-07-04T16:00:02Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* LEDs */ add links and clarifications regarding charging LED&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements is still ongoing. The results (including detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
=== Hardware-accelerated video decoding ===&lt;br /&gt;
Drivers for accelerated video decoding are available in the current kernels but to use the ''v4l2-request'' API with ''FFmpeg'' (and the apps that depend on it) one needs to build [https://github.com/jernejsk/FFmpeg/branches a fork]. With ''mpv'' built against it and the integrated ''yt-dlp'' support watching YouTube and similar sources is possible without stressing the CPU. Read more at [[Mainline Hardware Decoding]].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and its software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''All Pinebook Pros shipped from the factory have the old buggy version installed so consider updating the keyboard and touchpad firmware with the latest fixes from Dragan.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable. All the PBPs from the post-pandemic batches have ''SH61F83'' but TL Lim claimed they can be flashed just the same. No updated datasheet or a statement from the MCU vendor was provided though, so proceed at your own risk. Experience shows flashing those works for at least one time.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO (vertical Enter key) and ANSI (horizontal Enter key). You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WiFi or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard or UART console).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X Window System Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
When using X.Org display server the touchpad can be handled either by ''libinput'' or ''synaptic'' input drivers. The former allows to have shared configuration for both X.Org and Wayland but the latter provides more tunables (e.g. configurable edge scrolling, circular scrolling, mapping of multi-touch events to mouse buttons etc.)&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X11 will allow finer motion in the touchpad. If you use the ''synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. Make sure you have libinput version 1.19.0 or later installed as it includes the necessary quirk.&lt;br /&gt;
&lt;br /&gt;
Synaptic driver users can add ''syndaemon'' to their X11 session for the same effect.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the barrel jack power supply or a USB Type-C charger is connected to the Pinebook Pro, and the charging is active (that means power is supplied to the battery and system in parallel, and if it's not enough the battery can still be discharging). Second, if the battery is at 100&amp;amp;nbsp;%, the LED will remain turned off regardless of the connected power input (however, this is not possible for more than a split-second when the system is running). Third, this LED will flash at 0.5&amp;amp;nbsp;Hz if there are any problems that prevent charging, such as the [[Pinebook_Pro_power_and_charging#Battery_temperature_fix|battery becoming too hot]]. To fully understand all the nuances, read the [[Pinebook_Pro_power_and_charging#Charging_indicator_LED|corresponding article]].&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
=== ALSA configuration ===&lt;br /&gt;
If you do not have the integrated sound card selected as the default, create &amp;lt;code&amp;gt;/etc/asound.conf&amp;lt;/code&amp;gt; with the following contents:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
defaults.pcm.!card rockchipes8316c&lt;br /&gt;
defaults.ctl.!card rockchipes8316c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to enable software mixing (dmix) by default for all ALSA apps (works without Pipewire or PulseAudio), make &amp;lt;code&amp;gt;/usr/share/alsa/cards/simple-card.conf&amp;lt;/code&amp;gt; file contain this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# default with dmix/dsnoop&lt;br /&gt;
simple-card.pcm.default {&lt;br /&gt;
	@args [ CARD ]&lt;br /&gt;
	@args.CARD {&lt;br /&gt;
		type string&lt;br /&gt;
	}&lt;br /&gt;
	type asym&lt;br /&gt;
	playback.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dmix:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	capture.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dsnoop:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pop/click suppression workaround ===&lt;br /&gt;
&lt;br /&gt;
If you're annoyed by a loud pop sound (especially few seconds after a sound stream stops) you can launch the command &amp;lt;code&amp;gt;echo 10 &amp;gt; /sys/kernel/debug/asoc/rockchip,es8316-codec/dapm_pop_time&amp;lt;/code&amp;gt; with a service file at boot.&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz. This might vary depending on the country you specify in the wireless settings, see ''iw reg get; iw list''.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools. That said, if a certain feature is not reported by ''iw'' it means the currently running kernel driver plus firmware combination doesn't support it, even when the hardware is capable.&lt;br /&gt;
&lt;br /&gt;
WPA3 PSK support should be possible with ''iwd'' but not ''wpa_supplicant'', see [https://github.com/raspberrypi/linux/issues/4718#issuecomment-1279951709 this ticket] for details.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. This shows signals from the PBP's point of view, so connect the adapter's Rx to Ring 1 and Tx to Tip. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;picocom /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
* [https://forum.pine64.org/attachment.php?aid=1935 Everest ES8316 User Guide with register-level description]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Mainline_Hardware_Decoding&amp;diff=20014</id>
		<title>Mainline Hardware Decoding</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Mainline_Hardware_Decoding&amp;diff=20014"/>
		<updated>2023-07-04T14:14:48Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: Add a link to ready-made Fedora ffmpeg packages, and clarify requirements for mpv linkage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{hint|This page is incomplete, you're welcome to improve it.}}&lt;br /&gt;
&lt;br /&gt;
'''Mainline Hardware Decoding''' refers to video decoding done using hardware accelerators on the mainline Linux kernel (i.e. what sits in Linus' tree).&lt;br /&gt;
&lt;br /&gt;
On most consumer-oriented SoCs, there is what is referred to as a VPU (Video Processing Unit). The VPU is responsible for power-efficient encoding and decoding of videos. Hardware-accelerated video decoding can be useful to get smoother video playback on your devices, lower power consumption, and lower CPU utilisation. Below is information regarding various hardware PINE64 uses and software that works with it.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Here's a table of the current support for different hardware. &amp;quot;In review&amp;quot; means the patch series to enable support has been posted to the mailing lists but is undergoing review, &amp;quot;linux-next&amp;quot; means it has been accepted and staged for the next Linux merge window.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable plainrowheaders&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{Diagonal split header|Codec|SoC}}&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | RK3328&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | RK3399&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | RK3566&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | RK3588&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | JPEG&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;| Yes&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | MPEG-2&lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;| Yes&lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;| Yes&lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;| Yes&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | MPEG-4 Part 2/H.263&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | VP8&lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;| Yes&lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;| Yes&lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;| Yes&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | H.264/AVC&lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;| Yes&lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;| Yes&lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;| Yes &amp;lt;sup style=&amp;quot;font-style:italic;color:green&amp;quot;&amp;gt;a&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | H.265/HEVC&lt;br /&gt;
| style=&amp;quot;background:LightYellow; text-align:center;&amp;quot;| In review&lt;br /&gt;
| style=&amp;quot;background:LightYellow; text-align:center;&amp;quot;| In review&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | VP9&lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;| Yes&lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;| Yes&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | AVS2&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot;| N/A&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot;| N/A&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot;| N/A&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | AV1&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot;| N/A&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot;| N/A&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot;| N/A&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-alpha&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;only Hantro, not rkvdec2, so with a maximum resolution of 1080p for now&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cedrus ===&lt;br /&gt;
&lt;br /&gt;
In 2018, Bootlin launched a crowdfunding campaign to bring a open source Allwinner VPU driver to mainline Linux, which came to be called Cedrus. The Cedrus media driver (For Allwinner SOCs such as A64) supported by mainline Linux supports H.264 and H.265 video decoding as of Linux 5.10, and with 5.11 came VP8 decoding support and a H.264 stateless video decoder interface. For more information refer to the [https://linux-sunxi.org/Sunxi-Cedrus#Codec_Support Sunxi wiki].&lt;br /&gt;
&lt;br /&gt;
=== Hantro ===&lt;br /&gt;
&lt;br /&gt;
The Hantro media driver supports Rockchip and NXP SoCs including the RK3399 used in the Pinebook Pro and RockPro64. In November 2020 it [https://www.cnx-software.com/2020/11/24/hantro-h1-hardware-accelerated-video-encoding-support-in-mainline-linux/ was announced] that Bootlin was working on encoding support for the driver.&lt;br /&gt;
&lt;br /&gt;
=== rkvdec ===&lt;br /&gt;
&lt;br /&gt;
rkvdec is the video decoding hardware that's developed by Rockchip presumably in house. It's what Rockchip uses for decoding 4K H.264/AVC, VP9 and H.265/HEVC content. The driver in mainline linux for the first generation rkvdec (used in RK3328 and RK3399) supports VP9 and H.264, [https://patchwork.kernel.org/project/linux-rockchip/list/?series=659401 patches for HEVC support] are also in the process of review.&lt;br /&gt;
&lt;br /&gt;
RK3566, RK3568 and likely RK3588 use a second generation of rkvdec called rkvdec2. No mainline driver for this exists yet. The rkvdec instance on RK3588 additionally supports the [https://en.wikipedia.org/wiki/Audio_Video_Standard AVS2 video codec].&lt;br /&gt;
&lt;br /&gt;
=== rkdjpeg ===&lt;br /&gt;
&lt;br /&gt;
rkdjpeg is Rockchip's in-house hardware accelerated JPEG decoder. It can be found on the RK3566 and RK3568 as well as the RK3588.&lt;br /&gt;
&lt;br /&gt;
No mainline driver exists for it so far.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== GStreamer ===&lt;br /&gt;
H.264 video decoding is possible when using GStreamer built from source, or an application utilizing it such as [https://github.com/Rafostar/clapper Clapper] or [https://flathub.org/apps/details/org.sigxcpu.Livi µPlayer]. µPlayer includes a indicator of when hardware acceleration is properly working and in use.&lt;br /&gt;
&lt;br /&gt;
=== FFmpeg ===&lt;br /&gt;
&lt;br /&gt;
Mainline FFmpeg currently lacks the necessary patches to use the v4l2-requests based API, but [https://github.com/jernejsk/FFmpeg a fork that can utilise it exists]. Fedora users can install precompiled binaries from a [https://dl.kwizart.net/pub/ffmpeg-v4l2-request/ dedicated repository] by one of the Fedora maintainers.&lt;br /&gt;
&lt;br /&gt;
To build it, use something like&lt;br /&gt;
&lt;br /&gt;
 git clone -b v4l2-request-n6.0 https://github.com/jernejsk/FFmpeg.git&lt;br /&gt;
 cd FFmpeg&lt;br /&gt;
 ./configure --enable-v4l2-request --enable-libudev --enable-libdrm --enable-gnutls --prefix=/some/install/prefix/here&lt;br /&gt;
 make -j$(nproc)&lt;br /&gt;
&lt;br /&gt;
After compiling, you can install it into your specified prefix with&lt;br /&gt;
&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
And then modify your PATH to include the prefix's bin directory.&lt;br /&gt;
&lt;br /&gt;
With the patched ffmpeg, you can utilise hardware decoding using the &amp;lt;code&amp;gt;-hwaccel drm&amp;lt;/code&amp;gt; parameter, e.g.:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -hwaccel drm -i input.mp4 -f null - -benchmark&lt;br /&gt;
&lt;br /&gt;
to measure how fast it decodes.&lt;br /&gt;
&lt;br /&gt;
=== mpv ===&lt;br /&gt;
&lt;br /&gt;
mpv v0.35 or later, used against the aforementioned FFmpeg fork (re-building isn't required when using shared ffmpeg libraries), can be used to play back videos with hardware accelerated decoding. The hardware decoder path features interop with the GPU output, saving an expensive copyback operation. You can utilise the hardware decoding with e.g.:&lt;br /&gt;
&lt;br /&gt;
  mpv --hwdec=drm ''video''&lt;br /&gt;
&lt;br /&gt;
In mpv versions prior to 0.35, you can use the copyback hwdec with:&lt;br /&gt;
&lt;br /&gt;
  mpv --hwdec=drm-copy ''video''&lt;br /&gt;
&lt;br /&gt;
To build an mpv against the FFmpeg in your prefix, you can run&lt;br /&gt;
&lt;br /&gt;
  PKG_CONFIG_PATH=&amp;quot;/path/to/your/ffmpeg/prefix/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot; meson setup build&lt;br /&gt;
  ninja -C build&lt;br /&gt;
&lt;br /&gt;
== More Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://xnux.eu/devices/feature/cedrus-pp.html Megi's Cedrus Information]&lt;br /&gt;
* [https://briandaniels.me/2021/06/27/hardware-accelerated-video-playback-on-the-pinephone.html HW accelerated GStreamer playback on the PinePhone]&lt;br /&gt;
* [https://briandaniels.me/2021/07/06/hardware-accelerated-video-playback-on-the-pinephone-with-clapper.html HW accelerated Clapper video player on the PinePhone]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Mainline Hardware Encoding]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Quartz64]] [[Category:ROCKPro64]] [[Category:Rockchip RK3566]] [[Category:Rockchip RK3399]] [[Category:Pinebook Pro]] [[Category:PinePhone Pro]] [[Category:PineNote]] [[Category:Rockchip RK3588]] [[Category:Rockchip RK3328]] [[Category:ROCK64]] [[Category:Allwinner A64]] [[Category:PinePhone]] [[Category:PINE A64-LTS]] [[Category:SOPINE]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro_power_and_charging&amp;diff=20010</id>
		<title>Pinebook Pro power and charging</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro_power_and_charging&amp;diff=20010"/>
		<updated>2023-07-03T08:23:38Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Type-C current limit */ mention that current higher than 2.5 A won't be reported in sysfs but still can be used&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pinebook Pro external power and charging circuity is quite&lt;br /&gt;
rudimentary, and hence quirky. This article aims to explain all the&lt;br /&gt;
fine points so that the behaviour could be understood and dealt with.&lt;br /&gt;
&lt;br /&gt;
== Monitoring and control ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
No control of charging is possible other than by physically plugging&lt;br /&gt;
and unplugging the chargers.&lt;br /&gt;
&lt;br /&gt;
Software monitoring is also quite limited, one can check whether a&lt;br /&gt;
charger is connected (in&lt;br /&gt;
&amp;lt;code&amp;gt;/sys/class/power_supply/dc-charger/online&amp;lt;/code&amp;gt; and&lt;br /&gt;
&amp;lt;code&amp;gt;/sys/class/power_supply/tcpm-source-psy-4-0022/online&amp;lt;/code&amp;gt;)&lt;br /&gt;
and see the current battery voltage (in&lt;br /&gt;
&amp;lt;code&amp;gt;/sys/class/power_supply/cw2015-battery/voltage_now&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
The [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf CW2015] battery monitoring IC only measures the voltage and tries to&lt;br /&gt;
guessimate the State Of Charge and Remaining Run Time. The last value&lt;br /&gt;
(along with the ''nominal'' battery capacity) is also used by the&lt;br /&gt;
kernel driver to ''compute'' the current. The estimations might be&lt;br /&gt;
relatively accurate under certain conditions but you can not really&lt;br /&gt;
know if they're met with your laptop load at any given moment, so the&lt;br /&gt;
only value provided that can be trusted is the voltage.&lt;br /&gt;
&lt;br /&gt;
=== Charging indicator LED ===&lt;br /&gt;
There is a red LED near the barrel socket that's connected&lt;br /&gt;
directly to the&lt;br /&gt;
[https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 BQ24171] battery charging IC.&lt;br /&gt;
&lt;br /&gt;
It can indicate one of the three states:&lt;br /&gt;
&lt;br /&gt;
# LED ''on'' means the charger is supplying current to the battery and the system;&lt;br /&gt;
# LED ''off'' means the charger is turned off, and the whole system is powered from the battery;&lt;br /&gt;
# LED ''blinking with 0.5&amp;amp;nbsp;Hz frequency'' signals some hardware error: typically [[#Battery temperature fix|battery over-temperature protection]] or input under-voltage; in this case the charger is also off, and the system is powered from the battery all the time.&lt;br /&gt;
&lt;br /&gt;
All other kinds of blinking really indicate the charger getting turned&lt;br /&gt;
on and off, this happens when BQ24171 detects ''battery full''&lt;br /&gt;
condition, disables the charger, the system starts drawing current&lt;br /&gt;
from the battery, the voltage quickly drops, and the charger is&lt;br /&gt;
enabled again to compensate for the discharge. The blinking frequency&lt;br /&gt;
would depend on the current system load, battery temperature, and the&lt;br /&gt;
backlight level (as the backlight power source adds up to ~70&amp;amp;nbsp;mV&lt;br /&gt;
ripple to the voltage monitoring net). This &amp;quot;trickle-charging&amp;quot; is&lt;br /&gt;
harmful for Li-based batteries, but no workaround is possible other&lt;br /&gt;
than fully disconnecting the external power source, and it's not clear&lt;br /&gt;
whether that would do more good than harm.&lt;br /&gt;
&lt;br /&gt;
=== Monitoring currents ===&lt;br /&gt;
The charging IC uses two measurement shunt resistors: ''R37'' for&lt;br /&gt;
input current, and ''R43'' for battery current, both&lt;br /&gt;
0.010&amp;amp;nbsp;Ohm. They're easily accessible for external equipment after&lt;br /&gt;
removing the RF shield on the mainboard, and one can use a&lt;br /&gt;
battery-powered voltmeter or a differential probe to properly measure&lt;br /&gt;
the real current at any given moment. Do ''not'' connect non-isolated&lt;br /&gt;
oscilloscope ground clip to them, that might damage the&lt;br /&gt;
equipment.&lt;br /&gt;
&lt;br /&gt;
With the external chargers disconnected the system is powered by the&lt;br /&gt;
battery, so measuring voltage on ''R43'' (along with the battery&lt;br /&gt;
voltage at about the same moment) can be used to learn the system&lt;br /&gt;
power consumption under different software loads.&lt;br /&gt;
&lt;br /&gt;
== Charging ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
[[File:pbp-charging-simplified.png|thumb|Pinebook Pro simplified charging schematics]]&lt;br /&gt;
When an external charger is connected, the battery charging process is&lt;br /&gt;
automatically activated, it doesn't depend on any software&lt;br /&gt;
interactions and works all the same even with the main SoC powered&lt;br /&gt;
down. The system automatically chooses between the barrel socket&lt;br /&gt;
(limiting current draw to 3&amp;amp;nbsp;A) and Type-C source (limited to&lt;br /&gt;
2.5&amp;amp;nbsp;A), with the former preferred when both are connected at the&lt;br /&gt;
same time (but the current limit is enforced as if Type-C was used).&lt;br /&gt;
&lt;br /&gt;
The maximum charging current under normal conditions is limited to&lt;br /&gt;
2.75&amp;amp;nbsp;A and the voltage to 4.35&amp;amp;nbsp;V. Battery temperature&lt;br /&gt;
affects these values, and if the measuring is [[#Battery temperature fix|done properly]] the charge is fully suspended under 0&amp;amp;nbsp;°C or above&lt;br /&gt;
60&amp;amp;nbsp;°C, maximum current halved below 10&amp;amp;nbsp;°C, maximum voltage&lt;br /&gt;
reduced to 4.24&amp;amp;nbsp;V above 45&amp;amp;nbsp;°C and to 4.19&amp;amp;nbsp;V above 50&amp;amp;nbsp;°C.&lt;br /&gt;
&lt;br /&gt;
The charging process automatically terminates when the voltage reaches&lt;br /&gt;
the recharge threshold (upper limit - 0.1&amp;amp;nbsp;V) ''and'' the current&lt;br /&gt;
falls below 275&amp;amp;nbsp;mA. However, this also stops supplying external&lt;br /&gt;
power to the system, so if it's running the battery voltage almost&lt;br /&gt;
immediately drops below the recharge threshold, and the charging is&lt;br /&gt;
turned on again.&lt;br /&gt;
&lt;br /&gt;
=== Example run and charge time calculations ===&lt;br /&gt;
&amp;lt;!-- 19:25 &amp;lt; PaulFertser&amp;gt; So my first quick measurements on the shunt:&lt;br /&gt;
with display off and system idle: 1.7 A @3.78V = 6.46 W; with display&lt;br /&gt;
on backlight at 0: 7.03 W; with backlight at 4095: 10.51 W; with&lt;br /&gt;
backlight at 3700: 9.64 W. with performance CPU governor. --&amp;gt;&lt;br /&gt;
Assuming a fully charged 9600&amp;amp;nbsp;mAh battery and an idle system&lt;br /&gt;
using ''performance'' cpufreq governor with backlight at 3700/4095 &lt;br /&gt;
consuming 9.6&amp;amp;nbsp;W we can expect&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;9.6 Ah * 3.8 V / 9.6 W = 3.8 h&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so that gives 3.8 hours of run time.&lt;br /&gt;
&lt;br /&gt;
If the same battery is empty and a barrel plug charger is&lt;br /&gt;
connected while system has the same load it will need&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;9.6 Ah * 3.8 V / ((3 A * 5 V * 0.9 - 9.6 W) * 0.95) = 9.85 h&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that is 9.85 hours of charging from zero to full, assuming 0.9 DC-DC&lt;br /&gt;
conversion efficacy and 0.95 charging efficacy.&lt;br /&gt;
&lt;br /&gt;
Removing the system load reduces the time to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;9.6 Ah * 3.8 V / (2.75 A * 3.8 V * 0.95) = 3.67 h&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so if you need to fully charge the battery, e.g. before a trip, the&lt;br /&gt;
fastest and most reliable way is to power down (not suspend) the system, leave the device with the charger connected&lt;br /&gt;
for a few hours, upside down for better cooling, and wait for the red&lt;br /&gt;
LED on the side to turn off.&lt;br /&gt;
&lt;br /&gt;
=== Working without battery ===&lt;br /&gt;
With the battery disconnected the charger isn't going to turn on, and&lt;br /&gt;
the system won't be getting any power from the external source. That's&lt;br /&gt;
why PBP has additional bypass cable that allows connecting external&lt;br /&gt;
power directly to the system power bus. Of course it should be kept&lt;br /&gt;
disconnected when the battery is present to avoid excess voltage&lt;br /&gt;
overcharging and destroying the battery. It's also recommended to add&lt;br /&gt;
additional insulation to the cable connectors, as they expose battery&lt;br /&gt;
and charger positive terminals on bare metal, and should never be&lt;br /&gt;
accidentally connected to ground. &lt;br /&gt;
&lt;br /&gt;
== Hardware modifications ==&lt;br /&gt;
=== Type-C current limit ===&lt;br /&gt;
Since there's no software control over the input current limit&lt;br /&gt;
unmodified PBP always tries to draw up to 2.5&amp;amp;nbsp;A from a Type-C&lt;br /&gt;
charger.&lt;br /&gt;
&lt;br /&gt;
It's recommended to manually check&lt;br /&gt;
&amp;lt;code&amp;gt;/sys/class/power_supply/tcpm-source-psy-4-0022/current_max&amp;lt;/code&amp;gt;&lt;br /&gt;
for all the chargers you're using. When the value is lower than&lt;br /&gt;
2.5&amp;amp;nbsp;A you shouldn't use that charger with PBP as it would get&lt;br /&gt;
overloaded, running out of specs.&lt;br /&gt;
&lt;br /&gt;
If all of the chargers you want to use can supply 3&amp;amp;nbsp;A or more ''at 5&amp;amp;nbsp;V'' (the sysfs file will still report 2.5&amp;amp;nbsp;A so check the official charger specs and/or label) consider lifting the limit to make it even with the&lt;br /&gt;
barrel plug charger. For that remove the ''R148'' resistor on the&lt;br /&gt;
[https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf bottom layer] of the mainboard.&lt;br /&gt;
&lt;br /&gt;
The easiest way is to use a soldering iron tip big enough to hold a&lt;br /&gt;
1&amp;amp;nbsp;mm drop of an SnPb solder (it mixes with Pb-free nicely and&lt;br /&gt;
lowers the melting point) to heat both sides of the resistor at once&lt;br /&gt;
and lift it off.&lt;br /&gt;
&lt;br /&gt;
=== Battery temperature fix ===&lt;br /&gt;
To ensure safe operation the charger IC is constantly monitoring the&lt;br /&gt;
battery temperature with the sensor integrated inside the pack. The&lt;br /&gt;
thermistor used is a 103AT NTC but the corresponding circuity on PBP&lt;br /&gt;
mainboard was calculated for some other type. This results in the&lt;br /&gt;
charger IC detecting 45&amp;amp;nbsp;°C when the battery is in&lt;br /&gt;
fact at just 35&amp;amp;nbsp;°C, and 60&amp;amp;nbsp;°C when the battery is at 46&amp;amp;nbsp;°C. It's&lt;br /&gt;
easy to hit this threshold with heavy CPU or GPU loads as the metal&lt;br /&gt;
back cover heats up from the SoC and slightly warms up the battery. Under these conditions the charging is suspended (with charging&lt;br /&gt;
LED signalling a hardware issue), and the intensive tasks are&lt;br /&gt;
continued on battery power alone, heating it up even more.&lt;br /&gt;
&lt;br /&gt;
To fix this issue the resistor divider needs to be replaced to match&lt;br /&gt;
the datasheet recommended values. For that one needs to change two&lt;br /&gt;
0402 resistors on the bottom side of the mainboard: use 2.2&amp;amp;nbsp;kOhm&lt;br /&gt;
1&amp;amp;nbsp;% for ''R52'' (instead of 4.4&amp;amp;nbsp;kOhm installed by the factory),&lt;br /&gt;
note it's the one closer to the board edge; and 6.8&amp;amp;nbsp;kOhm 1&amp;amp;nbsp;% for ''R54''&lt;br /&gt;
(30&amp;amp;nbsp;kOhm from the factory).&lt;br /&gt;
&lt;br /&gt;
If your local hackspace doesn't have suitable resistors consider&lt;br /&gt;
getting a sample book from e.g. Aliexpress, it should cost less than&lt;br /&gt;
15&amp;amp;nbsp;USD including shipping.&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro_power_and_charging&amp;diff=20004</id>
		<title>Pinebook Pro power and charging</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro_power_and_charging&amp;diff=20004"/>
		<updated>2023-07-02T18:07:11Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: Initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pinebook Pro external power and charging circuity is quite&lt;br /&gt;
rudimentary, and hence quirky. This article aims to explain all the&lt;br /&gt;
fine points so that the behaviour could be understood and dealt with.&lt;br /&gt;
&lt;br /&gt;
== Monitoring and control ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
No control of charging is possible other than by physically plugging&lt;br /&gt;
and unplugging the chargers.&lt;br /&gt;
&lt;br /&gt;
Software monitoring is also quite limited, one can check whether a&lt;br /&gt;
charger is connected (in&lt;br /&gt;
&amp;lt;code&amp;gt;/sys/class/power_supply/dc-charger/online&amp;lt;/code&amp;gt; and&lt;br /&gt;
&amp;lt;code&amp;gt;/sys/class/power_supply/tcpm-source-psy-4-0022/online&amp;lt;/code&amp;gt;)&lt;br /&gt;
and see the current battery voltage (in&lt;br /&gt;
&amp;lt;code&amp;gt;/sys/class/power_supply/cw2015-battery/voltage_now&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
The [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf CW2015] battery monitoring IC only measures the voltage and tries to&lt;br /&gt;
guessimate the State Of Charge and Remaining Run Time. The last value&lt;br /&gt;
(along with the ''nominal'' battery capacity) is also used by the&lt;br /&gt;
kernel driver to ''compute'' the current. The estimations might be&lt;br /&gt;
relatively accurate under certain conditions but you can not really&lt;br /&gt;
know if they're met with your laptop load at any given moment, so the&lt;br /&gt;
only value provided that can be trusted is the voltage.&lt;br /&gt;
&lt;br /&gt;
=== Charging indicator LED ===&lt;br /&gt;
There is a red LED near the barrel socket that's connected&lt;br /&gt;
directly to the&lt;br /&gt;
[https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 BQ24171] battery charging IC.&lt;br /&gt;
&lt;br /&gt;
It can indicate one of the three states:&lt;br /&gt;
&lt;br /&gt;
# LED ''on'' means the charger is supplying current to the battery and the system;&lt;br /&gt;
# LED ''off'' means the charger is turned off, and the whole system is powered from the battery;&lt;br /&gt;
# LED ''blinking with 0.5&amp;amp;nbsp;Hz frequency'' signals some hardware error: typically [[#Battery temperature fix|battery over-temperature protection]] or input under-voltage; in this case the charger is also off, and the system is powered from the battery all the time.&lt;br /&gt;
&lt;br /&gt;
All other kinds of blinking really indicate the charger getting turned&lt;br /&gt;
on and off, this happens when BQ24171 detects ''battery full''&lt;br /&gt;
condition, disables the charger, the system starts drawing current&lt;br /&gt;
from the battery, the voltage quickly drops, and the charger is&lt;br /&gt;
enabled again to compensate for the discharge. The blinking frequency&lt;br /&gt;
would depend on the current system load, battery temperature, and the&lt;br /&gt;
backlight level (as the backlight power source adds up to ~70&amp;amp;nbsp;mV&lt;br /&gt;
ripple to the voltage monitoring net). This &amp;quot;trickle-charging&amp;quot; is&lt;br /&gt;
harmful for Li-based batteries, but no workaround is possible other&lt;br /&gt;
than fully disconnecting the external power source, and it's not clear&lt;br /&gt;
whether that would do more good than harm.&lt;br /&gt;
&lt;br /&gt;
=== Monitoring currents ===&lt;br /&gt;
The charging IC uses two measurement shunt resistors: ''R37'' for&lt;br /&gt;
input current, and ''R43'' for battery current, both&lt;br /&gt;
0.010&amp;amp;nbsp;Ohm. They're easily accessible for external equipment after&lt;br /&gt;
removing the RF shield on the mainboard, and one can use a&lt;br /&gt;
battery-powered voltmeter or a differential probe to properly measure&lt;br /&gt;
the real current at any given moment. Do ''not'' connect non-isolated&lt;br /&gt;
oscilloscope ground clip to them, that might damage the&lt;br /&gt;
equipment.&lt;br /&gt;
&lt;br /&gt;
With the external chargers disconnected the system is powered by the&lt;br /&gt;
battery, so measuring voltage on ''R43'' (along with the battery&lt;br /&gt;
voltage at about the same moment) can be used to learn the system&lt;br /&gt;
power consumption under different software loads.&lt;br /&gt;
&lt;br /&gt;
== Charging ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
[[File:pbp-charging-simplified.png|thumb|Pinebook Pro simplified charging schematics]]&lt;br /&gt;
When an external charger is connected, the battery charging process is&lt;br /&gt;
automatically activated, it doesn't depend on any software&lt;br /&gt;
interactions and works all the same even with the main SoC powered&lt;br /&gt;
down. The system automatically chooses between the barrel socket&lt;br /&gt;
(limiting current draw to 3&amp;amp;nbsp;A) and Type-C source (limited to&lt;br /&gt;
2.5&amp;amp;nbsp;A), with the former preferred when both are connected at the&lt;br /&gt;
same time (but the current limit is enforced as if Type-C was used).&lt;br /&gt;
&lt;br /&gt;
The maximum charging current under normal conditions is limited to&lt;br /&gt;
2.75&amp;amp;nbsp;A and the voltage to 4.35&amp;amp;nbsp;V. Battery temperature&lt;br /&gt;
affects these values, and if the measuring is [[#Battery temperature fix|done properly]] the charge is fully suspended under 0&amp;amp;nbsp;°C or above&lt;br /&gt;
60&amp;amp;nbsp;°C, maximum current halved below 10&amp;amp;nbsp;°C, maximum voltage&lt;br /&gt;
reduced to 4.24&amp;amp;nbsp;V above 45&amp;amp;nbsp;°C and to 4.19&amp;amp;nbsp;V above 50&amp;amp;nbsp;°C.&lt;br /&gt;
&lt;br /&gt;
The charging process automatically terminates when the voltage reaches&lt;br /&gt;
the recharge threshold (upper limit - 0.1&amp;amp;nbsp;V) ''and'' the current&lt;br /&gt;
falls below 275&amp;amp;nbsp;mA. However, this also stops supplying external&lt;br /&gt;
power to the system, so if it's running the battery voltage almost&lt;br /&gt;
immediately drops below the recharge threshold, and the charging is&lt;br /&gt;
turned on again.&lt;br /&gt;
&lt;br /&gt;
=== Example run and charge time calculations ===&lt;br /&gt;
&amp;lt;!-- 19:25 &amp;lt; PaulFertser&amp;gt; So my first quick measurements on the shunt:&lt;br /&gt;
with display off and system idle: 1.7 A @3.78V = 6.46 W; with display&lt;br /&gt;
on backlight at 0: 7.03 W; with backlight at 4095: 10.51 W; with&lt;br /&gt;
backlight at 3700: 9.64 W. with performance CPU governor. --&amp;gt;&lt;br /&gt;
Assuming a fully charged 9600&amp;amp;nbsp;mAh battery and an idle system&lt;br /&gt;
using ''performance'' cpufreq governor with backlight at 3700/4095 &lt;br /&gt;
consuming 9.6&amp;amp;nbsp;W we can expect&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;9.6 Ah * 3.8 V / 9.6 W = 3.8 h&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so that gives 3.8 hours of run time.&lt;br /&gt;
&lt;br /&gt;
If the same battery is empty and a barrel plug charger is&lt;br /&gt;
connected while system has the same load it will need&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;9.6 Ah * 3.8 V / ((3 A * 5 V * 0.9 - 9.6 W) * 0.95) = 9.85 h&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that is 9.85 hours of charging from zero to full, assuming 0.9 DC-DC&lt;br /&gt;
conversion efficacy and 0.95 charging efficacy.&lt;br /&gt;
&lt;br /&gt;
Removing the system load reduces the time to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;9.6 Ah * 3.8 V / (2.75 A * 3.8 V * 0.95) = 3.67 h&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so if you need to fully charge the battery, e.g. before a trip, the&lt;br /&gt;
fastest and most reliable way is to power down (not suspend) the system, leave the device with the charger connected&lt;br /&gt;
for a few hours, upside down for better cooling, and wait for the red&lt;br /&gt;
LED on the side to turn off.&lt;br /&gt;
&lt;br /&gt;
=== Working without battery ===&lt;br /&gt;
With the battery disconnected the charger isn't going to turn on, and&lt;br /&gt;
the system won't be getting any power from the external source. That's&lt;br /&gt;
why PBP has additional bypass cable that allows connecting external&lt;br /&gt;
power directly to the system power bus. Of course it should be kept&lt;br /&gt;
disconnected when the battery is present to avoid excess voltage&lt;br /&gt;
overcharging and destroying the battery. It's also recommended to add&lt;br /&gt;
additional insulation to the cable connectors, as they expose battery&lt;br /&gt;
and charger positive terminals on bare metal, and should never be&lt;br /&gt;
accidentally connected to ground. &lt;br /&gt;
&lt;br /&gt;
== Hardware modifications ==&lt;br /&gt;
=== Type-C current limit ===&lt;br /&gt;
Since there's no software control over the input current limit&lt;br /&gt;
unmodified PBP always tries to draw up to 2.5&amp;amp;nbsp;A from a Type-C&lt;br /&gt;
charger.&lt;br /&gt;
&lt;br /&gt;
It's recommended to manually check&lt;br /&gt;
&amp;lt;code&amp;gt;/sys/class/power_supply/tcpm-source-psy-4-0022/current_max&amp;lt;/code&amp;gt;&lt;br /&gt;
for all the chargers you're using. When the value is lower than&lt;br /&gt;
2.5&amp;amp;nbsp;A you shouldn't use that charger with PBP as it would get&lt;br /&gt;
overloaded, running out of specs.&lt;br /&gt;
&lt;br /&gt;
If all of the chargers you want to use can supply 3&amp;amp;nbsp;A or more ''at 5&amp;amp;nbsp;V'' consider lifting the limit to make it even with the&lt;br /&gt;
barrel plug charger. For that remove the ''R148'' resistor on the&lt;br /&gt;
[https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf bottom layer] of the mainboard.&lt;br /&gt;
&lt;br /&gt;
The easiest way is to use a soldering iron tip big enough to hold a&lt;br /&gt;
1&amp;amp;nbsp;mm drop of an SnPb solder (it mixes with Pb-free nicely and&lt;br /&gt;
lowers the melting point) to heat both sides of the resistor at once&lt;br /&gt;
and lift it off.&lt;br /&gt;
&lt;br /&gt;
=== Battery temperature fix ===&lt;br /&gt;
To ensure safe operation the charger IC is constantly monitoring the&lt;br /&gt;
battery temperature with the sensor integrated inside the pack. The&lt;br /&gt;
thermistor used is a 103AT NTC but the corresponding circuity on PBP&lt;br /&gt;
mainboard was calculated for some other type. This results in the&lt;br /&gt;
charger IC detecting 45&amp;amp;nbsp;°C when the battery is in&lt;br /&gt;
fact at just 35&amp;amp;nbsp;°C, and 60&amp;amp;nbsp;°C when the battery is at 46&amp;amp;nbsp;°C. It's&lt;br /&gt;
easy to hit this threshold with heavy CPU or GPU loads as the metal&lt;br /&gt;
back cover heats up from the SoC and slightly warms up the battery. Under these conditions the charging is suspended (with charging&lt;br /&gt;
LED signalling a hardware issue), and the intensive tasks are&lt;br /&gt;
continued on battery power alone, heating it up even more.&lt;br /&gt;
&lt;br /&gt;
To fix this issue the resistor divider needs to be replaced to match&lt;br /&gt;
the datasheet recommended values. For that one needs to change two&lt;br /&gt;
0402 resistors on the bottom side of the mainboard: use 2.2&amp;amp;nbsp;kOhm&lt;br /&gt;
1&amp;amp;nbsp;% for ''R52'' (instead of 4.4&amp;amp;nbsp;kOhm installed by the factory),&lt;br /&gt;
note it's the one closer to the board edge; and 6.8&amp;amp;nbsp;kOhm 1&amp;amp;nbsp;% for ''R54''&lt;br /&gt;
(30&amp;amp;nbsp;kOhm from the factory).&lt;br /&gt;
&lt;br /&gt;
If your local hackspace doesn't have suitable resistors consider&lt;br /&gt;
getting a sample book from e.g. Aliexpress, it should cost less than&lt;br /&gt;
15&amp;amp;nbsp;USD including shipping.&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=File:Pbp-charging-simplified.png&amp;diff=20002</id>
		<title>File:Pbp-charging-simplified.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=File:Pbp-charging-simplified.png&amp;diff=20002"/>
		<updated>2023-07-02T15:31:15Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: Simplified schematics diagram to illustrate Pinebook Pro external power and charging circuity.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Simplified schematics diagram to illustrate Pinebook Pro external power and charging circuity.&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{PD|PD}}&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19946</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19946"/>
		<updated>2023-06-22T08:20:04Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Hardware-accelerated video decoding */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements is still ongoing. The results (including detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
=== Hardware-accelerated video decoding ===&lt;br /&gt;
Drivers for accelerated video decoding are available in the current kernels but to use the ''v4l2-request'' API with ''FFmpeg'' (and the apps that depend on it) one needs to build [https://github.com/jernejsk/FFmpeg/branches a fork]. With ''mpv'' built against it and the integrated ''yt-dlp'' support watching YouTube and similar sources is possible without stressing the CPU. Read more at [[Mainline Hardware Decoding]].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and its software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''All Pinebook Pros shipped from the factory have the old buggy version installed so consider updating the keyboard and touchpad firmware with the latest fixes from Dragan.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable. All the PBPs from the post-pandemic batches have ''SH61F83'' but TL Lim claimed they can be flashed just the same. No updated datasheet or a statement from the MCU vendor was provided though, so proceed at your own risk. Experience shows flashing those works for at least one time.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO (vertical Enter key) and ANSI (horizontal Enter key). You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WiFi or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard or UART console).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X Window System Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
When using X.Org display server the touchpad can be handled either by ''libinput'' or ''synaptic'' input drivers. The former allows to have shared configuration for both X.Org and Wayland but the latter provides more tunables (e.g. configurable edge scrolling, circular scrolling, mapping of multi-touch events to mouse buttons etc.)&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X11 will allow finer motion in the touchpad. If you use the ''synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. Make sure you have libinput version 1.19.0 or later installed as it includes the necessary quirk.&lt;br /&gt;
&lt;br /&gt;
Synaptic driver users can add ''syndaemon'' to their X11 session for the same effect.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged. Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input. However, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved]. Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
=== ALSA configuration ===&lt;br /&gt;
If you do not have the integrated sound card selected as the default, create &amp;lt;code&amp;gt;/etc/asound.conf&amp;lt;/code&amp;gt; with the following contents:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
defaults.pcm.!card rockchipes8316c&lt;br /&gt;
defaults.ctl.!card rockchipes8316c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to enable software mixing (dmix) by default for all ALSA apps (works without Pipewire or PulseAudio), make &amp;lt;code&amp;gt;/usr/share/alsa/cards/simple-card.conf&amp;lt;/code&amp;gt; file contain this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# default with dmix/dsnoop&lt;br /&gt;
simple-card.pcm.default {&lt;br /&gt;
	@args [ CARD ]&lt;br /&gt;
	@args.CARD {&lt;br /&gt;
		type string&lt;br /&gt;
	}&lt;br /&gt;
	type asym&lt;br /&gt;
	playback.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dmix:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	capture.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dsnoop:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pop/click suppression workaround ===&lt;br /&gt;
&lt;br /&gt;
If you're annoyed by a loud pop sound (especially few seconds after a sound stream stops) you can launch the command &amp;lt;code&amp;gt;echo 10 &amp;gt; /sys/kernel/debug/asoc/rockchip,es8316-codec/dapm_pop_time&amp;lt;/code&amp;gt; with a service file at boot.&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz. This might vary depending on the country you specify in the wireless settings, see ''iw reg get; iw list''.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools. That said, if a certain feature is not reported by ''iw'' it means the currently running kernel driver plus firmware combination doesn't support it, even when the hardware is capable.&lt;br /&gt;
&lt;br /&gt;
WPA3 PSK support should be possible with ''iwd'' but not ''wpa_supplicant'', see [https://github.com/raspberrypi/linux/issues/4718#issuecomment-1279951709 this ticket] for details.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. This shows signals from the PBP's point of view, so connect the adapter's Rx to Ring 1 and Tx to Tip. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;picocom /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
* [https://forum.pine64.org/attachment.php?aid=1935 Everest ES8316 User Guide with register-level description]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19878</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19878"/>
		<updated>2023-06-17T09:12:01Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: [Audio] Add ALSA dmix configuration plus pop suppression trick; add temporary link to better codec datasheet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements is still ongoing. The results (including detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
=== Hardware-accelerated video decoding ===&lt;br /&gt;
Drivers for accelerated video decoding are available in the current kernels but to use the ''v4l2-requests'' API with ''FFmpeg'' (and the apps that depend on it) one needs to build [https://github.com/jernejsk/FFmpeg/branches a fork]. With ''mpv'' built against it and the integrated ''yt-dlp'' support watching YouTube and similar sources is possible without stressing the CPU. Read more at [[Mainline Hardware Decoding]].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and its software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''All Pinebook Pros shipped from the factory have the old buggy version installed so consider updating the keyboard and touchpad firmware with the latest fixes from Dragan.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable. All the PBPs from the post-pandemic batches have ''SH61F83'' but TL Lim claimed they can be flashed just the same. No updated datasheet or a statement from the MCU vendor was provided though, so proceed at your own risk. Experience shows flashing those works for at least one time.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO (vertical Enter key) and ANSI (horizontal Enter key). You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WiFi or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard or UART console).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X Window System Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
When using X.Org display server the touchpad can be handled either by ''libinput'' or ''synaptic'' input drivers. The former allows to have shared configuration for both X.Org and Wayland but the latter provides more tunables (e.g. configurable edge scrolling, circular scrolling, mapping of multi-touch events to mouse buttons etc.)&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X11 will allow finer motion in the touchpad. If you use the ''synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. Make sure you have libinput version 1.19.0 or later installed as it includes the necessary quirk.&lt;br /&gt;
&lt;br /&gt;
Synaptic driver users can add ''syndaemon'' to their X11 session for the same effect.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged. Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input. However, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved]. Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
=== ALSA configuration ===&lt;br /&gt;
If you do not have the integrated sound card selected as the default, create &amp;lt;code&amp;gt;/etc/asound.conf&amp;lt;/code&amp;gt; with the following contents:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
defaults.pcm.!card rockchipes8316c&lt;br /&gt;
defaults.ctl.!card rockchipes8316c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to enable software mixing (dmix) by default for all ALSA apps (works without Pipewire or PulseAudio), make &amp;lt;code&amp;gt;/usr/share/alsa/cards/simple-card.conf&amp;lt;/code&amp;gt; file contain this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# default with dmix/dsnoop&lt;br /&gt;
simple-card.pcm.default {&lt;br /&gt;
	@args [ CARD ]&lt;br /&gt;
	@args.CARD {&lt;br /&gt;
		type string&lt;br /&gt;
	}&lt;br /&gt;
	type asym&lt;br /&gt;
	playback.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dmix:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	capture.pcm {&lt;br /&gt;
		type plug&lt;br /&gt;
		slave.pcm {&lt;br /&gt;
			@func concat&lt;br /&gt;
			strings [ &amp;quot;dsnoop:CARD=&amp;quot; $CARD &amp;quot;,RATE=44100&amp;quot; ]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pop/click suppression workaround ===&lt;br /&gt;
If you're annoyed by a loud pop sound (especially few seconds after a sound stream stops) you can try adding this to &amp;lt;code&amp;gt;/etc/rc.local&amp;lt;/code&amp;gt; as a workaround:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
echo 10 &amp;gt; /sys/kernel/debug/asoc/rockchip,es8316-codec/dapm_pop_time&lt;br /&gt;
&lt;br /&gt;
return 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make it executable if it wasn't already and ''systemd'' will automatically use it on startup.&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz. This might vary depending on the country you specify in the wireless settings, see ''iw reg get; iw list''.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools. That said, if a certain feature is not reported by ''iw'' it means the currently running kernel driver plus firmware combination doesn't support it, even when the hardware is capable.&lt;br /&gt;
&lt;br /&gt;
WPA3 PSK support should be possible with ''iwd'' but not ''wpa_supplicant'', see [https://github.com/raspberrypi/linux/issues/4718#issuecomment-1279951709 this ticket] for details.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. This shows signals from the PBP's point of view, so connect the adapter's Rx to Ring 1 and Tx to Tip. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
 picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
 minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
* [https://forum.pine64.org/attachment.php?aid=1935 Everest ES8316 User Guide with register-level description]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19851</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19851"/>
		<updated>2023-06-11T08:52:31Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Linux, the kernel, downstream source */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements is still ongoing. The results (including detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
=== Hardware-accelerated video decoding ===&lt;br /&gt;
Drivers for accelerated video decoding are available in the current kernels but to use the ''v4l2-requests'' API with ''FFmpeg'' (and the apps that depend on it) one needs to build [https://github.com/jernejsk/FFmpeg/branches a fork]. With ''mpv'' built against it and the integrated ''yt-dlp'' support watching YouTube and similar sources is possible without stressing the CPU. Read more at [[Mainline Hardware Decoding]].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and its software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''All Pinebook Pros shipped from the factory have the old buggy version installed so consider updating the keyboard and touchpad firmware with the latest fixes from Dragan.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable. All the PBPs from the post-pandemic batches have ''SH61F83'' but TL Lim claimed they can be flashed just the same. No updated datasheet or a statement from the MCU vendor was provided though, so proceed at your own risk. Experience shows flashing those works for at least one time.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO (vertical Enter key) and ANSI (horizontal Enter key). You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WiFi or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard or UART console).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X Window System Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
When using X.Org display server the touchpad can be handled either by ''libinput'' or ''synaptic'' input drivers. The former allows to have shared configuration for both X.Org and Wayland but the latter provides more tunables (e.g. configurable edge scrolling, circular scrolling, mapping of multi-touch events to mouse buttons etc.)&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X11 will allow finer motion in the touchpad. If you use the ''synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. Make sure you have libinput version 1.19.0 or later installed as it includes the necessary quirk.&lt;br /&gt;
&lt;br /&gt;
Synaptic driver users can add ''syndaemon'' to their X11 session for the same effect.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged. Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input. However, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved]. Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz. This might vary depending on the country you specify in the wireless settings, see ''iw reg get; iw list''.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools. That said, if a certain feature is not reported by ''iw'' it means the currently running kernel driver plus firmware combination doesn't support it, even when the hardware is capable.&lt;br /&gt;
&lt;br /&gt;
WPA3 PSK support should be possible with ''iwd'' but not ''wpa_supplicant'', see [https://github.com/raspberrypi/linux/issues/4718#issuecomment-1279951709 this ticket] for details.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. This shows signals from the PBP's point of view, so connect the adapter's Rx to Ring 1 and Tx to Tip. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
 picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
 minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19850</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19850"/>
		<updated>2023-06-11T08:50:15Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Software and OS Image Downloads */ Clarify the situation with hw video decoding&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements are still ongoing. The results (inluding detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
=== Hardware-accelerated video decoding ===&lt;br /&gt;
Drivers for accelerated video decoding are available in the current kernels but to use the ''v4l2-requests'' API with ''FFmpeg'' (and the apps that depend on it) one needs to build [https://github.com/jernejsk/FFmpeg/branches a fork]. With ''mpv'' built against it and the integrated ''yt-dlp'' support watching YouTube and similar sources is possible without stressing the CPU. Read more at [[Mainline Hardware Decoding]].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and its software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''All Pinebook Pros shipped from the factory have the old buggy version installed so consider updating the keyboard and touchpad firmware with the latest fixes from Dragan.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable. All the PBPs from the post-pandemic batches have ''SH61F83'' but TL Lim claimed they can be flashed just the same. No updated datasheet or a statement from the MCU vendor was provided though, so proceed at your own risk. Experience shows flashing those works for at least one time.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO (vertical Enter key) and ANSI (horizontal Enter key). You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WiFi or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard or UART console).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X Window System Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
When using X.Org display server the touchpad can be handled either by ''libinput'' or ''synaptic'' input drivers. The former allows to have shared configuration for both X.Org and Wayland but the latter provides more tunables (e.g. configurable edge scrolling, circular scrolling, mapping of multi-touch events to mouse buttons etc.)&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X11 will allow finer motion in the touchpad. If you use the ''synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. Make sure you have libinput version 1.19.0 or later installed as it includes the necessary quirk.&lt;br /&gt;
&lt;br /&gt;
Synaptic driver users can add ''syndaemon'' to their X11 session for the same effect.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged. Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input. However, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved]. Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz. This might vary depending on the country you specify in the wireless settings, see ''iw reg get; iw list''.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools. That said, if a certain feature is not reported by ''iw'' it means the currently running kernel driver plus firmware combination doesn't support it, even when the hardware is capable.&lt;br /&gt;
&lt;br /&gt;
WPA3 PSK support should be possible with ''iwd'' but not ''wpa_supplicant'', see [https://github.com/raspberrypi/linux/issues/4718#issuecomment-1279951709 this ticket] for details.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. This shows signals from the PBP's point of view, so connect the adapter's Rx to Ring 1 and Tx to Tip. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
 picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
 minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19848</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19848"/>
		<updated>2023-06-11T07:35:47Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Using the UART */ eliminate ambiguity in jack connector pinout description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements are still ongoing. The results (inluding detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and its software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''All Pinebook Pros shipped from the factory have the old buggy version installed so consider updating the keyboard and touchpad firmware with the latest fixes from Dragan.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable. All the PBPs from the post-pandemic batches have ''SH61F83'' but TL Lim claimed they can be flashed just the same. No updated datasheet or a statement from the MCU vendor was provided though, so proceed at your own risk. Experience shows flashing those works for at least one time.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO (vertical Enter key) and ANSI (horizontal Enter key). You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WiFi or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard or UART console).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X Window System Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
When using X.Org display server the touchpad can be handled either by ''libinput'' or ''synaptic'' input drivers. The former allows to have shared configuration for both X.Org and Wayland but the latter provides more tunables (e.g. configurable edge scrolling, circular scrolling, mapping of multi-touch events to mouse buttons etc.)&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X11 will allow finer motion in the touchpad. If you use the ''synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. Make sure you have libinput version 1.19.0 or later installed as it includes the necessary quirk.&lt;br /&gt;
&lt;br /&gt;
Synaptic driver users can add ''syndaemon'' to their X11 session for the same effect.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged. Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input. However, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved]. Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz. This might vary depending on the country you specify in the wireless settings, see ''iw reg get; iw list''.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools. That said, if a certain feature is not reported by ''iw'' it means the currently running kernel driver plus firmware combination doesn't support it, even when the hardware is capable.&lt;br /&gt;
&lt;br /&gt;
WPA3 PSK support should be possible with ''iwd'' but not ''wpa_supplicant'', see [https://github.com/raspberrypi/linux/issues/4718#issuecomment-1279951709 this ticket] for details.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. This shows signals from the PBP's point of view, so connect the adapter's Rx to Ring 1 and Tx to Tip. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
 picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
 minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19772</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19772"/>
		<updated>2023-06-07T13:54:07Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Wi-Fi Capabilities */ WPA3 support&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements are still ongoing. The results (inluding detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and its software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''All Pinebook Pros shipped from the factory have the old buggy version installed so consider updating the keyboard and touchpad firmware with the latest fixes from Dragan.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable. All the PBPs from the post-pandemic batches have ''SH61F83'' but TL Lim claimed they can be flashed just the same. No updated datasheet or a statement from the MCU vendor was provided though, so proceed at your own risk. Experience shows flashing those works for at least one time.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO (vertical Enter key) and ANSI (horizontal Enter key). You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WiFi or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard or UART console).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X Window System Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
When using X.Org display server the touchpad can be handled either by ''libinput'' or ''synaptic'' input drivers. The former allows to have shared configuration for both X.Org and Wayland but the latter provides more tunables (e.g. configurable edge scrolling, circular scrolling, mapping of multi-touch events to mouse buttons etc.)&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X11 will allow finer motion in the touchpad. If you use the ''synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. Make sure you have libinput version 1.19.0 or later installed as it includes the necessary quirk.&lt;br /&gt;
&lt;br /&gt;
Synaptic driver users can add ''syndaemon'' to their X11 session for the same effect.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged. Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input. However, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved]. Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz. This might vary depending on the country you specify in the wireless settings, see ''iw reg get; iw list''.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools. That said, if a certain feature is not reported by ''iw'' it means the currently running kernel driver plus firmware combination doesn't support it, even when the hardware is capable.&lt;br /&gt;
&lt;br /&gt;
WPA3 PSK support should be possible with ''iwd'' but not ''wpa_supplicant'', see [https://github.com/raspberrypi/linux/issues/4718#issuecomment-1279951709 this ticket] for details.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. Swapping the tx and rx around from this also works and is more traditional. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
 picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
 minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19771</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19771"/>
		<updated>2023-06-07T13:05:00Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* X-Windows Configuration */ cleanup, explain libinput vs. synaptic, mention syndaemon for DWT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements are still ongoing. The results (inluding detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and its software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''All Pinebook Pros shipped from the factory have the old buggy version installed so consider updating the keyboard and touchpad firmware with the latest fixes from Dragan.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable. All the PBPs from the post-pandemic batches have ''SH61F83'' but TL Lim claimed they can be flashed just the same. No updated datasheet or a statement from the MCU vendor was provided though, so proceed at your own risk. Experience shows flashing those works for at least one time.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO (vertical Enter key) and ANSI (horizontal Enter key). You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WiFi or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard or UART console).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X Window System Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
When using X.Org display server the touchpad can be handled either by ''libinput'' or ''synaptic'' input drivers. The former allows to have shared configuration for both X.Org and Wayland but the latter provides more tunables (e.g. configurable edge scrolling, circular scrolling, mapping of multi-touch events to mouse buttons etc.)&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X11 will allow finer motion in the touchpad. If you use the ''synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. Make sure you have libinput version 1.19.0 or later installed as it includes the necessary quirk.&lt;br /&gt;
&lt;br /&gt;
Synaptic driver users can add ''syndaemon'' to their X11 session for the same effect.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged. Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input. However, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved]. Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. Swapping the tx and rx around from this also works and is more traditional. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
 picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
 minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19770</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19770"/>
		<updated>2023-06-07T12:38:50Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Firmware */ Clarify and update the keyboard/touchpad firmware flashing procedures&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements are still ongoing. The results (inluding detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and its software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''All Pinebook Pros shipped from the factory have the old buggy version installed so consider updating the keyboard and touchpad firmware with the latest fixes from Dragan.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable. All the PBPs from the post-pandemic batches have ''SH61F83'' but TL Lim claimed they can be flashed just the same. No updated datasheet or a statement from the MCU vendor was provided though, so proceed at your own risk. Experience shows flashing those works for at least one time.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO (vertical Enter key) and ANSI (horizontal Enter key). You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WiFi or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard or UART console).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/dragan-simic/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X-Windows Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X-Windows will allow finer motion in the touchpad. If you use the ''Synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver (has not been test with synaptic) due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. To resolve this one can add the config below which sets the keyboard to internal to ensure the DisableWhileTyping works properly.&lt;br /&gt;
&lt;br /&gt;
You will need to edit '''/etc/libinput/local-overrides.quirks''' and add the following lines:&lt;br /&gt;
&lt;br /&gt;
 [Serial Keyboards]&lt;br /&gt;
 MatchUdevType=keyboard&lt;br /&gt;
 MatchBus=usb&lt;br /&gt;
 AttrKeyboardIntegration=internal&lt;br /&gt;
&lt;br /&gt;
Once X11 is restarted the new setting should now take effect and you will no longer be able to use the touchpad while typing which will mostly eliminate the mouse jumping issue.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged. Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input. However, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved]. Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. Swapping the tx and rx around from this also works and is more traditional. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
 picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
 minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19759</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19759"/>
		<updated>2023-06-06T11:45:30Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Battery */ add information about CW2015 used to monitor it&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements are still ongoing. The results (inluding detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and it's software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''Every Pinebook Pro produced before September 2021 should have its keyboard and touchpad firmware updated.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO and ANSI. You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
'''TODO''' Explain how one can know which keyboard model he has.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WIFI or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X-Windows Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X-Windows will allow finer motion in the touchpad. If you use the ''Synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver (has not been test with synaptic) due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. To resolve this one can add the config below which sets the keyboard to internal to ensure the DisableWhileTyping works properly.&lt;br /&gt;
&lt;br /&gt;
You will need to edit '''/etc/libinput/local-overrides.quirks''' and add the following lines:&lt;br /&gt;
&lt;br /&gt;
 [Serial Keyboards]&lt;br /&gt;
 MatchUdevType=keyboard&lt;br /&gt;
 MatchBus=usb&lt;br /&gt;
 AttrKeyboardIntegration=internal&lt;br /&gt;
&lt;br /&gt;
Once X11 is restarted the new setting should now take effect and you will no longer be able to use the touchpad while typing which will mostly eliminate the mouse jumping issue.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged. Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input. However, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved]. Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. Swapping the tx and rx around from this also works and is more traditional. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
 picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
 minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
* Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19758</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19758"/>
		<updated>2023-06-06T09:02:53Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Disassembly and Reassembly */ stiff hinges warning&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements are still ongoing. The results (inluding detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and it's software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''Every Pinebook Pro produced before September 2021 should have its keyboard and touchpad firmware updated.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO and ANSI. You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
'''TODO''' Explain how one can know which keyboard model he has.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WIFI or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X-Windows Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X-Windows will allow finer motion in the touchpad. If you use the ''Synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver (has not been test with synaptic) due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. To resolve this one can add the config below which sets the keyboard to internal to ensure the DisableWhileTyping works properly.&lt;br /&gt;
&lt;br /&gt;
You will need to edit '''/etc/libinput/local-overrides.quirks''' and add the following lines:&lt;br /&gt;
&lt;br /&gt;
 [Serial Keyboards]&lt;br /&gt;
 MatchUdevType=keyboard&lt;br /&gt;
 MatchBus=usb&lt;br /&gt;
 AttrKeyboardIntegration=internal&lt;br /&gt;
&lt;br /&gt;
Once X11 is restarted the new setting should now take effect and you will no longer be able to use the touchpad while typing which will mostly eliminate the mouse jumping issue.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged. Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input. However, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved]. Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. Swapping the tx and rx around from this also works and is more traditional. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
 picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
 minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body).&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19757</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19757"/>
		<updated>2023-06-06T07:54:20Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: Add link to the latest megi's Linux sources&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of GNU/Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
=== Linux, the kernel, downstream source ===&lt;br /&gt;
Although the current upstream version boots and works, the development of new features and other improvements are still ongoing. The results (inluding detailed changelogs) are published on [https://github.com/megous/linux/tags megi's tree].&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and it's software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''Every Pinebook Pro produced before September 2021 should have its keyboard and touchpad firmware updated.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO and ANSI. You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
'''TODO''' Explain how one can know which keyboard model he has.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WIFI or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X-Windows Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X-Windows will allow finer motion in the touchpad. If you use the ''Synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver (has not been test with synaptic) due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. To resolve this one can add the config below which sets the keyboard to internal to ensure the DisableWhileTyping works properly.&lt;br /&gt;
&lt;br /&gt;
You will need to edit '''/etc/libinput/local-overrides.quirks''' and add the following lines:&lt;br /&gt;
&lt;br /&gt;
 [Serial Keyboards]&lt;br /&gt;
 MatchUdevType=keyboard&lt;br /&gt;
 MatchBus=usb&lt;br /&gt;
 AttrKeyboardIntegration=internal&lt;br /&gt;
&lt;br /&gt;
Once X11 is restarted the new setting should now take effect and you will no longer be able to use the touchpad while typing which will mostly eliminate the mouse jumping issue.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged. Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input. However, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved]. Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. Swapping the tx and rx around from this also works and is more traditional. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
 picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
 minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19723</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19723"/>
		<updated>2023-06-05T10:18:03Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: Clarify limits for Type C charging&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (2.5A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and it's software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''Every Pinebook Pro produced before September 2021 should have its keyboard and touchpad firmware updated.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO and ANSI. You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
'''TODO''' Explain how one can know which keyboard model he has.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WIFI or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X-Windows Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X-Windows will allow finer motion in the touchpad. If you use the ''Synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver (has not been test with synaptic) due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. To resolve this one can add the config below which sets the keyboard to internal to ensure the DisableWhileTyping works properly.&lt;br /&gt;
&lt;br /&gt;
You will need to edit '''/etc/libinput/local-overrides.quirks''' and add the following lines:&lt;br /&gt;
&lt;br /&gt;
 [Serial Keyboards]&lt;br /&gt;
 MatchUdevType=keyboard&lt;br /&gt;
 MatchBus=usb&lt;br /&gt;
 AttrKeyboardIntegration=internal&lt;br /&gt;
&lt;br /&gt;
Once X11 is restarted the new setting should now take effect and you will no longer be able to use the touchpad while typing which will mostly eliminate the mouse jumping issue.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC, 15W (current limit 3A)&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 12.5W PD (current limit 2.5A)&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs)&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged. Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input. However, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved]. Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. Swapping the tx and rx around from this also works and is more traditional. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
 picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
 minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19717</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=19717"/>
		<updated>2023-06-03T19:44:11Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: Information regarding new battery model&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The '''Pinebook Pro''' is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops.&lt;br /&gt;
&lt;br /&gt;
It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the RK3399 SOC, USB-C for data, video-out and power-in (3A 5V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects. These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [[#Privacy Switches|privacy switch]] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Releases]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.&lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]] and details regarding the assembly can be found under [[Pinebook Pro Keyboard Assembly]].&lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The UK ISO Layout does not have dedicated keys for characters like the German umlauts (Ä, Ö, Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[AltGr]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| Re-enabling requires reboot (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system. It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it. This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures. There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly. See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached. I recommend using a PH0 bit. The speakers may remain attached via glue to the case and should be carefully pried off. When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed. There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery. Be sure to not lose them. I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed. Note that there are two unconnected cables lying around, that should remain unconnected. They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables. To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery. Detach from both ends. With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard. Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard. This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge. It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell. The microphones are held in place by tape, and the speakers have sticky sides. The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick. The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed. When unscrewed (see Step 2) they should pull out fairly easily. Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges. I recommend a PH1 bit for these screws. Unscrew these and the LCD panel will be able to be removed. You may have to jiggle or move the hinges for this. When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try not to break your touchpad&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well. There are two places it is glued to. If you can, only the middle must be force-detached. You will think you're going to break it. Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached. This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached. If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out. If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one. These items protect the mainboard and daughterboard, and keep various wires in their right place. Some are grey and some are black. For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable. Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached. Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down. The cable should not be easy to pull out.&lt;br /&gt;
&lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
&lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard. Be sure to keep the two other cables remain unconnected. Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
&lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now. See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality.&lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm × 64mm; diagonal: 115.378mm or 4.542”).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences. For example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and it's software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware (which has to be written through the keyboard controller). The touchpad vendor's firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński's [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert's [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic's [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor one, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion). Before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''Every Pinebook Pro produced before September 2021 should have its keyboard and touchpad firmware updated.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has. Some Pinebook Pro were delivered with a ''SH61F83'' instead of a ''SH68F83''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when step 1 (see below) is flashed. See [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to ''U23'' on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all operating systems available for the Pinebook Pro. Some operating systems may however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO and ANSI. You need to know which model you have prior to running the updater.&lt;br /&gt;
Firmware update steps for both models are listed below.&lt;br /&gt;
&lt;br /&gt;
'''TODO''' Explain how one can know which keyboard model he has.&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to internet for getting dependencies, either through WIFI or wired ethernet (USB dongle).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard and mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once. In this case, you will definitely want at least an external keyboard).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 iso&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-1 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&lt;br /&gt;
 cd pinebook-pro-keyboard-updater&lt;br /&gt;
 sudo ./updater step-2 ansi&lt;br /&gt;
 sudo poweroff # do not use 'reboot'&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data. This is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&lt;br /&gt;
 sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&lt;br /&gt;
=== X-Windows Configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Info|Before making adjustments, consider updating the firmware. Reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.}}&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X-Windows will allow finer motion in the touchpad. If you use the ''Synaptic'' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.2&lt;br /&gt;
&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&lt;br /&gt;
&lt;br /&gt;
To make the change persist across reboots, change the file '''/etc/X11/xorg.conf''' similar to below:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        '''Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;quot; is changed here.&lt;br /&gt;
&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&lt;br /&gt;
 synclient MinSpeed=0.25&lt;br /&gt;
 synclient TapButton1=1&lt;br /&gt;
 synclient TapButton2=3&lt;br /&gt;
 synclient TapButton3=2&lt;br /&gt;
 synclient FingerLow=30&lt;br /&gt;
 synclient PalmDetect=1&lt;br /&gt;
 synclient VertScrollDelta=64&lt;br /&gt;
 synclient HorizScrollDelta=64&lt;br /&gt;
&lt;br /&gt;
''FingerLow'' has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&lt;br /&gt;
''TabButton'' allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The right mouse click is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&lt;br /&gt;
 synclient MaxTapTime=250&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver (has not been test with synaptic) due to their hand hitting the touchpad which can be fixed by updating the X.Org settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the X.Org config simliar to the previous example.&lt;br /&gt;
&lt;br /&gt;
         Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. To resolve this one can add the config below which sets the keyboard to internal to ensure the DisableWhileTyping works properly.&lt;br /&gt;
&lt;br /&gt;
You will need to edit '''/etc/libinput/local-overrides.quirks''' and add the following lines:&lt;br /&gt;
&lt;br /&gt;
 [Serial Keyboards]&lt;br /&gt;
 MatchUdevType=keyboard&lt;br /&gt;
 MatchBus=usb&lt;br /&gt;
 AttrKeyboardIntegration=internal&lt;br /&gt;
&lt;br /&gt;
Once X11 is restarted the new setting should now take effect and you will no longer be able to use the touchpad while typing which will mostly eliminate the mouse jumping issue.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC @ 3A&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 15W PD quickcharge&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port:&lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged. Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input. However, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved]. Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused).&lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288&lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration. Units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna.&lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56 cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60 Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250 nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following:&lt;br /&gt;
&lt;br /&gt;
 ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. Swapping the tx and rx around from this also works and is more traditional. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3 V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3 V and 5 V variants) to avoid damage to the CPU. Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used, see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information. Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
 $ lsusb&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
 Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
 picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
 minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distribution and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown):&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
 NVME Identify Controller:&lt;br /&gt;
 ...&lt;br /&gt;
 ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
          rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
 ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
          rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
 ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
          rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
 ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
          rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
 ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
          rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
 &lt;br /&gt;
 $ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
 get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
 $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
 set-feature:02 (Power Management), value:0x000002&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
 After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl enable --now nvme-throttle.service&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature:&lt;br /&gt;
&lt;br /&gt;
 $ sudo nvme get-feature -f 0x0c -H /dev/nvme0&lt;br /&gt;
&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using&lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
* MicroSD&lt;br /&gt;
* eMMC&lt;br /&gt;
* NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses '''/boot''' and '''/''' off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].&lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
These are instruction guides for the disassembly:&lt;br /&gt;
&lt;br /&gt;
{{Info|The installation process is the reverse order of removal guide}}&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Battery_Removal_Guide.pdf Lithium Battery Pack Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf LCD Panel Screen Removal Guide]&lt;br /&gt;
* [http://files.pine64.org/doc/pinebook/guide/Pinebook_14-eMMC_Removal_Guide.pdf eMMC Module Removal Removal Guide]&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: '''/dev/mtd0'''&lt;br /&gt;
* The Linux package below, will need to be available: ''mtd-utils''&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;lt;filename&amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== Software tuning guide ==&lt;br /&gt;
&lt;br /&gt;
The software tuning guides can be found in the article [[Pinebook Pro Software Tuning Guide]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting guide ==&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way. Instead, stop and consider carefully how to undo something, or how to redo it. This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad. If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
== Hardware/Accessory Compatibility ==&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro. Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Disassembly and Reassembly ==&lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
=== Display Disassembly===&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[#Caring for the PineBook Pro|Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack.&lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode. This mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools).&lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pbp_emmc_disable_sw.jpg|480px|thumb|The PineBook Pro eMMC module and switch, shown in 'enabled' position]]&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG.&lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
 echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72&lt;br /&gt;
** L2 cache 1024KB for big cluster&lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 650MHz&lt;br /&gt;
* Throughput 1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory:&lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5 W continuous, 8.25 W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_schematic_v21a_20220419.pdf Pinebook Pro Main Board ver 2.1a Schematic 20220419]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic 20190905]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-top-ref.pdf|Pinebook Pro ver 2.1 Top Layer Silkscreen]]&lt;br /&gt;
* [[file:Pinebookpro-v2.1-bottom-ref.pdf|Pinebook Pro ver 2.1 Bottom Layer Silkscreen]]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
&lt;br /&gt;
Serial Console Earphone Jack Pinout:&lt;br /&gt;
* [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Case:&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
* [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
&lt;br /&gt;
Pinebook Pro Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
Rockchip RK3399 SoC information:&lt;br /&gt;
* [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
* [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
&lt;br /&gt;
LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
&lt;br /&gt;
SPI NOR Flash information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
* [[file:Ds-00220-gd25q127c-rev1-df2f4.pdf|GigaDevice 128Mb SPI Flash Datasheet (updated)]]&lt;br /&gt;
&lt;br /&gt;
Wireless and Bluetooth information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Audio codec:&lt;br /&gt;
* [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
&lt;br /&gt;
LCD panel:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
&lt;br /&gt;
USB-related information:&lt;br /&gt;
* Internal USB 2.0 hub: [[File:GL850G_USB_Hub_1.07.pdf|GL850G USB Hub Datasheet]]&lt;br /&gt;
* USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
&lt;br /&gt;
Touchpad information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
&lt;br /&gt;
Keyboard information:&lt;br /&gt;
* [[file:SH68F83V2.0.pdf|Sinowealth SH68F83 Datasheet]]&lt;br /&gt;
* US ANSI: XK-HS002 MB27716023&lt;br /&gt;
&lt;br /&gt;
Full HD camera sensor:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
&lt;br /&gt;
Battery-related information:&lt;br /&gt;
* Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
* Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000 mAh Lithium Battery Specification]&lt;br /&gt;
* Later batches come with 9600 mAh / 36.48 Wh model WYC40110175P battery&lt;br /&gt;
&lt;br /&gt;
Power path device:&lt;br /&gt;
* [[file:Sis412dn.pdf|N-MOS / MOSFET]]&lt;br /&gt;
&lt;br /&gt;
NVMe adapter:&lt;br /&gt;
* [[file:Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf|FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
== Skinning and Case Customization ==&lt;br /&gt;
Template files for creating custom skins. Each includes template layers for art placement, and CUT lines:&lt;br /&gt;
&lt;br /&gt;
* [[File:Pbp_template_case_bottom.pdf|Case Lid Template]]&lt;br /&gt;
* [[File:Pbp_template_case_lid.pdf|Case Bottom Template]]&lt;br /&gt;
* [[File:Pbp_template_case_palmrest.pdf|Case Palmrest Template]]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pinebook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_Pro&amp;diff=19314</id>
		<title>PinePhone Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_Pro&amp;diff=19314"/>
		<updated>2023-04-06T07:52:51Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Components */ add earpiece information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Pinephone_double.png|400px|thumb|right|Rendering of the PinePhone Pro]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
More information about the PinePhone Pro can be found on the device [https://www.pine64.org/pinephonepro/ main page].&lt;br /&gt;
&lt;br /&gt;
=== State of the software ===&lt;br /&gt;
&amp;lt;sup&amp;gt;([[PinePhone Pro Software State|view separately]])&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:PinePhone Pro Software State}}&lt;br /&gt;
&lt;br /&gt;
=== Editions and revisions ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
* [[PinePhone Pro Developer Edition]]&lt;br /&gt;
* PinePhone Pro Explorer Edition&lt;br /&gt;
&lt;br /&gt;
=== Help and support ===&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Please keep in mind that PINE64 is not like a regular company (see the [https://www.pine64.org/philosophy/ 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.&lt;br /&gt;
&lt;br /&gt;
== First time setup ==&lt;br /&gt;
[[File:Pinephone_warning.png|320px|thumb|right|A protection foil isolates the battery for the shipping.]]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
{{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.}}&lt;br /&gt;
&lt;br /&gt;
The SIM card has to be placed in the lower slot, while the microSD has to be placed in the upper slot. Devices shipped after the end of July 2022 do only accept a nano-SIM, the SIM is inserted into a carriage released by slightly pulling on the handle in the lower slot (for information regarding devices shipped prior to end of July 2022 see below).&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone slots.png|600px|thumb|none|The microSD belongs in the upper slot, the SIM card in the lower slot.]]&lt;br /&gt;
&lt;br /&gt;
{{Info|Information regarding devices shipped prior to end of July 2022: The PinePhone Pros shipped prior to the end of July 2022 come with a micro-SIM slot instead of a nano-SIM slot. 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. &amp;lt;br&amp;gt; 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!}}&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Software releases ===&lt;br /&gt;
&lt;br /&gt;
The [[PinePhone Pro Software Releases]] page has a complete list of currently supported phone-optimized operating system images that work with the PinePhone Pro.&lt;br /&gt;
&lt;br /&gt;
{{Info|Images of the regular PinePhone are not compatible with the PinePhone Pro.}}&lt;br /&gt;
&lt;br /&gt;
=== Boot order ===&lt;br /&gt;
&lt;br /&gt;
The RK3399S processor in the PinePhone Pro searches for the bootloader (such as ''U-Boot'' or ''Tow-Boot'') in the following order:&lt;br /&gt;
&lt;br /&gt;
# SPI flash&lt;br /&gt;
# eMMC (the internal memory)&lt;br /&gt;
# MicroSD card&lt;br /&gt;
&lt;br /&gt;
==== Boot from microSD card temporarily ====&lt;br /&gt;
&lt;br /&gt;
To temporarily boot from an inserted '''microSD card''' do the following:&lt;br /&gt;
&lt;br /&gt;
* On the '''Explorer Edition ordered after July 2022''' hold the ''volume down key'' while powering on the device. The batches bought after July 2022 come with ''Tow-Boot'' flashed to the SPI, which offers additional functionality over ''U-Boot'' as bootloader.&lt;br /&gt;
&lt;br /&gt;
* On the '''Explorer Edition ordered between January and July 2022''' hold the ''RE'' button underneath the cover for a few seconds, while powering on the device. If the button is labeled ''RESET'' instead of ''RE'' please verify if the device is a regular [[PinePhone]] (or the Developer Edition). This is required because older batches don't ship with ''Tow-Boot'' on the SPI. Flashing ''Tow-Boot'' can be caught up by following [https://tow-boot.org/devices/pine64-pinephonePro.html this] instruction. Note: If ''Tow-Boot'' is flashed later, the microSD card can be selected at boot with the volume down key as well.&lt;br /&gt;
&lt;br /&gt;
* On the '''Developer Edition (sold to selected 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.&lt;br /&gt;
&lt;br /&gt;
The RE button disables the SPI and the eMMC at the hardware level while the button is held 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.&lt;br /&gt;
&lt;br /&gt;
{{Template:Info|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.}}&lt;br /&gt;
&lt;br /&gt;
==== Boot from microSD card permanently ====&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;code&amp;gt;sudo dd if&amp;amp;#61;/dev/zero of&amp;amp;#61;/dev/mmcblk2 seek&amp;amp;#61;64 count&amp;amp;#61;400 conv&amp;amp;#61;fsync&amp;lt;/code&amp;gt;. Formatting the drive or deleting the partition table is not sufficient to wipe the bootloader.&lt;br /&gt;
&lt;br /&gt;
==== Notes ====&lt;br /&gt;
&lt;br /&gt;
If you received your device after July of 2022, the bootloader (''Tow-Boot'') resides on the SPI. To boot to an SD card, place the SD card in your PinePhone Pro and turn it on. The phone will vibrate once. At this point, hold down the volume down button until you feel the device vibrate again then release the button. The LED color should change to blue and your display should remain black for a few seconds. In a few seconds you should see the SD card booting, the indications of which are dependent on what image you chose. If the LED is flashing instead, the boot from SD failed. Erasing the SPI can be achieved via the Tow-Boot installer image. Instructions are available here [https://tow-boot.org/devices/pine64-pinephonePro.html Tow-Boot PinePhone Pro Instructions].&lt;br /&gt;
&lt;br /&gt;
See [[RK3399 boot sequence]] for further details regarding the boot sequence.&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The software releases can be installed (the process is being referred to as ''flashing'') to the eMMC or to an microSD card.&lt;br /&gt;
&lt;br /&gt;
==== Flashing to microSD card ====&lt;br /&gt;
To install an image to the microSD card:&lt;br /&gt;
&lt;br /&gt;
# Download a compatible image from [[PinePhone Pro Software Releases]].&lt;br /&gt;
# '''Important:''' Typically the image will be compressed in an archive file to reduce the download size (such as ''.gz'' or ''.xz''). Extract the image from its archive file to get the file with the file extension ''.img''.&lt;br /&gt;
# Write the image to your microSD card using your favorite method, examples:&lt;br /&gt;
#* Using ''dd'': On the device you're flashing the microSD card from, find the correct device under &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; and then flash the image to the microSD card using &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;. Make sure the target is the whole microSD card and not its first partition (''sdc1'' or ''mmcblk0p1'' are wrong!).&lt;br /&gt;
#* Using ''bmaptool'': Make sure to select the correct device using &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt;. Then run bmaptool with the correct device: Download the ''IMAGE.xz'' and the ''IMAGE.bmap'' files, then run &amp;lt;code&amp;gt;bmaptool copy --bmap '''IMAGE.bmap''' '''IMAGE.xz''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;. This takes around 2.5 minutes to flash a 4 GB file.&lt;br /&gt;
#* Using ''a graphical tool'': A graphical tool such as Gnome Disks under Linux or Etcher under Windows may also be used.&lt;br /&gt;
# 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]].&lt;br /&gt;
# Boot the device using the following method:&lt;br /&gt;
#* On the '''Explorer Edition ordered after July 2022''' hold the ''volume down key'' while booting.&lt;br /&gt;
#* On the '''Explorer Edition ordered between January and July 2022''' hold the ''RE'' button underneath the back cover while booting (or use the ''volume down key'' if you flashed ''Tow-Boot'').&lt;br /&gt;
#* On the '''Developer Edition (sold to selected developers only)''' apply the bypass by shorting the testing pads while booting according to the datasheet (or use the ''volume down key'' if you flashed ''Tow-Boot'').&lt;br /&gt;
&lt;br /&gt;
Details regarding the boot order can be found in the [[PinePhone Pro#Boot order|Boot order]] section.&lt;br /&gt;
&lt;br /&gt;
==== Flashing to the eMMC ====&lt;br /&gt;
Flashing to the eMMC can either be done using ''Tow-Boot'''s USB Mass Storage mode (see [[#Boot order]] if you are unsure if the device comes with Tow-Bot pre-installed) or 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:&lt;br /&gt;
&lt;br /&gt;
By using Tow-Boot:&lt;br /&gt;
# Power off the device&lt;br /&gt;
# Power on the device and hold the ''volume up'' key before and during the second vibration&lt;br /&gt;
# The LED will turn blue if done successfully. This will only work if Tow-Boot is installed&lt;br /&gt;
# When connecting the device to a computer via USB it will behave like an USB drive now&lt;br /&gt;
# Check if the eMMC appears under &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt;&lt;br /&gt;
# '''Important:''' Typically the image will be compressed in an archive file to reduce the download size (such as ''.gz'' or ''.xz''). Extract the image from its archive file to get the file with the file extension ''.img''&lt;br /&gt;
# Flash the image file using &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''DEVICE''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; (replace ''IMAGE.img'' with the filename of the image you want to flash and make sure it has the file extension ''.img'' and replace ''DEVICE'' with the correct device from the ''lsblk'' command)&lt;br /&gt;
# Reboot the PinePhone Pro&lt;br /&gt;
&lt;br /&gt;
By booting a microSD card:&lt;br /&gt;
&lt;br /&gt;
# 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.&lt;br /&gt;
# Download or copy the desired image to the microSD card as file&lt;br /&gt;
# Check if the eMMC appears under &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt;. 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&lt;br /&gt;
# '''Important:''' Typically the image will be compressed in an archive file to reduce the download size (such as ''.gz'' or ''.xz''). Extract the image from its archive file to get the file with the file extension ''.img''.&lt;br /&gt;
# Flash the image file using &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/mmcblk2 bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; (replace ''IMAGE.img'' with the filename of the image you want to flash and make sure it has the file extension ''.img'').&lt;br /&gt;
# Reboot the PinePhone Pro&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
==== The battery is fully drained ====&lt;br /&gt;
&lt;br /&gt;
If the battery is drained then the board can reset during boot causing a boot loop because of undervoltage condition. It can happen on all stages of the boot including ''U-Boot'' bootloader, display initialization and USB (re-)configuration. 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. It is possible to follow these instructions without a computer by using a wall charger, however it would not be possible to determine if Maskrom mode was started successfully. To boot the PinePhone Pro into ''Maskrom mode'':&lt;br /&gt;
&lt;br /&gt;
* Remove any microSD card from the phone and keep it removed for the below procedure&lt;br /&gt;
* Remove the battery, any USB cable and any serial cable&lt;br /&gt;
* Reinsert the battery&lt;br /&gt;
* Hold the ''RE'' button underneath the back cover of your ''Explorer Edition'' (or short the bypass contact points on the ''Developer Edition'') &lt;br /&gt;
{{Info|Confirm that the label of the button says ''RE'' and not ''RESET''! If the button label says ''RESET'' instead you probably have a regular PinePhone and you're reading the wrong page.}}&lt;br /&gt;
* Connect the phone to an USB port of a computer, while still holding the button for some time&lt;br /&gt;
* Confirm if the phone was booted in Maskrom mode:&lt;br /&gt;
** On ''Linux'' check if the Maskrom mode appears as device in the output of the terminal command &amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt; on the computer, the expected ''VID:PID'' of the device is ''2207:330c''.&lt;br /&gt;
** On ''Windows'' this can be checked using the ''Device Manager'' and checking the VID &amp;quot;2207&amp;quot; and PID &amp;quot;330c&amp;quot; of an ''Unknown device'' appears.&lt;br /&gt;
** On ''macOS'' this can be checked in ''/Applications/Utilities/System Information.app'' under ''USB'' and by checking if the VID &amp;quot;2207&amp;quot; and PID &amp;quot;330c&amp;quot; is appearing for a ''Composite Device''.&lt;br /&gt;
* Let the phone charge for multiple hours&lt;br /&gt;
&lt;br /&gt;
{{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.}}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== The installation is corrupted ====&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Prepare a microSD card as explained in the section [[PinePhone Pro#Flashing to microSD card|Flashing to microSD card]]&lt;br /&gt;
* Remove any USB-C cable or device or add-on case from the PinePhone Pro&lt;br /&gt;
* Make sure the device is powered off by shortly removing the battery for a second&lt;br /&gt;
* 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.&lt;br /&gt;
* Power on the device while bypassing the SPI and eMMC as explained under [[PinePhone Pro#Boot order|Boot order]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Bootloaders ===&lt;br /&gt;
The following section contains notes regarding compatible bootloaders with the PinePhone Pro.&lt;br /&gt;
&lt;br /&gt;
==== U-Boot ====&lt;br /&gt;
The pre-installed operating system on the PinePhone Pro Explorer Edition, if sold prior to the end of July of 2022, is using [[U-Boot]] as default bootloader. Batches sold after July of 2022 are using ''Tow-Boot''&lt;br /&gt;
&lt;br /&gt;
==== Tow-Boot ====&lt;br /&gt;
Current batches of the PinePhone Pro ship with ''Tow-Boot'' pre-installed to the SPI flash, 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.&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
==== levinboot ====&lt;br /&gt;
The levinboot bootloader is another option for the PinePhone Pro. The project repository can be found [https://gitlab.com/DeltaGem/levinboot/-/tree/master/ here]. (Pinephone Pro supporting fork is [https://xff.cz/git/levinboot/ here].)&lt;br /&gt;
&lt;br /&gt;
== Privacy switch configuration ==&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone Kill Interruptors de Maquinari del PinePhone 4529.jpg|320px|thumb|right|Picture of the privacy switches]]&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;on&amp;quot; position is toward the top of the phone.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Modem&lt;br /&gt;
| &amp;quot;On&amp;quot; enables 2G/3G/4G communication and GNSS hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| WiFi / Bluetooth&lt;br /&gt;
| &amp;quot;On&amp;quot; enables WiFi and Bluetooth communication hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Microphone&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input from on-board microphones (not 3.5 mm jack), &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Rear camera&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the rear camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Front camera&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the front camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Headphone&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input and output via the 3.5 mm audio jack, &amp;quot;off&amp;quot; switches the jack to hardware UART¹ mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
¹ Note: The baud rate may be 1500000 instead of 115200.&lt;br /&gt;
&lt;br /&gt;
== Modem ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone uses Quectel EG25-G as modem. AT commands are used to communicate with the modem.&lt;br /&gt;
&lt;br /&gt;
=== AT commands ===&lt;br /&gt;
&lt;br /&gt;
A list of documented AT commands can be found for example in this [[:File:Quectel_EC2x&amp;amp;EG9x&amp;amp;EG2x-G&amp;amp;EM05_Series_AT_Commands_Manual_V2.0.pdf|AT commands documentation]] from Quectel. Further undocumented AT commands found by the developer megi, who reverse-engineered parts of the modem and its firmware, can be found on megi's website [http://xnux.eu/devices/feature/modem-pp-reveng.html#toc-un-der-documented-at-commands here].&lt;br /&gt;
&lt;br /&gt;
To send AT commands to the modem under Linux, &amp;lt;code&amp;gt;minicom&amp;lt;/code&amp;gt; or the often-preinstalled &amp;lt;code&amp;gt;atinout&amp;lt;/code&amp;gt; utility can be used. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;atinout&amp;lt;/i&amp;gt; example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;AT+&amp;lt;command here&amp;gt;&amp;quot; | sudo atinout - /dev/ttyUSB2 -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;minicom&amp;lt;/i&amp;gt; example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;minicom -D /dev/ttyUSB2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VoLTE ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone's modem supports VoLTE and comes with a few VoLTE profiles preloaded. Most operating systems try to set the correct profile automatically.&lt;br /&gt;
&lt;br /&gt;
To list the available VoLTE profiles:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+QMBNCFG=&amp;quot;list&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,0,1,1,&amp;quot;ROW_Generic_3GPP&amp;quot;,0x0501081F,201901141&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,1,0,0,&amp;quot;VoLTE-ATT&amp;quot;,0x0501033C,201909271&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,2,0,0,&amp;quot;hVoLTE-Verizon&amp;quot;,0x05010141,201911251&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,3,0,0,&amp;quot;Sprint-VoLTE&amp;quot;,0x05010205,201908141&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,4,0,0,&amp;quot;Commercial-TMO_VoLTE&amp;quot;,0x05010505,201811231&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,5,0,0,&amp;quot;Telus-Commercial_VoLTE&amp;quot;,0x05800C43,201912031&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,6,0,0,&amp;quot;Commercial-SBM&amp;quot;,0x05011C18,201904021&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,7,0,0,&amp;quot;Commercial-DT&amp;quot;,0x05011F1C,201905311&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,8,0,0,&amp;quot;Reliance_OpnMkt&amp;quot;,0x05011B38,201910161&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,9,0,0,&amp;quot;TF_Germany_VoLTE&amp;quot;,0x05010C1B,201909201&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,10,0,0,&amp;quot;TF_Spain_VoLTE&amp;quot;,0x05010CFA,201909261&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,11,0,0,&amp;quot;Volte_OpenMkt-Commercial-CMCC&amp;quot;,0x05012071,201904281&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,12,0,0,&amp;quot;OpenMkt-Commercial-CT&amp;quot;,0x05011322,201911081&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,13,0,0,&amp;quot;OpenMkt-Commercial-CU&amp;quot;,0x05011505,201807052&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To select a profile manually, select the best fitting one or a generic one if none fits:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;ROW_Generic_3GPP&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then enable Voice over LTE using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+QCFG=&amp;quot;ims&amp;quot;,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And reboot the modem to apply the settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+CFUN=1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check the status of VoLTE during a call, the AT command &amp;lt;code&amp;gt;CLCC&amp;lt;/code&amp;gt; can be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+CLCC&lt;br /&gt;
&lt;br /&gt;
+CLCC: 1,1,0,1,0,&amp;quot;&amp;quot;,128&lt;br /&gt;
+CLCC: 2,1,0,1,0,&amp;quot;&amp;quot;,128&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the fourth item of the list, &amp;quot;0&amp;quot; means voice and and &amp;quot;1&amp;quot; means data. If both rows have &amp;quot;1&amp;quot; then the voice call is being carried over VoLTE.&lt;br /&gt;
&lt;br /&gt;
=== APN settings ===&lt;br /&gt;
&lt;br /&gt;
The APN setting is only required for a public Internet connection (&amp;quot;data&amp;quot;) on the phone. For tested APN settings and how to apply them see [[PinePhone APN Settings]].&lt;br /&gt;
&lt;br /&gt;
=== Carrier support ===&lt;br /&gt;
The page [[PinePhone Carrier Support]] contains information about the frequency support of different carriers and hints on setting up cellular network connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
&lt;br /&gt;
Detailed information about the modem can be found on the [https://xnux.eu/devices/feature/modem-pp.html#toc-modem-on-pinephone page of the developer megi], including reverse-engineered parts of the firmware and its functions. There is also a document about using the modem from January 18th 2020 by megi [https://megous.com/dl/tmp/modem.txt here]. A script at the end of the document showcases a way to poweroff the modem before powering off the phone, which is integrated into most of the available operating systems.&lt;br /&gt;
&lt;br /&gt;
=== Firmware update ===&lt;br /&gt;
&lt;br /&gt;
There is a (nearly) free custom firmware and the stock firmware available for the PinePhone. Both can be updated to a newer version with new features and bug fixes.&lt;br /&gt;
&lt;br /&gt;
==== Custom firmware ====&lt;br /&gt;
&lt;br /&gt;
There is a (nearly) free custom firmware for the PinePhone modem by the developer ''biktorgj'', which can be found [https://github.com/the-modem-distro/pinephone_modem_sdk here].&lt;br /&gt;
&lt;br /&gt;
The custom firmware has various advantages (and zero disadvantages) over the stock firmware, including:&lt;br /&gt;
&lt;br /&gt;
* Signal tracking support with checks against the OpenCelliD database&lt;br /&gt;
* Persistent storage is optional and unexpected shutdowns don't mess up the modem&lt;br /&gt;
* A lower energy consumption due to the lower minimum clock frequency&lt;br /&gt;
* And many more, see [https://github.com/the-modem-distro/pinephone_modem_sdk#features-not-available-on-stock-firmware Features not available on stock firmware]&lt;br /&gt;
&lt;br /&gt;
The custom firmware can be flashed using [https://wiki.postmarketos.org/wiki/Fwupd#Upgrading_Modem_Firmware_on_the_PinePhone_.28Pro.29 fwupd] or a [https://github.com/the-modem-distro/pinephone_modem_sdk/blob/kirkstone/docs/FLASHING.md flashing script].&lt;br /&gt;
&lt;br /&gt;
==== Stock firmware ====&lt;br /&gt;
&lt;br /&gt;
{{Hint|The following instructions are directed towards professional users. It is highly recommend to make sure the update process is not interrupted to prevent the modem from bricking.}}&lt;br /&gt;
&lt;br /&gt;
The stock modem firmware can be updated to a newer version if it is outdated. The firmware version can be checked using the following AT command (at the example of &amp;lt;code&amp;gt;atinout&amp;lt;/code&amp;gt;, alternatively &amp;lt;code&amp;gt;minicom&amp;lt;/code&amp;gt; can be used to communicate with the modem too):&lt;br /&gt;
&lt;br /&gt;
 echo 'AT+QGMR' | sudo atinout - /dev/ttyUSB2 -&lt;br /&gt;
&lt;br /&gt;
'''Pre-update checklist:'''&lt;br /&gt;
&lt;br /&gt;
Please make sure all requirements of the checklist are fulfilled. If the update process is interrupted it will lead to a corrupted firmware of the modem, causing it to brick. Recovering a bricked modem is exponentially more complicated and requires the user to boot a special mode by physically bridging test points on the modem.&lt;br /&gt;
&lt;br /&gt;
* The battery needs to be charged sufficiently&lt;br /&gt;
* The phone needs to be plugged into a charger&lt;br /&gt;
* Deep sleep is recommended to be disabled as it can interrupt the update process&lt;br /&gt;
* It is recommended to close all other running applications&lt;br /&gt;
* Use common sense while doing the update, don't do the update while being impaired in any way&lt;br /&gt;
&lt;br /&gt;
To get the latest firmware, clone the repository of user Biktorgj on the phone:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/Biktorgj/quectel_eg25_recovery&lt;br /&gt;
&lt;br /&gt;
After cloning the directory, open it with cd:&lt;br /&gt;
&lt;br /&gt;
 cd quectel_eg25_recovery&lt;br /&gt;
&lt;br /&gt;
Then run qfirehose, which starts the flashing process:&lt;br /&gt;
&lt;br /&gt;
 sudo ./qfirehose -f ./&lt;br /&gt;
&lt;br /&gt;
The modem will automatically reboot after the update process is done. The boot process takes around 30 to 60 seconds. After that it is highly recommended to reboot the device.&lt;br /&gt;
&lt;br /&gt;
=== Firmware modifications ===&lt;br /&gt;
&lt;br /&gt;
See [[PineModems]] for more information regarding modem bootloader unlocking, building a custom modem firmware and modem recovery.&lt;br /&gt;
&lt;br /&gt;
=== GPS / GNSS ===&lt;br /&gt;
The GPS engine in the modem supports mutli-GNSS reception from GPS, GLONASS, BeiDou, Galileo and QZSS independent of a cellular connection. The operation of the GNSS subsystem can be controlled via a separate set of AT commands, or via qmi. The A-GPS data upload uses the file management AT commands, which also have their own manual. These are linked in the [[PinePhone#Datasheets for components and peripherals|documentation section]] below.&lt;br /&gt;
&lt;br /&gt;
As with most smartphones, the PinePhone has a small antenna and has difficulty getting a first fix without assistance data, a cold start can take 15 minutes under good conditions. The ''eg25-mananger'' is configured to upload A-GPS data by default (see [https://gitlab.com/mobian1/eg25-manager/-/merge_requests/15 here]).&lt;br /&gt;
&lt;br /&gt;
Basic testing of GNSS reception can be done by using the AT command interface (''/dev/ttyUSB2'') from a terminal program like ''minicom'' and the data output interface (''/dev/ttyUSB1'') to feed NMEA data into gpsmon or some other program that can parse standard NMEA sentences.&lt;br /&gt;
&lt;br /&gt;
[[File:Gpsmon eg25g.png|400px|thumb|none|gpsmon decoding GPS data from ''/dev/ttyUSB1'']]&lt;br /&gt;
&lt;br /&gt;
To check if GNSS data output is enabled, you can&lt;br /&gt;
&lt;br /&gt;
 cat /dev/ttyUSB1&lt;br /&gt;
&lt;br /&gt;
this should display a stream of NMEA sentences&lt;br /&gt;
&lt;br /&gt;
 $GPVTG,,T,,M,,N,,K,N*2C&lt;br /&gt;
 $GPGSA,A,1,,,,,,,,,,,,,,,,*32&lt;br /&gt;
 $GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;
&lt;br /&gt;
Further details can be found under [[PinePhone Sensors and Navigation]].&lt;br /&gt;
&lt;br /&gt;
=== Voice mail ===&lt;br /&gt;
&lt;br /&gt;
The operating systems of the PinePhone may not have support for accessing your voicemail by holding down the 1-key. Carriers might support accessing the voice mail via an external number however.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
* '''Dimensions:''' 160.8 x 76.6 x 11.1mm&lt;br /&gt;
* '''Weight:''' Approx. 220g&lt;br /&gt;
* '''SIM Card:''' Nano-SIM (Micro-SIM before 07/2022)&lt;br /&gt;
* '''Display:'''&lt;br /&gt;
** '''Size:''' 6 inches (151mm) diagonal&lt;br /&gt;
** '''Type:''' 1440 x 720 in-cell IPS with Gorilla Glass 4™&lt;br /&gt;
** '''Resolution:''' 1440x720, 18:9 ratio&lt;br /&gt;
* '''System on Chip:''' Rockchip RK3399S 64bit SoC – 2x A72 and 4x A53 CPU cores @ 1.5GHz&lt;br /&gt;
* '''RAM:''' 4GB LPDDR4 @ 800MHz&lt;br /&gt;
* '''Internal Storage:''' 128GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC&lt;br /&gt;
* '''NOR Flash:''' Listed as [GigaDevices] GD25LQ128EWIGR, but physical inspection found a SiliconKaiser SK25LP128.&lt;br /&gt;
* '''Back [[#Camera|Camera]]:''' 13MP Sony IMX258 with Gorilla Glass 4™ protective layer, LED Flash&lt;br /&gt;
* '''Front Camera:''' 8MP, OmniVision OV8858 front-facing camera&lt;br /&gt;
* '''Sound:''' Loudspeaker, 3.5mm jack &amp;amp; mic (jack doubles as hardware UART if hardware switch 6 is deactivated)&lt;br /&gt;
* '''Communication:'''&lt;br /&gt;
** '''[[#Modem|Modem]]:''' [https://www.quectel.com/product/lte-eg25-g/ Quectel EG25-G]&lt;br /&gt;
** '''LTE-FDD''': B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28&lt;br /&gt;
** '''LTE-TDD''': B38, B39, B40, B41&lt;br /&gt;
** '''WCDMA''': B1, B2, B4, B5, B6, B8, B19&lt;br /&gt;
** '''GSM''': B2, B3, B5, B8 (850, 900, 1800, 1900 MHz)&lt;br /&gt;
** '''WLAN &amp;amp; Bluetooth:''' Wi-Fi 802.11AC, hotspot capable + Bluetooth V5.0&lt;br /&gt;
** '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS&lt;br /&gt;
* '''Sensors:''' Accelerometer, gyroscope, proximity, ambient light, compass&lt;br /&gt;
* '''Privacy switches:''' Modem, WiFi &amp;amp; Bluetooth, Microphone, Cameras&lt;br /&gt;
* '''[[#Battery|Battery]]:''' Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh) (nominally replaceable with any Samsung J7 form-factor battery; unglue bottom black plastic with your nail from Samsung battery before installation in order to match the dimensions)&lt;br /&gt;
* '''I/O:''' USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component&lt;br /&gt;
! Model&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen&lt;br /&gt;
| Goodix GT917S&lt;br /&gt;
|-&lt;br /&gt;
| LCD&lt;br /&gt;
| Himax HX8394 compatible&lt;br /&gt;
|-&lt;br /&gt;
| Rear camera&lt;br /&gt;
| IMX258&lt;br /&gt;
|-&lt;br /&gt;
| Front camera&lt;br /&gt;
| OV8858&lt;br /&gt;
|-&lt;br /&gt;
| Camera flash&lt;br /&gt;
| AW3641EDNR&lt;br /&gt;
|-&lt;br /&gt;
| WiFi + Bluetooth&lt;br /&gt;
| [https://www.azurewave.com/img/wireless-modules/AW_CM256SM_DS_Rev15_CYW.pdf AzureWave AW-CM256SM]&lt;br /&gt;
|-&lt;br /&gt;
| Modem&lt;br /&gt;
| [http://static.abstore.pl/design/accounts/soyter/img/dokumentacje/quectel_eg25-g.pdf Quectel EG25-G]&lt;br /&gt;
|-&lt;br /&gt;
| GNSS/GPS&lt;br /&gt;
| [http://static.abstore.pl/design/accounts/soyter/img/dokumentacje/quectel_eg25-g.pdf Quectel EG25-G]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;s&amp;gt;3 Axis Magnetometer&amp;lt;/s&amp;gt;&lt;br /&gt;
| &amp;lt;s&amp;gt;[https://www.st.com/en/mems-and-sensors/lis3mdl.html ST LIS3MDL]&amp;lt;/s&amp;gt; '''''Note:''''' The ''AF8133J'' is used instead.&lt;br /&gt;
|-&lt;br /&gt;
| Geo Magnetic Sensor&lt;br /&gt;
| [http://www.voltafield.com/products01.html Voltafield AF8133J]&lt;br /&gt;
|-&lt;br /&gt;
| Ambient light / Proximity&lt;br /&gt;
| STK3311-A&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer / Gyroscope&lt;br /&gt;
| [https://invensense.tdk.com/products/motion-tracking/6-axis/mpu-6500/ TDK MPU-6500]&lt;br /&gt;
|-&lt;br /&gt;
| Vibration motor&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Notification LED&lt;br /&gt;
| LED0603RGB&lt;br /&gt;
|-&lt;br /&gt;
| Audio Codec&lt;br /&gt;
| ALC5616 and ALC5640&lt;br /&gt;
|-&lt;br /&gt;
| Volume buttons&lt;br /&gt;
| Buttons connected to the KEYADC&lt;br /&gt;
|-&lt;br /&gt;
| Power button&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Battery fuel gauge&lt;br /&gt;
| [https://rockchip.fr/RK818%20datasheet%20V1.0.pdf RK818]&lt;br /&gt;
|-&lt;br /&gt;
| Earpiece&lt;br /&gt;
| Xiaomi Mi2 / Mi3 compatible 12x6x2 mm, same as in [[PinePhone]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
PinePhone Pro mainboard schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhonePro/PinephonePro-Schematic-V1.0-20211127.pdf PinePhone Pro mainboard Explorer Edition Released Schematic ver 1.0 20211127]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhonePro/PinephonePro_PCB_Component_Placement-V02_20211127-top.pdf PinePhone Pro mainboard Explorer Edition component top placement ver 1.0 20211127]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhonePro/PinephonePro_PCB_Component_Placement-V02_20211127-bottom.pdf PinePhone Pro mainboard Explorer Edition component bottom placement ver 1.0 20211127]&lt;br /&gt;
&lt;br /&gt;
PinePhone Pro USB-C small board schematic:&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
Certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/PinePhone%20Pro%20FCC%20Certificate-S21101902805001.pdf PinePhone Pro FCC Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/PinePhonePro%20SAR%20Evaluation%20Report-S21101902806001.pdf PinePhone Pro SAR Evaluation Report]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/PinePhone%20Pro%20CE%20RED%20Certificate-S21101902802-R1.pdf PinePhone Pro CE RED Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/PinePhonePro%20RoHS%20Test%20Report.pdf PinePhone Pro ROHS Test Report]&lt;br /&gt;
&lt;br /&gt;
== Factory Test Build for Hardware Checking ==&lt;br /&gt;
[[File:PPP_Abdroid_Test_Utility-5.jpg|400px|right]]&lt;br /&gt;
&lt;br /&gt;
Please note that this Android build solely for PinePhone Pro hardware checking purpose and solely used by the support team. This is NOT a general release build.&lt;br /&gt;
&lt;br /&gt;
Download:&lt;br /&gt;
* [http://files.pine64.org/os/PinePhonePro/pinephone_pro_dd_android9_QC_Test_SDboot_20220215-8GB.img.gz Direct download] from ''pine64.org'' (722MB, for 8GB microSD cards or bigger, MD5 of the GZip file ''214e063c8205c1a98d44b2015a21bb5d'')&lt;br /&gt;
&lt;br /&gt;
Instructions:&lt;br /&gt;
* Download the build, extract the image and dd it to a 8 GB or larger microSD card, take out the PinePhone Pro Explorer Edition, then insert it into microSD slot (upper slot).&lt;br /&gt;
* Insert battery, press the RE button (bypass SPI and eMMC boot) underneath the back cover while plugging in the USB-C power. After 3 seconds release the RE button. &lt;br /&gt;
* When powering up, a battery icon screen will show up blow, press power key for two seconds, then the Rockchip logo screen shows up.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[File:PPP_Abdroid_Test_Utility-1.jpg|300px]][[File:PPP_Abdroid_Test_Utility-2.jpg|300px]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wait for the home screen, double tap on the test app icon (mark red circuit) and this will bring up the factory test screen. Please note that the SD test is disabled due in this is SD boot build.&lt;br /&gt;
* After running a particular test function, please snapshot the test result and pass it back to support team&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* Please insert a functional SIM card when performing the SIM test&lt;br /&gt;
* When perform GPS test, the first result may fail and please ignore this false message.&lt;br /&gt;
* For light sensing test, please have a light shine to the PinePhone Pro when performing the test.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[File:PPP_Abdroid_Test_Utility-4.jpg|300px]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using Factory Test Build for Battery charging ==&lt;br /&gt;
[[File:PPP_Abdroid_Test_Utility-1.jpg|300px|right]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Download:&lt;br /&gt;
* [http://files.pine64.org/os/PinePhonePro/pinephone_pro_dd_android9_QC_Test_SDboot_20220215-8GB.img.gz Direct download] from ''pine64.org'' (722MB, for 8GB microSD cards or bigger, MD5 of the GZip file ''214e063c8205c1a98d44b2015a21bb5d'')&lt;br /&gt;
&lt;br /&gt;
Instructions:&lt;br /&gt;
* 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).&lt;br /&gt;
* Insert battery, press RE button (bypass SPI and eMMC boot)  while plug in USB-C power. After 3 seconds release RE button. &lt;br /&gt;
* When power up, below battery icon screen show up and battery will start charging. &lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
== Press ==&lt;br /&gt;
&lt;br /&gt;
For an overview about media of the PinePhone Pro you can use for the news, blogs, or similar see [[PinePhone Press]].&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://www.pine64.org/pinephonepro/ Product Page]&lt;br /&gt;
* [https://www.youtube.com/watch?v=wP2-6Z74W44 Announcement video]&lt;br /&gt;
* [https://www.pine64.org/2021/10/15/october-update-introducing-the-pinephone-pro/ Blog post] with the announcement&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone Pro]][[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=19313</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone&amp;diff=19313"/>
		<updated>2023-04-06T07:47:09Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: /* Spare parts not available in the PINE64 store */ Mi4 earpiece isn't compatible&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PinePhone Beta Edition.png|400px|thumb|right|Rendering of the PinePhone Beta Edition]]&lt;br /&gt;
&lt;br /&gt;
The '''PinePhone''' is a smartphone created by PINE64. It is capable of running mainline Linux and is supported by many partner projects.&lt;br /&gt;
&lt;br /&gt;
The Braveheart Edition of the PinePhone was the first publicly available version of the phone. It shipped without a fully functional operating system and was geared specifically towards early adopters. The Braveheart Edition's successors were the Community Editions, which featured a branded backcover and box of selected community projects. The Community Editions became available in June 2020. The Beta Edition featuring Manjaro with Plasma Mobile is the latest edition, it became available in March 2021.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone is not a regular phone and you might not get the latest and greatest hardware and this years' newest innovation. You will get a device with good mainline support with a great community behind it.&lt;br /&gt;
&lt;br /&gt;
=== State of the software ===&lt;br /&gt;
&lt;br /&gt;
First things first, the PinePhone is aimed solely at early adopters - more specifically, the units are solely intended to find their way into the hands of users with extensive operating system experience.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that the software for these smartphones is very early, 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.&lt;br /&gt;
&lt;br /&gt;
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]])!&lt;br /&gt;
&lt;br /&gt;
=== Help and support ===&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Please keep in mind that PINE64 is not like a regular company (see the [https://www.pine64.org/philosophy/ 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.&lt;br /&gt;
&lt;br /&gt;
== First time installation ==&lt;br /&gt;
[[File:Pinephone_warning.png|320px|thumb|right|A protection foil isolates the battery for the shipping.]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{{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.}}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{{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!}}&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone slots.png|600px|thumb|none|The microSD belongs in the upper slot, the micro-SIM in the lower slot.]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Operating systems ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. Although it is technically possible to use any ARM distribution (because the PinePhone uses the mainline kernel), there are a few that are designed specifically for mobile use on devices like the PinePhone.&lt;br /&gt;
&lt;br /&gt;
=== Software releases ===&lt;br /&gt;
&lt;br /&gt;
The [[PinePhone Software Releases]] page has a complete list of currently supported phone-optimized Operating System images that work with the PinePhone as well as other related software information. As soon as more patches get mainlined and distributions ship with the updated kernel, they will also be able to run unmodified on the device. To update any installed operating system please see [[PinePhone Updating Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
For instructions on how to install the operating systems to the eMMC or SD card see [[PinePhone Installation Instructions]].&lt;br /&gt;
&lt;br /&gt;
Relevant subsections of the article for installing operating systems to the PinePhone are:&lt;br /&gt;
&lt;br /&gt;
* [[PinePhone Installation Instructions#Boot_priority|Boot priority]]&lt;br /&gt;
* [[PinePhone Installation Instructions#Installation_to_the_microSD|Installation to the microSD]]&lt;br /&gt;
* [[PinePhone Installation Instructions#Installation_to_the_eMMC|Installation to the eMMC]]&lt;br /&gt;
* [[PinePhone Installation Instructions#Resize_partition_to_fit_disk_space|Resize partition to fit disk space]]&lt;br /&gt;
* [[PinePhone Installation Instructions#Reuse_SD_card_for_data_storage_on_system_booting_from_eMMC|Reuse SD card for data storage on system booting from eMMC]]&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If the PinePhone is not booting from eMMC and/or microSD card anymore it can have two causes:&lt;br /&gt;
&lt;br /&gt;
==== The battery is drained ====&lt;br /&gt;
&lt;br /&gt;
If the battery is fully drained, most operating systems and distributions won't boot anymore. One of the exceptions which still boots is the utility ''Jumpdrive'', which can usually be used to expose the eMMC and microSD card as drives to a USB-connected computer. Mind that JumpDrive won't expose the eMMC and microSD card with a drained battery but it still can be flashed and booted from microSD card to confirm that the phone still functions and boots up fine. JumpDrive can be downloaded from [https://github.com/dreemurrs-embedded/Jumpdrive/releases/download/0.8/pine64-pinephone.img.xz here] (not compatible with the PinePhone Pro!). If JumpDrive boots and other releases do not boot, the battery is likely drained. In that case let it charge while running JumpDrive with a compatible charger for multiple hours and make sure to not fully drain the battery in the future anymore, as that significantly reduces the battery lifetime.&lt;br /&gt;
&lt;br /&gt;
Alternatively to testing JumpDrive, the issue can also be diagnosed by checking the battery charge. Simply remove the battery from the device and measure the voltage on the (+) and (-) contacts on the battery. Make sure to not shorten the contacts as shorting battery pins is a severe life and safety danger.&lt;br /&gt;
&lt;br /&gt;
==== The installation is corrupted or incorrect ====&lt;br /&gt;
&lt;br /&gt;
If the installation of the prioritized boot medium is corrupted or incorrect, the PinePhone will not boot anymore. The following problems are common:&lt;br /&gt;
&lt;br /&gt;
* The microSD card is in the wrong slot (see [[#First time installation|first time installation]])&lt;br /&gt;
* The image file was flashed to partition 1 (example: ''sdx1'', ''nvme0x1p1'') instead of the whole device (example: ''sdx'', ''nvme0x1'')&lt;br /&gt;
* An image without bootloader was flashed (mind the ''Tow-Boot'' bootloader requirements of ''Mobian'' and ''postmarketOS'')&lt;br /&gt;
* The operating systems got corrupted, for example after running updates (reflash the device, see [[PinePhone Installation Instructions]])&lt;br /&gt;
* An incompatible image was flashed (make sure that the images are compatible. Images for the PinePhone Pro won't boot on the PinePhone and vice versa. Check your invoice to see if you ordered a PinePhone or a PinePhone Pro).&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
* '''Dimensions:''' 160.5 x 76.6 x 9.2mm&lt;br /&gt;
* '''Weight:''' Between 180 ~ 200 grams&lt;br /&gt;
* '''SIM Card:''' Micro-SIM&lt;br /&gt;
* '''Display:'''&lt;br /&gt;
** '''Size:''' 5.95 inches (151mm) diagonal&lt;br /&gt;
** '''Type:''' HD IPS capacitive touchscreen, 16M colors&lt;br /&gt;
** '''Resolution:''' 1440x720, 18:9 ratio&lt;br /&gt;
* '''System on Chip:''' [https://linux-sunxi.org/A64 Allwinner A64]&lt;br /&gt;
* '''RAM:''' 2GB or 3GB LPDDR3 SDRAM&lt;br /&gt;
* '''Internal Storage:''' 16GB or 32GB eMMC, extendable up to 2TB via microSD, supports SDHC and SDXC&lt;br /&gt;
* '''Back Camera:''' Single 5MP, 1/4&amp;quot;, LED Flash&lt;br /&gt;
* '''Front Camera:''' Single 2MP, f/2.8, 1/5&amp;quot;&lt;br /&gt;
* '''Sound:''' Loudspeaker, 3.5mm jack &amp;amp; mic (jack doubles as hardware UART if hardware switch 6 is deactivated)&lt;br /&gt;
* '''Communication:'''&lt;br /&gt;
** '''Modem:''' [https://www.quectel.com/product/lte-eg25-g/ Quectel EG25-G]&lt;br /&gt;
** '''LTE-FDD''': B1, B2, B3, B4, B5, B7, B8, B12, B13, B18, B19, B20, B25, B26, B28&lt;br /&gt;
** '''LTE-TDD''': B38, B39, B40, B41&lt;br /&gt;
** '''WCDMA''': B1, B2, B4, B5, B6, B8, B19&lt;br /&gt;
** '''GSM''': B2, B3, B5, B8 (850, 900, 1800, 1900 MHz)&lt;br /&gt;
** '''WLAN:''' Wi-Fi 802.11 b/g/n, single-band, hotspot&lt;br /&gt;
** '''Bluetooth:''' 4.0, A2DP&lt;br /&gt;
** '''GNSS:''' GPS/GLONASS/BeiDou/Galileo/QZSS, with A-GPS&lt;br /&gt;
* '''Sensors:''' Accelerometer, gyroscope, proximity, ambient light, compass&lt;br /&gt;
* '''Privacy switches:''' Modem, WiFi &amp;amp; Bluetooth, Microphone, Cameras&lt;br /&gt;
* '''Battery:''' Lithium-ion, rated capacity 2800mAh (10.64Wh), typical capacity 3000mAh (11.40Wh) (nominally replaceable with any Samsung J7 form-factor battery)&lt;br /&gt;
* '''I/O:''' USB Type-C, USB Host, DisplayPort Alternate Mode output, 15W 5V 3A Quick Charge, follows USB PD specification&lt;br /&gt;
&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component&lt;br /&gt;
! Model&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen&lt;br /&gt;
| Goodix GT917S&lt;br /&gt;
|-&lt;br /&gt;
| Rear camera&lt;br /&gt;
| OmniVision OV5640&lt;br /&gt;
|-&lt;br /&gt;
| Camera flash&lt;br /&gt;
| SGMICRO SGM3140&lt;br /&gt;
|-&lt;br /&gt;
| Front camera&lt;br /&gt;
| GalaxyCore GC2145&lt;br /&gt;
|-&lt;br /&gt;
| LCD&lt;br /&gt;
| Xingbangda XBD599&lt;br /&gt;
|-&lt;br /&gt;
| WiFi&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth&lt;br /&gt;
| Realtek RTL8723CS&lt;br /&gt;
|-&lt;br /&gt;
| Modem&lt;br /&gt;
| [http://static.abstore.pl/design/accounts/soyter/img/dokumentacje/quectel_eg25-g.pdf Quectel EG25-G]&lt;br /&gt;
|-&lt;br /&gt;
| GNSS/GPS&lt;br /&gt;
| [http://static.abstore.pl/design/accounts/soyter/img/dokumentacje/quectel_eg25-g.pdf Quectel EG25-G]&lt;br /&gt;
|-&lt;br /&gt;
| Magnetometer&lt;br /&gt;
| ST LIS3MDL&lt;br /&gt;
|-&lt;br /&gt;
| Ambient light / Proximity&lt;br /&gt;
| SensorTek STK3335&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer / Gyroscope&lt;br /&gt;
| InvenSense MPU-6050&lt;br /&gt;
|-&lt;br /&gt;
| Vibration motor&lt;br /&gt;
| Unknown model&lt;br /&gt;
|-&lt;br /&gt;
| Notification LED&lt;br /&gt;
| LED0603RGB&lt;br /&gt;
|-&lt;br /&gt;
| Volume buttons&lt;br /&gt;
| Buttons connected to the KEYADC&lt;br /&gt;
|-&lt;br /&gt;
| Power button&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|-&lt;br /&gt;
| Battery fuel gauge&lt;br /&gt;
| X-Powers AXP803&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See the [[PinePhone_component_list|PinePhone Component List]].&lt;br /&gt;
&lt;br /&gt;
== Hardware revisions ==&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone_revisions.png|400px|thumb|right|The history of the PinePhone CEs]]&lt;br /&gt;
&lt;br /&gt;
The following are all hardware revisions of the PinePhone that have existed, ordered by the time of their releases:&lt;br /&gt;
&lt;br /&gt;
* [[Project Anakin]] - Development kit&lt;br /&gt;
* [[Project Don't be evil]] - Development kit&lt;br /&gt;
* [[PinePhone v1.0 - Dev|PinePhone v1.0]] - Developer Edition&lt;br /&gt;
* [[PinePhone v1.1 - Braveheart|PinePhone v1.1]] - Braveheart Edition&lt;br /&gt;
* [[PinePhone v1.2]] - Ubports Community Edition&lt;br /&gt;
* [[PinePhone v1.2a]] - postmarketOS Community Edition&lt;br /&gt;
* [[PinePhone v1.2b]] - Manjaro Community Edition, KDE Community Edition, Mobian Community Edition and Beta Edition&lt;br /&gt;
&lt;br /&gt;
== Hardware accessory ==&lt;br /&gt;
&lt;br /&gt;
=== Add-ons ===&lt;br /&gt;
The PinePhone (and PinePhone Pro) is compatible with the official add-on cases, such as the keyboard, the LoRa add-on, the Qi wireless charging add-on and the fingerprint reader add-on. Details can be found under:&lt;br /&gt;
&lt;br /&gt;
* [[PinePhone (Pro) Add-ons]]&lt;br /&gt;
* [[PinePhone (Pro) Keyboard]]&lt;br /&gt;
&lt;br /&gt;
=== PinePhone Accessories ===&lt;br /&gt;
See [[PinePhone Hardware Accessory Compatibility]] for a list of devices working with the PinePhone (depending on their OS support).&lt;br /&gt;
&lt;br /&gt;
The USB-C can be used to power the device, and offers USB2 host and OTG capabilities, and also can make use of the USB-C capability to integrate HDMI signals. Some USB-C hubs are available that offer power throughput, USB connection, an HDMI port and Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
=== Pogo pins ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinephone pogo.png|400px|thumb|right|The pogo pins, as visible under the back cover.]]&lt;br /&gt;
&lt;br /&gt;
The PinePhone has six pogo pins on the back allowing for custom hardware extensions such as wireless charging, an IR blaster, a keyboard extension or extended battery case. The pogo pins provide access to an interrupt line, power inputs/outputs and an I2C interface.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Interrupt&lt;br /&gt;
| SDA&lt;br /&gt;
| SCL&lt;br /&gt;
|-&lt;br /&gt;
| DCIN&lt;br /&gt;
| USB-5V&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
DCIN and USB-5V are the names used in the schematics. The actual behavior of these pogo pins is not obvious based on their names. DCIN is connected both to the VBUS line of the USB Type-C connector and to the ACIN/VBUS inputs on the PMIC. This means that, depending on a number of factors, DCIN may be at 0&amp;amp;nbsp;V or 5&amp;amp;nbsp;V. USB-5V is connected at the output of an LP6226 DC/DC boost converter (5&amp;amp;nbsp;V), which in turn is fed by the PS output of the PMIC. The boost converter is enabled or disabled by a GPIO output from the A64 SoC, controlled by software (e.g. the Linux kernel). Depending on inputs and decision made by the PMIC, PS may be at the battery voltage (fed &amp;quot;directly&amp;quot; by the battery through a [https://www.zxcompo.com/ transistor] controlled by the PMIC), or at the &amp;quot;USB&amp;quot; voltage (fed by the PMIC's ACIN/VBUS inputs). This means that depending on a number of factors, USB-5V may be at battery voltage (between 3.0&amp;amp;nbsp;V and 4.3&amp;amp;nbsp;V), or at 5&amp;amp;nbsp;V.&lt;br /&gt;
&lt;br /&gt;
Because the PinePhone may act as a USB host (providing 5&amp;amp;nbsp;V at the USB Type-C connector's VBUS to a connected device) or as a USB device (drawing from a 5&amp;amp;nbsp;V source on the USB Type-C connector's VBUS), DCIN is actually not strictly an input nor an output. Some community analysis of the PinePhone schematic (and some testing) indicates that you can connect a 5&amp;amp;nbsp;V power supply to DCIN in order to power the phone at the PMIC's ACIN/VBUS inputs (and, as a side effect, charge the battery). This may not be safe to do in all conditions, e.g., when the phone is acting as a USB host to a connected USB device. It should also be safe to use DCIN as a power output from the PinePhone, e.g., when a USB Type-C charger is connected, you can draw current directly from the USB Type-C port's VBUS, which is provided by the charger. Please note that, when using DCIN as an output from the PinePhone, DCIN isn't &amp;quot;always on&amp;quot;; it may be 0&amp;amp;nbsp;V. It is currently not documented on how much current can be safely drawn.&lt;br /&gt;
&lt;br /&gt;
USB-5V should be safe to use as an &amp;quot;always on&amp;quot; power output from the PinePhone. Depending on a number of factors, voltage may be from 3&amp;amp;nbsp;V to 5&amp;amp;nbsp;V; thus, if you are using USB-5V to power your pogo-pins expansion board, you will probably need to use DC/DC converters/regulators as appropriate. USB-5V is on even while the A64 SoC is powered down.&lt;br /&gt;
&lt;br /&gt;
The I2C and interrupt lines have pull-ups on the phone side. The I2C lines are pulled up to 3v3 by the phone.&lt;br /&gt;
&lt;br /&gt;
For a breakout board see [https://github.com/SMR404/PinephonePogoBreakout here]. For an example project see Martijn's blog post [https://blog.brixit.nl/making-a-backcover-extension-for-the-pinephone/ &amp;lt;i&amp;gt;&amp;quot;Making a backcover extension for the PinePhone&amp;quot;&amp;lt;/i&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
PINE64 store currently sells the [https://pine64.com/product/pinephone-flex-break-out-board/?v=0446c16e2e66 PinePhone Flex Breakout Board]. With the pitch being 2.54 mm, this Flex Breakout Board may have leads soldered directly to the contacts for use in a solderless board. A non-soldered solution would be to use a [https://www.digikey.com/en/products/detail/te-connectivity-amp-connectors/5-520315-6/2258879 TE AMP Connector] that will accept a Flat Flexible Cable 2.54 mm pitch.&lt;br /&gt;
&lt;br /&gt;
=== Back cover ===&lt;br /&gt;
A step file for the back cover for creating custom cases is freely available [https://files.pine64.org/doc/PinePhone/PinePhone%20Back%20Cover%20ver%200.5.stp here].&lt;br /&gt;
&lt;br /&gt;
=== Serial console ===&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter.]]&lt;br /&gt;
&lt;br /&gt;
The PinePhone has a serial port in the headphone connector, it's activated by the 6th contact on the dipswitch. If the switch is set to &amp;quot;on&amp;quot;, the headphone connector is in audio mode, if it is set to &amp;quot;off&amp;quot; it's in UART mode. The UART serial connection can also be used for communication with other devices from the PinePhone.&lt;br /&gt;
&lt;br /&gt;
The UART is 115200n8.&lt;br /&gt;
&lt;br /&gt;
The pinout for the serial connector is:&lt;br /&gt;
&lt;br /&gt;
* Tip: RX&lt;br /&gt;
* Ring: TX&lt;br /&gt;
* Sleeve: GND&lt;br /&gt;
&lt;br /&gt;
You can buy a serial debug cable from the [https://pine64.com/product/pinebook-pinephone-pinetab-serial-console/ PINE64 Store]. The store cable uses a 4 ring plug, as seen in the [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf here], but a 3 ring plug works just as well. The cable uses a CH340 chipset based serial to USB converter, but any 3.3v serial connection can be used. Because it is a &amp;quot;host&amp;quot;/DTE it means that you need a ''cross modem cable'' ([https://en.wikipedia.org/wiki/Null_modem Null Modem]) with TX on Tip to be connected to RX. A cable like e.g. [https://www.ftdichip.com/Products/Cables/USBTTLSerial.htm FTDI TTL-232R-3V3-AJ] which has TX on Tip and RX on Ring fits perfectly.&lt;br /&gt;
&lt;br /&gt;
== Privacy switch configuration ==&lt;br /&gt;
&lt;br /&gt;
[[File:PinePhone Kill Interruptors de Maquinari del PinePhone 4529.jpg|320px|thumb|right|Picture of the privacy switches]]&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;on&amp;quot; position is toward the top of the phone.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Name&lt;br /&gt;
! Explanation&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Modem&lt;br /&gt;
| Pulls Q1501 gate up (FET killing modem power)&lt;br /&gt;
| &amp;quot;On&amp;quot; enables 2G/3G/4G communication and GNSS hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| WiFi / Bluetooth&lt;br /&gt;
| Pulls up CHIP_EN&lt;br /&gt;
| &amp;quot;On&amp;quot; enables WiFi and Bluetooth communication hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Microphone&lt;br /&gt;
| Breaks microphone bias voltage from the SoC&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input from on-board microphones (not 3.5 mm jack), &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Rear camera&lt;br /&gt;
| Pulls up PWDN on OV5640&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the rear camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Front camera&lt;br /&gt;
| Pulls up PWDN on GC2145&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the front camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Headphone&lt;br /&gt;
| Pulls up IN2 on analog switch BCT4717ETB&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input and output via the 3.5 mm audio jack, &amp;quot;off&amp;quot; switches the jack to hardware UART mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone has two cameras, OmniVision OV5640 with 5MP (up to 2592 x 1944 pixels) as rear camera and GalaxyCore GC2145 with 2MP (up to 1600 x 1200 pixels) as front camera.&lt;br /&gt;
&lt;br /&gt;
[[File:Rose.jpg|400px|thumb|none|Example picture taken on the PinePhone's rear camera by Martijn Braam using his app ''Megapixels''.]]&lt;br /&gt;
&lt;br /&gt;
Further details regarding the camera and the Megapixels camera app can be found on [https://blog.brixit.nl/tag/phones/ Martijn's blog].&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
The phone ships with a protective plastic sticker between the battery and the phone to protect the device from turning on during shipping. You need to gently open the back cover, then remove the battery and finally remove the sticker and check that the pins aren't bent. Note: If the battery is stuck inside the phone, the mid screw in the lower part of the midframe needs to be slightly loosened, see [[PinePhone_FAQ#The_battery_is_stuck_inside_the_phone|here]].&lt;br /&gt;
&lt;br /&gt;
{{Info|The EG25-G modem and the RTL8723CS WiFi and Bluetooth do not work without a battery and with a drained battery, even when enough power is supplied to the PinePhone via the USB Type-C port. Most operating systems won't boot without a battery or with a drained battery.}}&lt;br /&gt;
&lt;br /&gt;
The [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf supplied battery] is meant to be compatible with Samsung part number EB-BJ700BBC / BBE / CBE from the 2015 J7 phone. The extended life aftermarket BBU does fit, although it is a tight fit.&lt;br /&gt;
&lt;br /&gt;
{{Warning|Using an aftermarket battery with a higher capacity is done at own risk. Batteries with a higher capacity especially in combination with an external charger can lead to overvoltage, which fries the modem and/or the Bluetooth and WiFi chip.}}&lt;br /&gt;
&lt;br /&gt;
The battery terminals, from the nearest to the battery edge to the nearest to the middle of battery, are as follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| style=&amp;quot;min-width: 90px; text-align: center;&amp;quot; | +ve&lt;br /&gt;
| style=&amp;quot;min-width: 90px; text-align: center;&amp;quot; | thermistor&lt;br /&gt;
| style=&amp;quot;min-width: 90px; text-align: center;&amp;quot; | -ve&lt;br /&gt;
| style=&amp;quot;min-width: 90px; text-align: center;&amp;quot; | not connected&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The battery includes a protection circuit that isolates it in a number of fault conditions, including if it is discharged too far. The fully discharged battery can be recharged by connecting the phone to a charger with a sufficient output. Once it has charged sufficiently you will be able to boot the phone.&lt;br /&gt;
&lt;br /&gt;
== Modem ==&lt;br /&gt;
&lt;br /&gt;
The PinePhone uses Quectel EG25-G as modem. AT commands are used to communicate with the modem.&lt;br /&gt;
&lt;br /&gt;
=== AT commands ===&lt;br /&gt;
&lt;br /&gt;
A list of documented AT commands can be found for example in this [[:File:Quectel_EC2x&amp;amp;EG9x&amp;amp;EG2x-G&amp;amp;EM05_Series_AT_Commands_Manual_V2.0.pdf|AT commands documentation]] from Quectel. Further undocumented AT commands found by the developer megi, who reverse-engineered parts of the modem and its firmware, can be found on megi's website [http://xnux.eu/devices/feature/modem-pp-reveng.html#toc-un-der-documented-at-commands here].&lt;br /&gt;
&lt;br /&gt;
To send AT commands to the modem under Linux, &amp;lt;code&amp;gt;minicom&amp;lt;/code&amp;gt; or the often-preinstalled &amp;lt;code&amp;gt;atinout&amp;lt;/code&amp;gt; utility can be used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;atinout&amp;lt;/i&amp;gt; example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;AT+&amp;lt;command here&amp;gt;&amp;quot; | sudo atinout - /dev/ttyUSB2 -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;minicom&amp;lt;/i&amp;gt; example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;minicom -D /dev/ttyUSB2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VoLTE ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone's modem supports VoLTE and comes with a few VoLTE profiles preloaded. Most operating systems try to set the correct profile automatically.&lt;br /&gt;
&lt;br /&gt;
To list the available VoLTE profiles:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+QMBNCFG=&amp;quot;list&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,0,1,1,&amp;quot;ROW_Generic_3GPP&amp;quot;,0x0501081F,201901141&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,1,0,0,&amp;quot;VoLTE-ATT&amp;quot;,0x0501033C,201909271&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,2,0,0,&amp;quot;hVoLTE-Verizon&amp;quot;,0x05010141,201911251&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,3,0,0,&amp;quot;Sprint-VoLTE&amp;quot;,0x05010205,201908141&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,4,0,0,&amp;quot;Commercial-TMO_VoLTE&amp;quot;,0x05010505,201811231&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,5,0,0,&amp;quot;Telus-Commercial_VoLTE&amp;quot;,0x05800C43,201912031&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,6,0,0,&amp;quot;Commercial-SBM&amp;quot;,0x05011C18,201904021&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,7,0,0,&amp;quot;Commercial-DT&amp;quot;,0x05011F1C,201905311&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,8,0,0,&amp;quot;Reliance_OpnMkt&amp;quot;,0x05011B38,201910161&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,9,0,0,&amp;quot;TF_Germany_VoLTE&amp;quot;,0x05010C1B,201909201&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,10,0,0,&amp;quot;TF_Spain_VoLTE&amp;quot;,0x05010CFA,201909261&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,11,0,0,&amp;quot;Volte_OpenMkt-Commercial-CMCC&amp;quot;,0x05012071,201904281&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,12,0,0,&amp;quot;OpenMkt-Commercial-CT&amp;quot;,0x05011322,201911081&lt;br /&gt;
+QMBNCFG: &amp;quot;List&amp;quot;,13,0,0,&amp;quot;OpenMkt-Commercial-CU&amp;quot;,0x05011505,201807052&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To select a profile manually, select the best fitting one or a generic one if none fits:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;ROW_Generic_3GPP&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then enable Voice over LTE using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+QCFG=&amp;quot;ims&amp;quot;,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And reboot the modem to apply the settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+CFUN=1,1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check the status of VoLTE during a call, the AT command &amp;lt;code&amp;gt;CLCC&amp;lt;/code&amp;gt; can be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AT+CLCC&lt;br /&gt;
&lt;br /&gt;
+CLCC: 1,1,0,1,0,&amp;quot;&amp;quot;,128&lt;br /&gt;
+CLCC: 2,1,0,1,0,&amp;quot;&amp;quot;,128&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the fourth item of the list, &amp;quot;0&amp;quot; means voice and and &amp;quot;1&amp;quot; means data. If both rows have &amp;quot;1&amp;quot; then the voice call is being carried over VoLTE.&lt;br /&gt;
&lt;br /&gt;
=== APN settings ===&lt;br /&gt;
&lt;br /&gt;
The APN setting is only required for a public Internet connection (&amp;quot;data&amp;quot;) on the phone. For tested APN settings and how to apply them see [[PinePhone APN Settings]].&lt;br /&gt;
&lt;br /&gt;
=== Carrier support ===&lt;br /&gt;
The page [[PinePhone Carrier Support]] contains information about the frequency support of different carriers and hints on setting up cellular network connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
&lt;br /&gt;
Detailed information about the modem can be found on the [https://xnux.eu/devices/feature/modem-pp.html#toc-modem-on-pinephone page of the developer megi], including reverse-engineered parts of the firmware and its functions. There is also a document about using the modem from January 18th 2020 by megi [https://megous.com/dl/tmp/modem.txt here]. A script at the end of the document showcases a way to poweroff the modem before powering off the phone, which is integrated into most of the available operating systems.&lt;br /&gt;
&lt;br /&gt;
=== Firmware update ===&lt;br /&gt;
&lt;br /&gt;
There is a (nearly) free custom firmware and the stock firmware available for the PinePhone. Both can be updated to a newer version with new features and bug fixes.&lt;br /&gt;
&lt;br /&gt;
==== Custom firmware ====&lt;br /&gt;
&lt;br /&gt;
There is a (nearly) free custom firmware for the PinePhone modem by the developer ''biktorgj'', which can be found [https://github.com/the-modem-distro/pinephone_modem_sdk here].&lt;br /&gt;
&lt;br /&gt;
The custom firmware has various advantages (and zero disadvantages) over the stock firmware, including:&lt;br /&gt;
&lt;br /&gt;
* Signal tracking support with checks against the OpenCelliD database&lt;br /&gt;
* Persistent storage is optional and unexpected shutdowns don't mess up the modem&lt;br /&gt;
* A lower energy consumption due to the lower minimum clock frequency&lt;br /&gt;
* And many more, see [https://github.com/the-modem-distro/pinephone_modem_sdk#features-not-available-on-stock-firmware Features not available on stock firmware]&lt;br /&gt;
&lt;br /&gt;
The custom firmware can be flashed using [https://wiki.postmarketos.org/wiki/Fwupd#Upgrading_Modem_Firmware_on_the_PinePhone_.28Pro.29 fwupd] or a [https://github.com/the-modem-distro/pinephone_modem_sdk/blob/kirkstone/docs/FLASHING.md flashing script].&lt;br /&gt;
&lt;br /&gt;
==== Stock firmware ====&lt;br /&gt;
&lt;br /&gt;
{{Hint|The following instructions are directed towards professional users. It is highly recommend to make sure the update process is not interrupted to prevent the modem from bricking.}}&lt;br /&gt;
&lt;br /&gt;
The stock modem firmware can be updated to a newer version if it is outdated. The firmware version can be checked using the following AT command (at the example of &amp;lt;code&amp;gt;atinout&amp;lt;/code&amp;gt;, alternatively &amp;lt;code&amp;gt;minicom&amp;lt;/code&amp;gt; can be used to communicate with the modem too):&lt;br /&gt;
&lt;br /&gt;
 echo 'AT+QGMR' | sudo atinout - /dev/ttyUSB2 -&lt;br /&gt;
&lt;br /&gt;
'''Pre-update checklist:'''&lt;br /&gt;
&lt;br /&gt;
Please make sure all requirements of the checklist are fulfilled. If the update process is interrupted it will lead to a corrupted firmware of the modem, causing it to brick. Recovering a bricked modem is exponentially more complicated and requires the user to boot a special mode by physically bridging test points on the modem.&lt;br /&gt;
&lt;br /&gt;
* The battery needs to be charged sufficiently&lt;br /&gt;
* The phone needs to be plugged into a charger&lt;br /&gt;
* Deep sleep is recommended to be disabled as it can interrupt the update process&lt;br /&gt;
* It is recommended to close all other running applications&lt;br /&gt;
* Use common sense while doing the update, don't do the update while being impaired in any way&lt;br /&gt;
&lt;br /&gt;
To get the latest firmware, clone the repository of user Biktorgj on the phone:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/Biktorgj/quectel_eg25_recovery&lt;br /&gt;
&lt;br /&gt;
After cloning the directory, open it with cd:&lt;br /&gt;
&lt;br /&gt;
 cd quectel_eg25_recovery&lt;br /&gt;
&lt;br /&gt;
Then run qfirehose, which starts the flashing process:&lt;br /&gt;
&lt;br /&gt;
 sudo ./qfirehose -f ./&lt;br /&gt;
&lt;br /&gt;
The modem will automatically reboot after the update process is done. The boot process takes around 30 to 60 seconds. After that it is highly recommended to reboot the device.&lt;br /&gt;
&lt;br /&gt;
=== Firmware modifications ===&lt;br /&gt;
&lt;br /&gt;
See [[PineModems]] for more information regarding modem bootloader unlocking, building a custom modem firmware and modem recovery.&lt;br /&gt;
&lt;br /&gt;
=== GPS / GNSS ===&lt;br /&gt;
The GPS engine in the modem supports mutli-GNSS reception from GPS, GLONASS, BeiDou, Galileo and QZSS independent of a cellular connection. The operation of the GNSS subsystem can be controlled via a separate set of AT commands, or via qmi. The A-GPS data upload uses the file management AT commands, which also have their own manual. These are linked in the [[PinePhone#Datasheets for components and peripherals|documentation section]] below.&lt;br /&gt;
&lt;br /&gt;
As with most smartphones, the PinePhone has a small antenna and has difficulty getting a first fix without assistance data, a cold start can take 15 minutes under good conditions. The ''eg25-mananger'' is configured to upload A-GPS data by default (see [https://gitlab.com/mobian1/eg25-manager/-/merge_requests/15 here]).&lt;br /&gt;
&lt;br /&gt;
Basic testing of GNSS reception can be done by using the AT command interface (''/dev/ttyUSB2'') from a terminal program like ''minicom'' and the data output interface (''/dev/ttyUSB1'') to feed NMEA data into gpsmon or some other program that can parse standard NMEA sentences.&lt;br /&gt;
&lt;br /&gt;
[[File:Gpsmon eg25g.png|400px|thumb|none|gpsmon decoding GPS data from ''/dev/ttyUSB1'']]&lt;br /&gt;
&lt;br /&gt;
To check if GNSS data output is enabled, you can&lt;br /&gt;
&lt;br /&gt;
 cat /dev/ttyUSB1&lt;br /&gt;
&lt;br /&gt;
this should display a stream of NMEA sentences&lt;br /&gt;
&lt;br /&gt;
 $GPVTG,,T,,M,,N,,K,N*2C&lt;br /&gt;
 $GPGSA,A,1,,,,,,,,,,,,,,,,*32&lt;br /&gt;
 $GPGGA,,,,,,0,,,,,,,,*66&lt;br /&gt;
&lt;br /&gt;
Further details can be found under [[PinePhone Sensors and Navigation]].&lt;br /&gt;
&lt;br /&gt;
=== Voice mail ===&lt;br /&gt;
&lt;br /&gt;
The operating systems of the PinePhone may not have support for accessing your voicemail by holding down the 1-key. Carriers might support accessing the voice mail via an external number however.&lt;br /&gt;
&lt;br /&gt;
== Safety ==&lt;br /&gt;
&lt;br /&gt;
=== General recommendations ===&lt;br /&gt;
&lt;br /&gt;
Due to the greater control the user is having over the device and its software comes also greater responsibility. It is necessary to verify the configuration of the device to make sure that responsible settings are used. The different operating systems may come with non-sane default settings, including SSH with weak password authentication being enabled by default and exposed to the public Internet, the absence of a firewall, default passwords, unencrypted files, too high temperature zones and emergency shutoff values or an enabled root account. The usage of public resources to verify such settings (such as the in case of GNU/Linux, the Arch Linux [https://wiki.archlinux.org/title/security security] wiki page, or the [https://wiki.archlinux.org/title/general_recommendations general recommendations]) as well as the corresponding operating system's or distribution's resources are strongly recommended.&lt;br /&gt;
&lt;br /&gt;
=== Charging safety ===&lt;br /&gt;
&lt;br /&gt;
The PinePhone supports up to 5V 3A (15W) Quick Charge, it follows the USB Power Delivery specification. Only compatible phone chargers may be used, charging the phone with incompatible chargers (for example laptop chargers with a higher voltage) is prohibited. Charging the phone releases heat, general safety recommendations must be followed, see the section ''Thermal safety''.&lt;br /&gt;
&lt;br /&gt;
=== Thermal safety ===&lt;br /&gt;
&lt;br /&gt;
With the Allwinner A64 being an older generation SoC with a large 40nm chip, the phone produces quite some heat with medium or higher use and especially also during charging or when using USB accessories, like a docking station. Measurements to prevent damage to the phone and to its surroundings need to be taken by the user. This includes especially a proper handling of the phone: do not charge the phone in a way where heat builds up around the phone without being able to escape. Especially don't charge your phone under a pillow, blankets, in pockets or bags. Charging the phone produces heat and charging the phone in a way, where the excessive heat can't dispose around the phone poses an immediate fire risk.&lt;br /&gt;
&lt;br /&gt;
The user might notice that the phone gets warm under usage, compared to phones with more up-to-date hardware. Under normal circumstances these temperatures don't pose a risk while being in the levels within the safe operating temperatures (which lay far beyond the point where components can be too hot to touch). Higher temperatures might especially be experienced on the top side of the screen and on the inside of the phone at the RF shield of the modem. The higher temperature of the RF shield of the modem is commonly caused by the SoC on the opposite side of the mainboard, the RF shield of the modem is used to disperse heat of the SoC. In newer mainboard revisions starting from 1.2a there are also thermal pads on the back cover and between the SoC's RF shield and the screen, dispersing heat on the screen and on the back cover. In the past there has been safety issues regarding thermal safety functions, causing temperature reads to not properly work over an extended period of time, which was causing heat damage in some cases (see the documentation of that issue by the developer Megous [http://xnux.eu/log/#018 here] and [http://xnux.eu/log/#017 here]). While the developers are working hard to prevent such issues, they can't be excluded under all circumstances (see [[PinePhone#State_of_the_software|state of the software]]). The users are expected to monitor their phones' thermal safety at every point at this state of the software.&lt;br /&gt;
&lt;br /&gt;
It is highly recommend to update the phone on a regular basis to always get the latest improvements. The default settings to throttle the performance and to shut down the phone when reaching critical temperatures might be set to a too high point depending on the specific usage and usage length. Under GNU/Linux the phone's thermal management behavior can be modified via the Thermal Sysfs driver to achieve lower temperatures and preventing the screen and other components to potentially take damage, see [[PinePhone Thermal Tweaks]] for the details.&lt;br /&gt;
&lt;br /&gt;
== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
For a list of frequently asked questions (including information regarding the shipping) see [[PinePhone FAQ]].&lt;br /&gt;
&lt;br /&gt;
== Modifications and repairs == &lt;br /&gt;
&lt;br /&gt;
=== Swapping in a new mainboard revision ===&lt;br /&gt;
&lt;br /&gt;
The mainboard can be replaced, for example for upgrading to a newer hardware revision or if it is faulty. The replacement board does not have an OS preinstalled, to test if everything is working after swapping the mainboard a flashed SD card is required. The mainboard also comes with a non-functional firmware on the ANX chip, a newer firmware version has to be flashed as explained below to get certain USB functionality to work.&lt;br /&gt;
&lt;br /&gt;
==== Replacing the mainboard ====&lt;br /&gt;
&lt;br /&gt;
{{Hint|Replacement boards come with an empty eMMC, which means that trying to boot from them looks like the board is faulty (no LEDs, no screen, no reaction of the phone). Please boot an OS from SD card.}}&lt;br /&gt;
&lt;br /&gt;
Prior to replacing your PinePhone’s mainboard please read the steps outlined in bullet points below and watch the attached video.&lt;br /&gt;
&lt;br /&gt;
# You’ll need a small Phillip’s screwdriver and a prying tool to swap out the PinePhone’s mainboard.&lt;br /&gt;
# Remove the PinePhone’s back cover. See your quick start guide for details.&lt;br /&gt;
# Remove the battery as well as any inserted SD and SIM cards.&lt;br /&gt;
# Unscrew all 15 Phillip’s head screws around the midframe of the phone.&lt;br /&gt;
# Gently pry up the midframe using a guitar pick or credit card corner. It is easiest to separate the midframe at one of the bottom edges. Work your way around all the sides of the phone until the midframe separates from the phone’s body.&lt;br /&gt;
# Detach all ribbon cables and “Lego” connectors. List of things to detach: 1) two “Lego” connects at the bottom of the mainboard. 2) u.FL antenna connect and touchscreen digitizer on PCD left side. 3) LCD ribbon cable top of mainboard, next to audio/ UART jack.&lt;br /&gt;
# Pry the mainboard up gently from the left-hand side.&lt;br /&gt;
# Remove front and main cameras and reset them into the new mainboard.&lt;br /&gt;
# Check that the rubber proximity sensor housing is in the chassis, not stuck to the removed mainboard.&lt;br /&gt;
# Place the new mainboard in the chassis, hooking in on the plastic tabs on left side and pressing down firmly on opposite side, and follow the steps (7-2) in reverse. When reattaching the midframe take care that no cables are out of place or trapped, as they may be damaged when tightening screws.&lt;br /&gt;
&lt;br /&gt;
After swapping the mainboard the phone won't boot as there is no OS on the replacement board's eMMC preinstalled. To boot an OS insert a flashed SD card.&lt;br /&gt;
&lt;br /&gt;
A video tutorial by &amp;lt;i&amp;gt;Martijn Braam&amp;lt;/i&amp;gt; can be found here (or alternatively a video tutorial by user &amp;lt;i&amp;gt;brigadan&amp;lt;/i&amp;gt; with additional notes about the camera swap and proximity sensor isolator [https://www.youtube.com/watch?v=J3AJEF7akkw here]):&lt;br /&gt;
[[File:Pinephone_martijn_pcb_replacement.png|thumb|none|600px|link=https://www.youtube.com/watch?v=5GbMoZ_zuZs|Watch Martijn Braam's video tutorial here: https://www.youtube.com/watch?v=5GbMoZ_zuZs.]]&lt;br /&gt;
&lt;br /&gt;
==== Flashing the ANX firmware ====&lt;br /&gt;
&lt;br /&gt;
===== Method 1 =====&lt;br /&gt;
&lt;br /&gt;
After swapping the mainboard the ANX7688 chip has to be flashed for full USB functionality.&lt;br /&gt;
&lt;br /&gt;
Under GNU/Linux this can be done by downloading the latest ANX7688 firmware image on the phone:&lt;br /&gt;
&lt;br /&gt;
 wget https://xff.cz/git/linux-firmware/plain/anx7688-fw.bin&lt;br /&gt;
&lt;br /&gt;
and executing as root (&amp;quot;sudo su&amp;quot;) on the phone:&lt;br /&gt;
&lt;br /&gt;
 cp anx7688-fw.bin /lib/firmware/&lt;br /&gt;
 echo 1 &amp;gt; /sys/class/typec/port0/device/flash_eeprom&lt;br /&gt;
&lt;br /&gt;
===== Method 2 =====&lt;br /&gt;
&lt;br /&gt;
Booting a factory test image will automatically flash the ANX7688 chip. See [[PinePhone Software Releases#Factory Test OS|Factory Test OS]] for such an image.&lt;br /&gt;
&lt;br /&gt;
=== Replacing the screen ===&lt;br /&gt;
&lt;br /&gt;
Before attempting to replace the screen be sure to review the section on [[#Swapping in a new mainboard revision|replacing the mainboard]] since that will get you most of the way there. Be aware that the replacement screen is actually the entire front frame of the phone and there are components that will need to be swapped from your old screen.&lt;br /&gt;
&lt;br /&gt;
* Make sure you have a precision screwdriver set that has the correct size Philips tip. The screws are very small and the heads can easily be stripped if the screwdriver is not correct - if you feel your screwdriver slipping, stop what you are doing and try one that is a better fit. A magnetized screwdriver will help in not losing screws, as will a magnetic parts holder to keep them in while working.&lt;br /&gt;
&lt;br /&gt;
* There are a number of components and cables as well as the insulator sheet under the battery that are glued in place. A hair dryer will loosen the glue and make them much easier to remove. You may want to order extra cables along with the screen just in case.&lt;br /&gt;
&lt;br /&gt;
* The vibration motor, which is part of the USB-C board assembly and glued into place, will come apart easily and be damaged if you pry it up in the wrong place. Make sure you pry from underneath the complete part, not midway on its housing. The ribbon cable attaching this to the USB-C board is small, thin, and fragile so be careful with that as well.&lt;br /&gt;
&lt;br /&gt;
* The new screen comes with new side switches and insulator sheet but there are a number of parts that need to be transferred from the old screen, like the thin coax cable running up the side, the phone ear speaker, proximity sensor gasket, and a gold-colored mesh glued in place that needs to be transferred to a flexible circuit included on the new screen. If you don't swap over the proximity sensor rubber gasket the screen will immediately turn off after logging in. Be careful when routing the coax cable that it goes around the screw holes or you may drive a screw right through the cable.&lt;br /&gt;
&lt;br /&gt;
Take your time, use the right tools, be careful and you should be rewarded with success.&lt;br /&gt;
&lt;br /&gt;
=== Spare parts not available in the PINE64 store ===&lt;br /&gt;
&lt;br /&gt;
* Earpiece dimensions: 12x6x2 mm. Compatible with Xiaomi Mi2 / Mi3 (but not Mi4!) and others, see [https://forum.pine64.org/showthread.php?tid=12046&amp;amp;pid=85698#pid85698 here]&lt;br /&gt;
* Loudspeaker dimensions: 15x11x3 mm. Compatible with Nokia N91, Lenovo A536 (requires soldering) and others, see [https://forum.pine64.org/showthread.php?tid=12046&amp;amp;pid=85698#pid85698 here]&lt;br /&gt;
* Proximity sensor rubber isolator&lt;br /&gt;
&lt;br /&gt;
=== Other hardware issues ===&lt;br /&gt;
&lt;br /&gt;
See also [[PinePhone Hardware Issues]] for more issues and how-to's.&lt;br /&gt;
&lt;br /&gt;
== Press ==&lt;br /&gt;
&lt;br /&gt;
For an overview about media of the PinePhone you can use for the news, blogs, or similar see [[PinePhone Press]].&lt;br /&gt;
&lt;br /&gt;
== PinePhone board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
PinePhone mainboard schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2b%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2b]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2a%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2a]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf PinePhone mainboard Released Schematic ver 1.2]&lt;br /&gt;
* [[PinePhone_v1.2|PinePhone schematic ver 1.2 change list]]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20Schematic%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard Schematic ver 1.1]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20top%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component top placement drawing ver 1.1]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20bottom%20placement%20v1.1%2020191031.pdf &amp;quot;Braveheart&amp;quot; PinePhone mainboard component bottom placement drawing ver 1.1]&lt;br /&gt;
* [[PinePhone component list]]&lt;br /&gt;
&lt;br /&gt;
PinePhone USB-C small board schematic:&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20schematic%20v1.0%2020190730.pdf PinePhone USB-C small board Schematic ver 1.0]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20top%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component top placement drawing ver 1.0]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20bottom%20placement%20v1.0%2020190730.pdf PinePhone USB-C small board component bottom placement drawing ver 1.0]&lt;br /&gt;
&lt;br /&gt;
PinePhone certifications:&lt;br /&gt;
* [https://files.pine64.org/doc/cert/PinePhone%20FCC%20SDOC%20Certificate-S19112602605001.pdf PinePhone FCC Certificate]&lt;br /&gt;
* [https://fcc.report/FCC-ID/2AWAG-PINEPHONE RF Exposure SAR Information from FCC ID site]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/PinePhone%20CE%20RED%20Certificate-S19112602602.pdf PinePhone CE RED Certificate]&lt;br /&gt;
* [https://files.pine64.org/doc/cert/PinePhone%20ROHS%20Report.pdf PinePhone ROHS Report]&lt;br /&gt;
* Note: PinePhone's Type Allocation Code (TAC) is &amp;lt;i&amp;gt;86769804&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datasheets for components and peripherals ==&lt;br /&gt;
&lt;br /&gt;
Allwinner A64 SoC information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/A64%20brief%20v1.0%2020150323.pdf Allwinner A64 SoC brief introduction]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf Allwinner A64 SoC Data Sheet V1.1 (Official Released Version)]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf Allwinner A64 SoC User Manual V1.0 (Official Release Version)]&lt;br /&gt;
&lt;br /&gt;
X-Powers AXP803 PMIC (Power Management IC) information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf AXP803 PMIC datasheet]&lt;br /&gt;
&lt;br /&gt;
LPDDR3 (178 Balls) SDRAM:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/ATL3A1632H12A_mobile_lpddr3_11x11.5_v1.0_1600.pdf Artmem LPDDR3 datasheet]&lt;br /&gt;
&lt;br /&gt;
eMMC information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/Kimtigo_fbga153_16_32_64_eMMC_datasheet_v1.3.pdf Kimtigo eMMC datasheet]&lt;br /&gt;
&lt;br /&gt;
CMOS camera module information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/QZ01-rear-2019-0717(HW)%20Model.pdf PinePhone 5M Pixel Real CMOS Image Sensor Module]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/OV5640_datasheet.pdf OV5640 5MP CMOS Image Sensor SoC for Rear Module datasheet]&lt;br /&gt;
* [https://usermanual.wiki/Document/OV5640FirmwareUserGuideV10.952852672.pdf OV5640 Embedded Firmware User Guide&amp;amp;nbsp;&amp;amp;ndash; VCM AF Module]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/QZ01-front-2019-0717(HW)%20Model.pdf PinePhone 2M Pixel Front CMOS Image Sensor Module]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GC2145 2MP CMOS Image Sensor SoC for Front Module datasheet]&lt;br /&gt;
&lt;br /&gt;
LCD touch screen panel information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20LCD-QZ01.pdf 5.99&amp;quot; 1440x720 LCD IPS Panel specification]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/ST7703_DS_v01_20160128.pdf ST7703 LCD Controller datasheet]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/GT917S-Datasheet.pdf GOODiX GT917S Capacitive Touch Controller datasheet]&lt;br /&gt;
&lt;br /&gt;
Lithium battery information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20Specification.pdf PinePhone Lithium Battery specification]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20QZ01%20Battery%20ZCV%20Curve%20Chart.xlsx PinePhone Lithium Battery ZCV curve chart]&lt;br /&gt;
* [https://cad.onshape.com/documents/5194d6303f021e6f300b70a0/w/7b63ac4c32ed63dfd78c7840/e/5d43c0ce5b665bae10082a08 PinePhone Lithium Battery 3D onshape drawing]&lt;br /&gt;
&lt;br /&gt;
WiFi/BT module information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf RTL8723BS/RTL8723CS specification]&lt;br /&gt;
&lt;br /&gt;
LTE module information:&lt;br /&gt;
* [[File:Quectel_EG25-G_LTE_Standard_Specification_V1.3.pdf]]&lt;br /&gt;
* [[File:Quectel_EG25-G_Hardware_Design_V1.4.pdf]]&lt;br /&gt;
* [[File:Quectel_EC2x&amp;amp;EG9x&amp;amp;EG2x-G&amp;amp;EM05_Series_AT_Commands_Manual_V2.0.pdf]]&lt;br /&gt;
* [[File:Quectel_EC2xEG25-GEG9xEM05_FILE_AT_Commands_Manual_V1.0.pdf]]&lt;br /&gt;
* [[File:Quectel_EC2x&amp;amp;EG9x&amp;amp;EG2x-G&amp;amp;EM05_Series_GNSS_Application_Note_V1.3.pdf]]&lt;br /&gt;
&lt;br /&gt;
Sensors:&lt;br /&gt;
* [https://www.st.com/en/mems-and-sensors/lis3mdl.html ST LIS3MDL 3-axis Magnetometer Datasheet]&lt;br /&gt;
* [https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/ InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS datasheet]&lt;br /&gt;
* [https://www.sensortek.com.tw/en/product/Proximity_Sensor_with_ALS.html SensorTek STK3335 Ambient Light Sensor and Proximity Sensor]&lt;br /&gt;
&lt;br /&gt;
Digital video to USB-C bridge:&lt;br /&gt;
* [https://www.analogix.com/en/system/files/AA-002281-PB-6-ANX7688_Product_Brief.pdf ANX7688 product brief]&lt;br /&gt;
&lt;br /&gt;
Case information:&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Exploded%20Diagram%20ver%201.0.pdf PinePhone case exploded diagram]&lt;br /&gt;
* [https://files.pine64.org/doc/datasheet/pinephone/PinePhone%20Back%20Cover.stp PinePhone back cover 3D file]&lt;br /&gt;
&lt;br /&gt;
Other components:&lt;br /&gt;
* See the [[PinePhone_component_list|Component List]]&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
The following articles contain more specific information:&lt;br /&gt;
* [[PinePhone Accessibility]]&lt;br /&gt;
* [[PinePhone Power Management]]&lt;br /&gt;
* [[PinePhone Security]]&lt;br /&gt;
* [[PinePhone UBports OS Design Discussion]]&lt;br /&gt;
&lt;br /&gt;
The following resources have been made available by Ondřej Jirman, a developer for the Pinephone:&lt;br /&gt;
* [https://xnux.eu/howtos/pine64-pinephone-getting-started.html Getting started with PinePhone Hardware]&lt;br /&gt;
* [https://xnux.eu/devices/pine64-pinephone.html State of development progress]&lt;br /&gt;
* [https://xnux.eu/log/ Development log]&lt;br /&gt;
* [https://xnux.eu/news.html PinePhone Technical News and Update, also applies to other Allwinner devices including PINE A64 SBC]&lt;br /&gt;
* [https://xnux.eu/contribute.html Contributions to the kernel development]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://pine64.com/product-category/pinephone/ The PinePhone on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smartphone-spare-parts/ PinePhone spare parts on the official Pine store]&lt;br /&gt;
* [https://pine64.com/product-category/smartphone-accessories/ PinePhone accessories on the official Pine store]&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]] [[Category:Allwinner A64]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineBuds_Pro&amp;diff=15117</id>
		<title>PineBuds Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineBuds_Pro&amp;diff=15117"/>
		<updated>2022-12-08T16:15:08Z</updated>

		<summary type="html">&lt;p&gt;Paulfertser: Copied the main description from the store to avoid confusion with OSHW&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineBudsPro.jpg|400px|thumb|right|The PineBuds Pro]]&lt;br /&gt;
&lt;br /&gt;
The '''PineBuds Pro''' are open firmware capable ANC wireless earbuds. Some of the notable features include their light weight, 3 Microphones, ANC (Active Noise Cancellation), ENC (Environment Noise Cancellation) and high fidelity 6mm speaker. It is a fully community-driven side-project which anyone can contribute to, allowing you to keep control of your device even though hardware is proprietary.&lt;br /&gt;
&lt;br /&gt;
== Software releases ==&lt;br /&gt;
&lt;br /&gt;
=== Firmware Images Build ===&lt;br /&gt;
&lt;br /&gt;
=== SDK Release ===&lt;br /&gt;
&lt;br /&gt;
** [https://files.pine64.org//SDK/PineBudsPro/PineBudsPro_SDK-20221128.7z PineBuds Pro &amp;quot;Little Whale&amp;quot; SDK date:20221128]&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
* Based on [http://www.bestechnic.com/home/product/index/cate_id/6 BES 2300YP]&lt;br /&gt;
[[File:BES-Tech.jpg|right]]&lt;br /&gt;
[[File:BES2300YP_Block_Diagram.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
=== SoC Architecture ===&lt;br /&gt;
&lt;br /&gt;
* CPU Features:&lt;br /&gt;
** [https://developer.arm.com/Processors/Cortex-M4 Dual-core ARM Cortex-M4F Processor Processor up to 300MHz CPU]&lt;br /&gt;
[[File:Cortex-M4.png|right|400px]]&lt;br /&gt;
** CMOS Single-chip Fully-integrated RF, PMU, Audio CODEC and Cortex-M4F CPU&lt;br /&gt;
** 4MB Serial Flash On-chip for Custom Program&lt;br /&gt;
** Internal ROM 448KB for critical constants and code&lt;br /&gt;
** Internal SRAM 992KB for critical data and code&lt;br /&gt;
* BT Features:&lt;br /&gt;
** Bluetooth 5.2 dual-mode compliant&lt;br /&gt;
* Audio Features:&lt;br /&gt;
** Support BES Intelligent Bluetooth Retransmission (IBRT)&lt;br /&gt;
** Support FF/Hybrid ANC&lt;br /&gt;
** Dual MICs noise reduction&lt;br /&gt;
** Echo Cancellation&lt;br /&gt;
** Support low power voice activity detection&lt;br /&gt;
** Multi-band EQ and Bass enhancement&lt;br /&gt;
** Support Active Crossover&lt;br /&gt;
** Support TWS&lt;br /&gt;
** HiFi Stereo Audio DAC: 120dB SNR, 110dB DNR&lt;br /&gt;
** HiFi Stereo Audio ADC: 100dB SNR&lt;br /&gt;
²* Sample rates from 8 kHz to 384 kHz&lt;br /&gt;
** Support dual/single Mic noise suppression&lt;br /&gt;
** Support ambient awareness&lt;br /&gt;
** Support talk through&lt;br /&gt;
** 24-bit audio processing&lt;br /&gt;
* PMU Features&lt;br /&gt;
** 3.1V-5.5V Input for VBAT&lt;br /&gt;
** Internal LPO for low power mode.&lt;br /&gt;
** DCXO with internal oscillator circuit&lt;br /&gt;
** Internal temperature sensor&lt;br /&gt;
&lt;br /&gt;
== Information, Schematics and Certifications ==&lt;br /&gt;
* Charging Case with two Left and Right earbuds&lt;br /&gt;
* Input Power: DC 5V @ 0.5A USB Type-C&lt;br /&gt;
* Document:&lt;br /&gt;
** [https://files.pine64.org/doc/PineBudsPro/PineBuds%20Pro%20User%20manual-20220920-8pages-20221116.pdf PineBuds Pro User Manual]&lt;br /&gt;
* Schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PineBudsPro/PineBuds%20Pro%20mainboard%20schematic-20220817.pdf PineBuds Pro Earbuds Schematic 20220817]&lt;br /&gt;
** [https://files.pine64.org/doc/PineBudsPro/PineBuds%20Pro%20charging%20cradle%20schematic-20220915.pdf PineBuds Pro Charging Case Schematic 20220915]&lt;br /&gt;
* Certifications:&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PineBuds%20Pro%20CE%20EMC%20Certificate-LCSA090522058E.pdf PineBuds Pro CE EMC Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PineBuds%20Pro%20CE%20RED%20Certificate-LCSA090522057E.pdf PineBuds Pro CE RED Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PineBuds%20Pro%20FCC%20SDOC%20Certificate-LCSA090522056E.pdf PineBuds Pro FCC Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PineBuds%20Pro%20ROHS%20Report-LCSA090522054R.pdf PineBuds Pro ROHS Report]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* BES 2300YP SoC information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PineBudsPro/BES2300-YP_Datasheet_v1.0.pdf BES 2300-YP Datasheet V1.0]&lt;br /&gt;
* Charging Case:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PineBudsPro/SY8821_SPEC_V1_2_2.pdf ThinkPlus Semi SY8821 Datasheet in Chinese]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PineBudsPro/CH342DS1.PDF WCH Tech CH342DS USB to Dual Serial ports chip Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PineBudsPro/COPO%20CP2021%202.5W%20Qi%20Wire%20Power%20Receiver.pdf COPO CP2021 2.5W Qi Wire Power Receiver Datasheet(noted: not staffed)]&lt;br /&gt;
* EarBuds:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PineBudsPro/CE3156-EN-01.pdf ChiPower Tech CE3156 Single Cell Charger Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PineBudsPro/LP3992-33B5F.pdf LowPower Semi LP3992 LDO Regulator Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PineBudsPro/HLW-YHX190_20190810.pdf HLW Semi HLW-YHX190 OTP micro Datasheet in Chinese (noted: for power-on and reset control)]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PineBudsPro/TTP233D-SB6_V1.0_EN.pdf Tontek TTP-233D one key touch pad detect IC Datasheet]&lt;br /&gt;
&lt;br /&gt;
[[Category:PineBuds Pro]] [[Category:BES 2300YP]]&lt;/div&gt;</summary>
		<author><name>Paulfertser</name></author>
	</entry>
</feed>