https://wiki.pine64.org/api.php?action=feedcontributions&user=Tophneal&feedformat=atomPINE64 - User contributions [en]2024-03-28T18:37:46ZUser contributionsMediaWiki 1.37.1https://wiki.pine64.org/index.php?title=Main_Page&diff=8574Main Page2020-12-28T17:25:55Z<p>Tophneal: Reverted edits by Tllim (talk) to last revision by Fxc</p>
<hr />
<div>PINE64 is a community-driven company focused on creating high-quality, low cost ARM devices for businesses and individuals around the globe. PINE64 made its debut with the [[PINE_A64|Pine A64]] single-board computer, which successfully launched on Kickstarter in 2015. PINE64 has since released a multitude of other devices, including both development boards and end-user devices.<br />
<br />
PINE64 has a large and active community and offers a variety of resources for businesses and hobbyists to take advantage of their projects. To learn more about PINE64 and the available devices, please visit the main [https://www.pine64.org/ PINE64 website].<br />
<br />
= Devices =<br />
<br />
* [[Nutcracker]]<br />
* [[PINE A64]]<br />
* [[PINE A64-LTS/SOPine]], [[SOPine_Clusterboard | Clusterboard]]<br />
* [[PINE H64]]<br />
* Pinebook:<br />
** [[1080P Pinebook]]<br />
** [[Pinebook Pro]]<br />
** [[Pinebook]]<br />
* [[Pinecil]]<br />
* [[PineCube]]<br />
* [[PinePhone]]<br />
* [[PineTab]]<br />
* [[PineTime]]<br />
* [[ROCK64]]<br />
* [[ROCKPro64]]<br />
* [[SOEdge]]<br />
<br />
= Community and Support =<br />
PINE64 has a large and very active community. Community discussion takes place on a variety of chat platforms which are all bridged together - messages sent via one platform will be sent to all other platforms automatically. The community chat platforms are:<br />
<br />
'''Matrix'''<br />
: [https://riot.im/app/#/room/#pine64:matrix.org #pine64:matrix.org] - General room<br />
: [https://riot.im/app/#/room/#rock64:matrix.org #rock64:matrix.org] - ROCK64 / ROCKPro64 room<br />
: [https://riot.im/app/#/room/#pinebook:matrix.org #pinebook:matrix.org] - Pinebook and Pinebook Pro room<br />
: [https://riot.im/app/#/room/#pinephone:matrix.org #pinephone:matrix.org] - PinePhone room<br />
: [https://riot.im/app/#/room/#pinetab:pine64.org #pinetab:matrix.org] - PineTab room<br />
: [https://riot.im/app/#/room/#pinetime64:matrix.org #pinetime64:matrix.org] - PineTime room<br />
: [https://riot.im/app/#/room/#pinecil:matrix.org #pinecil:matrix.org] - Pinecil room<br />
: [https://riot.im/app/#/room/#offtopic64:matrix.org #offtopic64:matrix.org] - Off-topic room<br />
<br />
'''IRC'''<br />
: Server: [ircs://irc.pine64.org irc.pine64.org], type <code>/list</code> to see all channels (web IRC: https://www.pine64.org/web-irc/)<br />
<br />
'''Discord'''<br />
: [https://discordapp.com/invite/DgB7kzr Discord invite link]<br />
<br />
'''Telegram'''<br />
: [https://t.me/PINE64_News Pine64 News group]<br />
: [https://t.me/mtrx_pine64 General group]<br />
: [https://t.me/mtrx_rock64 ROCK64 / ROCKPro64 group]<br />
: [https://t.me/mtx_pinebook Pinebook and Pinebook Pro group]<br />
: [https://t.me/pinephone PinePhone group]<br />
: [https://t.me/PineTab PineTab group]<br />
: [https://t.me/pinetime PineTime group]<br />
: [https://t.me/joinchat/Kmi2S1iej-_4DgrVf3jjnQ Pinecil group]<br />
: [https://t.me/pine64offtopic Pine64 off-topic]<br />
<br />
'''Forums'''<br />
: Official [https://forum.pine64.org/ PINE64 Forum]<br />
<br />
'''Reddit'''<br />
: Official [https://www.reddit.com/r/PINE64official/ PINE64 Reddit]<br />
: Official [https://www.reddit.com/r/PinePhoneOfficial/ PinePhone Reddit]<br />
<br />
= Helpful Information for Beginners =<br />
Sections dedicated to the very beginners who are just getting started in the SBC and ARM64 world. If you're just starting out and having issues with getting going, please consider browsing both sections for pointers. <br />
<br />
'''Getting Started'''<br />
: [[NOOB]] - Basic information on how to flash SD cards and eMMC modules as well as handling your devices.<br />
<br />
'''Project Ideas'''<br />
: [[Project]] - A variety of well-documented PINE64 projects to serve as inspiration.</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro&diff=5971Pinebook Pro2020-06-23T17:49:27Z<p>Tophneal: /* Pinebook Pro Schematics and Certifications */</p>
<hr />
<div>= User Guide =<br />
== Introducing PineBook Pro == <br />
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]<br />
<br />
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]<br />
<br />
It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh capacity battery, and the modularity that only an open source project can deliver. <br />
<br />
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, and camera; and expandable storage via NVMe (PCIe 4x) with an optional adapter. <br />
<br />
The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1x micro SD card reader (bootable), 1x USB 2.0, 1x USB 3.0, 1x USB type C Host with DP 1.2 and power-in, PCIe 4x for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). <br />
<br />
The keyboard and trackpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.<br />
<br />
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.<br />
<br />
== Software and OS Image Downloads ==<br />
<br />
=== Default Manjaro KDE Desktop Quick Start ===<br />
<br />
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.]<br />
<br />
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 "codename" of your machine, and if you don't know what it's about, you can make something up.<br />
<br />
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 [https://wiki.pine64.org/index.php/Pinebook_Pro#ANSI_Fn_.2B_F_keys_wrong_for_F9.2C_F10.2C_F11_and_F12 privacy switch] is not disabled.<br />
<br />
=== [[Pinebook Pro_Software_Release|Pinebook Pro images]] ===<br />
Under [[Pinebook Pro Software Release|'Pinebook Pro Software and OS Image Download Section']] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software. <br />
<br />
The list includes OS images and descriptions of:<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Manjaro_ARM}} [[File:Manjaro.png|125px]]] [[PinebookPro_Software_Release#Manjaro ARM|'''Manjaro ARM (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Debian_Desktop}} [[File:Debian.png|125px]]] [[PinebookPro_Software_Release#Debian Desktop|'''Debian Desktop (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_LXDE}} [[File:Lxde.png|125px]]] [[PinebookPro_Software_Release#Bionic LXDE|'''Bionic LXDE (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_Mate}} [[File:Mate.png|125px]]] [[PinebookPro_Software_Release#Bionic Mate|'''Bionic Mate (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Fedora}} [[File:Fedora1.png|125px]]] [[PinebookPro_Software_Release#Fedora|'''Fedora (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#OpenSUSE}} [[File:Opensuse1.png|125px]]] [[PinebookPro_Software_Release#OpenSUSE|'''OpenSUSE (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Q4OS}} [[File:Q4os.png|125px]]] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Armbian}} [[File:Armbian.png|125px]]] [[PinebookPro_Software_Release#Armbian|'''Armbian (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#NetBSD}} [[File:Netbsd.png|125px]]] [[PinebookPro_Software_Release#NetBSD|'''NetBSD (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:Pinebook_Pro_Software_Release#OpenBSD}} [[File:Puffy_mascot_openbsd.png|125px]]] [[Pinebook_Pro_Software_Release#OpenBSD|'''OpenBSD release for ARM64''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Chromium}} [[File:Chromium.jpg|125px]]] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Arch_Linux}} [[File:Archlinux-logo.png|125px]]] [[PinebookPro_Software_Release#Arch_Linux|'''Arch Linux ARM installer (microSD and USB boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Android_7.1_microSD}} [[File:Android_7.png|125px]]] [[PinebookPro_Software_Release#Android_7.1_microSD|'''Android 7.1 (microSD Boot)''']] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [{{fullurl:PinebookPro_Software_Release#Android_7.1_eMMC}} [[File:Android_7.png|125px]]] [[PinebookPro_Software_Release#Android_7.1_eMMC|'''Android 7.1 (eMMC)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Daniel_Thompson.27s_Debian_Installer_for_the_Pinebook_Pro}} [[File:Debian.png|125px]]] [[PinebookPro_Software_Release#Daniel_Thompson.27s_Debian_Installer_for_the_Pinebook_Pro|'''Debian Installer for Pinebook Pro''']]<br />
<br />
[{{fullurl:Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro}} [[File:Gentoo.png|125px]]]<br />
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Kali_Linux_for_Pinebook_Pro}} [[File:Kali.jpeg|125px]]] [[PinebookPro_Software_Release#Kali_Linux_for_Pinebook_Pro|'''Kali Script for Pinebook Pro (microSD and eMMC Boot)''']]<br />
<br />
=== Quick Links to OS Images Build Sources===<br />
'''Some of the provided OS images are still in <span style="color:#FF0000">beta or nightly build</span> and only fit for testing purposes. These images ought to be avoided for normal usage - use them at <span style="color:#FF0000">your own risk</span>'''<br />
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo] (Includes Ubuntu 20.04 Focal Fossa and Debian Buster images. Click 'Assets' at the end of the releases text to view images) <br />
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]<br />
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]<br />
<br />
== Keyboard ==<br />
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and trackpad 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, trackpad 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. <br />
<br />
The keyboard firmware binary can be flashed from userspace using the provided open source utility. <br />
<br />
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. <br />
<br />
=== Typing special characters ===<br />
The [[Wikipedia:British_and_American_keyboards#Other_keyboard_layouts|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. <br />
{| class="wikitable"<br />
!Character<br />
!Key combination/sequence<br />
|-<br />
|Ä, Ö, Ü, ä, ö, ü<br />
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]<br />
|-<br />
|µ<br />
|[AltGr]+[m]<br />
|-<br />
|Ø, ø<br />
|[AltGr]+[O], [AltGr]+[o]<br />
|-<br />
|@<br />
|[AltGr]+[q] (as on the German layout)<br />
|-<br />
|ß<br />
|[AltGr]+[s]<br />
|-<br />
|§<br />
|[AltGr]+[S]<br />
|-<br />
|°<br />
|[AltGr]+[)]<br />
|}<br />
<br />
=== Privacy Switches ===<br />
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:<br />
<br />
{| class="wikitable"<br />
|+ Privacy switch function and description<br />
! Combination<br />
! Effect<br />
! Description<br />
! Notes<br />
|-<br />
! scope=row | PINE64 logo key+F10<br />
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled<br />
|-<br />
! scope=row | PINE64 logo key+F11<br />
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = WiFi enabled / killswitch disabled, 3 blinks = WiFi disabled / killswitch enabled.<br />
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&pid=52645#pid52645 command line hack to bind/unbind]).<br />
|-<br />
! scope=row | PINE64 logo key+F12<br />
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled<br />
|}<br />
<br />
'''(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)'''<br />
<br />
The keyboard operates on firmware independant 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.<br />
<br />
== Trackpad ==<br />
The trackpad is a reasonable size, has a matte finish that that your finger can slide along easily, and two actuating buttons. It is the only component of the Pinebook Pro held in place with strong adhesive tape. It supports multi-touch functionality. <br />
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].<br />
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater). A fork with more recent changes is also available (https://github.com/jackhumbert/pinebook-pro-keyboard-updater) and may want to be considered instead while feature parity is different.<br />
<br />
<br />
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' <br />
<br />
Before you start:<br />
<br />
Please refer to original documentation for details.<br />
<br />
Your Pinebook Pro should be either fully charged or, preferably, running of mains. This utility will be writing chips on the keyboard and trackpad, so a loss of power during any stage of the update can result in irrecoverable damage to your trackpad or keyboard.<br />
<br />
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies. The instructions below assume a Debian desktop, newer Pinebook Pro models that come with Manjaro will require a different command to install the proper dependencies.<br />
<br />
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. <br />
FW update steps for both models are listed below. <br />
<br />
What you will need:<br />
<br />
*Your Pinebook Pro fully charged or running off of mains power<br />
*Connection to WiFi<br />
*An external USB keyboard & mouse. Or access to the Pinebebook Pro via SSH<br />
<br />
'''ISO Model''' <br />
<br />
From the terminal command line: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1 iso<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2 iso<br />
sudo reboot<br />
</pre><br />
<br />
----<br />
<br />
'''ANSI Model''' <br />
<br />
*<b>NOTE:</b> Running step-1 on the ansi keyboard model will make the keyboard and trackpad inaccessible until step-2 is run, so an external keyboard must be connected to complete the update on this model!<br />
<br />
From the terminal command line: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1 ansi<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2 ansi<br />
sudo reboot<br />
</pre><br />
When done, if some of the keys produce in-correct characters, please check your OSes' language settings. For ANSI users, the default OS shipped with English UK as the default language. You can change it to English US if desired.<br />
<br />
=== X-Windows & trackpad settings ===<br />
Some forum members have found that an adjustment to X-Windows will allow finer motion in the trackpad. If you use the '''Synaptic''' mouse/trackpad driver use this command to make the change live;<br />
<pre>synclient MinSpeed=0.25</pre><br />
You may experiment with different settings, but 0.25 was tested as helping noticably.<br><br />
<br><br />
To make the change persist across reboots, change the file <code>/etc/X11/xorg.conf</code> similar to below;<br />
<pre> Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "MinSpeed" "0.25"<br />
EndSection</pre><br />
The line <code>Option "MinSpeed" "0.25"</code> is the change.<br><br />
<br><br />
Another forum user built on the above settings a little, and have found these to be very good:<br />
<pre>synclient MinSpeed=0.25<br />
synclient FingerLow=30<br />
synclient PalmDetect=1<br />
synclient VertScrollDelta=64<br />
synclient HorizScrollDelta=64</pre><br />
<br />
<code>FingerLow</code> 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 not sure if synaptic works like this.<br />
You may find this config to be comfortable for daily use.<br />
<br><br />
<br />
The <code>right mouse click</code> is emulated by tapping with two fingers on the trackpad. If you feel that this is not very responsive you can try this value:<br />
<pre> synclient MaxTapTime=250 </pre>.<br />
<br><br />
<br />
== Power Supply ==<br />
* Input Power: 5V DC @ 3A<br />
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack<br />
* USB-C 5V, 15W PD quickcharge<br />
* Only use one power input at a time, barrel jack OR USB-C<br />
<br />
== LEDs ==<br />
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: <br />
<br />
:1. The red LED next to the barrel-port indicates charging. It will illuminate when mains power is supplied to the Pinebook Pro from either the standard power supply unit or a USB-C smartphone charger.<br />
<br />
:2. The power indicator LED on the Pinebook Pro supports three different colours: green, amber and red. It is also capable of flashing/blinking to indicate activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). <br />
<br />
:3. The Num lock, green LED.<br />
<br />
:4. The Caps lock, green LED.<br />
<br />
(The Num and Caps lock LEDs have a secondary function. When the privacy switches get activated they blink to confirm that switch has been activated.)<br />
<br />
== Webcam ==<br />
* Streaming video resolutions supported, (un-compressed):<br />
** 320 x 240 <br />
** 640 x 480<br />
** 800 x 600<br />
** 1280 x 720<br />
** 1600 x 1200<br />
* Still frame resolutions supported:<br />
** 160 x 120<br />
** 176 x 144<br />
** 320 x 240<br />
** 352 x 288 <br />
** 640 x 480<br />
** 800 x 600<br />
** 1280 x 720<br />
** 1600 x 1200<br />
* Some people test with the application Cheese<br />
WIP<br />
<br />
== Microphones ==<br />
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.<br />
<br />
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.<br />
<br />
<br />
<br />
'''Microphones not working?'''<br />
<br />
If pavucontrol input doesn't show microphone activity try the [[Pinebook_Pro#Privacy_Switches]]; once that is set to on do the below; if that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the [[Pinebook_Pro#Technical_Reference]]).<br />
<br />
<pre><br />
run alsamixer from the command line > hit F6 and select the es8316 > hit F4 to get to the capture screen > select the bar labeled ADC ><br />
> increase the gain to 0dB > change the audio profile in pavucontrol to another with input<br />
<br />
Additionally:<br />
you may want to modify ADC PGA to get the levels to where you want them<br />
</pre><br />
<br />
== Bluetooth and WiFi ==<br />
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]<br />
===Hardware Overview===<br />
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. <br />
<br />
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 capabilites are usable under operating systems that do not support SDIO.<br />
<br />
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.<br />
<br />
===Issues===<br />
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.<br />
<br />
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.<br />
<br />
===Wi-Fi Capabilities===<br />
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.<br />
<br />
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.<br />
<br />
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.<br />
<br />
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.<br />
<br />
Be aware that Linux userspace utilities, such as <code>iw</code>, 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.<br />
<br />
===Bluetooth Capabilities===<br />
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.<br />
<br />
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.<br />
<br />
===Disabling Bluetooth===<br />
<pre><br />
#disable bluetooth once<br />
sudo rfkill block bluetooth && <br />
<br />
#confirm<br />
rfkill<br />
</pre><br />
<br />
<pre><br />
#disable bluetooth on boot**<br />
sudo systemctl enable rfkill-block@bluetooth<br />
</pre><br />
<br />
<nowiki>**This does not do what one might want on certain distros, Manjaro XFCE for example. Try the below.</nowiki><br />
<br />
<pre><br />
right click on the bluetooth panel icon > select 'plugins' > PowerManager > configuration > deselect the auto power on option<br />
</pre><br />
<br />
== LCD Panel ==<br />
* Model: BOE NV140FHM-N49<br />
* 14.0" (35.56cm) diagonal size<br />
* 1920x1080 resolution<br />
* 60hz refresh rate<br />
* IPS<br />
* 1000:1 contrast<br />
* 250nt brightness<br />
* 63% sRGB coverage<br />
* 6 bit colour<br />
* 30 pin eDP connection<br />
<br />
Some people have tested hardware video decode using the following;<br />
<pre>ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -</pre><br />
<br />
== External ports list ==<br />
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.<br />
* Left side<br />
** Barrel jack for power, (with LED)<br />
** USB 3, Type A<br />
** USB 3, Type C<br />
* Right side<br />
** USB 2, Type A<br />
** Standard headset jack<br />
** MicroSD card slot<br />
<br />
== Using the UART ==<br />
[[File:PBPUART.jpeg|400px|thumb|right|Headphone jack UART wiring reference.<br />
<br> Swapping the tx and rx around from this also works and is more traditional.<br />
<br> See [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf this] official Pine64 .pdf.]]<br />
<br />
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 [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly proper disassembly and reassembly protocol]. The OFF position is towards the touchpad, the ON position is towards the display hinges.<br />
<br />
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.3v interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3v and 5v variants) to avoid damage to the CPU. <br />
<br />
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:<br />
<br />
<code><br />
$ lsusb<br />
</code><br />
<br />
you should find a line similar to this:<br />
<br />
<code><br />
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter<br />
</code><br />
<br />
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.<br />
<br />
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.<br />
<br />
Serial output should now be accessible using screen, picocom or minicom (and others).<br />
Examples:<br />
<br />
<code><br />
screen /dev/ttyUSB0 1500000<br />
<br />
picocom /dev/ttyUSB0 -b 1500000<br />
<br />
minicom -D /dev/ttyUSB0 -b 1500000</code><br />
<br />
Old versions of U-Boot do not use the UART for console output. <strike>The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.</strike><br />
<br />
== Using the optional NVMe adapter ==<br />
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''' & '''M'''+'''B''' keyed devices, in both 2242 & 2280 physical sizes, the most common ones available. In addition, 2230 & 2260 are also supported, though NVMe devices that use those sizes are rare.<br />
<br />
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.<br />
<br />
=== Installing the adapter ===<br />
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.<br />
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)<br />
<br />
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with trackpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.<br />
<br />
Actual installation instructions are a work in progress.<br />
<br />
=== Post NVMe install power limiting ===<br />
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 at lower battery levels. And to reduce power used, to maintain battery life.<br />
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);<br />
<pre>$ sudo nvme id-ctrl /dev/nvme0<br />
NVME Identify Controller:<br />
...<br />
ps 0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0<br />
rwt:0 rwl:0 idle_power:- active_power:-<br />
ps 1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1<br />
rwt:1 rwl:1 idle_power:- active_power:-<br />
ps 2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2<br />
rwt:2 rwl:2 idle_power:- active_power:-<br />
ps 3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3<br />
rwt:3 rwl:3 idle_power:- active_power:-<br />
ps 4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4<br />
rwt:4 rwl:4 idle_power:- active_power:-<br />
<br />
$ sudo nvme get-feature /dev/nvme0 -f 2<br />
get-feature:0x2 (Power Management), Current value:00000000<br />
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s<br />
set-feature:02 (Power Management), value:0x000002</pre><br />
Some NVMe SSDs don't appear to allow saving the setting with "-s" option. In those cases, leave off the "-s" and use a startup script to set the non-default power state at boot.<br><br />
If you want to test performance without saving the new power setting semi-permanantly, then leave off the "-s" option.<br/><br />
<br/><br />
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving & transitions based on usage. To check if you have a NVMe SSD with this feature;<br />
<pre>$ sudo nvme get-feature -f 0x0c -H /dev/nvme0</pre><br />
Information for this feature, (on a Pinebook Pro), is a work in progress.<br />
<br />
=== Using as data drive ===<br />
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.<br />
<br />
=== Using as OS root drive ===<br />
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.<br />
<br />
The current boot order, per last testing, for this modified U-Boot is:<br />
*MicroSD<br />
*eMMC<br />
*NVMe<br />
<br />
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&pid=53764#pid53764 the forum post.]<br />
<br />
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 <code>/boot</code> and <code>/</code> off the NVMe drive. So this may change in the future.)<br />
<br />
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].<br />
<br />
== Caring for the PineBook Pro ==<br />
=== Bypass Cables ===<br />
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 [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice]. <br />
<br />
'''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!'''<br />
<br />
WARNING: Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.<br />
<br />
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===<br />
<span style="color:#FF0000">Placeholder for Pinebook Pro specific guides</span><br />
<br />
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:<br />
<br />
'''Note: The installation process on Pinebook Pro similar to 14" Pinebook'''<br />
<br />
'''Note: The installation process is the reverse order of removal guide'''<br />
<br />
* 14″ Pinebook Lithium Battery Pack Removal Guide<br />
* 14″ Pinebook LCD Panel Screen Removal Guide<br />
* 14″ Pinebook eMMC Module Removal Guide<br />
<br />
== Using the SPI flash device ==<br />
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.<br />
<br />
Here is some information on using the SPI flash device:<br />
<br />
* You need the kernel built with SPI flash device support, which will supply a device similar to:<br><br><code>/dev/mtd0</code><br><br><br />
* The Linux package below, will need to be available:<br><br><code>mtd-utils</code><br><br><br />
* You can then use this program from the package to write the SPI device:<br><br><code>flashcp &lt;filename&gt; /dev/mtd0</code><br><br><br />
<br />
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.<br />
<br />
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware.<br><br />
<br><br />
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.<br />
<br />
== FAQ ==<br />
What cool software works out of the box? [[Pinebook Pro OTB Experience]]<br />
<br />
= Software tuning guide =<br />
Details on how to get the most out of a Pinebook Pro & its RK3399 SoC.<br />
<br />
== Customizing the Pinebook Pro's default Manjaro KDE system ==<br />
=== Watching DRM content (Netflix, etc.) ===<br />
Most paid online streaming services use Widevine DRM to make their content more difficult to pirate. Widevine is not directly supported on Manjaro KDE, however it is still possible to watch DRM content via the "chromium-docker" package which downloads a 32-bit ARM container and installs Chromium with Widevine inside of that. While not space-efficient, or efficient in general, it's the recommended solution for watching this content on your Pinebook Pro. You can install this package with:<br />
<pre>sudo pacman -Sy chromium-docker</pre><br />
=== Checking GPU capabilities ===<br />
To see what versions of OpenGL and OpenGL ES are supported by the Pinebook Pro, what driver is in use, and what version of the driver is loaded, install the "mesa-demos" package with:<br />
<pre>sudo pacman -Sy mesa-demos</pre><br />
And then run:<br />
<pre>glxinfo | grep OpenGL</pre><br />
This will give detailed information about your graphics card and driver, useful for debugging.<br />
<br />
=== Better GPU compatibility and performance ===<br />
For better graphics performance, you may install the "mesa-git" package, built and supplied in the Manjaro ARM repos. This lets you bring in the latest features, optimizations, and bugfixes for the graphics driver used by the Pinebook Pro. Installation is as simple as:<br />
<pre>pacman -Sy mesa-git</pre><br />
Then you may reboot to load the newer driver.<br />
<br />
=== OpenGL ES 3.0 support ===<br />
By default, with the current state of the Panfrost GPU driver, the Pinebook Pro supports OpenGL 2.1 and OpenGL ES 2.0. If you want to use OpenGL ES 3.0, you need to set the system-wide environment variable, open the '''/etc/environment''' file with:<br />
<pre>kate /etc/environment</pre><br />
And then at the bottom of the file, on a new line, add:<br />
<pre>PAN_MESA_DEBUG="gles3"</pre><br />
Then save the file, entering your password when prompted, and reboot the system. When you check your GPU capabilities, it should report OpenGL ES 3.0 and applications that rely on it should function properly. Note that GLES3 support is currently incomplete and some advanced rendering features may still not work properly.<br />
== Customizing the Pinebook Pro's previously-default Debian system ==<br />
Here are some hints on what you can do to customize the Pinebook Pro's previous factory image (aka [https://github.com/mrfixit2001/debian_desktop mrfixit2001 debian build])<br />
<br />
=== Initial user changes, password, name, etc ===<br />
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.<br />
<br />
* Reboot (this is just to ensure all background processes belong to the user are not running... there are other ways to achieve this but this way is easy)<br />
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal<br />
* Login as root (login: root, password: root)<br />
* Set a strong password for the root user using the following command and it's prompts:<br />
<pre># passwd (and follow prompts)</pre><br />
* Rename the rock user to your prefered username (replace myself with whatever you like):<br />
<pre># usermod -l myself -d /home/myself -m rock</pre><br />
* Rename the rock group to match your preferred username:<br />
<pre># groupmod -n myself rock</pre><br />
* Put your name in the account, (replace "John A Doe" with your name):<br />
<pre># chfn -f "John A Doe" myself</pre><br />
* Set a strong password for the normal user:<br />
<pre># passwd myself</pre><br />
* Log out of the text terminal:<br />
<pre># logout</pre><br />
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user<br />
* Open text terminal to fix login error: "Configured directory for incoming files does not exist";<br />
<pre>$ blueman-services</pre><br />
Select "Transfer" tab and set "Incoming Folder" to myself<br />
OR<br />
If adduser is in distro, this is MUCH easier<br />
sudo adduser $USER ,, fill out requested data<br />
Then,, sudo adduser $USER $GROUP,,, 1 group at a time<br />
To see which groups to add,,, id $USER, id rock<br />
<br />
=== Changing the default hostname ===<br />
Debian 9 has a command to allow you to change the hostname. You can see the current settings using;<br />
<pre>> sudo hostnamectl<br />
Static hostname: Debian-Desktop<br />
Icon name: computer<br />
Machine ID: dccbddccbdccbdccbdccbdccbdccbccb<br />
Boot ID: ea99ea99ea99ea99ea99ea99ea99ea99<br />
Operating System: Debian GNU/Linux 9 (stretch)<br />
Kernel: Linux 4.4.210<br />
Architecture: arm64</pre><br />
To change, use this, (with "My_Hostname" used as the example);<br />
<pre>> sudo hostnamectl set-hostname My_Hostname</pre><br />
Whence done, you can re-verify using the first example.<br />
<br />
Then you should backup and edit your <code>/etc/hosts</code> entry's name;<br />
<pre>> sudo cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`<br />
> sudo vi /etc/hosts<br />
127.0.0.1 localhost<br />
127.0.0.1 My_Hostname<br />
::1 localhost ip6-localhost ip6-loopback<br />
fe00::0 ip6-localnet<br />
ff00::0 ip6-mcastprefix<br />
ff02::1 ip6-allnodes<br />
ff02::2 ip6-allrouters<br />
127.0.1.1 linaro-alip</pre><br />
<br />
=== Disable Chromium browser's prompt for passphrase & password storage ===<br />
<br />
Perform the following steps:<br />
<br />
* On the tool bar, hover over the Chromium icon<br />
* Using the right mouse button, select '''Properties'''<br />
* In the '''Command:''' line section, add <code>--password-store=basic</code> before the <code>%U</code><br />
* Use the '''x Close''' button to save the change<br />
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.<br />
<br />
=== Changing the boot splash picture ===<br />
<br />
The default boot splash picture can be replaced using the following instructions:<br />
<br />
* Install '''ImageMagick''' which will do the conversion<br />
<pre>$ sudo apt-get install imagemagick</pre><br />
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).<br />
* From the directory in which your new image is stored run the following commands<br />
* Convert your image to the bootsplash raw format using imagemagick convert.<br />
<pre>$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb</pre><br />
* Create a backup copy of your current splash screen<br />
<pre>$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb</pre><br />
* Copy your new splash screen into place<br />
<pre>$ sudo cp splash.fb /usr/share/backgrounds/splash.fb</pre><br />
* Set the correct permissions on the splash.fb file<br />
<pre>$ sudo chmod 644 /usr/share/backgrounds/splash.fb</pre><br />
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed<br />
<br />
=== Watching Amazon Prime videos with Chromium ===<br />
When you create a new user, it will be necessary to launch the Chromium browswer with a specific user agent like below;<br />
<pre>chromium-browser --user-agent="Mozilla/5.0 (X11; CrOS armv7l 6946.63.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"</pre><br />
There may be more tweaks needed.<br />
<br />
=== Enabling text boot time messages ===<br />
<br />
By default, most Linux distros have a boot screen with a picture. To see all the boot time messages, use one of the following;<br />
<br />
<b><u>Default Debian</u></b><br />
* Backup and edit the U-Boot configuration file:<br />
<pre>cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`<br />
chmod a-w /etc/default/u-boot.`date +%Y%m%d`<br />
vi /etc/default/u-boot</pre><br />
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.<br />
* Update the U-Boot configuration:<br />
<pre>u-boot-update</pre><br />
* Test and verify you get what you think you should be seeing.<br />
<br><br />
<b><u>Manjaro</u></b><br />
* Backup and edit the U-Boot configuration file:<br />
<pre>cp -p /boot/extlinux/extlinux.conf /boot/extlinux/extlinux.conf.`date +%Y%m%d`<br />
chmod a-w /boot/extlinux/extlinux.conf.`date +%Y%m%d`<br />
vi /boot/extlinux/extlinux.conf</pre><br />
Remove the '''bootsplash.bootfile''' option and it's parameter. Leave everything else alone.<br><br />
You can add verbose logging by appending '''ignore_loglevel''' to the line where boot splash was.<br />
* Test and verify you get what you think you should be seeing.<br />
<br />
== Improving readability ==<br />
<br />
Some people find that a 14" LCD screen with 1080p, (1920 x 1080), has text and icons a bit too small. There are things you can do to make the screen easier to use & read.<br><br />
* Increase the font size<br />
* Use a font with more pronounce features<br />
* Increase the various window manager sizes, (like increase the height of the tool bar)<br />
* Change the color scheme to be easier on the eyes, (even though it may not be bigger, proper contrast can help usability)<br />
* Change the window manager's decorations, (like using larger icons)<br />
* Use a workspace manager, (so one application per workspace)<br />
* When at home or office, use an external monitor<br />
* Changing the X-Window's DPI, (Dot's Per Inch), can help too<br />
<br><br />
However, do not change the resolution of the LCD screen, otherwise you may end up with a blank / black screen. If that happens, see this trouble shooting section for the fix:<br><br />
[[Pinebook_Pro#After_changing_builtin_LCD_resolution.2C_blank_screen|Blank screen after changing builtin LCD resolution]]<br />
<br />
== Chromium tweaks ==<br />
<br />
=== Flags ===<br />
<br />
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:<br />
<br />
<pre><br />
--disable-low-res-tiling \<br />
--num-raster-threads=6 \<br />
--profiler-timing=0 \<br />
--disable-composited-antialiasing \<br />
--test-type \<br />
--show-component-extension-options \<br />
--ignore-gpu-blacklist \<br />
--use-gl=egl \<br />
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \<br />
--ppapi-flash-version=32.0.0.255 \<br />
--enable-pinch \<br />
--flag-switches-begin \<br />
--enable-gpu-rasterization \<br />
--enable-oop-rasterization \<br />
--flag-switches-end<br />
</pre><br />
<br />
Note that in some cases, this may also decrease performance substantially, as observed when using these flags on the Manjaro KDE desktop. Feel free to experiment to find what is smoothest for you personally.<br />
<br />
== GVIM has performance issue ==<br />
It appears that using GTK3 can cause very slow scolling, while VIM in a terminal window works fine.<br/><br />
Simply revert back to using GTK2, (how to do so, is somewhat Linux distro specific).<br />
<br />
== Kernel options ==<br />
Here are some Pinebook Pro & its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.<br />
<br />
To see if a specific feature is enabled in the current kernel, you can use something like this;<br />
<br />
<pre><br />
$ zgrep -i rockchip_pcie /proc/config.gz<br />
# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set<br />
CONFIG_PHY_ROCKCHIP_PCIE=m<br />
</pre><br />
If it's listed as <code>=m</code>, then it's a module. You can see if the module is loaded with;<br />
<pre><br />
$ lsmod | grep -i rockchip_pcie<br />
phy_rockchip_pcie 16384 0<br />
</pre><br />
Note modules are not loaded until needed. Thus, we sometimes check the kernel configuration instead to see if a feature is configured first, then see if it's a module.<br />
<br />
=== Hardware video decoding ===<br />
Here is a method to check for hardware video decoding by the VPU. There are special Linux kernel modules that perform this function.<br><br />
Older systems, such as the previously-default Debian desktop, use the Rockchip-supplied kernel module <code>rk-vcodec</code>. To check, something like this can be used:<br />
<pre><br />
$ lsmod | grep rk-vcodec<br />
or<br />
$ zgrep RK_VCODEC /proc/config.gz<br />
CONFIG_RK_VCODEC=y<br />
</pre><br />
Note that in the above example, the Rockchip video CODEC is not built as a module, but included into the kernel. Thus, it does not show up in the list modules check.<br><br />
<br><br />
<br />
Newer systems may use a different option as in the configuration below:<br />
<pre><br />
$ zgrep HANTRO /proc/config.gz<br />
CONFIG_VIDEO_HANTRO=m<br />
CONFIG_VIDEO_HANTRO_ROCKCHIP=y<br />
</pre><br />
&nbsp;<br><br />
<br />
= Troubleshooting guide =<br />
Tips, tricks and other information for troubleshooting your Pinebook Pro<br />
=== New from the factory - Pinebook Pro won't boot / power on ===<br />
* Some Pinebook Pros came from the factory with the eMMC switch in the disabled position. It should be switched towards the back / hinge to enable the eMMC.<br><br />
* The eMMC may have come loose during shipment. [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly Open] the back and verify that the eMMC is firmly seated.<br><br />
* You may want to try unplugging the SD card daughterboard ribbon cable and see if it powers on (remove the battery and peel off a bit of the tape before unplugging it to avoid damage). If it does, try reseating it on both sides. It might have come loose during shipping.<br />
* It's possible that your eMMC is empty from the factory. Simply create a bootable SD card and see if your Pinebook Pro boots. If so, you can then write an OS image to the eMMC.<br />
<br />
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===<br />
* This may happen if you meant to toggle the UART/Headphone switch (9) towards touchpad for headphone use and instead you toggled the eMMC enable/disable switch (24).<br />
* After reenabling eMMC by toggling switch (24) towards hinge, if Pinebook Pro does not turn on then press the RESET button (28). It is clearly marked 'reset' on the PCB board.<br />
<br />
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===<br />
* Closely inspect that the shielding is firmly seated in the clips on all sides. You can be seated in the clips on one axis, and have missed on an another axis.<br />
<br />
=== Pinebook Pro won't boot when using UART console cable ===<br />
* If you're using the UART cable sold on the Pine Store, you may want to see if it boots after you disconnect it. Some users report that custom-made cables based on FTDI UART adapters do not cause this issue.<br />
* Make sure your USB to serial UART device is 3.3v. Many are 5v and some even +-12v. Pinebook Pro's only support 3.3v and may act eratically when using higher voltage. Further, higher voltage could permananetly damage the Pinebook Pro's SoC.<br />
<br />
=== WiFi issues ===<br />
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]<br />
* Next, you may have to modify the <code>/etc/NetworkManager/NetworkManager.conf</code> as root user, and replace <code>managed=false</code> with <code>managed=true</code>. Then reboot.<br />
* For connections that drop and resume too often, it might be due to WiFi power management from earlier OS releases. Later OS releases either removed WiFi power management, or default to full power. (Power management can be turned off via command line with <code>iw dev wlan0 set power_save off</code> or <code>iwconfig wlan0 power off</code>, although it is not persistent through re-boot.)<br />
* For connections that drop under load on the default Debian, remove <code>iwconfig wlan0 power off</code> in the file <code>/etc/rc.local</code>.<br />
* If WiFi is un-usable or often crashes when using an alternate OS, then it might because its WiFi firmware is not appropriate for the WiFi chip in the Pinebook Pro. Try the latest firmware patch from [https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm]<br />
* After re-enabling WiFi via the privacy switch, you have to reboot to restore function. There is a work around for the default Debian, (and may work with others);<br />
&nbsp; &nbsp; &nbsp; &nbsp; <code>sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/{un,}bind <<< 'fe310000.dwmmc'</code><br />
<br />
=== Bluetooth issues ===<br />
* When connecting a Bluetooth device, such as a Bluetooth mouse, it does not automatically re-connect on re-boot. In the Bluetooth connection GUI, there is a yellow star for re-connect on boot. Use that button to enable a persistent connection. It can be changed back later.<br />
* Bluetooth-attached speakers or headset require the <b>pulseaudio-module-bluetooth</b> package. If not already installed, it can be installed with a package manager or with:<br><br />
<pre>sudo apt-get install pulseaudio-module-bluetooth</pre><br />
* When using Bluetooth-attached speakers or headset and 2.4Ghz WiFi at the same time, you may experience stuttering of the audio. One solution is to use 5Ghz WiFi if you can. Or you may try using a different 2.4Ghz channel, perhaps channel 1 or the top channel, (11 in the USA, or 13/14 in some other countries).<br />
<br />
=== Sound issues ===<br />
* Many reports of no sound are due to the OS, incorrect settings, or other software problems (eg. PulseAudio). So first test to see if it is a software or hardware problem, by trying another OS via SD card. (For example, if Debian is installed on the eMMC, try Ubuntu on SD.) <br />
* If you cannot get sound from the headphone jack, but can get sound from the speakers, then the headphone / UART console switch may be set to the UART mode. You can open the back and check the position of the switch. If set to UART mode, switch it to headphone mode. See the parts layout for the location and correct position of the switch.<br />
* When using the USB C alternate DisplayPort mode, it is possible that the audio has been re-directed through this path. If your monitor has speakers, see if they work.<br />
* See [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/asound.state manjaro-arm/pinebookpro-post-install /var/lib/alsa/asound.state] for some ALSA tweaks.<br />
* See [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-audio manjaro-arm/pinebookpro-audio] for how to handle 3.5mm jack plug/unplug events with ACPID.<br />
* Serveral users have reported that one internal speaker had reversed polarity. Thus, sound from the speakers is like an echo effect.<br />
** Their is a software fix using alsamixer and then enable either "R invert" or "L invert", however, now the headphones have incorrect audio.<br />
** The permanent fix is to re-wire one speaker, though this requires soldering small wires.<br />
<br />
=== USB docks & USB C alternate mode video ===<br />
The Pinebook Pro uses the RK3399 SoC (System on a Chip). It supports a video pass through mode on the USB C port using DisplayPort alternate mode. This DisplayPort output comes from the same GPU used to display the built-in LCD. <br />
<br />
Here are some selection criteria for successfully using the USB C alternate mode for video:<br />
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.<br />
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.<br />
* If USB 3 is also desired from a USB dock, the maximum resolution, frame rate and pixel depth is reduced to half the bandwidth. For example, 4K @ 30hz instead of 60hz.<br />
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).<br />
<br />
=== Keys not registering / missing keys when typing ===<br />
This issue occurs when your thumb or edge of the palm makes contact with left or right tip of the trackpad when you type. This is due to the palm rejection firmware being too forceful. Instead of only disabling the trackpad, so your cursor does not move all over the screen, it disables both the trackpad and the keyboard.<br />
<br />
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.<br />
<br />
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.<br />
<br />
=== Key Mapping ===<br />
* See this [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/10-usb-kbd.hwdb /etc/udev/hwdb.d/10-usb-kbd.hwdb] for some key mapping tweaks<br />
<br />
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===<br />
This refers to the firmware update shown here:<br />
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
* If the system is not responding after the 1st reboot, it's might be easiest to do a system restore, and follow up by running the second step of the trackpad firmware update. <br />
* System restore https://forum.pine64.org/showthread.php?tid=8229<br />
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
<br />
=== ANSI Fn + F keys wrong for F9, F10, F11 and F12 ===<br />
There appears to be a minor firmware issue for ANSI keyboard models of the Pinebook Pro. Some discussion and fixes have been proposed;<br />
<br />
* Discussion thread [https://forum.pine64.org/showthread.php?tid=8744&pid=57678#pid57678 Fn + F keys screwy for F9, F10, F11 and F12]<br />
* Proposed fix [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater/issues/14#issuecomment-576825396 (ANSI) Fn + F(9-12) has wrong assignment after firmware update #14]<br />
&nbsp;<br><br />
<br />
=== After changing builtin LCD resolution, blank screen ===<br />
Some people find that the text or icons are too small, so they attempt to change the resolution of the built-in display. Afterwards, the display is blank.<br><br />
Use the following to fix when logged into a text console as yourself, (Control-Alt-F1 through F6). After listing the resolutions, select the native resolution, (1920x1080 aka 1080p). <br />
<pre>export DISPLAY=:0.0<br />
xrandr -q<br />
xrandr -s [resolution]</pre><br />
Once your resolution is restored, try using the Tweak app to set scaling, instead.<br><br />
<br><br />
If the above fix did not work, you can try this:<br />
* Using a text console, (Control-Alt-F1), login with your normal user ID<br />
* Edit the file <code>nano ~/.config/monitors.xml</code><br />
* Change the "width" value to "1920"<br />
* Change the "height" value to "1080"<br />
* If there is more than one monitor configuration listed, edit that one too.<br>Be careful to make no other changes. If needed, exit without saving and re-edit.<br />
* Save the file and exit.<br />
* Login using the GUI and test<br />
* If you are still loggied in via the GUI, you will have to reboot using <code>sudo shutdown -r now</code><br>After the reboot, you should be able to login to the GUI login and have the resolution back to normal.<br />
When you have restored usability to your Pinebook Pro's graphical screen, see this section on improving readability and usability:<br><br />
[[Pinebook_Pro#Improving_readability|Improving readability]]<br />
<br />
=== Cracks in the plastic ===<br />
There have been multiple reports of cracks in the plastic keyboard & trackpad part of the case. These are generally near here;<br />
* Hinges<br />
* USB ports<br />
* Top side, around the corners<br />
This seems to apply to the first batches in 2019. Later versions of the keyboard & trackpad have used better plastic. With replacements now in the Pine64 Store, it's possible to simply order a replacement.<br><br />
<br><br />
There have been a few reports of cracks in the plastic around the LCD display, but these appear to be less common. There are replacement LCDs with bezel available in the Pine64 Store.<br />
<br />
= [[Pinebook_Pro_Hardware_Accessory_Compatibility|PineBookPro Hardware Compatibility]] =<br />
<br />
Please contribute to the hardware compatibility page, which lists hardware which has been tested with the PBP, whether successful or not!<br />
<br />
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]<br />
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]<br />
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]<br />
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]<br />
&nbsp;<br/><br />
&nbsp;<br />
<br />
= Technical Reference =<br />
== Accessing the Internals - Disassembly and Reassembly == <br />
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]<br />
<br />
'''WARNING:''' 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.<br />
<br />
'''WARNING:''' When removing the back cover plate, use care if sliding fingertips between back cover plate and palm rest assembly. The back cover plate edges are sharp.<br />
<br />
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. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.<br />
<br />
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. To reassemble the Pinebook Pro, slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the trackpad 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 2 short screws.<br />
<br />
NOTE: 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, 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, just let it be.<br />
<br />
NOTE: a basic 3d model to print replacement back-screw standoffs is available on Thingiverse [https://www.thingiverse.com/thing:4226648] pending release of something more definitive<br />
<br />
== Pinebook Pro Internal Layout ==<br />
=== Main chips ===<br />
* RK3399 system-on-chip (1)<br />
* LPDDR4 SDRAM (21)<br />
* SPI NOR flash memory (29)<br />
* eMMC flash memory (26)<br />
* WiFi/BT module (27)<br />
<br />
=== Mainboard Switches and Buttons ===<br />
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. <br />
<br />
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). <br />
<br />
[[File:PBPL_S.jpg]]<br />
<br />
=== Key Internal Parts ===<br />
{| class="wikitable"<br />
|+ Numbered parts classification and description<br />
! Number<br />
! Type<br />
! Descriptor<br />
|-<br />
! scope=row | 1<br />
| Component || RK3399 System-On-Chip<br />
|-<br />
! scope=row | 2<br />
| Socket || PCIe 4X socket for optional NVMe adapter<br />
|-<br />
! scope=row | 3<br />
| Socket || Speakers socket<br />
|-<br />
! scope=row | 4<br />
| Socket || Trackpad socket<br />
|-<br />
! scope=row | 5<br />
| Component || Left speaker <br />
|-<br />
! scope=row | 6<br />
| Connector || Male power bridge connector <br />
|-<br />
! scope=row | 7<br />
| Socket || Keyboard Socket<br />
|-<br />
! scope=row | 8<br />
| Component || Optional NVMe SSD adapter<br />
|-<br />
! scope=row | 9<br />
| Switch || UART/Audio switch - outputs UART via headphone jack<br />
|-<br />
! scope=row | 10<br />
| Socket || Female power bridge socket<br />
|-<br />
! scope=row | 11<br />
| Socket || Battery socket<br />
|-<br />
! scope=row | 12<br />
| Component || Trackpad<br />
|-<br />
! scope=row | 13<br />
| Component || Battery<br />
|-<br />
! scope=row | 14<br />
| Component || Right speaker<br />
|-<br />
! scope=row | 15<br />
| Socket || MicroSD card slot<br />
|-<br />
! scope=row | 16<br />
| Socket || Headphone / UART jack<br />
|-<br />
! scope=row | 17<br />
| Socket || USB 2.0 Type A<br />
|-<br />
! scope=row | 18<br />
| Socket || Daughterboard-to-mainboard ribbon cable socket<br />
|-<br />
! scope=row | 19<br />
| Cable || Daughterboard-to-mainboard ribbon cable<br />
|-<br />
! scope=row | 20<br />
| Component || microphone<br />
|-<br />
! scope=row | 21<br />
| Component || LPDDR4 RAM<br />
|-<br />
! scope=row | 22<br />
| Socket || Mainboard-to-daughterboard ribbon cable socket<br />
|-<br />
! scope=row | 23<br />
| Socket || Microphone socket<br />
|-<br />
! scope=row | 24<br />
| Switch || Switch to hardware disable eMMC<br />
|-<br />
! scope=row | 25<br />
| Antenna || BT/WiFI antenna<br />
|-<br />
! scope=row | 26<br />
| Component || eMMC flash memory module <br />
|-<br />
! scope=row | 27<br />
| Component ||BT/WiFi module chip<br />
|-<br />
! scope=row | 28<br />
| Buttons || Reset and recovery buttons<br />
|-<br />
! scope=row | 29<br />
| Component || SPI flash storage<br />
|-<br />
! scope=row | 30<br />
| Socket || eDP LCD socket<br />
|-<br />
! scope=row | 31<br />
| Socket || Power in barrel socket<br />
|-<br />
! scope=row | 32<br />
| Socket || USB 3.0 Type A<br />
|-<br />
! scope=row | 33<br />
| Socket || USB 3.0 Type C <br />
|}<br />
<br />
=== Smallboard detailed picture ===<br />
<br />
[[File:Pinebook_pro_smallboard.jpg]]<br />
<br />
== Bootable Storage ==<br />
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. <br />
<br />
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ uboot] on the eMMC. Its boot order is: SD, USB, then eMMC.<br />
<br />
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other OSs 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.)<br />
<br />
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<br />
in a /boot partition on the eMMC.<br />
<br />
=== eMMC information ===<br />
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.<br />
<br />
The eMMC storage will show up as multiple block devices:<br />
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB<br />
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB<br />
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB<br />
*mmcblk1 - This block contains the user areas<br />
<br />
Only the last is usable as regular storage device in the Pinebook Pro.<br />
The device number of "1" shown above may vary, depending on kernel.<br />
<br />
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user "root";<br />
<pre><br />
echo fe330000.sdhci >/sys/bus/platform/drivers/sdhci-arasan/unbind<br />
echo fe330000.sdhci >/sys/bus/platform/drivers/sdhci-arasan/bind<br />
</pre><br />
<br />
=== Boot sequence details ===<br />
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.<br><br />
[[RK3399_boot_sequence|RK3399 boot sequence]]<br />
<br />
== Pinebook Pro Dimensions ==<br />
* Dimensions: 329mm x 220mm x 12mm (WxDxH)<br />
* Weight: 1.26Kg<br />
* Screws<br />
** Philips head type screws<br />
** M2 flat head machine screws (measurements in mm)<br />
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05<br />
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85<br />
* Rubber Feet<br />
** 18mm diameter<br />
** 3mm height<br />
** Dome shaped<br />
<br />
== SoC and Memory Specification ==<br />
[[File:Rockchip_RK3399.png|right]]<br />
* Based on Rockchip RK3399<br />
<br />
=== CPU Architecture ===<br />
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU<br />
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)<br />
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation<br />
** ARMv8 Cryptography Extensions<br />
** VFPv4 floating point unit supporting single and double-precision operations<br />
** Hardware virtualization support<br />
** TrustZone technology support<br />
** Full CoreSight debug solution<br />
** One isolated voltage domain to support DVFS<br />
* Cortex-A72 (big cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]<br />
** Superscalar, variable-length, out-of-order pipeline<br />
** L1 cache 48KB Icache and 32KB Dcache for each A72 <br />
** L2 cache 1024KB for big cluster <br />
* Cortex-A53 (little cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]<br />
** In-order pipeline with symmetric dual-issue of most instructions <br />
** L1 cache 32KB Icache and 32KB Dcache for each A53<br />
** L2 cache 512KB for little cluster<br />
* Cortex-M0 (control processors):<br />
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]<br />
** Two Cortex-M0 cooperate with the central processors<br />
** Architecture: Armv6-M<br />
** Thumb/Thumb2 instruction set<br />
** 32 bit only<br />
<br />
=== GPU Architecture ===<br />
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]<br />
* 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.<br />
* Frequency 650MHz <br />
* Throughput 1300Mtri/s, 10.4Gpix/s <br />
* OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2., Vulkan 1.0*., OpenCL™ 1.1, 1.2., DirectX® 11 FL11_1., RenderScript™.<br />
<br />
=== System Memory ===<br />
* RAM Memory:<br />
** LPDDR4<br />
** Dual memory channels on the CPU, each 32 bits wide<br />
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel<br />
** 4GB as a single 366 pin mobile RAM chip<br />
* Storage Memory: <br />
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)<br />
** eMMC version 5.1, HS400, 8 bit on RK3399 side<br />
<br />
=== Video out ===<br />
* USB-C Alt mode DP<br />
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)<br />
<br />
=== Expansion Ports ===<br />
* MicroSD card:<br />
** Bootable<br />
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.<br />
** Version SD3.0, (MMC 4.5), up to 50MB/s<br />
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS<br />
* USB ports:<br />
** 1 x USB 2.0 Type-A Host Port, bootable<br />
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable<br />
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable<br />
** 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.<br />
* Headphone jack switchable to UART console mux circuit<br />
<br />
== Additional hardware ==<br />
Hardware that is not part of the SoC.<br />
<br />
=== Battery ===<br />
* Lithium Polymer Battery (10,000 mAH)<br />
<br />
=== Display ===<br />
* 14.0" 1920x1080 IPS LCD panel<br />
<br />
=== Audio ===<br />
* 3.5mm stereo earphone/microphone plug<br />
* Built-in stereo speakers:<br />
** Oval in design<br />
** 3 mm high x 20 mm x 30 mm<br />
<br />
=== Network ===<br />
* WiFi:<br />
** 802.11 b/g/n/ac<br />
** Dual band: 2.4Ghz & 5Ghz<br />
** Single antenna<br />
* Bluetooth 5.0<br />
<br />
=== Optional NVMe adapter ===<br />
* PCIe 2.x, 5GT/s per lane<br />
* 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)<br />
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too<br />
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260<br />
* Power: 2.5W continuous, 8.25W peak momentary<br />
* Does not support SATA M.2 cards<br />
* Does not support USB M.2 cards<br />
<br />
== Pinebook Pro Schematics and Certifications ==<br />
* Pinebook Pro Main Board Schematic And Silkscreen:<br />
** [http://files.pine64.org/doc/pinebookpro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]<br />
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]<br />
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]<br />
* Pinebook Pro Daughter Board Schematic:<br />
** [http://files.pine64.org/doc/pinebookpro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]<br />
* Optional Pinebook Pro NVMe Adapter Schematic:<br />
** [http://files.pine64.org/doc/pinebookpro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]<br />
* Serial Console Earphone Jack Pinout:<br />
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]<br />
* Pinebook Pro Case:<br />
** [http://files.pine64.org/doc/pinebookpro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]<br />
** [http://files.pine64.org/doc/pinebookpro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]<br />
** [http://files.pine64.org/doc/pinebookpro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]<br />
* Pinebook Pro Certifications:<br />
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]<br />
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]<br />
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]<br />
<br />
== Datasheets for Components and Peripherals ==<br />
* Rockchip RK3399 SoC information:<br />
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]<br />
** [http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet V2.1]<br />
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]<br />
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]<br />
* LPDDR4 (366 Balls) SDRAM:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]<br />
* eMMC information:<br />
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]<br />
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]<br />
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]<br />
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]<br />
* SPI NOR Flash information:<br />
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]<br />
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]<br />
* Wireless related info:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]<br />
* Audio Codec (ES8316)<br />
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]<br />
* LCD Panel:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14" 1920x1080 IPS LCD Panel datasheet]<br />
* Internal USB 2 hub:<br />
** [https://wiki.pine64.org/images/3/39/GL850G_USB_Hub_1.07.pdf GL850G USB Hub 1.07.pdf]<br />
* Touchpad information:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]<br />
* Keyboard information:<br />
** [https://wiki.pine64.org/images/b/b0/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]<br />
** US ANSI: XK-HS002 MB27716023<br />
* Full HD Camera sensor:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]<br />
* Lithium Battery information:<br />
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14" model]<br />
* NVMe adapter:<br />
** [https://datasheet.octopart.com/FH26W-35S-0.3SHW%2860%29-Hirose-datasheet-26676825.pdf Compatible, not OEM! Use FH26-35S-0.3SHW flat flex connector]<br />
<br />
== Versions ==<br />
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The "first batch" (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111] <br />
<br />
=Skinning and Case Customization=<br />
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.<br />
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]<br />
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]<br />
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]<br />
<br />
= Other Resources =<br />
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]<br />
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]<br />
* [[RockPro64 Guides]]<br />
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (No login required to read)<br />
* IRC Server: irc.pine64.org Channel: PineBook<br />
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]<br />
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]<br />
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro_Software_Releases&diff=5179Pinebook Pro Software Releases2020-02-26T13:49:52Z<p>Tophneal: /* Arch Linux ARM [microSD /eMMC Boot] */</p>
<hr />
<div>= OS Image Releases =<br />
== Debian Desktop ==<br />
[[File:debian.png|right|100px]]<br />
<br />
=== Debian Desktop Community Build Image [microSD to eMMC] by mrfixit2001 ===<br />
* This is the default OS comes with Pinebook Pro<br />
* Included Desktop, Firefox Browser, and LibreOffice Suite<br />
* DD image (for 8GB microSD card / 16GB eMMC module and above):<br />
** [https://github.com/mrfixit2001/debian_desktop/releases/download/191123/pinebookpro-debian-desktop-mrfixit-191123.img.xz Direct download release build 191123 from mrfixit2001's github]<br />
*** MD5 (img file): BF67F3A0229769A7472D418AD45F8AB0<br />
*** File Size: 1.19GB<br />
* Login with<br />
** username: rock<br />
** password: rock<br />
<br />
== Bionic LXDE ==<br />
[[File:lxde.png|right|100px]]<br />
<br />
=== Bionic LXDE Community Build Image by ayufan [microSD and eMMC Boot] ===<br />
* Included LXDE Desktop, Firefox Browser, and LibreOffice Suite<br />
* DD image (for 8GB micoSD card /16GB eMMC module and above):<br />
** [https://github.com/ayufan-rock64/linux-build/releases/download/0.9.14/bionic-lxde-pinebookpro-0.9.14-1159-armhf.img.xz Direct download release build 0.9.14 from ayufan's github]<br />
** MD5 (XZ file): B74E8366615DAE89AEB5CC878F2B316B<br />
** size: 763MB<br />
* Login with<br />
** username: rock64<br />
** password: rock64<br />
<br />
== Bionic Mate ==<br />
[[File:mate.png|right|100px]]<br />
<br />
=== Bionic Mate Community Build Image [microSD Boot] by ayufan ===<br />
* Included Mate Desktop, Firefox Browser, and LibreOffice Suite<br />
* DD image (for 8GB micoSD card /16GB eMMC module and above):<br />
** [https://github.com/ayufan-rock64/linux-build/releases/download/0.9.14/bionic-mate-pinebookpro-0.9.14-1159-armhf.img.xz Direct download release build 0.9.14 from ayufan's github]<br />
** MD5 (XZ file): 5F60494B9248570FAF5853860A26B489<br />
** size: 1.06GB<br />
* Login with<br />
** username: rock64<br />
** password: rock64<br />
<br />
== Arch Linux ARM ==<br />
<br />
* A minimal Arch Linux ARM image, it is set up as a single ext4 partition and only has the minimum packages needed to boot the Pinebook Pro and connect to Wi-Fi. The image could either be used as-is, or written to an SD card to use to set up an Arch system yourself on the eMMC.<br />
* The Pinebook Pro-specific packages are taken from Brian Salcedo's repository.<br />
* DD image:<br />
** [https://github.com/nadiaholmquist/arch-pbp/releases/download/20200128/alarm-2020-01-28.img.xz Direct download pre-built image 2020-01-28 from nadiaholmquist's github]<br />
<br />
== Manjaro ARM ==<br />
[[File:Manjaro.png|right|100px]]<br />
<br />
* The Manjaro project offers a mainline kernel with patches and modules to support PBPro hardware in two flavors. Both provide DD images and installer images (DD to SD card which will then install to eMMC when booted).<br />
* To learn more about Manjaro please visit [https://forum.manjaro.org/tags/manjaroarm Manjaro Forum] <br />
<br />
=== Manjaro ARM with KDE (Plasma) desktop [microSD / eMMC Boot] ===<br />
<br />
* [https://manjaro.org/download/arm/pinebook-pro/arm8-pinebook-pro-kde-plasma/ Direct download from Manjaro]<br />
* [https://osdn.net/projects/manjaro-arm/storage/pbpro/kde-plasma/ Direct download from osdn.net]<br />
<br />
=== Manjaro ARM with GTK (XFCE) desktop [microSD / eMMC Boot] ===<br />
<br />
* [https://manjaro.org/download/arm/pinebook-pro/arm8-pinebook-pro-xfce/ Direct download from Manjaro]<br />
* [https://osdn.net/projects/manjaro-arm/storage/pbpro/xfce/ Direct download from osdn.net]<br />
<br />
=== Manjaro ARM Test Build Image with GTK (Gnome) desktop [microSD Boot] ===<br />
<br />
* [https://drive.google.com/file/d/1_nJXc5rlUKwNJJYRFqYDAwpeGitljTCz/view?usp=sharing/ Direct download from Google Drive]<br />
<br />
== Q4OS ==<br />
[[File:q4os.png|right|100px]]<br />
<br />
=== Q4OS Test Build Image [microSD / eMMC Boot] ===<br />
* Q4OS is advertised as a 'fast and powerful operating system based on the latest technologies while offering highly productive desktop environment'<br />
* To learn more please visit the [https://forum.pine64.org/showthread.php?tid=8385 PINE64 forum] or official [https://q4os.org/index.html Q4OS website]<br />
* DD image (for 8GB micoSD card / eMMC module and above)<br />
** [https://sourceforge.net/projects/q4os/files/testing/ Direct download latest release build from SourceForge]<br />
* login with:<br />
** username: rock<br />
** password: rock<br />
<br />
== OpenSUSE ==<br />
[[File:Opensuse1.png|right|100px]]<br />
<br />
=== OpenSUSE XFCE OS Image [microSD / eMMC Boot] ===<br />
* This image contains an install openSUSE tumbleweed with XFCE desktop environment.<br />
* To learn more about OpenSUSE please visit the [https://www.opensuse.org/ official website].<br />
* Pinebook Pro build instructions can be found [https://github.com/smithmcgriff/opensuse-on-pinebookpro-gnome here]<br />
* DD image (for 16GB micoSD card / eMMC module and above)<br />
** [https://sourceforge.net/projects/opensuse-on-pinebookpro/files/Rel_1/ Direct download latest release build from SourceForge]<br />
* login with:<br />
** username: root<br />
** password: linux<br />
<br />
=== OpenSUSE GNOME 3 OS Image [microSD / eMMC Boot] ===<br />
* This image contains an install of openSUSE tumbleweed with GNOME 3 desktop environment.<br />
* To learn more about OpenSUSE please visit the [https://www.opensuse.org/ official website].<br />
* Pinebook Pro build instructions can be found [https://github.com/smithmcgriff/opensuse-on-pinebookpro-gnome here]<br />
* DD image (for 16GB micoSD card / eMMC module and above)<br />
** [https://sourceforge.net/projects/opensuse-on-pinebookpro/files/Rel_1/ Direct download latest release build from SourceForge]<br />
* login with:<br />
** username: tux<br />
** password: susepassword<br />
<br />
== Fedora ==<br />
[[File:fedora1.png|right|100px]]<br />
<br />
=== Fedora GNOME3 OS Image [microSD / eMMC Boot] ===<br />
* This image contains an install of Fedora with GNOME3 desktop environment. <br />
* To learn more about Fedora please visit the [https://getfedora.org/ official website].<br />
* Pinebook Pro build instructions can be found [https://github.com/smithmcgriff/Fedora-on-pinebookpro here]<br />
* DD image (for 8GB micoSD card / eMMC module and above)<br />
** [https://sourceforge.net/projects/opensuse-on-pinebookpro/files/Rel_2/ Direct download latest release build from SourceForge]<br />
* login with:<br />
** username: tux<br />
** password: susepassword<br />
<br />
== Armbian ==<br />
[[File:armbian.png|right|100px]]<br />
<br />
=== Armbian [microSD / eMMC Boot] ===<br />
* Armbian provides well maintained Debian and Ubuntu OS images tailored to ARM devices <br />
* To learn more please visit the [https://www.armbian.com/ Armbian's website]<br />
* DD image (for 8GB micoSD card / eMMC module and above)<br />
** [https://www.armbian.com/pinebook-pro/ Direct download latest release from Armbian]<br />
* login with:<br />
** username: root<br />
** password: 1234<br />
<br />
=== Armbian [microSD / eMMC Boot] ===<br />
* Armbian provides well maintained Debian and Ubuntu OS images tailored to ARM devices <br />
* To learn more please visit the [https://www.armbian.com/ Armbian's website]<br />
* DD image (for 8GB micoSD card / eMMC module and above)<br />
** [https://www.armbian.com/pinebook-pro/ Direct download latest release from Armbian]<br />
* login with:<br />
** username: root<br />
** password: 1234<br />
<br />
==NetBSD==<br />
[[File:netbsd.png|right|100px]]<br />
<br />
=== NetBSD [microSD /eMMC Boot] ===<br />
* To learn more about NetBSD please visit [https://www.netbsd.org/ NetBSD main page] <br />
* DD image to microSD card or eMMC module. Highly recommend using [https://etcher.io/ Etcher]<br />
** [http://www.armbsd.org/arm/ Direct download from NetBSD]<br />
* Console and SSH default login:<br />
** username: root<br />
** password: [none]<br />
* Instructions concerning enabling SSH can be found [https://www.netbsd.org/docs/guide/en/chap-boot.html#chap-boot-ssh here]<br />
<br />
== Chromium ==<br />
[[File:chromium.jpg|right|100px]]<br />
<br />
=== Chromium Community Build Image by ayufan [microSD and eMMC Boot] ===<br />
* DD image (for 8GB micoSD card/16GB eMMC module and above)<br />
** [https://github.com/ayufan-rock64/chromiumos-build/releases/download/R77-12371.7.104.g78f88d6/chromiumos-rockpro64-R77-12371.7.104.g78f88d6.img.xz Direct download R77 build from ayufan's github]<br />
** MD5 (XZ file): 7B747B6D2B041C5C0C6434DDB524DB66<br />
** size: 387MB<br />
<br />
== openSUSE Tumbleweed [microSD /eMMC Boot]==<br />
* Included Xfce Desktop, Firefox Browser, and LibreOffice Suite<br />
** DD image (for 32GB microSD card /32GB eMMC module and above):<br />
<br />
https://github.com/smithmcgriff/openSUSE-on-pinebookpro<br />
<br />
== Fedora Workstation with Gnome Desktop [microSD /eMMC Boot]==<br />
* Included Gnome Desktop, Firefox Browser, and LibreOffice Suite<br />
** DD image (for 32GB microSD card /32GB eMMC module and above):<br />
<br />
https://github.com/smithmcgriff/Fedora-on-pinebookpro<br />
<br />
= Android Image Releases =<br />
== Android 7.1 microSD ==<br />
[[File:android_7.png|right|100px]]<br />
<br />
=== Stock Android for DD method [micro SD Boot] [20190918] ===<br />
* Production floor testing image <br />
* DD image to microSD card and boot. <br />
* Highly recommend using [https://etcher.io/ Etcher] or [https://github.com/pine64dev/PINE64-Installer/blob/master/README.md#download PINE64 Installer]<br />
* Please allow 3-5 minutes boot up time on first time for initialization<br />
* DD image for 8GB microSD card<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-8GB.img.gz Direct download from pine64.org]<br />
*** MD5 (GZip file): 207BCBFFF59C1AB29F8ADC63D426EACB<br />
*** File Size: 562MB<br />
* DD image for 16GB microSD card<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-16GB.img.gz Direct download from pine64.org]<br />
*** MD5 (GZip file): B1FC25A2F896F5C6B4B85EA6D1E75CDA<br />
*** File Size: 571MB<br />
* DD image for 32GB microSD card<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-32GB.img.gz Direct download from pine64.org]<br />
*** MD5 (GZip file): A07E2C2A2798A77375268E423A30048A<br />
*** File Size: 589MB<br />
* DD image for 64GB microSD card<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-64GB.img.gz Direct download from pine64.org]<br />
*** MD5 (GZip file): D7626BD50443A88AEB9254C88C575284<br />
*** File Size: 627MB<br />
<br />
=== Stock for RK Flash tool [SD Boot] [20190427] ===<br />
* Please unzip first and then using [http://files.pine64.org/os/ROCK64/android/SDDiskTool_v1.57.zip Rockchip SD Firmware Tool ver 1.57] to flash in, please remember to select "SD boot" option.<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_20190918_stock_android_7.1_sdboot.img.gz Direct download from pine64.org]<br />
** MD5 (GZip file): DBA2109C393F514132EC8D5FB6E8EBE2<br />
** File Size: 555MB<br />
<br />
== Android 7.1 eMMC ==<br />
=== Stock Android for DD method [eMMC Boot] [20190807] ===<br />
* Production floor testing image <br />
* Please allows some time (around 5 minutes) for the initialization process on 1st boot<br />
* DD image for 64GB eMMC Module<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190807_stock_android_7.1_emmcboot-64GB.img.gz Direct download from pine64.org]<br />
*** MD5 (GZip file): 314583B550AFF0F424D9997D237D7046<br />
*** File Size: 634MB<br />
* DD image for 128GB eMMC Module<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190807_stock_android_7.1_emmcboot-128GB.img.gz Direct download from pine64.org]<br />
*** MD5 (GZip file): 16942B8F9EEE79B81FADDB09AF7E2E80<br />
*** File Size: 700MB<br />
<br />
=== Stock for RK Flash tool [eMMC Boot] [20190807] ===<br />
* Please unzip first and then using [http://files.pine64.org/os/ROCK64/android/AndroidTool_Release_v2.63.zip Rockchip Android tool ver 2.63] to flash in<br />
* The OTG port located at USB type-C connector, needs USB type A to type C cable.<br />
* [http://wiki.pine64.org/index.php/NOOB#Flashing_to_eMMC_using_Rockchip_Tools_.28Rock64_Only.29 Guide to flashing eMMC using Rockchip Tools]<br />
* Please allow 3-5 minutes boot up time on first time for initialization<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_20190807_stock_android_7.1_emmcboot.img.gz Direct download from pine64.org]<br />
** MD5 (GZip file): DC4C330787E57FC05F9D7D740F741620<br />
** File Size: 555MB<br />
<br />
= Linux Installer Releases =<br />
== Debian Installer ==<br />
[[File:debian.png|right|100px]]<br />
<br />
=== Debian Installer for Pinebook Pro ===<br />
* This is an image creator and Debian installer that runs from an existing Linux OS and installs Debian Bullseye<br />
** Installer can configure an encrypted rootfs and provides a choice of desktops, including the default Debian desktop based on Gnome 3<br />
** Strict adoption of upstream Debian packages (with exception of kernel and bootloaders) in order to provide a clean upgrade path as Bullseye matures<br />
* Download at: https://github.com/daniel-thompson/pinebook-pro-debian-installer/<br />
* Pull requests welcome but for discussion and support please use [https://forum.pine64.org/showthread.php?tid=8487 the forum topic].<br />
<br />
For more information, see the [[Pinebook_Pro_Debian_Installer]] wiki page<br />
<br />
== Gentoo Script ==<br />
[[File:gentoo.png|right|100px]]<br />
<br />
=== Gentoo Script for Pinebook Pro ===<br />
* This is a script that prepares a Gentoo arm64 stage 3 tarball for the Pinebook Pro<br />
** The script takes care of device specifics like an optimized make.conf, an overlay that provides Kernel and Firmware amongst others, and other miscellaneous fixes<br />
* The usual tarball setup as per [https://wiki.gentoo.org/wiki/Handbook:AMD64 Gentoo Handbook] is left to the user.<br />
* Forum thread with instructions at https://forum.pine64.org/showthread.php?tid=8765<br />
<br />
==Kali Script==<br />
[[File:Kali.jpeg|right|100px]]<br />
<br />
=== Kali Linux for Pinebook Pro ===<br />
* This is a script to create official Kali Linux OS images for the Pinebook Pro<br />
** The script carries out the build process in entirety and is Pinebook Pro specific<br />
* Please pull the lastest [https://gitlab.com/kalilinux/build-scripts/kali-arm/blob/master/pinebook-pro.sh Kali Linux install script] from the project's GitLab.<br />
* For more information regarding building the OS image please read the README instruction at https://gitlab.com/kalilinux/build-scripts/kali-arm/blob/master/README.md</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro_Software_Releases&diff=5178Pinebook Pro Software Releases2020-02-26T13:49:17Z<p>Tophneal: /* OS Image Releases */</p>
<hr />
<div>= OS Image Releases =<br />
== Debian Desktop ==<br />
[[File:debian.png|right|100px]]<br />
<br />
=== Debian Desktop Community Build Image [microSD to eMMC] by mrfixit2001 ===<br />
* This is the default OS comes with Pinebook Pro<br />
* Included Desktop, Firefox Browser, and LibreOffice Suite<br />
* DD image (for 8GB microSD card / 16GB eMMC module and above):<br />
** [https://github.com/mrfixit2001/debian_desktop/releases/download/191123/pinebookpro-debian-desktop-mrfixit-191123.img.xz Direct download release build 191123 from mrfixit2001's github]<br />
*** MD5 (img file): BF67F3A0229769A7472D418AD45F8AB0<br />
*** File Size: 1.19GB<br />
* Login with<br />
** username: rock<br />
** password: rock<br />
<br />
== Bionic LXDE ==<br />
[[File:lxde.png|right|100px]]<br />
<br />
=== Bionic LXDE Community Build Image by ayufan [microSD and eMMC Boot] ===<br />
* Included LXDE Desktop, Firefox Browser, and LibreOffice Suite<br />
* DD image (for 8GB micoSD card /16GB eMMC module and above):<br />
** [https://github.com/ayufan-rock64/linux-build/releases/download/0.9.14/bionic-lxde-pinebookpro-0.9.14-1159-armhf.img.xz Direct download release build 0.9.14 from ayufan's github]<br />
** MD5 (XZ file): B74E8366615DAE89AEB5CC878F2B316B<br />
** size: 763MB<br />
* Login with<br />
** username: rock64<br />
** password: rock64<br />
<br />
== Bionic Mate ==<br />
[[File:mate.png|right|100px]]<br />
<br />
=== Bionic Mate Community Build Image [microSD Boot] by ayufan ===<br />
* Included Mate Desktop, Firefox Browser, and LibreOffice Suite<br />
* DD image (for 8GB micoSD card /16GB eMMC module and above):<br />
** [https://github.com/ayufan-rock64/linux-build/releases/download/0.9.14/bionic-mate-pinebookpro-0.9.14-1159-armhf.img.xz Direct download release build 0.9.14 from ayufan's github]<br />
** MD5 (XZ file): 5F60494B9248570FAF5853860A26B489<br />
** size: 1.06GB<br />
* Login with<br />
** username: rock64<br />
** password: rock64<br />
<br />
== Arch Linux ARM [microSD /eMMC Boot] ==<br />
<br />
* A minimal Arch Linux ARM image, it is set up as a single ext4 partition and only has the minimum packages needed to boot the Pinebook Pro and connect to Wi-Fi. The image could either be used as-is, or written to an SD card to use to set up an Arch system yourself on the eMMC.<br />
* The Pinebook Pro-specific packages are taken from Brian Salcedo's repository.<br />
* DD image:<br />
** [https://github.com/nadiaholmquist/arch-pbp/releases/download/20200128/alarm-2020-01-28.img.xz Direct download pre-built image 2020-01-28 from nadiaholmquist's github]<br />
<br />
== Manjaro ARM ==<br />
[[File:Manjaro.png|right|100px]]<br />
<br />
* The Manjaro project offers a mainline kernel with patches and modules to support PBPro hardware in two flavors. Both provide DD images and installer images (DD to SD card which will then install to eMMC when booted).<br />
* To learn more about Manjaro please visit [https://forum.manjaro.org/tags/manjaroarm Manjaro Forum] <br />
<br />
=== Manjaro ARM with KDE (Plasma) desktop [microSD / eMMC Boot] ===<br />
<br />
* [https://manjaro.org/download/arm/pinebook-pro/arm8-pinebook-pro-kde-plasma/ Direct download from Manjaro]<br />
* [https://osdn.net/projects/manjaro-arm/storage/pbpro/kde-plasma/ Direct download from osdn.net]<br />
<br />
=== Manjaro ARM with GTK (XFCE) desktop [microSD / eMMC Boot] ===<br />
<br />
* [https://manjaro.org/download/arm/pinebook-pro/arm8-pinebook-pro-xfce/ Direct download from Manjaro]<br />
* [https://osdn.net/projects/manjaro-arm/storage/pbpro/xfce/ Direct download from osdn.net]<br />
<br />
=== Manjaro ARM Test Build Image with GTK (Gnome) desktop [microSD Boot] ===<br />
<br />
* [https://drive.google.com/file/d/1_nJXc5rlUKwNJJYRFqYDAwpeGitljTCz/view?usp=sharing/ Direct download from Google Drive]<br />
<br />
== Q4OS ==<br />
[[File:q4os.png|right|100px]]<br />
<br />
=== Q4OS Test Build Image [microSD / eMMC Boot] ===<br />
* Q4OS is advertised as a 'fast and powerful operating system based on the latest technologies while offering highly productive desktop environment'<br />
* To learn more please visit the [https://forum.pine64.org/showthread.php?tid=8385 PINE64 forum] or official [https://q4os.org/index.html Q4OS website]<br />
* DD image (for 8GB micoSD card / eMMC module and above)<br />
** [https://sourceforge.net/projects/q4os/files/testing/ Direct download latest release build from SourceForge]<br />
* login with:<br />
** username: rock<br />
** password: rock<br />
<br />
== OpenSUSE ==<br />
[[File:Opensuse1.png|right|100px]]<br />
<br />
=== OpenSUSE XFCE OS Image [microSD / eMMC Boot] ===<br />
* This image contains an install openSUSE tumbleweed with XFCE desktop environment.<br />
* To learn more about OpenSUSE please visit the [https://www.opensuse.org/ official website].<br />
* Pinebook Pro build instructions can be found [https://github.com/smithmcgriff/opensuse-on-pinebookpro-gnome here]<br />
* DD image (for 16GB micoSD card / eMMC module and above)<br />
** [https://sourceforge.net/projects/opensuse-on-pinebookpro/files/Rel_1/ Direct download latest release build from SourceForge]<br />
* login with:<br />
** username: root<br />
** password: linux<br />
<br />
=== OpenSUSE GNOME 3 OS Image [microSD / eMMC Boot] ===<br />
* This image contains an install of openSUSE tumbleweed with GNOME 3 desktop environment.<br />
* To learn more about OpenSUSE please visit the [https://www.opensuse.org/ official website].<br />
* Pinebook Pro build instructions can be found [https://github.com/smithmcgriff/opensuse-on-pinebookpro-gnome here]<br />
* DD image (for 16GB micoSD card / eMMC module and above)<br />
** [https://sourceforge.net/projects/opensuse-on-pinebookpro/files/Rel_1/ Direct download latest release build from SourceForge]<br />
* login with:<br />
** username: tux<br />
** password: susepassword<br />
<br />
== Fedora ==<br />
[[File:fedora1.png|right|100px]]<br />
<br />
=== Fedora GNOME3 OS Image [microSD / eMMC Boot] ===<br />
* This image contains an install of Fedora with GNOME3 desktop environment. <br />
* To learn more about Fedora please visit the [https://getfedora.org/ official website].<br />
* Pinebook Pro build instructions can be found [https://github.com/smithmcgriff/Fedora-on-pinebookpro here]<br />
* DD image (for 8GB micoSD card / eMMC module and above)<br />
** [https://sourceforge.net/projects/opensuse-on-pinebookpro/files/Rel_2/ Direct download latest release build from SourceForge]<br />
* login with:<br />
** username: tux<br />
** password: susepassword<br />
<br />
== Armbian ==<br />
[[File:armbian.png|right|100px]]<br />
<br />
=== Armbian [microSD / eMMC Boot] ===<br />
* Armbian provides well maintained Debian and Ubuntu OS images tailored to ARM devices <br />
* To learn more please visit the [https://www.armbian.com/ Armbian's website]<br />
* DD image (for 8GB micoSD card / eMMC module and above)<br />
** [https://www.armbian.com/pinebook-pro/ Direct download latest release from Armbian]<br />
* login with:<br />
** username: root<br />
** password: 1234<br />
<br />
=== Armbian [microSD / eMMC Boot] ===<br />
* Armbian provides well maintained Debian and Ubuntu OS images tailored to ARM devices <br />
* To learn more please visit the [https://www.armbian.com/ Armbian's website]<br />
* DD image (for 8GB micoSD card / eMMC module and above)<br />
** [https://www.armbian.com/pinebook-pro/ Direct download latest release from Armbian]<br />
* login with:<br />
** username: root<br />
** password: 1234<br />
<br />
==NetBSD==<br />
[[File:netbsd.png|right|100px]]<br />
<br />
=== NetBSD [microSD /eMMC Boot] ===<br />
* To learn more about NetBSD please visit [https://www.netbsd.org/ NetBSD main page] <br />
* DD image to microSD card or eMMC module. Highly recommend using [https://etcher.io/ Etcher]<br />
** [http://www.armbsd.org/arm/ Direct download from NetBSD]<br />
* Console and SSH default login:<br />
** username: root<br />
** password: [none]<br />
* Instructions concerning enabling SSH can be found [https://www.netbsd.org/docs/guide/en/chap-boot.html#chap-boot-ssh here]<br />
<br />
== Chromium ==<br />
[[File:chromium.jpg|right|100px]]<br />
<br />
=== Chromium Community Build Image by ayufan [microSD and eMMC Boot] ===<br />
* DD image (for 8GB micoSD card/16GB eMMC module and above)<br />
** [https://github.com/ayufan-rock64/chromiumos-build/releases/download/R77-12371.7.104.g78f88d6/chromiumos-rockpro64-R77-12371.7.104.g78f88d6.img.xz Direct download R77 build from ayufan's github]<br />
** MD5 (XZ file): 7B747B6D2B041C5C0C6434DDB524DB66<br />
** size: 387MB<br />
<br />
== openSUSE Tumbleweed [microSD /eMMC Boot]==<br />
* Included Xfce Desktop, Firefox Browser, and LibreOffice Suite<br />
** DD image (for 32GB microSD card /32GB eMMC module and above):<br />
<br />
https://github.com/smithmcgriff/openSUSE-on-pinebookpro<br />
<br />
== Fedora Workstation with Gnome Desktop [microSD /eMMC Boot]==<br />
* Included Gnome Desktop, Firefox Browser, and LibreOffice Suite<br />
** DD image (for 32GB microSD card /32GB eMMC module and above):<br />
<br />
https://github.com/smithmcgriff/Fedora-on-pinebookpro<br />
<br />
= Android Image Releases =<br />
== Android 7.1 microSD ==<br />
[[File:android_7.png|right|100px]]<br />
<br />
=== Stock Android for DD method [micro SD Boot] [20190918] ===<br />
* Production floor testing image <br />
* DD image to microSD card and boot. <br />
* Highly recommend using [https://etcher.io/ Etcher] or [https://github.com/pine64dev/PINE64-Installer/blob/master/README.md#download PINE64 Installer]<br />
* Please allow 3-5 minutes boot up time on first time for initialization<br />
* DD image for 8GB microSD card<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-8GB.img.gz Direct download from pine64.org]<br />
*** MD5 (GZip file): 207BCBFFF59C1AB29F8ADC63D426EACB<br />
*** File Size: 562MB<br />
* DD image for 16GB microSD card<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-16GB.img.gz Direct download from pine64.org]<br />
*** MD5 (GZip file): B1FC25A2F896F5C6B4B85EA6D1E75CDA<br />
*** File Size: 571MB<br />
* DD image for 32GB microSD card<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-32GB.img.gz Direct download from pine64.org]<br />
*** MD5 (GZip file): A07E2C2A2798A77375268E423A30048A<br />
*** File Size: 589MB<br />
* DD image for 64GB microSD card<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-64GB.img.gz Direct download from pine64.org]<br />
*** MD5 (GZip file): D7626BD50443A88AEB9254C88C575284<br />
*** File Size: 627MB<br />
<br />
=== Stock for RK Flash tool [SD Boot] [20190427] ===<br />
* Please unzip first and then using [http://files.pine64.org/os/ROCK64/android/SDDiskTool_v1.57.zip Rockchip SD Firmware Tool ver 1.57] to flash in, please remember to select "SD boot" option.<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_20190918_stock_android_7.1_sdboot.img.gz Direct download from pine64.org]<br />
** MD5 (GZip file): DBA2109C393F514132EC8D5FB6E8EBE2<br />
** File Size: 555MB<br />
<br />
== Android 7.1 eMMC ==<br />
=== Stock Android for DD method [eMMC Boot] [20190807] ===<br />
* Production floor testing image <br />
* Please allows some time (around 5 minutes) for the initialization process on 1st boot<br />
* DD image for 64GB eMMC Module<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190807_stock_android_7.1_emmcboot-64GB.img.gz Direct download from pine64.org]<br />
*** MD5 (GZip file): 314583B550AFF0F424D9997D237D7046<br />
*** File Size: 634MB<br />
* DD image for 128GB eMMC Module<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190807_stock_android_7.1_emmcboot-128GB.img.gz Direct download from pine64.org]<br />
*** MD5 (GZip file): 16942B8F9EEE79B81FADDB09AF7E2E80<br />
*** File Size: 700MB<br />
<br />
=== Stock for RK Flash tool [eMMC Boot] [20190807] ===<br />
* Please unzip first and then using [http://files.pine64.org/os/ROCK64/android/AndroidTool_Release_v2.63.zip Rockchip Android tool ver 2.63] to flash in<br />
* The OTG port located at USB type-C connector, needs USB type A to type C cable.<br />
* [http://wiki.pine64.org/index.php/NOOB#Flashing_to_eMMC_using_Rockchip_Tools_.28Rock64_Only.29 Guide to flashing eMMC using Rockchip Tools]<br />
* Please allow 3-5 minutes boot up time on first time for initialization<br />
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_20190807_stock_android_7.1_emmcboot.img.gz Direct download from pine64.org]<br />
** MD5 (GZip file): DC4C330787E57FC05F9D7D740F741620<br />
** File Size: 555MB<br />
<br />
= Linux Installer Releases =<br />
== Debian Installer ==<br />
[[File:debian.png|right|100px]]<br />
<br />
=== Debian Installer for Pinebook Pro ===<br />
* This is an image creator and Debian installer that runs from an existing Linux OS and installs Debian Bullseye<br />
** Installer can configure an encrypted rootfs and provides a choice of desktops, including the default Debian desktop based on Gnome 3<br />
** Strict adoption of upstream Debian packages (with exception of kernel and bootloaders) in order to provide a clean upgrade path as Bullseye matures<br />
* Download at: https://github.com/daniel-thompson/pinebook-pro-debian-installer/<br />
* Pull requests welcome but for discussion and support please use [https://forum.pine64.org/showthread.php?tid=8487 the forum topic].<br />
<br />
For more information, see the [[Pinebook_Pro_Debian_Installer]] wiki page<br />
<br />
== Gentoo Script ==<br />
[[File:gentoo.png|right|100px]]<br />
<br />
=== Gentoo Script for Pinebook Pro ===<br />
* This is a script that prepares a Gentoo arm64 stage 3 tarball for the Pinebook Pro<br />
** The script takes care of device specifics like an optimized make.conf, an overlay that provides Kernel and Firmware amongst others, and other miscellaneous fixes<br />
* The usual tarball setup as per [https://wiki.gentoo.org/wiki/Handbook:AMD64 Gentoo Handbook] is left to the user.<br />
* Forum thread with instructions at https://forum.pine64.org/showthread.php?tid=8765<br />
<br />
==Kali Script==<br />
[[File:Kali.jpeg|right|100px]]<br />
<br />
=== Kali Linux for Pinebook Pro ===<br />
* This is a script to create official Kali Linux OS images for the Pinebook Pro<br />
** The script carries out the build process in entirety and is Pinebook Pro specific<br />
* Please pull the lastest [https://gitlab.com/kalilinux/build-scripts/kali-arm/blob/master/pinebook-pro.sh Kali Linux install script] from the project's GitLab.<br />
* For more information regarding building the OS image please read the README instruction at https://gitlab.com/kalilinux/build-scripts/kali-arm/blob/master/README.md</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro&diff=5147Pinebook Pro2020-02-20T14:01:37Z<p>Tophneal: /* Using as OS root drive */</p>
<hr />
<div>= User Guide =<br />
== Introducing PineBook Pro == <br />
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]<br />
<br />
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]<br />
<br />
It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh capacity battery, and the modularity that only an open source project can deliver. <br />
<br />
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, and camera; and expandable storage via NVMe (PCIe 4x) with an optional adapter. <br />
<br />
The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1x micro SD card reader (bootable), 1x USB 2.0, 1x USB 3.0, 1x USB type C Host with DP 1.2 and power-in, PCIe 4x for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). <br />
<br />
The keyboard and trackpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.<br />
<br />
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. <br />
<br />
== Software and OS Image Downloads ==<br />
<br />
=== Default Debian MATE Desktop Quick Start ===<br />
<br />
The default Operating system that ships with the Pinebook Pro is Debian 9 with MATE desktop. It has been built by a community developer called MrFixIt2001, who can be reached on the PINE64 forum or in the chats. <br />
The newest release of the build can downloaded directly from [https://github.com/mrfixit2001/debian_desktop/releases MrFixIt2001's GitHub]. <br />
<br />
'''The default username and password is:'''<br />
* Username: rock <br />
* Password: rock<br />
<br />
You can change the default ''rock'' username and ''rock'' home directory by logging into root (credentials root/root) instead of the default 'rock' user and running the following in root terminal and substituting desired username for NewUser:<br />
[[File:UpdateScript.png|350px|thumb|right|Location of update script applet icon on stock Debian with MATE]]<br />
<pre><br />
usermod -l NewUser -d /home/NewUser -m rock<br />
</pre><br />
<br />
Once you log back into your new user, Bluetooth will complain about no transfer folder location. To fix this open terminal and type:<br />
<pre><br />
blueman-services<br />
</pre><br />
<br />
From here, select incoming folder under the 'transfer' tab.<br />
<br />
The build includes a custom updater capable of updating uboot, the Linux kernel and numerous packages. The update script can be ran from both the userspace and the commandline. You will find a small 'Update Script' applet icon in the bottom panel, next to time and date applet. <br />
<br />
You can run the script from the terminal using:<br />
<pre><br />
sudo /usr/bin/mrfixit_update.sh <br />
</pre><br />
<br />
More information about the default OS build and version history can be found on the [https://forum.pine64.org/showthread.php?tid=7830 Default OS update log] PINE64 forum thread.<br />
<br />
=== [[Pinebook Pro_Software_Release|Pinebook Pro]] ===<br />
Under [[Pinebook Pro Software Release|'Pinebook Pro Software and OS Image Download Section']] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software. <br />
<br />
The list includes OS images and descriptions of:<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Debian_Desktop}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian Desktop|'''Debian Desktop (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_LXDE}} http://files.pine64.org/sw/pine64_installer/json/lxde.png] [[PinebookPro_Software_Release#Bionic LXDE|'''Bionic LXDE (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_Mate}} http://files.pine64.org/sw/pine64_installer/json/mate.png] [[PinebookPro_Software_Release#Bionic Mate|'''Bionic Mate (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Manjaro_ARM}} http://files.pine64.org/sw/pine64_installer/json/fedora.png] [[PinebookPro_Software_Release#Fedora|'''Fedora (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Manjaro_ARM}} http://files.pine64.org/sw/pine64_installer/json/manjaro.png] [[PinebookPro_Software_Release#Manjaro ARM|'''Manjaro ARM (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Manjaro_ARM}} http://files.pine64.org/sw/pine64_installer/json/opensuse.png] [[PinebookPro_Software_Release#OpenSUSE|'''OpenSUSE (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Q4OS}} http://files.pine64.org/sw/pine64_installer/json/q4os.png] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Armbian}} http://files.pine64.org/sw/pine64_installer/json/armbian.png] [[PinebookPro_Software_Release#Armbian|'''Armbian (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#NetBSD}} http://files.pine64.org/sw/pine64_installer/json/netbsd.png] [[PinebookPro_Software_Release#NetBSD|'''NetBSD (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Chropmium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Android_7.1_microSD}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_microSD|'''Android 7.1 (microSD Boot)''']] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [{{fullurl:PinebookPro_Software_Release#Android_7.1_eMMC}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_eMMC|'''Android 7.1 (eMMC)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Debian_Installer_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian_Installer_for_Pinebook_Pro|'''Debian Installer for Pinebook Pro''']]<br />
<br />
[{{fullurl:Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/gentoo.png]<br />
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Kali}} [[File:Kali.jpeg|125px]]] [[PinebookPro_Software_Release#Kali|'''Kali Script for Pinebook Pro (microSD and eMMC Boot)''']]<br />
<br />
=== Quick Links to OS Images Build Sources===<br />
'''Some of the provided OS images are still in <span style="color:#FF0000">beta or nightly build</span> and only fit for testing purposes. These images ought to be avoided for normal usage - use them at <span style="color:#FF0000">your own risk</span>'''<br />
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]<br />
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]<br />
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]<br />
<br />
== Keyboard ==<br />
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and trackpad 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, trackpad 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. <br />
<br />
The keyboard firmware binary can be flashed from userspace using the provided open source utility. <br />
<br />
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. <br />
<br />
=== Typing special characters ===<br />
The [[Wikipedia:British_and_American_keyboards#Other_keyboard_layouts|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. <br />
{| class="wikitable"<br />
!Character<br />
!Key combination/sequence<br />
|-<br />
|Ä, Ö, Ü, ä, ö, ü<br />
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]<br />
|-<br />
|µ<br />
|[AltGr]+[m]<br />
|-<br />
|Ø, ø<br />
|[AltGr]+[O], [AltGr]+[o]<br />
|-<br />
|@<br />
|[AltGr]+[q] (as on the German layout)<br />
|-<br />
|ß<br />
|[AltGr]+[s]<br />
|-<br />
|§<br />
|[AltGr]+[S]<br />
|-<br />
|°<br />
|[AltGr]+[)]<br />
|}<br />
<br />
=== Privacy Switches ===<br />
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:<br />
<br />
{| class="wikitable"<br />
|+ Privacy switch function and description<br />
! Combination<br />
! Effect<br />
! Description<br />
! Notes<br />
|-<br />
! scope=row | PINE64 logo key+F10<br />
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled<br />
|-<br />
! scope=row | PINE64 logo key+F11<br />
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled.<br />
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&pid=52645#pid52645 command line hack to bind/unbind]).<br />
|-<br />
! scope=row | PINE64 logo key+F12<br />
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled<br />
|}<br />
<br />
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''<br />
<br />
The keyboard uses special firmware that operates separately of the operating system. It detects if either the F10, F11 or F12 key, and the Pine key were pressed for 3 seconds. This disables the peripherals as listed above by cutting off their power. Which has the same result 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 a 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.<br />
<br />
== Trackpad ==<br />
The trackpad is large, smooth (metallic to-the-touch), and has two actuating buttons. It is the only component of the Pinebook Pro held in place with strong adhesive tape. It supports multi-touch functionality. <br />
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].<br />
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).<br />
<br />
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' <br />
<br />
Before you start:<br />
<br />
Please refer to original documentation for details.<br />
<br />
Your Pinebook Pro should be either fully charged or, preferably, running of mains. This utility will be writing chips on the keyboard and trackpad, so a loss of power during any stage of the update can result in irrecoverable damage to your trackpad or keyboard.<br />
<br />
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.<br />
<br />
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. <br />
FW update steps for both models are listed below. <br />
<br />
What you will need:<br />
<br />
*Your Pinebook Pro fully charged or running off of mains power<br />
*Connection to WiFi<br />
*An external USB keyboard & mouse. Or access to the Pinebebook Pro via SSH<br />
<br />
'''ISO Model''' <br />
<br />
From the terminal command line: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1 iso<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2 iso<br />
sudo reboot<br />
</pre><br />
<br />
----<br />
<br />
'''ANSI Model''' <br />
<br />
*<b>NOTE:</b> Running step-1 on the ansi keyboard model will make the keyboard and trackpad inaccessible until step-2 is run, so an external keyboard must be connected to complete the update on this model!<br />
<br />
From the terminal command line: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1 ansi<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2 ansi<br />
sudo reboot<br />
</pre><br />
When done, if some of the keys produce in-correct characters, please check your OSes' language settings. For ANSI users, the default OS shipped with English UK as the default language. You can change it to English US if desired.<br />
<br />
== Power Supply ==<br />
* Input Power: 5V DC @ 3A<br />
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack<br />
* USB-C 15W PD quickcharge<br />
* Only use one power input at a time, barrel jack OR USB-C<br />
<br />
== LEDs ==<br />
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: <br />
<br />
:1. The red LED next to the barrel-port indicates charging. It will illuminate when mains power is supplied to the Pinebook Pro from either the standard power supply unit or a USB-C smartphone charger.<br />
<br />
:2. The power indicator LED on the Pinebook Pro supports three different colours: green, amber and red. It is also capable of flashing/blinking to indicate activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). <br />
<br />
:3. The Num lock, green LED.<br />
<br />
:4. The Caps lock, green LED.<br />
<br />
(The Num and Caps lock LEDs have a secondary function. When the privacy switches get activated they blink to confirm that switch has been activated.)<br />
<br />
== Webcam ==<br />
* Streaming video resolutions supported, (un-compressed):<br />
** 320 x 240 <br />
** 640 x 480<br />
** 800 x 600<br />
** 1280 x 720<br />
** 1600 x 1200<br />
* Still frame resolutions supported:<br />
** 160 x 120<br />
** 176 x 144<br />
** 320 x 240<br />
** 352 x 288 <br />
** 640 x 480<br />
** 800 x 600<br />
** 1280 x 720<br />
** 1600 x 1200<br />
* Some people test with the application Cheese<br />
WIP<br />
<br />
== Microphones ==<br />
Some Pinebook Pro chassis have 2 microphone labeled holes. Only the right hole is populated with a microphone.<br />
<br />
== Bluetooth and WiFi ==<br />
WIP<br />
<br />
== LCD Panel ==<br />
* Model: BOE NV140FHM-N49<br />
* 14.0" (35.56cm) diagonal size<br />
* 1920x1080 resolution<br />
* 60hz refresh rate<br />
* IPS<br />
* 1000:1 contrast<br />
* 250nt brightness<br />
* 63% sRGB coverage<br />
* 6 bit colour<br />
* 30 pin eDP connection<br />
<br />
Some people have tested hardware video decode using the following;<br />
<pre>ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -</pre><br />
<br />
== External ports list ==<br />
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.<br />
* Left side<br />
** Barrel jack for power, (with LED)<br />
** USB 3, Type A<br />
** USB 3, Type C<br />
* Right side<br />
** USB 2, Type A<br />
** Standard headset jack<br />
** MicroSD card slot<br />
<br />
== Using the UART ==<br />
[[File:PBPUART.jpeg|400px|thumb|right|Headphone jack UART wiring reference.<br />
<br> Swapping the tx and rx around from this also works and is more traditional.<br />
<br> See [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf this] official Pine64 .pdf.]]<br />
<br />
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 [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly proper disassembly and reassembly protocol]. The OFF position is towards the touchpad, the ON position is towards the display hinges.<br />
<br />
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.3v interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3v and 5v variants) to avoid damage to the CPU. <br />
<br />
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:<br />
<br />
<code><br />
$ lsusb<br />
</code><br />
<br />
you should find a line similar to this:<br />
<br />
<code><br />
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter<br />
</code><br />
<br />
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.<br />
<br />
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.<br />
<br />
Serial output should now be accessible using screen, picocom or minicom (and others).<br />
Examples:<br />
<br />
<code><br />
screen /dev/ttyUSB0 1500000<br />
<br />
picocom /dev/ttyUSB0 -b 1500000<br />
<br />
minicom -D /dev/ttyUSB0 -b 1500000</code><br />
<br />
Old versions of U-Boot do not use the UART for console output. <strike>The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.</strike><br />
<br />
== Using the optional NVMe adapter ==<br />
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''' & '''M'''+'''B''' keyed devices, in both 2242 & 2280 physical sizes, the most common ones available. In addition, 2230 & 2260 are also supported, though NVMe devices that use those sizes are rare.<br />
<br />
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.<br />
<br />
=== Installing the adapter ===<br />
The v2.1 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.<br />
<br />
(If necessary, they can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)<br />
<br />
Actual installation instructions are a work in progress.<br />
<br />
Newer SSD adapters are becoming available, (2020/02/03). They have ribbon cables that meet the need without bending. However, it's un-certain as of today, if any newly placed orders will receive the newest SSD adapter.<br />
<br />
=== Post NVMe install power limiting ===<br />
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 at lower battery levels. And to reduce power used, to maintain battery life.<br />
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);<br />
<pre>$ sudo nvme id-ctrl /dev/nvme0<br />
NVME Identify Controller:<br />
...<br />
ps 0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0<br />
rwt:0 rwl:0 idle_power:- active_power:-<br />
ps 1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1<br />
rwt:1 rwl:1 idle_power:- active_power:-<br />
ps 2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2<br />
rwt:2 rwl:2 idle_power:- active_power:-<br />
ps 3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3<br />
rwt:3 rwl:3 idle_power:- active_power:-<br />
ps 4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4<br />
rwt:4 rwl:4 idle_power:- active_power:-<br />
<br />
$ sudo nvme get-feature /dev/nvme0 -f 2<br />
get-feature:0x2 (Power Management), Current value:00000000<br />
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s<br />
set-feature:02 (Power Management), value:0x000002</pre><br />
Some NVMe SSDs don't appear to allow saving the setting with "-s" option. In those cases, leave off the "-s" and use a startup script to set the non-default power state at boot.<br><br />
If you want to test performance without saving the new power setting semi-permanantly, then leave off the "-s" option.<br/><br />
<br/><br />
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving & transitions based on usage. To check if you have a NVMe SSD with this feature;<br />
<pre>$ sudo nvme get-feature -f 0x0c -H /dev/nvme0</pre><br />
Information for this feature, (on a Pinebook Pro), is a work in progress.<br />
<br />
=== Using as data drive ===<br />
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.<br />
<br />
=== Using as OS root drive ===<br />
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.<br />
<br />
The current boot order, per last testing, for this modified u-boot is:<br />
*microSD<br />
*eMMC<br />
*NVMe<br />
<br />
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&pid=53764#pid53764 the forum post.]<br />
<br />
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 <code>/boot</code> and <code>/</code> off the NVMe drive. So this may change in the future.)<br />
<br />
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].<br />
<br />
== Caring for the PineBook Pro ==<br />
=== Bypass Cables ===<br />
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 [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice]. <br />
<br />
WARNING: Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.<br />
<br />
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===<br />
<span style="color:#FF0000">Placeholder for Pinebook Pro specific guides</span><br />
<br />
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:<br />
<br />
'''Note: The installation process on Pinebook Pro similar to 14" Pinebook'''<br />
<br />
'''Note: The installation process is the reverse order of removal guide'''<br />
<br />
* 14″ Pinebook Lithium Battery Pack Removal Guide<br />
* 14″ Pinebook LCD Panel Screen Removal Guide<br />
* 14″ Pinebook eMMC Module Removal Guide<br />
<br />
== FAQ ==<br />
What cool software works out of the box? [[Pinebook Pro OTB Experience]]<br />
<br />
= Software tuning guide =<br />
Details on how to get the most out of a Pinebook Pro & its RK3399 SoC.<br />
<br />
== Customizing Pinebook Pro's factory OS ==<br />
Here are some hints on what you can do to customize the Pinebook Pro's factory image (aka [https://github.com/mrfixit2001/debian_desktop mrfixit2001 debian build])<br />
<br />
=== Initial user changes, password, name, etc ===<br />
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.<br />
<br />
* Reboot (this is just to ensure all background processes belong to the user are not running... there are other ways to achieve this but this way is easy)<br />
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal<br />
* Login as root (login: root, password: root)<br />
* Set a strong password for the root user using the following command and it's prompts:<br />
<pre># passwd (and follow prompts)</pre><br />
* Rename the rock user to your prefered username (replace myself with whatever you like):<br />
<pre># usermod -l myself -d /home/myself -m rock</pre><br />
* Rename the rock group to match your preferred username:<br />
<pre># groupmod -n myself rock</pre><br />
* Put your name in the account, (replace "John A Doe" with your name):<br />
<pre># chfn -f "John A Doe" myself</pre><br />
* Set a strong password for the normal user:<br />
<pre># passwd myself</pre><br />
* Log out of the text terminal:<br />
<pre># logout</pre><br />
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user<br />
* Open text terminal to fix login error: "Configured directory for incoming files does not exist";<br />
<pre>$ blueman-services</pre><br />
Select "Transfer" tab and set "Incoming Folder" to myself<br />
<br />
=== Changing the default hostname ===<br />
Debian 9 has a command to allow you to change the hostname. You can see the current settings using;<br />
<pre>> sudo hostnamectl<br />
Static hostname: Debian-Desktop<br />
Icon name: computer<br />
Machine ID: dccbddccbdccbdccbdccbdccbdccbccb<br />
Boot ID: ea99ea99ea99ea99ea99ea99ea99ea99<br />
Operating System: Debian GNU/Linux 9 (stretch)<br />
Kernel: Linux 4.4.210<br />
Architecture: arm64</pre><br />
To change, use this, (with "My_Hostname" used as the example);<br />
<pre>> sudo hostnamectl set-hostname My_Hostname</pre><br />
Whence done, you can re-verify using the first example.<br />
<br />
Then you should backup and edit your <code>/etc/hosts</code> entry's name;<br />
<pre>> sudo cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`<br />
> sudo vi /etc/hosts<br />
127.0.0.1 localhost<br />
127.0.0.1 My_Hostname<br />
::1 localhost ip6-localhost ip6-loopback<br />
fe00::0 ip6-localnet<br />
ff00::0 ip6-mcastprefix<br />
ff02::1 ip6-allnodes<br />
ff02::2 ip6-allrouters<br />
127.0.1.1 linaro-alip</pre><br />
<br />
=== Disable Chromium browser's prompt for passphrase & password storage ===<br />
<br />
Perform the following steps:<br />
<br />
* On the tool bar, hover over the Chromium icon<br />
* Using the right mouse button, select '''Properties'''<br />
* In the '''Command:''' line section, add <code>--password-store=basic</code> before the <code>%U</code><br />
* Use the '''x Close''' button to save the change<br />
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.<br />
<br />
=== Changing the boot splash picture ===<br />
<br />
The default boot splash picture can be replaced using the following instructions:<br />
<br />
* Install '''ImageMagick''' which will do the conversion<br />
<pre>$ sudo apt-get install imagemagick</pre><br />
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).<br />
* From the directory in which your new image is stored run the following commands<br />
* Convert your image to the bootsplash raw format using imagemagick convert.<br />
<pre>$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb</pre><br />
* Create a backup copy of your current splash screen<br />
<pre>$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb</pre><br />
* Copy your new splash screen into place<br />
<pre>$ sudo cp splash.fb /usr/share/backgrounds/splash.fb</pre><br />
* Set the correct permissions on the splash.fb file<br />
<pre>$ sudo chmod 644 /usr/share/backgrounds/splash.fb</pre><br />
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed<br />
<br />
=== Enabling text boot time messages ===<br />
<br />
By default most Linux distros have a boot screen with a picture. To see all the messages, use the following;<br />
<br />
* Backup and edit the U-Boot configuration file:<br />
<pre>cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`<br />
chmod a-w /etc/default/u-boot.`date +%Y%m%d`<br />
vi /etc/default/u-boot</pre><br />
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.<br />
* Update the U-Boot configuration:<br />
<pre>u-boot-update</pre><br />
* Test and verify you get what you think you should be seeing.<br />
<br />
== Chromium tweaks ==<br />
<br />
=== Flags ===<br />
<br />
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:<br />
<br />
<pre><br />
--disable-low-res-tiling \<br />
--num-raster-threads=6 \<br />
--profiler-timing=0 \<br />
--disable-composited-antialiasing \<br />
--test-type \<br />
--show-component-extension-options \<br />
--ignore-gpu-blacklist \<br />
--use-gl=egl \<br />
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \<br />
--ppapi-flash-version=32.0.0.255 \<br />
--enable-pinch \<br />
--flag-switches-begin \<br />
--enable-gpu-rasterization \<br />
--enable-oop-rasterization \<br />
--flag-switches-end<br />
</pre><br />
<br />
== X-Windows & trackpad tuning ==<br />
Some forum members have found that an adjustment to X-Windows will allow finer motion in the trackpad. Use this command to make the change live;<br />
<pre>synclient MinSpeed=0.25</pre><br />
You may experiment with different settings, but 0.25 was tested as helping noticably.<br><br />
<br><br />
To make the change persist across reboots, change the file <code>/etc/X11/xorg.conf</code> similar to below;<br />
<pre> Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "MinSpeed" "0.25"<br />
EndSection</pre><br />
The line <code>Option "MinSpeed" "0.25"</code> is the change.<br><br />
<br><br />
Another forum user built on the above settings a little, and have found these to be very good:<br />
<pre>synclient MinSpeed=0.25<br />
synclient FingerLow=30<br />
synclient PalmDetect=1<br />
synclient VertScrollDelta=64<br />
synclient HorizScrollDelta=64</pre><br />
<br />
<code>FingerLow</code> 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 not sure if synaptic works like this.<br />
You may find this config to be comfortable for daily use.<br />
<br><br />
<br />
== GVIM has performance issue ==<br />
It appears that using GTK3 can cause very slow scolling, while VIM in a terminal window works fine.<br/><br />
Simply revert back to using GTK2, (how to do so, is somewhat Linux distro specific).<br />
<br />
== Kernel options ==<br />
Here are some Pinebook Pro & its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.<br />
<br />
To see if a specific feature is enabled in the current kernel, you can use something like this;<br />
<br />
<pre><br />
$ zgrep -i rockchip_pcie /proc/config.gz<br />
# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set<br />
CONFIG_PHY_ROCKCHIP_PCIE=m<br />
</pre><br />
If it's listed as <code>=m</code>, then it's a module. You can see if the module is loaded with;<br />
<pre><br />
$ lsmod | grep -i rockchip_pcie<br />
phy_rockchip_pcie 16384 0<br />
</pre><br />
Note modules are not loaded until needed. Thus, we sometimes check the kernel configuration instead to see if a feature is configured first, then see if it's a module.<br />
<br />
=== Hardware video decoding ===<br />
Here is a method to check for hardware video decoding by the VPU. There are special Linux kernel modules that perform this function.<br><br />
The default Debian uses Rockchip supplied kernel module <code>rk-vcodec</code>. To check, something like this can be used;<br />
<pre><br />
$ lsmod | grep rk-vcodec<br />
or<br />
$ zgrep RK_VCODEC /proc/config.gz<br />
CONFIG_RK_VCODEC=y<br />
</pre><br />
Note that in the above example, the Rockchip video CODEC is not built as a module, but included into the kernel. Thus, it does not show up in the list modules check.<br><br />
<br><br />
Later kernels may use a different option in the configuration as below;<br />
<pre><br />
$ zgrep HANTRO /proc/config.gz<br />
CONFIG_VIDEO_HANTRO=m<br />
CONFIG_VIDEO_HANTRO_ROCKCHIP=y<br />
</pre><br />
&nbsp;<br><br />
<br />
= Troubleshooting guide =<br />
Tips, tricks and other information for troubleshooting your Pinebook Pro<br />
=== New from the factory - Pinebook Pro won't boot / power on ===<br />
* Some Pinebook Pros came from the factory with the eMMC switch in the disabled position. It should be switched towards the back / hinge to enable the eMMC.<br><br />
* The eMMC may have come loose during shipment. [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly Open] the back and verify that the eMMC is firmly seated.<br><br />
* You may want to try unplugging the SD card daughterboard ribbon cable and see if it powers on (remove the battery and peel off a bit of the tape before unplugging it to avoid damage). If it does, try reseating it on both sides. It might have come loose during shipping.<br />
* It's possible that your eMMC is empty from the factory. Simply create a bootable SD card and see if your Pinebook Pro boots. If so, you can then write an OS image to the eMMC.<br />
<br />
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===<br />
* This may happen if you meant to toggle the UART/Headphone switch (9) towards touchpad for headphone use and instead you toggled the eMMC enable/disable switch (24).<br />
* After reenabling eMMC by toggling switch (24) towards hinge, if Pinebook Pro does not turn on then press the RESET button (28). It is clearly marked 'reset' on the PCB board.<br />
<br />
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===<br />
* Closely inspect that the shielding is firmly seated in the clips on all sides. You can be seated in the clips on one axis, and have missed on an another axis.<br />
<br />
=== Pinebook Pro won't boot when using UART console cable ===<br />
* If you're using the UART cable sold on the Pine Store, you may want to see if it boots after you disconnect it. Some users report that custom-made cables based on FTDI UART adapters do not cause this issue.<br />
* Make sure your USB to serial UART device is 3.3v. Many are 5v and some even +-12v. Pinebook Pro's only support 3.3v and may act eratically when using higher voltage. Further, higher voltage could permananetly damage the Pinebook Pro's SoC.<br />
<br />
=== WiFi issues ===<br />
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]<br />
* Next, you may have to modify the <code>/etc/NetworkManager/NetworkManager.conf</code> as root user, and replace <code>managed=false</code> with <code>managed=true</code>. Then reboot.<br />
* For connections that drop and resume too often, it might be due to WiFi power management from earlier OS releases. Later OS releases either removed WiFi power management, or default to full power. (Power management can be turned off via command line with <code>iw dev wlan0 set power_save off</code> or <code>iwconfig wlan0 power off</code>, although it is not persistent through re-boot.)<br />
* If WiFi is un-usable or often crashes when using an alternate OS, then it might because its WiFi firmware is not appropriate for the WiFi chip in the Pinebook Pro. Try the latest firmware patch from [https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm]<br />
* After re-enabling WiFi via the privacy switch, you have to reboot to restore function. There is a work around for the default Debian, (and may work with others);<br />
&nbsp; &nbsp; &nbsp; &nbsp; <code>sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/{un,}bind <<< 'fe310000.dwmmc'</code><br />
<br />
=== Bluetooth issues ===<br />
* When connecting a Bluetooth device, such as a Bluetooth mouse, it does not automatically re-connect on re-boot. In the Bluetooth connection GUI, there is a yellow star for re-connect on boot. Use that button to enable a persistent connection. It can be changed back later.<br />
* Bluetooth-attached speakers or headset require the <b>pulseaudio-module-bluetooth</b> package. If not already installed, it can be installed with a package manager or with:<br><br />
<pre>sudo apt-get install pulseaudio-module-bluetooth</pre><br />
* When using Bluetooth-attached speakers or headset and 2.4Ghz WiFi at the same time, you may experience stuttering of the audio. One solution is to use 5Ghz WiFi if you can. Or you may try using a different 2.4Ghz channel, perhaps channel 1 or the top channel, (11 in the USA, or 13/14 in some other countries).<br />
<br />
=== Sound issues ===<br />
* Many reports of no sound are due to the OS, incorrect settings, or other software problems (eg. PulseAudio). So first test to see if it is a software or hardware problem, by trying another OS via SD card. (For example, if Debian is installed on the eMMC, try Ubuntu on SD.) <br />
* If you cannot get sound from the headphone jack, but can get sound from the speakers, then the headphone / UART console switch may be set to the UART mode. You can open the back and check the position of the switch. If set to UART mode, switch it to headphone mode. See the parts layout for the location and correct position of the switch.<br />
* When using the USB C alternate DisplayPort mode, it is possible that the audio has been re-directed through this path. If your monitor has speakers, then see if they work.<br />
* See this [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/asound.state /var/lib/alsa/asound.state] for some Alsa tweaks<br />
<br />
=== USB docks & USB C alternate mode video ===<br />
The Pinebook Pro uses the RK3399 SoC (System on a Chip). It supports a video pass through mode on the USB C port using DisplayPort alternate mode. This DisplayPort output comes from the same GPU used to display the built-in LCD. <br />
<br />
Here are some selection criteria for successfully using the USB C alternate mode for video:<br />
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.<br />
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.<br />
* If USB 3 is also desired from a USB dock, the maximum resolution, frame rate and pixel depth is reduced to half the bandwidth. For example, 4K @ 30hz instead of 60hz.<br />
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).<br />
<br />
=== Keys not registering / missing keys when typing ===<br />
This issue occurs when your thumb or edge of the palm makes contact with left or right tip of the trackpad when you type. This is due to the palm rejection firmware being too forceful. Instead of only disabling the trackpad, so your cursor does not move all over the screen, it disables both the trackpad and the keyboard.<br />
<br />
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.<br />
<br />
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.<br />
<br />
=== Key Mapping ===<br />
* See this [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/10-usb-kbd.hwdb /etc/udev/hwdb.d/10-usb-kbd.hwdb] for some key mapping tweaks<br />
<br />
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===<br />
This refers to the firmware update shown here:<br />
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
* If the system is not responding after the 1st reboot, it's might be easiest to do a system restore, and follow up by running the second step of the trackpad firmware update. <br />
* System restore https://forum.pine64.org/showthread.php?tid=8229<br />
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
<br />
=== ANSI Fn + F keys wrong for F9, F10, F11 and F12 ===<br />
There appears to be a minor firmware issue for ANSI keyboard models of the Pinebook Pro. Some discussion and fixes have been proposed;<br />
<br />
* Discussion thread [https://forum.pine64.org/showthread.php?tid=8744&pid=57678#pid57678 Fn + F keys screwy for F9, F10, F11 and F12]<br />
* Proposed fix [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater/issues/14#issuecomment-576825396 (ANSI) Fn + F(9-12) has wrong assignment after firmware update #14]<br />
&nbsp;<br><br />
<br />
=== After changing builtin LCD resolution, blank screen ===<br />
Some people find that the text or icons are too small, so they attempt to change the resolution of the built-in display. Afterwards, the display is blank.<br><br />
Use the following to fix when logged into a text console as yourself, (Control-Alt-F1 through F6). After listing the resolutions, select the native resolution, (1920x1080 aka 1080p). <br />
<pre>export DISPLAY=:0.0<br />
xrandr -q<br />
xrandr -s [resolution]</pre><br />
Once your resolution is restored, try using the Tweak app to set scaling, instead.<br><br />
<br><br />
If the above fix did not work, you can try this:<br />
* Using a text console, (Control-Alt-F1), login with your normal user ID<br />
* Edit the file <code>nano ~/.config/monitors.xml</code><br />
* Change the "width" value to "1920"<br />
* Change the "height" value to "1080"<br />
* If there is more than one monitor configuration listed, edit that one too.<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Be careful to make no other changes. If needed exit without saving and re-edit.<br />
* Save the file and exit.<br />
* Login using the GUI and test<br />
* If you are still loggied in via the GUI, you will have to reboot using <code>sudo shutdown -r now</code><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;After the reboot, you should be able to login to the GUI login and have the resolution back to normal.<br />
<br />
= [[Pinebook_Pro_Hardware_Accessory_Compatibility|PineBookPro Hardware Compatibility]] =<br />
<br />
Please contribute to the hardware compatibility page, which lists hardware which has been tested with the PBP, whether successful or not!<br />
<br />
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]<br />
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]<br />
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]<br />
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]<br />
&nbsp;<br/><br />
&nbsp;<br />
<br />
= Technical Reference =<br />
== Accessing the Internals - Disassembly and Reassembly == <br />
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]<br />
<br />
'''WARNING:''' 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.<br />
<br />
'''WARNING:''' When removing the back cover plate, use care if sliding fingertips between back cover plate and palm rest assembly. The back cover plate edges are sharp.<br />
<br />
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. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.<br />
<br />
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. To reassemble the Pinebook Pro, slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the trackpad 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 2 short screws.<br />
<br />
NOTE: 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, 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, just let it be.<br />
<br />
Screw measurements in mm;<br />
<br />
Small screw<br />
<br />
Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05<br />
<br />
Long screw<br />
<br />
Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85<br />
<br />
== Pinebook Pro Internal Layout ==<br />
=== Main chips ===<br />
* RK3399 system-on-chip (1)<br />
* LPDDR4 SDRAM (21)<br />
* SPI NOR flash memory (29)<br />
* eMMC flash memory (26)<br />
* WiFi/BT module (27)<br />
<br />
=== Mainboard Switches and Buttons ===<br />
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. <br />
<br />
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). <br />
<br />
[[File:PBPL_S.jpg]]<br />
<br />
=== Key Internal Parts ===<br />
{| class="wikitable"<br />
|+ Numbered parts classification and description<br />
! Number<br />
! Type<br />
! Descriptor<br />
|-<br />
! scope=row | 1<br />
| Component || RK3399 System-On-Chip<br />
|-<br />
! scope=row | 2<br />
| Socket || PCIe 4X socket for optional NVMe adapter<br />
|-<br />
! scope=row | 3<br />
| Socket || Speakers socket<br />
|-<br />
! scope=row | 4<br />
| Socket || Trackpad socket<br />
|-<br />
! scope=row | 5<br />
| Component || Left speaker <br />
|-<br />
! scope=row | 6<br />
| Connector || Male power bridge connector <br />
|-<br />
! scope=row | 7<br />
| Socket || Keyboard Socket<br />
|-<br />
! scope=row | 8<br />
| Component || Optional NVMe SSD adapter<br />
|-<br />
! scope=row | 9<br />
| Switch || UART/Audio switch - outputs UART via headphone jack<br />
|-<br />
! scope=row | 10<br />
| Socket || Female power bridge socket<br />
|-<br />
! scope=row | 11<br />
| Socket || Battery socket<br />
|-<br />
! scope=row | 12<br />
| Component || Trackpad<br />
|-<br />
! scope=row | 13<br />
| Component || Battery<br />
|-<br />
! scope=row | 14<br />
| Component || Right speaker<br />
|-<br />
! scope=row | 15<br />
| Socket || MicroSD card slot<br />
|-<br />
! scope=row | 16<br />
| Socket || Headphone / UART jack<br />
|-<br />
! scope=row | 17<br />
| Socket || USB 2.0 Type A<br />
|-<br />
! scope=row | 18<br />
| Socket || Daughterboard-to-mainboard ribbon cable socket<br />
|-<br />
! scope=row | 19<br />
| Cable || Daughterboard-to-mainboard ribbon cable<br />
|-<br />
! scope=row | 20<br />
| Component || microphone<br />
|-<br />
! scope=row | 21<br />
| Component || LPDDR4 RAM<br />
|-<br />
! scope=row | 22<br />
| Socket || Mainboard-to-daughterboard ribbon cable socket<br />
|-<br />
! scope=row | 23<br />
| Socket || Microphone socket<br />
|-<br />
! scope=row | 24<br />
| Switch || Switch to hardware disable eMMC<br />
|-<br />
! scope=row | 25<br />
| Antenna || BT/WiFI antenna<br />
|-<br />
! scope=row | 26<br />
| Component || eMMC flash memory module <br />
|-<br />
! scope=row | 27<br />
| Component ||BT/WiFi module chip<br />
|-<br />
! scope=row | 28<br />
| Buttons || Reset and recovery buttons<br />
|-<br />
! scope=row | 29<br />
| Component || SPI flash storage<br />
|-<br />
! scope=row | 30<br />
| Socket || eDP LCD socket<br />
|-<br />
! scope=row | 31<br />
| Socket || Power in barrel socket<br />
|-<br />
! scope=row | 32<br />
| Socket || USB 3.0 Type A<br />
|-<br />
! scope=row | 33<br />
| Socket || USB 3.0 Type C <br />
|}<br />
<br />
== Bootable Storage ==<br />
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. <br />
<br />
At this time, the Pinebook Pro ships with a Debian + MATE build with [https://www.denx.de/wiki/U-Boot/ uboot] on the eMMC. Its boot order is: SD, then eMMC. Booting off USB storage is not currently available, but will be in the future.<br />
<br />
(An update has been pushed for the default Debian + MATE build that improves compatibility with booting other OSs 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.)<br />
<br />
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<br />
in a /boot partition on the eMMC.<br />
<br />
=== eMMC information ===<br />
The eMMC storage will show up as multiple block devices:<br />
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB<br />
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB<br />
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB<br />
*mmcblk1 - This block contains the user areas<br />
<br />
Only the last is usable as regular storage device in the Pinebook Pro.<br />
The device number of "1" shown above may vary, depending on kernel.<br />
<br />
=== Boot sequence details ===<br />
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.<br />
<br />
== Pinebook Pro Dimensions ==<br />
* Dimensions: 329mm x 220mm x 12mm (WxDxH)<br />
* Weight: 1.26Kg<br />
* Screws, estimated dimensions, (until we can get confirmation)<br />
** M2 flat head machine screws<br />
** 6 x 6mm in length<br />
** 4 x 4mm in length, (used along the front edge)<br />
<br />
== SoC and Memory Specification ==<br />
[[File:Rockchip_RK3399.png|right]]<br />
* Based on Rockchip RK3399<br />
<br />
=== CPU Architecture ===<br />
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU<br />
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)<br />
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation<br />
** ARMv8 Cryptography Extensions<br />
** VFPv4 floating point unit supporting single and double-precision operations<br />
** Hardware virtualization support<br />
** TrustZone technology support<br />
** Full CoreSight debug solution<br />
** One isolated voltage domain to support DVFS<br />
* Cortex-A72 (big cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]<br />
** Superscalar, variable-length, out-of-order pipeline<br />
** L1 cache 48KB Icache and 32KB Dcache for each A72 <br />
** L2 cache 1024KB for big cluster <br />
* Cortex-A53 (little cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]<br />
** In-order pipeline with symmetric dual-issue of most instructions <br />
** L1 cache 32KB Icache and 32KB Dcache for each A53<br />
** L2 cache 512KB for little cluster<br />
* Cortex-M0 (control processors):<br />
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]<br />
** Two Cortex-M0 cooperate with the central processors<br />
** Architecture: Armv6-M<br />
** Thumb/Thumb2 instruction set<br />
** 32 bit only<br />
<br />
=== GPU Architecture ===<br />
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]<br />
* 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.<br />
* Frequency 650MHz <br />
* Throughput 1300Mtri/s, 10.4Gpix/s <br />
* OpenGL® ES 1.1, 1.2, 2.0, 3.1, 3.2., Vulkan 1.0*., OpenCL™ 1.1, 1.2., DirectX® 11 FL11_1., RenderScript™.<br />
<br />
=== System Memory ===<br />
* RAM Memory:<br />
** LPDDR4<br />
** Dual memory channels on the CPU, each 32 bits wide<br />
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel<br />
** 4GB as a single 366 pin mobile RAM chip<br />
* Storage Memory: <br />
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)<br />
** eMMC version 5.1, HS400, 8 bit on RK3399 side<br />
<br />
=== Video out ===<br />
* USB-C Alt mode DP<br />
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)<br />
<br />
=== Expansion Ports ===<br />
* MicroSD card:<br />
** Bootable<br />
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.<br />
** Version SD3.0, (MMC 4.5), up to 50MB/s<br />
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS<br />
* USB ports:<br />
** 1 x USB 2.0 Type-A Host Port, bootable<br />
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable<br />
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable<br />
** 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.<br />
* Headphone jack switchable to UART console mux circuit<br />
<br />
== Additional hardware ==<br />
Hardware that is not part of the SoC.<br />
<br />
=== Battery ===<br />
* Lithium Polymer Battery (10,000 mAH)<br />
<br />
=== Display ===<br />
* 14.0" 1920x1080 IPS LCD panel<br />
<br />
=== Audio ===<br />
* 3.5mm stereo earphone/microphone plug<br />
* Built-in stereo speakers:<br />
** Oval in design<br />
** 3 mm high x 20 mm x 30 mm<br />
<br />
=== Network ===<br />
* WiFi:<br />
** 802.11 b/g/n/ac<br />
** Dual band: 2.4Ghz & 5Ghz<br />
** Single antenna<br />
* Bluetooth 5.0<br />
<br />
=== Optional NVMe adapter ===<br />
* PCIe 2.x, 5GT/s per lane<br />
* 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)<br />
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too<br />
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260<br />
* Power: 2.5W continuous, 8.25W peak momentary<br />
* Does not support SATA M.2 cards<br />
* Does not support USB M.2 cards<br />
<br />
== Pinebook Pro Schematics and Certifications ==<br />
* Pinebook Pro Main Board Schematic And Silkscreen:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]<br />
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]<br />
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]<br />
* Pinebook Pro Daughter Board Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]<br />
* Optional Pinebook Pro NVMe Adapter Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]<br />
* Serial Console Earphone Jack Pinout:<br />
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]<br />
* Pinebook Pro Case:<br />
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]<br />
* Pinebook Pro Certifications:<br />
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]<br />
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]<br />
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]<br />
<br />
== Datasheets for Components and Peripherals ==<br />
* Rockchip RK3399 SoC information:<br />
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]<br />
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]<br />
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]<br />
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]<br />
* LPDDR4 (366 Balls) SDRAM:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]<br />
* eMMC information:<br />
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]<br />
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]<br />
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]<br />
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]<br />
* SPI NOR Flash information:<br />
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]<br />
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]<br />
* Wireless related info:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]<br />
* Audio Codec (ES8316)<br />
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]<br />
* LCD Panel:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14" 1920x1080 IPS LCD Panel datasheet]<br />
* Internal USB 2 hub:<br />
** [https://wiki.pine64.org/images/3/39/GL850G_USB_Hub_1.07.pdf GL850G USB Hub 1.07.pdf]<br />
* Touchpad information:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]<br />
* Keyboard information:<br />
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]<br />
** US ANSI: XK-HS002 MB27716023<br />
* Full HD Camera sensor:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]<br />
* Lithium Battery information:<br />
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14" model]<br />
<br />
=Skinning and Case Customization=<br />
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.<br />
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]<br />
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]<br />
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]<br />
<br />
= Other Resources =<br />
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]<br />
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]<br />
* [[RockPro64 Guides]]<br />
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (No login required to read)<br />
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]<br />
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]<br />
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]<br />
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro&diff=5120Pinebook Pro2020-02-18T20:48:04Z<p>Tophneal: /* Using as OS root drive */</p>
<hr />
<div>= User Guide =<br />
== Introducing PineBook Pro == <br />
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]<br />
<br />
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]<br />
<br />
It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh capacity battery, and the modularity that only an open source project can deliver. <br />
<br />
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, and camera; and expandable storage via NVMe (PCIe 4x) with an optional adapter. <br />
<br />
The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1x micro SD card reader (bootable), 1x USB 2.0, 1x USB 3.0, 1x USB type C Host with DP 1.2 and power-in, PCIe 4x for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). <br />
<br />
The keyboard and trackpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.<br />
<br />
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. <br />
<br />
== Software and OS Image Downloads ==<br />
<br />
=== Default Debian MATE Desktop Quick Start ===<br />
<br />
The default Operating system that ships with the Pinebook Pro is Debian 9 with MATE desktop. It has been built by a community developer called MrFixIt2001, who can be reached on the PINE64 forum or in the chats. <br />
The newest release of the build can downloaded directly from [https://github.com/mrfixit2001/debian_desktop/releases MrFixIt2001's GitHub]. <br />
<br />
'''The default username and password is:'''<br />
* Username: rock <br />
* Password: rock<br />
<br />
You can change the default ''rock'' username and ''rock'' home directory by logging into root (credentials root/root) instead of the default 'rock' user and running the following in root terminal and substituting desired username for NewUser:<br />
[[File:UpdateScript.png|350px|thumb|right|Location of update script applet icon on stock Debian with MATE]]<br />
<pre><br />
usermod -l NewUser -d /home/NewUser -m rock<br />
</pre><br />
<br />
Once you log back into your new user, Bluetooth will complain about no transfer folder location. To fix this open terminal and type:<br />
<pre><br />
blueman-services<br />
</pre><br />
<br />
From here, select incoming folder under the 'transfer' tab.<br />
<br />
The build includes a custom updater capable of updating uboot, the Linux kernel and numerous packages. The update script can be ran from both the userspace and the commandline. You will find a small 'Update Script' applet icon in the bottom panel, next to time and date applet. <br />
<br />
You can run the script from the terminal using:<br />
<pre><br />
sudo /usr/bin/mrfixit_update.sh <br />
</pre><br />
<br />
More information about the default OS build and version history can be found on the [https://forum.pine64.org/showthread.php?tid=7830 Default OS update log] PINE64 forum thread.<br />
<br />
=== [[Pinebook Pro_Software_Release|Pinebook Pro]] ===<br />
Under [[Pinebook Pro Software Release|'Pinebook Pro Software and OS Image Download Section']] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software. <br />
<br />
The list includes OS images and descriptions of:<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Debian_Desktop}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian Desktop|'''Debian Desktop (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_LXDE}} http://files.pine64.org/sw/pine64_installer/json/lxde.png] [[PinebookPro_Software_Release#Bionic LXDE|'''Bionic LXDE (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_Mate}} http://files.pine64.org/sw/pine64_installer/json/mate.png] [[PinebookPro_Software_Release#Bionic Mate|'''Bionic Mate (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Manjaro_ARM}} http://files.pine64.org/sw/pine64_installer/json/fedora.png] [[PinebookPro_Software_Release#Fedora|'''Fedora (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Manjaro_ARM}} http://files.pine64.org/sw/pine64_installer/json/manjaro.png] [[PinebookPro_Software_Release#Manjaro ARM|'''Manjaro ARM (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Manjaro_ARM}} http://files.pine64.org/sw/pine64_installer/json/opensuse.png] [[PinebookPro_Software_Release#OpenSUSE|'''OpenSUSE (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Q4OS}} http://files.pine64.org/sw/pine64_installer/json/q4os.png] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Armbian}} http://files.pine64.org/sw/pine64_installer/json/armbian.png] [[PinebookPro_Software_Release#Armbian|'''Armbian (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#NetBSD}} http://files.pine64.org/sw/pine64_installer/json/netbsd.png] [[PinebookPro_Software_Release#NetBSD|'''NetBSD (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Chropmium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Android_7.1_microSD}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_microSD|'''Android 7.1 (microSD Boot)''']] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [{{fullurl:PinebookPro_Software_Release#Android_7.1_eMMC}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_eMMC|'''Android 7.1 (eMMC)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Debian_Installer_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian_Installer_for_Pinebook_Pro|'''Debian Installer for Pinebook Pro''']]<br />
<br />
[{{fullurl:Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/gentoo.png]<br />
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Kali}} [[File:Kali.jpeg|125px]]] [[PinebookPro_Software_Release#Kali|'''Kali Script for Pinebook Pro (microSD and eMMC Boot)''']]<br />
<br />
=== Quick Links to OS Images Build Sources===<br />
'''Some of the provided OS images are still in <span style="color:#FF0000">beta or nightly build</span> and only fit for testing purposes. These images ought to be avoided for normal usage - use them at <span style="color:#FF0000">your own risk</span>'''<br />
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]<br />
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]<br />
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]<br />
<br />
== Keyboard ==<br />
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and trackpad 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, trackpad 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. <br />
<br />
The keyboard firmware binary can be flashed from userspace using the provided open source utility. <br />
<br />
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. <br />
<br />
=== Typing special characters ===<br />
The [[Wikipedia:British_and_American_keyboards#Other_keyboard_layouts|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. <br />
{| class="wikitable"<br />
!Character<br />
!Key combination/sequence<br />
|-<br />
|Ä, Ö, Ü, ä, ö, ü<br />
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]<br />
|-<br />
|µ<br />
|[AltGr]+[m]<br />
|-<br />
|Ø, ø<br />
|[AltGr]+[O], [AltGr]+[o]<br />
|-<br />
|@<br />
|[AltGr]+[q] (as on the German layout)<br />
|-<br />
|ß<br />
|[AltGr]+[s]<br />
|-<br />
|§<br />
|[AltGr]+[S]<br />
|-<br />
|°<br />
|[AltGr]+[)]<br />
|}<br />
<br />
=== Privacy Switches ===<br />
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:<br />
<br />
{| class="wikitable"<br />
|+ Privacy switch function and description<br />
! Combination<br />
! Effect<br />
! Description<br />
! Notes<br />
|-<br />
! scope=row | PINE64 logo key+F10<br />
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled<br />
|-<br />
! scope=row | PINE64 logo key+F11<br />
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled.<br />
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&pid=52645#pid52645 command line hack to bind/unbind]).<br />
|-<br />
! scope=row | PINE64 logo key+F12<br />
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled<br />
|}<br />
<br />
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''<br />
<br />
The keyboard uses special firmware that operates separately of the operating system. It detects if either the F10, F11 or F12 key, and the Pine key were pressed for 3 seconds. This disables the peripherals as listed above by cutting off their power. Which has the same result 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 a 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.<br />
<br />
== Trackpad ==<br />
The trackpad is large, smooth (metallic to-the-touch), and has two actuating buttons. It is the only component of the Pinebook Pro held in place with strong adhesive tape. It supports multi-touch functionality. <br />
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].<br />
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).<br />
<br />
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' <br />
<br />
Before you start:<br />
<br />
Please refer to original documentation for details.<br />
<br />
Your Pinebook Pro should be either fully charged or, preferably, running of mains. This utility will be writing chips on the keyboard and trackpad, so a loss of power during any stage of the update can result in irrecoverable damage to your trackpad or keyboard.<br />
<br />
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.<br />
<br />
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. <br />
FW update steps for both models are listed below. <br />
<br />
What you will need:<br />
<br />
*Your Pinebook Pro fully charged or running off of mains power<br />
*Connection to WiFi<br />
*An external USB keyboard & mouse. Or access to the Pinebebook Pro via SSH<br />
<br />
'''ISO Model''' <br />
<br />
From the terminal command line: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1 iso<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2 iso<br />
sudo reboot<br />
</pre><br />
<br />
----<br />
<br />
'''ANSI Model''' <br />
<br />
*<b>NOTE:</b> Running step-1 on the ansi keyboard model will make the keyboard and trackpad inaccessible until step-2 is run, so an external keyboard must be connected to complete the update on this model!<br />
<br />
From the terminal command line: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1 ansi<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2 ansi<br />
sudo reboot<br />
</pre><br />
When done, if some of the keys produce in-correct characters, please check your OSes' language settings. For ANSI users, the default OS shipped with English UK as the default language. You can change it to English US if desired.<br />
<br />
== Power Supply ==<br />
* Input Power: 5V DC @ 3A<br />
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack<br />
* USB-C 15W PD quickcharge<br />
* Only use one power input at a time, barrel jack OR USB-C<br />
<br />
== LEDs ==<br />
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: <br />
<br />
:1. The red LED next to the barrel-port indicates charging. It will illuminate when mains power is supplied to the Pinebook Pro from either the standard power supply unit or a USB-C smartphone charger.<br />
<br />
:2. The power indicator LED on the Pinebook Pro supports three different colours: green, amber and red. It is also capable of flashing/blinking to indicate activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). <br />
<br />
:3. The Num lock, green LED.<br />
<br />
:4. The Caps lock, green LED.<br />
<br />
(The Num and Caps lock LEDs have a secondary function. When the privacy switches get activated they blink to confirm that switch has been activated.)<br />
<br />
== Webcam ==<br />
* Streaming video resolutions supported, (un-compressed):<br />
** 320 x 240 <br />
** 640 x 480<br />
** 800 x 600<br />
** 1280 x 720<br />
** 1600 x 1200<br />
* Still frame resolutions supported:<br />
** 160 x 120<br />
** 176 x 144<br />
** 320 x 240<br />
** 352 x 288 <br />
** 640 x 480<br />
** 800 x 600<br />
** 1280 x 720<br />
** 1600 x 1200<br />
* Some people test with the application Cheese<br />
WIP<br />
<br />
== Microphones ==<br />
Some Pinebook Pro chassis have 2 microphone labeled holes. Only the right hole is populated with a microphone.<br />
<br />
== Bluetooth and WiFi ==<br />
WIP<br />
<br />
== LCD Panel ==<br />
* Model: BOE NV140FHM-N49<br />
* 14.0" (35.56cm) diagonal size<br />
* 1920x1080 resolution<br />
* 60hz refresh rate<br />
* IPS<br />
* 1000:1 contrast<br />
* 250nt brightness<br />
* 63% sRGB coverage<br />
* 6 bit colour<br />
* 30 pin eDP connection<br />
<br />
Some people have tested hardware video decode using the following;<br />
<pre>ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -</pre><br />
<br />
== External ports list ==<br />
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.<br />
* Left side<br />
** Barrel jack for power, (with LED)<br />
** USB 3, Type A<br />
** USB 3, Type C<br />
* Right side<br />
** USB 2, Type A<br />
** Standard headset jack<br />
** MicroSD card slot<br />
<br />
== Using the UART ==<br />
[[File:PBPUART.jpeg|400px|thumb|right|Headphone Jack UART wiring reference]]<br />
<br />
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 [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly proper disassembly and reassembly protocol]. The OFF position is towards the touchpad, the ON position is towards the display hinges.<br />
<br />
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.3v interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3v and 5v variants) to avoid damage to the CPU. <br />
<br />
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:<br />
<br />
<code><br />
$ lsusb<br />
</code><br />
<br />
you should find a line similar to this:<br />
<br />
<code><br />
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter<br />
</code><br />
<br />
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.<br />
<br />
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.<br />
<br />
Serial output should now be accessible using screen, picocom or minicom (and others).<br />
Examples:<br />
<br />
<code><br />
screen /dev/ttyUSB0 1500000<br />
<br />
picocom /dev/ttyUSB0 -b 1500000<br />
<br />
minicom -D /dev/ttyUSB0 -b 1500000</code><br />
<br />
Current versions of U-Boot do not use the UART for console output. The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.<br />
<br />
== Using the optional NVMe adapter ==<br />
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''' & '''M'''+'''B''' keyed devices, in both 2242 & 2280 physical sizes, the most common ones available. In addition, 2230 & 2260 are also supported, though NVMe devices that use those sizes are rare.<br />
<br />
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.<br />
<br />
=== Installing the adapter ===<br />
The v2.1 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.<br />
<br />
(If necessary, they can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)<br />
<br />
Actual installation instructions are a work in progress.<br />
<br />
Newer SSD adapters are becoming available, (2020/02/03). They have ribbon cables that meet the need without bending. However, it's un-certain as of today, if any newly placed orders will receive the newest SSD adapter.<br />
<br />
=== Post NVMe install power limiting ===<br />
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 at lower battery levels. And to reduce power used, to maintain battery life.<br />
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);<br />
<pre>$ sudo nvme id-ctrl /dev/nvme0<br />
NVME Identify Controller:<br />
...<br />
ps 0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0<br />
rwt:0 rwl:0 idle_power:- active_power:-<br />
ps 1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1<br />
rwt:1 rwl:1 idle_power:- active_power:-<br />
ps 2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2<br />
rwt:2 rwl:2 idle_power:- active_power:-<br />
ps 3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3<br />
rwt:3 rwl:3 idle_power:- active_power:-<br />
ps 4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4<br />
rwt:4 rwl:4 idle_power:- active_power:-<br />
<br />
$ sudo nvme get-feature /dev/nvme0 -f 2<br />
get-feature:0x2 (Power Management), Current value:00000000<br />
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s<br />
set-feature:02 (Power Management), value:0x000002</pre><br />
Some NVMe SSDs don't appear to allow saving the setting with "-s" option. In those cases, leave off the "-s" and use a startup script to set the non-default power state at boot.<br><br />
If you want to test performance without saving the new power setting semi-permanantly, then leave off the "-s" option.<br/><br />
<br/><br />
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving & transitions based on usage. To check if you have a NVMe SSD with this feature;<br />
<pre>$ sudo nvme get-feature -f 0x0c -H /dev/nvme0</pre><br />
Information for this feature, (on a Pinebook Pro), is a work in progress.<br />
<br />
=== Using as data drive ===<br />
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.<br />
<br />
=== Using as OS root drive ===<br />
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]]. This modified u-boot code has now also been added to Manjaro releases for the Pinebook Pro.<br />
<br />
The current boot order, per last testing, for this modified u-boot is:<br />
*microSD<br />
*eMMC<br />
*NVMe<br />
<br />
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&pid=53764#pid53764 the forum post.]<br />
<br />
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 <code>/boot</code> and <code>/</code> off the NVMe drive. So this may change in the future.)<br />
<br />
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].<br />
<br />
== Caring for the PineBook Pro ==<br />
=== Bypass Cables ===<br />
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 [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice]. <br />
<br />
WARNING: Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.<br />
<br />
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===<br />
<span style="color:#FF0000">Placeholder for Pinebook Pro specific guides</span><br />
<br />
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:<br />
<br />
'''Note: The installation process on Pinebook Pro similar to 14" Pinebook'''<br />
<br />
'''Note: The installation process is the reverse order of removal guide'''<br />
<br />
* 14″ Pinebook Lithium Battery Pack Removal Guide<br />
* 14″ Pinebook LCD Panel Screen Removal Guide<br />
* 14″ Pinebook eMMC Module Removal Guide<br />
<br />
== FAQ ==<br />
What cool software works out of the box? [[Pinebook Pro OTB Experience]]<br />
<br />
= Software tuning guide =<br />
Details on how to get the most out of a Pinebook Pro & its RK3399 SoC.<br />
<br />
== Customizing Pinebook Pro's factory OS ==<br />
Here are some hints on what you can do to customize the Pinebook Pro's factory image (aka [https://github.com/mrfixit2001/debian_desktop mrfixit2001 debian build])<br />
<br />
=== Initial user changes, password, name, etc ===<br />
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.<br />
<br />
* Reboot (this is just to ensure all background processes belong to the user are not running... there are other ways to achieve this but this way is easy)<br />
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal<br />
* Login as root (login: root, password: root)<br />
* Set a strong password for the root user using the following command and it's prompts:<br />
<pre># passwd (and follow prompts)</pre><br />
* Rename the rock user to your prefered username (replace myself with whatever you like):<br />
<pre># usermod -l myself -d /home/myself -m rock</pre><br />
* Rename the rock group to match your preferred username:<br />
<pre># groupmod -n myself rock</pre><br />
* Put your name in the account, (replace "John A Doe" with your name):<br />
<pre># chfn -f "John A Doe" myself</pre><br />
* Set a strong password for the normal user:<br />
<pre># passwd myself</pre><br />
* Log out of the text terminal:<br />
<pre># logout</pre><br />
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user<br />
* Open text terminal to fix login error: "Configured directory for incoming files does not exist";<br />
<pre>$ blueman-services</pre><br />
Select "Transfer" tab and set "Incoming Folder" to myself<br />
<br />
=== Changing the default hostname ===<br />
Debian 9 has a command to allow you to change the hostname. You can see the current settings using;<br />
<pre>> sudo hostnamectl<br />
Static hostname: Debian-Desktop<br />
Icon name: computer<br />
Machine ID: dccbddccbdccbdccbdccbdccbdccbccb<br />
Boot ID: ea99ea99ea99ea99ea99ea99ea99ea99<br />
Operating System: Debian GNU/Linux 9 (stretch)<br />
Kernel: Linux 4.4.210<br />
Architecture: arm64</pre><br />
To change, use this, (with "My_Hostname" used as the example);<br />
<pre>> sudo hostnamectl set-hostname My_Hostname</pre><br />
Whence done, you can re-verify using the first example.<br />
<br />
Then you should backup and edit your <code>/etc/hosts</code> entry's name;<br />
<pre>> sudo cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`<br />
> sudo vi /etc/hosts<br />
127.0.0.1 localhost<br />
127.0.0.1 My_Hostname<br />
::1 localhost ip6-localhost ip6-loopback<br />
fe00::0 ip6-localnet<br />
ff00::0 ip6-mcastprefix<br />
ff02::1 ip6-allnodes<br />
ff02::2 ip6-allrouters<br />
127.0.1.1 linaro-alip</pre><br />
<br />
=== Disable Chromium browser's prompt for passphrase & password storage ===<br />
<br />
Perform the following steps:<br />
<br />
* On the tool bar, hover over the Chromium icon<br />
* Using the right mouse button, select '''Properties'''<br />
* In the '''Command:''' line section, add <code>--password-store=basic</code> before the <code>%U</code><br />
* Use the '''x Close''' button to save the change<br />
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.<br />
<br />
=== Changing the boot splash picture ===<br />
<br />
The default boot splash picture can be replaced using the following instructions:<br />
<br />
* Install '''ImageMagick''' which will do the conversion<br />
<pre>$ sudo apt-get install imagemagick</pre><br />
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).<br />
* From the directory in which your new image is stored run the following commands<br />
* Convert your image to the bootsplash raw format using imagemagick convert.<br />
<pre>$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb</pre><br />
* Create a backup copy of your current splash screen<br />
<pre>$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb</pre><br />
* Copy your new splash screen into place<br />
<pre>$ sudo cp splash.fb /usr/share/backgrounds/splash.fb</pre><br />
* Set the correct permissions on the splash.fb file<br />
<pre>$ sudo chmod 644 /usr/share/backgrounds/splash.fb</pre><br />
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed<br />
<br />
=== Enabling text boot time messages ===<br />
<br />
By default most Linux distros have a boot screen with a picture. To see all the messages, use the following;<br />
<br />
* Backup and edit the U-Boot configuration file:<br />
<pre>cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`<br />
chmod a-w /etc/default/u-boot.`date +%Y%m%d`<br />
vi /etc/default/u-boot</pre><br />
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.<br />
* Update the U-Boot configuration:<br />
<pre>u-boot-update</pre><br />
* Test and verify you get what you think you should be seeing.<br />
<br />
== Chromium tweaks ==<br />
<br />
=== Flags ===<br />
<br />
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:<br />
<br />
<pre><br />
--disable-low-res-tiling \<br />
--num-raster-threads=6 \<br />
--profiler-timing=0 \<br />
--disable-composited-antialiasing \<br />
--test-type \<br />
--show-component-extension-options \<br />
--ignore-gpu-blacklist \<br />
--use-gl=egl \<br />
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \<br />
--ppapi-flash-version=32.0.0.255 \<br />
--enable-pinch \<br />
--flag-switches-begin \<br />
--enable-gpu-rasterization \<br />
--enable-oop-rasterization \<br />
--flag-switches-end<br />
</pre><br />
<br />
== X-Windows & trackpad tuning ==<br />
Some forum members have found that an adjustment to X-Windows will allow finer motion in the trackpad. Use this command to make the change live;<br />
<pre>synclient MinSpeed=0.25</pre><br />
You may experiment with different settings, but 0.25 was tested as helping noticably.<br><br />
<br><br />
To make the change persist across reboots, change the file <code>/etc/X11/xorg.conf</code> similar to below;<br />
<pre> Section "InputClass"<br />
Identifier "touchpad catchall"<br />
Driver "synaptics"<br />
MatchIsTouchpad "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "MinSpeed" "0.25"<br />
EndSection</pre><br />
The line <code>Option "MinSpeed" "0.25"</code> is the change.<br><br />
<br><br />
Another forum user built on the above settings a little, and have found these to be very good:<br />
<pre>synclient MinSpeed=0.25<br />
synclient FingerLow=30<br />
synclient PalmDetect=1<br />
synclient VertScrollDelta=64<br />
synclient HorizScrollDelta=64</pre><br />
<br />
<code>FingerLow</code> 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 not sure if synaptic works like this.<br />
You may find this config to be comfortable for daily use.<br />
<br><br />
<br />
== GVIM has performance issue ==<br />
It appears that using GTK3 can cause very slow scolling, while VIM in a terminal window works fine.<br/><br />
Simply revert back to using GTK2, (how to do so, is somewhat Linux distro specific).<br />
<br />
== Kernel options ==<br />
Here are some Pinebook Pro & its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.<br />
<br />
To see if a specific feature is enabled in the current kernel, you can use something like this;<br />
<br />
<pre><br />
$ zgrep -i rockchip_pcie /proc/config.gz<br />
# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set<br />
CONFIG_PHY_ROCKCHIP_PCIE=m<br />
</pre><br />
If it's listed as <code>=m</code>, then it's a module. You can see if the module is loaded with;<br />
<pre><br />
$ lsmod | grep -i rockchip_pcie<br />
phy_rockchip_pcie 16384 0<br />
</pre><br />
Note modules are not loaded until needed. Thus, we sometimes check the kernel configuration instead to see if a feature is configured first, then see if it's a module.<br />
<br />
=== Hardware video decoding ===<br />
Here is a method to check for hardware video decoding by the VPU. There are special Linux kernel modules that perform this function.<br><br />
The default Debian uses Rockchip supplied kernel module <code>rk-vcodec</code>. To check, something like this can be used;<br />
<pre><br />
$ lsmod | grep rk-vcodec<br />
or<br />
$ zgrep RK_VCODEC /proc/config.gz<br />
CONFIG_RK_VCODEC=y<br />
</pre><br />
Note that in the above example, the Rockchip video CODEC is not built as a module, but included into the kernel. Thus, it does not show up in the list modules check.<br><br />
<br><br />
Later kernels may use a different option in the configuration as below;<br />
<pre><br />
$ zgrep HANTRO /proc/config.gz<br />
CONFIG_VIDEO_HANTRO=m<br />
CONFIG_VIDEO_HANTRO_ROCKCHIP=y<br />
</pre><br />
&nbsp;<br><br />
<br />
= Troubleshooting guide =<br />
Tips, tricks and other information for troubleshooting your Pinebook Pro<br />
=== New from the factory - Pinebook Pro won't boot / power on ===<br />
* Some Pinebook Pros came from the factory with the eMMC switch in the disabled position. It should be switched towards the back / hinge to enable the eMMC.<br><br />
* The eMMC may have come loose during shipment. [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly Open] the back and verify that the eMMC is firmly seated.<br><br />
* You may want to try unplugging the SD card daughterboard ribbon cable and see if it powers on (remove the battery and peel off a bit of the tape before unplugging it to avoid damage). If it does, try reseating it on both sides. It might have come loose during shipping.<br />
* It's possible that your eMMC is empty from the factory. Simply create a bootable SD card and see if your Pinebook Pro boots. If so, you can then write an OS image to the eMMC.<br />
<br />
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===<br />
* This may happen if you meant to toggle the UART/Headphone switch (9) towards touchpad for headphone use and instead you toggled the eMMC enable/disable switch (24).<br />
* After reenabling eMMC by toggling switch (24) towards hinge, if Pinebook Pro does not turn on then press the RESET button (28). It is clearly marked 'reset' on the PCB board.<br />
<br />
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===<br />
* Closely inspect that the shielding is firmly seated in the clips on all sides. You can be seated in the clips on one axis, and have missed on an another axis.<br />
<br />
=== Pinebook Pro won't boot when using UART console cable ===<br />
* If you're using the UART cable sold on the Pine Store, you may want to see if it boots after you disconnect it. Some users report that custom-made cables based on FTDI UART adapters do not cause this issue.<br />
* Make sure your USB to serial UART device is 3.3v. Many are 5v and some even +-12v. Pinebook Pro's only support 3.3v and may act eratically when using higher voltage. Further, higher voltage could permananetly damage the Pinebook Pro's SoC.<br />
<br />
=== WiFi issues ===<br />
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]<br />
* Next, you may have to modify the <code>/etc/NetworkManager/NetworkManager.conf</code> as root user, and replace <code>managed=false</code> with <code>managed=true</code>. Then reboot.<br />
* For connections that drop and resume too often, it might be due to WiFi power management from earlier OS releases. Later OS releases either removed WiFi power management, or default to full power. (Power management can be turned off via command line with <code>iw dev wlan0 set power_save off</code> or <code>iwconfig wlan0 power off</code>, although it is not persistent through re-boot.)<br />
* If WiFi is un-usable or often crashes when using an alternate OS, then it might because its WiFi firmware is not appropriate for the WiFi chip in the Pinebook Pro. Try the latest firmware patch from [https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm]<br />
* After re-enabling WiFi via the privacy switch, you have to reboot to restore function. There is a work around for the default Debian, (and may work with others);<br />
&nbsp; &nbsp; &nbsp; &nbsp; <code>sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/{un,}bind <<< 'fe310000.dwmmc'</code><br />
<br />
=== Bluetooth issues ===<br />
* When connecting a Bluetooth device, such as a Bluetooth mouse, it does not automatically re-connect on re-boot. In the Bluetooth connection GUI, there is a yellow star for re-connect on boot. Use that button to enable a persistent connection. It can be changed back later.<br />
* Bluetooth-attached speakers or headset require the <b>pulseaudio-module-bluetooth</b> package. If not already installed, it can be installed with a package manager or with:<br><br />
<pre>sudo apt-get install pulseaudio-module-bluetooth</pre><br />
* When using Bluetooth-attached speakers or headset and 2.4Ghz WiFi at the same time, you may experience stuttering of the audio. One solution is to use 5Ghz WiFi if you can. Or you may try using a different 2.4Ghz channel, perhaps channel 1 or the top channel, (11 in the USA, or 13/14 in some other countries).<br />
<br />
=== Sound issues ===<br />
* Many reports of no sound are due to the OS, incorrect settings, or other software problems (eg. PulseAudio). So first test to see if it is a software or hardware problem, by trying another OS via SD card. (For example, if Debian is installed on the eMMC, try Ubuntu on SD.) <br />
* If you cannot get sound from the headphone jack, but can get sound from the speakers, then the headphone / UART console switch may be set to the UART mode. You can open the back and check the position of the switch. If set to UART mode, switch it to headphone mode. See the parts layout for the location and correct position of the switch.<br />
* When using the USB C alternate DisplayPort mode, it is possible that the audio has been re-directed through this path. If your monitor has speakers, then see if they work.<br />
* See this [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/asound.state /var/lib/alsa/asound.state] for some Alsa tweaks<br />
<br />
=== USB docks & USB C alternate mode video ===<br />
The Pinebook Pro uses the RK3399 SoC (System on a Chip). It supports a video pass through mode on the USB C port using DisplayPort alternate mode. This DisplayPort output comes from the same GPU used to display the built-in LCD. <br />
<br />
Here are some selection criteria for successfully using the USB C alternate mode for video:<br />
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.<br />
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.<br />
* If USB 3 is also desired from a USB dock, the maximum resolution, frame rate and pixel depth is reduced to half the bandwidth. For example, 4K @ 30hz instead of 60hz.<br />
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).<br />
<br />
=== Keys not registering / missing keys when typing ===<br />
This issue occurs when your thumb or edge of the palm makes contact with left or right tip of the trackpad when you type. This is due to the palm rejection firmware being too forceful. Instead of only disabling the trackpad, so your cursor does not move all over the screen, it disables both the trackpad and the keyboard.<br />
<br />
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.<br />
<br />
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.<br />
<br />
=== Key Mapping ===<br />
* See this [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/10-usb-kbd.hwdb /etc/udev/hwdb.d/10-usb-kbd.hwdb] for some key mapping tweaks<br />
<br />
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===<br />
This refers to the firmware update shown here:<br />
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
* If the system is not responding after the 1st reboot, it's might be easiest to do a system restore, and follow up by running the second step of the trackpad firmware update. <br />
* System restore https://forum.pine64.org/showthread.php?tid=8229<br />
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
<br />
=== ANSI Fn + F keys wrong for F9, F10, F11 and F12 ===<br />
There appears to be a minor firmware issue for ANSI keyboard models of the Pinebook Pro. Some discussion and fixes have been proposed;<br />
<br />
* Discussion thread [https://forum.pine64.org/showthread.php?tid=8744&pid=57678#pid57678 Fn + F keys screwy for F9, F10, F11 and F12]<br />
* Proposed fix [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater/issues/14#issuecomment-576825396 (ANSI) Fn + F(9-12) has wrong assignment after firmware update #14]<br />
&nbsp;<br><br />
<br />
=== After changing builtin LCD resolution, blank screen ===<br />
Some people find that the text or icons are too small, so they attempt to change the resolution of the built-in display. Afterwards, the display is blank.<br><br />
Use the following to fix this from a text console, (Control-Alt-F1 through F6). After listing the resolutions, select the native resolution, (1920x1080 aka 1080p). <br />
<pre>export DISPLAY=:0.0<br />
xrandr -q<br />
xrandr -s [resolution]</pre><br />
Once your resolution is restored, try using the Tweak app to set scaling, instead.<br />
<br />
= [[Pinebook_Pro_Hardware_Accessory_Compatibility|PineBookPro Hardware Compatibility]] =<br />
<br />
Please contribute to the hardware compatibility page, which lists hardware which has been tested with the PBP, whether successful or not!<br />
<br />
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]<br />
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]<br />
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]<br />
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]<br />
&nbsp;<br/><br />
&nbsp;<br />
<br />
= Technical Reference =<br />
== Accessing the Internals - Disassembly and Reassembly == <br />
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]<br />
<br />
'''WARNING:''' 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.<br />
<br />
'''WARNING:''' When removing the back cover plate, use care if sliding fingertips between back cover plate and palm rest assembly. The back cover plate edges are sharp.<br />
<br />
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. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.<br />
<br />
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. To reassemble the Pinebook Pro, slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the trackpad 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 2 short screws.<br />
<br />
NOTE: 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, 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, just let it be.<br />
<br />
Screw measurements in mm;<br />
<br />
Small screw<br />
<br />
Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1, Overall length - 3.05<br />
<br />
Long screw<br />
<br />
Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85<br />
<br />
== Pinebook Pro Internal Layout ==<br />
=== Main chips ===<br />
* RK3399 system-on-chip (1)<br />
* LPDDR4 SDRAM (21)<br />
* SPI NOR flash memory (29)<br />
* eMMC flash memory (26)<br />
* WiFi/BT module (27)<br />
<br />
=== Mainboard Switches and Buttons ===<br />
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. <br />
<br />
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). <br />
<br />
[[File:PBPL_S.jpg]]<br />
<br />
=== Key Internal Parts ===<br />
{| class="wikitable"<br />
|+ Numbered parts classification and description<br />
! Number<br />
! Type<br />
! Descriptor<br />
|-<br />
! scope=row | 1<br />
| Component || RK3399 System-On-Chip<br />
|-<br />
! scope=row | 2<br />
| Socket || PCIe 4X socket for optional NVMe adapter<br />
|-<br />
! scope=row | 3<br />
| Socket || Speakers socket<br />
|-<br />
! scope=row | 4<br />
| Socket || Trackpad socket<br />
|-<br />
! scope=row | 5<br />
| Component || Left speaker <br />
|-<br />
! scope=row | 6<br />
| Connector || Male power bridge connector <br />
|-<br />
! scope=row | 7<br />
| Socket || Keyboard Socket<br />
|-<br />
! scope=row | 8<br />
| Component || Optional NVMe SSD adapter<br />
|-<br />
! scope=row | 9<br />
| Switch || UART/Audio switch - outputs UART via headphone jack<br />
|-<br />
! scope=row | 10<br />
| Socket || Female power bridge socket<br />
|-<br />
! scope=row | 11<br />
| Socket || Battery socket<br />
|-<br />
! scope=row | 12<br />
| Component || Trackpad<br />
|-<br />
! scope=row | 13<br />
| Component || Battery<br />
|-<br />
! scope=row | 14<br />
| Component || Right speaker<br />
|-<br />
! scope=row | 15<br />
| Socket || MicroSD card slot<br />
|-<br />
! scope=row | 16<br />
| Socket || Headphone / UART jack<br />
|-<br />
! scope=row | 17<br />
| Socket || USB 2.0 Type A<br />
|-<br />
! scope=row | 18<br />
| Socket || Daughterboard-to-mainboard ribbon cable socket<br />
|-<br />
! scope=row | 19<br />
| Cable || Daughterboard-to-mainboard ribbon cable<br />
|-<br />
! scope=row | 20<br />
| Component || microphone<br />
|-<br />
! scope=row | 21<br />
| Component || LPDDR4 RAM<br />
|-<br />
! scope=row | 22<br />
| Socket || Mainboard-to-daughterboard ribbon cable socket<br />
|-<br />
! scope=row | 23<br />
| Socket || Microphone socket<br />
|-<br />
! scope=row | 24<br />
| Switch || Switch to hardware disable eMMC<br />
|-<br />
! scope=row | 25<br />
| Antenna || BT/WiFI antenna<br />
|-<br />
! scope=row | 26<br />
| Component || eMMC flash memory module <br />
|-<br />
! scope=row | 27<br />
| Component ||BT/WiFi module chip<br />
|-<br />
! scope=row | 28<br />
| Buttons || Reset and recovery buttons<br />
|-<br />
! scope=row | 29<br />
| Component || SPI flash storage<br />
|-<br />
! scope=row | 30<br />
| Socket || eDP LCD socket<br />
|-<br />
! scope=row | 31<br />
| Socket || Power in barrel socket<br />
|-<br />
! scope=row | 32<br />
| Socket || USB 3.0 Type A<br />
|-<br />
! scope=row | 33<br />
| Socket || USB 3.0 Type C <br />
|}<br />
<br />
== Bootable Storage ==<br />
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. <br />
<br />
At this time, the Pinebook Pro ships with a Debian + MATE build with [https://www.denx.de/wiki/U-Boot/ uboot] on the eMMC. Its boot order is: SD, then eMMC. Booting off USB storage is not currently available, but will be in the future.<br />
<br />
(An update has been pushed for the default Debian + MATE build that improves compatibility with booting other OSs 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.)<br />
<br />
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<br />
in a /boot partition on the eMMC.<br />
<br />
=== eMMC information ===<br />
The eMMC storage will show up as multiple block devices:<br />
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB<br />
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB<br />
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB<br />
*mmcblk1 - This block contains the user areas<br />
<br />
Only the last is usable as regular storage device in the Pinebook Pro.<br />
The device number of "1" shown above may vary, depending on kernel.<br />
<br />
=== Boot sequence details ===<br />
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.<br />
<br />
== Pinebook Pro Dimensions ==<br />
* Dimensions: 329mm x 220mm x 12mm (WxDxH)<br />
* Weight: 1.26Kg<br />
* Screws, estimated dimensions, (until we can get confirmation)<br />
** M2 flat head machine screws<br />
** 6 x 6mm in length<br />
** 4 x 4mm in length, (used along the front edge)<br />
<br />
== SoC and Memory Specification ==<br />
[[File:Rockchip_RK3399.png|right]]<br />
* Based on Rockchip RK3399<br />
<br />
=== CPU Architecture ===<br />
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU<br />
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)<br />
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation<br />
** ARMv8 Cryptography Extensions<br />
** VFPv4 floating point unit supporting single and double-precision operations<br />
** Hardware virtualization support<br />
** TrustZone technology support<br />
** Full CoreSight debug solution<br />
** One isolated voltage domain to support DVFS<br />
* Cortex-A72 (big cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]<br />
** Superscalar, variable-length, out-of-order pipeline<br />
** L1 cache 48KB Icache and 32KB Dcache for each A72 <br />
** L2 cache 1024KB for big cluster <br />
* Cortex-A53 (little cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]<br />
** In-order pipeline with symmetric dual-issue of most instructions <br />
** L1 cache 32KB Icache and 32KB Dcache for each A53<br />
** L2 cache 512KB for little cluster<br />
* Cortex-M0 (control processors):<br />
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]<br />
** Two Cortex-M0 cooperate with the central processors<br />
** Architecture: Armv6-M<br />
** Thumb/Thumb2 instruction set<br />
** 32 bit only<br />
<br />
=== GPU Architecture ===<br />
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]<br />
* 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.<br />
* Frequency 650MHz <br />
* Throughput 1300Mtri/s, 10.4Gpix/s <br />
* OpenGL® ES 1.1, 1.2, 2.0, 3.1, 3.2., Vulkan 1.0*., OpenCL™ 1.1, 1.2., DirectX® 11 FL11_1., RenderScript™.<br />
<br />
=== System Memory ===<br />
* RAM Memory:<br />
** LPDDR4<br />
** Dual memory channels on the CPU, each 32 bits wide<br />
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel<br />
** 4GB as a single 366 pin mobile RAM chip<br />
* Storage Memory: <br />
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)<br />
** eMMC version 5.1, HS400, 8 bit on RK3399 side<br />
<br />
=== Video out ===<br />
* USB-C Alt mode DP<br />
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)<br />
<br />
=== Expansion Ports ===<br />
* MicroSD card:<br />
** Bootable<br />
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.<br />
** Version SD3.0, (MMC 4.5), up to 50MB/s<br />
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS<br />
* USB ports:<br />
** 1 x USB 2.0 Type-A Host Port, bootable<br />
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable<br />
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable<br />
** 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.<br />
* Headphone jack switchable to UART console mux circuit<br />
<br />
== Additional hardware ==<br />
Hardware that is not part of the SoC.<br />
<br />
=== Battery ===<br />
* Lithium Polymer Battery (10,000 mAH)<br />
<br />
=== Display ===<br />
* 14.0" 1920x1080 IPS LCD panel<br />
<br />
=== Audio ===<br />
* 3.5mm stereo earphone/microphone plug<br />
* Built-in stereo speakers:<br />
** Oval in design<br />
** 3 mm high x 20 mm x 30 mm<br />
<br />
=== Network ===<br />
* WiFi:<br />
** 802.11 b/g/n/ac<br />
** Dual band: 2.4Ghz & 5Ghz<br />
** Single antenna<br />
* Bluetooth 5.0<br />
<br />
=== Optional NVMe adapter ===<br />
* PCIe 2.x, 5GT/s per lane<br />
* 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)<br />
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too<br />
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260<br />
* Power: 2.5W continuous, 8.25W peak momentary<br />
* Does not support SATA M.2 cards<br />
* Does not support USB M.2 cards<br />
<br />
== Pinebook Pro Schematics and Certifications ==<br />
* Pinebook Pro Main Board Schematic And Silkscreen:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]<br />
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]<br />
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]<br />
* Pinebook Pro Daughter Board Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]<br />
* Optional Pinebook Pro NVMe Adapter Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]<br />
* Serial Console Earphone Jack Pinout:<br />
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]<br />
* Pinebook Pro Case:<br />
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]<br />
* Pinebook Pro Certifications:<br />
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]<br />
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]<br />
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]<br />
<br />
== Datasheets for Components and Peripherals ==<br />
* Rockchip RK3399 SoC information:<br />
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]<br />
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]<br />
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]<br />
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]<br />
* LPDDR4 (366 Balls) SDRAM:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]<br />
* eMMC information:<br />
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]<br />
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]<br />
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]<br />
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]<br />
* SPI NOR Flash information:<br />
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]<br />
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]<br />
* Wireless related info:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]<br />
* Audio Codec (ES8316)<br />
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]<br />
* LCD Panel:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14" 1920x1080 IPS LCD Panel datasheet]<br />
* Internal USB 2 hub:<br />
** [https://wiki.pine64.org/images/3/39/GL850G_USB_Hub_1.07.pdf GL850G USB Hub 1.07.pdf]<br />
* Touchpad information:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]<br />
* Keyboard information:<br />
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]<br />
** US ANSI: XK-HS002 MB27716023<br />
* Full HD Camera sensor:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]<br />
* Lithium Battery information:<br />
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14" model]<br />
<br />
=Skinning and Case Customization=<br />
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.<br />
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]<br />
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]<br />
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]<br />
<br />
= Other Resources =<br />
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]<br />
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]<br />
* [[RockPro64 Guides]]<br />
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (No login required to read)<br />
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]<br />
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]<br />
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]<br />
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro_SPI&diff=4979Pinebook Pro SPI2020-02-10T21:29:27Z<p>Tophneal: /* Recovering from broken SPI flashes/installs */</p>
<hr />
<div><br />
== Writing to the Pinebook Pro SPI ==<br />
<br />
'''Necessary Items:'''<br />
<br />
1. A screwdriver<br />
2. USB Type-A to USB-C cable<br />
3. Another Computer with a USB-A 3.0 port<br />
*''Not a requirement but if you want to boot from nvme you need:''<br />
4. A bootable NVME (i.e., with /boot/boot.txt having root=/dev/whatever_your_nvme_is plus some operating system.<br />
<br />
'''Procedure:'''<br />
<br />
1. Build and install rkdeveloptool on your other computer, find out all the info to do that on [https://github.com/rockchip-linux/rkdeveloptool their Github.]<br />
<br />
2. Verify correct and successful installation:<br />
:<code>rkdeveloptool --version</code> should output: <code>rkdeveloptool ver 1.3</code><br />
3. On the same computer, make a directory to hold the necessary files.<br />
:<code>mkdir ~/PBPBoot</code><br />
<br />
:You will need to have two files in this directory:<br />
*The db flash helper([https://droppy.ironrobin.net/%24/JWP47 rk3399_loader_spinor_v1.15.114.bin]). This prepares the SPI for a binary.<br />
*The uboot, or other bootloader binary.<br />
<br />
'''Note: SPI binaries are built for SPI environment only. It will not work if you try putting it on your eMMC.'''<br />
<br />
:<code>mv rk3399_loader_spinor_v1.15.114.bin ~/PBPBoot</code><br />
:<code>mv dhiv_SPI_uboot.bin ~/PBPBoot</code><br />
:<code>cd ~/PBPBoot</code><br />
<br />
4. Put the Pinebook Pro into maskrom mode:<br />
*Plug the Type-A end into your non-Pinebook Pro device.<br />
*Plug the Type-C end into your Pinebook Pro.<br />
*Remove all bootable devices from your pinebook pro.<br />
5. Reboot the Pinebook Pro.<br />
:To verify you are in maskrom mode, with your computers connected, run <code>rkdeveloptool ld</code><br />
:You should get an output like this: '''DevNo=1 Vid=0x2207,Pid=0x330c,LocationID=1401 Maskrom'''<br />
6. Flash the flash helper db file.<br />
:<code>rkdeveloptool db rk3399_loader_spinor_v1.15.114.bin</code><br />
:Upon success, the output should read '''Downloading bootloader succeeded.'''<br />
7. Flash the new SPI binary.<br />
:<code>rkdeveloptool wl 0 dhiv_SPI_uboot.bin</code><br />
:Successful output should read: '''Write LBA from file (100%)'''.<br />
8. Test the installation.<br />
:<code>rkdeveloptool td</code><br />
:Successful output should read '''Reset Device OK'''.<br />
9. Run <code>rkdeveloptool rd</code> to reboot your Pinebook Pro.<br />
<br />
== Recovering from broken SPI flashes/installs ==<br />
<br />
If you accidentally soft brick your PBP there is special mode implemented called maskrom mode. In this mode the device is accessible as regular USB device and can be accessed using rkdeveloptools, especially to rewrite SPI flash or to erase it.<br />
<br />
According to Rockchip documentation it should be accessible following below procedure:<br />
<br />
1. Press and hold recovery button.<br><br />
2. Short press reset.<br><br />
3. Release recovery button after about 3 seconds.<br />
<br />
You may need to repeat these steps several times to successfully get into maskrom mode. The nature of this problem is not clear. There are two suspicions:<br />
<br />
*the button is not working correctly or is just prone to failures.<br />
*the problem occurs only when the SPI was previously flashed.<br />
<br />
The button works by shorting two pins in an SPI device. But in some cases it just does nothing. So if you experience such problem there is a way to overcome it. You can short the two pins by yourself.<br />
<br />
Procedure:<br />
<br />
1. Compile rkdeveloptools --> https://github.com/rockchip-linux/rkdeveloptool. <br><br />
2. Unscrew bottom cover.<br><br />
3. Remove the metal shield surrounding main CPU - it is held in place by a tape and micro clamps on pcb.<br><br />
4. Disconnect all (!!!) boot devices (emmc, sdcard, usb).<br><br />
5. Locate SPI flash (number 29 on picture with Pinebook Pro internals).<br><br />
6. Connect your PBP with USB-C - USB-A cable to another computer (PBP on USB-C side).<br><br />
7. Turn on pbp, short pins CLK and VSS and press reset. It should get your pbp into maskrom mode. (see picture)<br />
<br />
[[File:Spi.png]]<br />
<br />
== Zeroing out SPI Flash ==<br />
<br />
On another computer:<br />
<br />
1. Create a file filled with zeros<br><br />
<br />
<code>dd if=/dev/zero of=zerospi bs=1M count=16</code><br />
<br />
2. Write the file to SPI.<br><br />
<code><br />
rkdeveloptool db rk3399_loader_spinor_v1.15.114.bin<br><br />
rkdeveloptool wl 0 zerospi<br><br />
rkdeveloptool td<br><br />
rkdeveloptool rd<br><br />
</code></div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro_SPI&diff=4978Pinebook Pro SPI2020-02-10T20:20:39Z<p>Tophneal: /* Recovering from broken SPI flashes/installs */</p>
<hr />
<div><br />
== Writing to the Pinebook Pro SPI ==<br />
<br />
'''Necessary Items:'''<br />
<br />
1. A screwdriver<br />
2. USB Type-A to USB-C cable<br />
3. Another Computer with a USB-A 3.0 port<br />
*''Not a requirement but if you want to boot from nvme you need:''<br />
4. A bootable NVME (i.e., with /boot/boot.txt having root=/dev/whatever_your_nvme_is plus some operating system.<br />
<br />
'''Procedure:'''<br />
<br />
1. Build and install rkdeveloptool on your other computer, find out all the info to do that on [https://github.com/rockchip-linux/rkdeveloptool their Github.]<br />
<br />
2. Verify correct and successful installation:<br />
:<code>rkdeveloptool --version</code> should output: <code>rkdeveloptool ver 1.3</code><br />
3. On the same computer, make a directory to hold the necessary files.<br />
:<code>mkdir ~/PBPBoot</code><br />
<br />
:You will need to have two files in this directory:<br />
*The db flash helper([https://droppy.ironrobin.net/%24/JWP47 rk3399_loader_spinor_v1.15.114.bin]). This prepares the SPI for a binary.<br />
*The uboot, or other bootloader binary.<br />
<br />
'''Note: SPI binaries are built for SPI environment only. It will not work if you try putting it on your eMMC.'''<br />
<br />
:<code>mv rk3399_loader_spinor_v1.15.114.bin ~/PBPBoot</code><br />
:<code>mv dhiv_SPI_uboot.bin ~/PBPBoot</code><br />
:<code>cd ~/PBPBoot</code><br />
<br />
4. Put the Pinebook Pro into maskrom mode:<br />
*Plug the Type-A end into your non-Pinebook Pro device.<br />
*Plug the Type-C end into your Pinebook Pro.<br />
*Remove all bootable devices from your pinebook pro.<br />
5. Reboot the Pinebook Pro.<br />
:To verify you are in maskrom mode, with your computers connected, run <code>rkdeveloptool ld</code><br />
:You should get an output like this: '''DevNo=1 Vid=0x2207,Pid=0x330c,LocationID=1401 Maskrom'''<br />
6. Flash the flash helper db file.<br />
:<code>rkdeveloptool db rk3399_loader_spinor_v1.15.114.bin</code><br />
:Upon success, the output should read '''Downloading bootloader succeeded.'''<br />
7. Flash the new SPI binary.<br />
:<code>rkdeveloptool wl 0 dhiv_SPI_uboot.bin</code><br />
:Successful output should read: '''Write LBA from file (100%)'''.<br />
8. Test the installation.<br />
:<code>rkdeveloptool td</code><br />
:Successful output should read '''Reset Device OK'''.<br />
9. Run <code>rkdeveloptool rd</code> to reboot your Pinebook Pro.<br />
<br />
== Recovering from broken SPI flashes/installs ==<br />
<br />
If you accidentally soft brick your PBP there is special mode implemented called maskrom mode. In this mode the device is accessible as regular USB device and can be accessed using rkdevelop tools. Especially to rewrite SPI flash or to erase it.<br />
<br />
According to Rockchip documentation it should be accessible following below procedure:<br />
<br />
1. Press and hold recovery button.<br><br />
2. Short press reset.<br><br />
3. Release recovery button after about 3 seconds.<br />
<br />
Unfortunately it is not always the case. I had a clear SPI from factory and had to do this procedure trillion times to eventually get into maskrom mode. There is another person who had the same problems.<br />
<br />
The nature of this problem is not clear. There are two suspicions:<br />
<br />
*the button is not working correctly or is just prone to failures.<br><br />
*the problem occurs only when the SPI was previously flashed.<br />
<br />
One way or the other the button works by shorting two pins in an SPI device. But in some cases it just does nothing. So if you experience such problem there is a way to overcome it. You can short the two pins by yourself.<br />
<br />
Procedure:<br />
<br />
1. Compile rkdeveloptools --> https://github.com/rockchip-linux/rkdeveloptool. <br><br />
2. Unscrew bottom cover.<br><br />
3. Remove the metal shield surrounding main CPU - it is held in place by a tape and micro clamps on pcb.<br><br />
4. Disconnect all (!!!) boot devices (emmc, sdcard, usb).<br><br />
5. Locate SPI flash (number 29 on picture with Pinebook Pro internals).<br><br />
6. Connect your PBP with USB-C - USB-A cable to another computer (PBP on USB-C side).<br><br />
7. Turn on pbp, short pins CLK and VSS and press reset. It should get your pbp into maskrom mode. (see picture)<br />
<br />
[[File:Spi.png]]<br />
<br />
== Zeroing out SPI Flash ==<br />
<br />
On another computer:<br />
<br />
1. Create a file filled with zeros<br><br />
<br />
<code>dd if=/dev/zero of=zerospi bs=1M count=16</code><br />
<br />
2. Write the file to SPI.<br><br />
<code><br />
rkdeveloptool db rk3399_loader_spinor_v1.15.114.bin<br><br />
rkdeveloptool wl 0 zerospi<br><br />
rkdeveloptool td<br><br />
rkdeveloptool rd<br><br />
</code></div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro_SPI&diff=4976Pinebook Pro SPI2020-02-10T18:19:23Z<p>Tophneal: /* Recovering from broken SPI flashes/installs */</p>
<hr />
<div><br />
== Writing to the Pinebook Pro SPI ==<br />
<br />
'''Necessary Items:'''<br />
<br />
1. A screwdriver<br />
2. USB Type-A to USB-C cable<br />
3. Another Computer with a USB-A 3.0 port<br />
*''Not a requirement but if you want to boot from nvme you need:''<br />
4. A bootable NVME (i.e., with /boot/boot.txt having root=/dev/whatever_your_nvme_is plus some operating system.<br />
<br />
'''Procedure:'''<br />
<br />
1. Build and install rkdeveloptool on your other computer, find out all the info to do that on [https://github.com/rockchip-linux/rkdeveloptool their Github.]<br />
<br />
2. Verify correct and successful installation:<br />
:<code>rkdeveloptool --version</code> should output: <code>rkdeveloptool ver 1.3</code><br />
3. On the same computer, make a directory to hold the necessary files.<br />
:<code>mkdir ~/PBPBoot</code><br />
<br />
:You will need to have two files in this directory:<br />
*The db flash helper([https://droppy.ironrobin.net/%24/JWP47 rk3399_loader_spinor_v1.15.114.bin]). This prepares the SPI for a binary.<br />
*The uboot, or other bootloader binary.<br />
<br />
'''Note: SPI binaries are built for SPI environment only. It will not work if you try putting it on your eMMC.'''<br />
<br />
:<code>mv rk3399_loader_spinor_v1.15.114.bin ~/PBPBoot</code><br />
:<code>mv dhiv_SPI_uboot.bin ~/PBPBoot</code><br />
:<code>cd ~/PBPBoot</code><br />
<br />
4. Put the Pinebook Pro into maskrom mode:<br />
*Plug the Type-A end into your non-Pinebook Pro device.<br />
*Plug the Type-C end into your Pinebook Pro.<br />
*Remove all bootable devices from your pinebook pro.<br />
5. Reboot the Pinebook Pro.<br />
:To verify you are in maskrom mode, with your computers connected, run <code>rkdeveloptool ld</code><br />
:You should get an output like this: '''DevNo=1 Vid=0x2207,Pid=0x330c,LocationID=1401 Maskrom'''<br />
6. Flash the flash helper db file.<br />
:<code>rkdeveloptool db rk3399_loader_spinor_v1.15.114.bin</code><br />
:Upon success, the output should read '''Downloading bootloader succeeded.'''<br />
7. Flash the new SPI binary.<br />
:<code>rkdeveloptool wl 0 dhiv_SPI_uboot.bin</code><br />
:Successful output should read: '''Write LBA from file (100%)'''.<br />
8. Test the installation.<br />
:<code>rkdeveloptool td</code><br />
:Successful output should read '''Reset Device OK'''.<br />
9. Run <code>rkdeveloptool rd</code> to reboot your Pinebook Pro.<br />
<br />
== Recovering from broken SPI flashes/installs ==<br />
<br />
If you accidentally soft brick your PBP there is special mode implemented called maskrom mode. In this mode the device is accessible as regular USB device and can be accessed using rkdevelop tools. Especially to rewrite SPI flash or to erase it.<br />
<br />
According to Rockchip documentation it should be accessible following below procedure:<br />
<br />
1. Press and hold recovery button.<br><br />
2. Short press reset.<br><br />
3. Release recovery button after about 3 seconds.<br />
<br />
Unfortunately it is not always the case. I had a clear SPI from factory and had to do this procedure trillion times to eventually get into maskrom mode. There is another person who had the same problems.<br />
<br />
The nature of this problem is not clear. There are two suspicions:<br />
<br />
*the button is not working correctly or is just prone to failures.<br><br />
*the problem occurs only when the SPI was previously flashed.<br />
<br />
One way or the other the button works by shorting two pins in an SPI device. But in some cases it just does nothing. So if you experience such problem there is a way to overcome it. You can short the two pins by yourself.<br />
<br />
Procedure:<br />
<br />
1. Unscrew bottom cover.<br><br />
2. Remove the metal shield surrounding main CPU - it is held in place by a tape and micro clamps on pcb.<br><br />
3. Disconnect all (!!!) boot devices (emmc, sdcard, usb).<br><br />
4. Locate SPI flash (number 29 on picture with Pinebook Pro internals).<br><br />
5. Turn on pbp, short pins CLK and VSS and press reset. It should get your pbp into maskrom mode. (see picture)<br />
<br />
[[File:Spi.png]]</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro_SPI&diff=4940Pinebook Pro SPI2020-02-07T13:58:25Z<p>Tophneal: Created page with "== Writing to the Pinebook Pro SPI Flash == Placeholder text for instructions/procedure to flash the PBP SPI. == Recovering Pinebook Pro SPI Flash == Placeholder text for i..."</p>
<hr />
<div>== Writing to the Pinebook Pro SPI Flash ==<br />
<br />
Placeholder text for instructions/procedure to flash the PBP SPI.<br />
<br />
== Recovering Pinebook Pro SPI Flash ==<br />
<br />
Placeholder text for instructions/procedures to recover the PBP SPI after a failed flsh attempt.</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro_Hardware_Accessory_Compatibility&diff=4865Pinebook Pro Hardware Accessory Compatibility2020-01-31T17:28:41Z<p>Tophneal: /* NVMe SSD drives */</p>
<hr />
<div>= Pinebook Pro accessories - by type =<br />
<br />
This page was started in the early days when not all accessories/peripherals have been working<br />
<br />
== NVMe SSD drives ==<br />
Note that only PCIe type M.2 drives will work. Any SATA or USB type M.2 card will NOT work.<br />
{| class="wikitable sortable"<br />
!Type || Make/Model || Size || Hardware IDs || Result || Notes || Power options<br/>Active only || Save<br/>power<br/>setting?<br />
|-<br />
| 2242 || Toshiba OCZ RC 100 || 240 GB || RC100-M22242-240G || good || || ||<br />
|-<br />
| 2242 || Lexar NM520 || 256 GB || LNM520-256RBNA || good || || PS 0: 3.05W<br/>PS 1: 2.44W<br/>PS 2: 2.02W || No. See [https://forum.pine64.org/showthread.php?tid=8737&pid=56481#pid56481 workaround].<br />
|-<br />
| 2280 || XPS SX8200 || 512 GB || ASX8200PNP-512GT-C || good || Performed [https://forum.pine64.org/showthread.php?tid=8322 these] steps for physical installation. Currently rooting from drive. || ||<br />
|-<br />
| 2280 || Intel 660p M.2 || 512 GB || SSDPEKNW512G8X1 || good || || ||<br />
|-<br />
| 2280 || Intel 660p M.2 || 1 TB || SSDPEKNW010T8X1 || good || || PS 0: 4.00W<br/>PS 1: 3.00W<br/>PS 2: 2.20W<br/>APSTE Disabled by default || N/A<br />
|-<br />
| 2280 || Samsung 970 EVO Plus || 250 GB || MZ-V7S250BW || fail || Tested on Manjaro-ARM as root drive. Limited to PS 2 and Volatile Write Cache off gives the most stable results, but it will still hang on a hdparm test. || ||<br />
|-<br />
| 2280 || Samsung 970 EVO Plus || 500 GB || MZ-V7S500 || fail || too power hungry? || PS 0: 6.2W<br/>PS 1: 4.3W<br/>PS 2: 2.1W ||<br />
|-<br />
| 2280 || Samsung 970 EVO || 1 TB || MZ-V7E1T0BW || fail || too power hungry? || ||<br />
|-<br />
| 2280 || Corsair MP300 || 120 GB || || good || || ||<br />
|-<br />
| 2280 || Silicon Power P34A60 || 256 GB || ??? || fail || Isn't detected || ||<br />
|-<br />
| 2280 || Sabrent Rocket || 256 GB || SB-ROCKET-256 || good || || || no<br />
|-<br />
| 2242 || Sabrent Rocket Nano || 512 GB || SB-1342-512 || good || No touchpad issues, didn't trim NVME adapter board.<br/>(Might be too power hungry. More testing needed.) || ||<br />
|-<br />
| 2280 || MyDigitalSSD SBXe || 960 GB || || good || || APST enabled<br/>Power states N/A || N/A <br />
|-<br />
| 2280 || HP SSD EX900 || 250GB || || good || no low-power modes available || || <br />
|-<br />
| 2280 || WD BLUE SN550 || 1TB || WDC WDS100T2B0C-00PXH0 || good || Successed for boot from NVMe (Bionic MATE) || PS 0: 3.50W<br/>PS 1: 2.70W<br/>PS 2: 1.90W<br/>APSTE Disabled by default || N/A <br />
|-<br />
| 2280 || WD Blue SN500 || 500GB || WDS500G1B0C || bad || Works OK on power state 2 (2.5W), but hangs the system whenever there is intense IO (peak draw) on the drive || ||<br />
|-<br />
| 2242 || WD PC SN520 || 256GB || - || bad || Power LED Flashes. Nothing else happens. || ||<br />
|-<br />
|2280 || WD BLACK SN750 || 250GB || WDS250G3X0C-00SJG0 || good || No touchpad issues, didn't trim NVME adapter board. || APSTE disabled by default<br/> PS 0: 5.00W<br/>PS 1: 3.50W<br/>PS 2: 3.00W ||<br />
|-<br />
| 2242 || KingSpec NE-512 || 512 GB || NE512 || good || || APST enabled<br/>Power states N/A || N/A <br />
|<br />
|}<br />
<br />
== USB hardware ==<br />
{| class="wikitable sortable"<br />
!Type || Make/Model || Hardware IDs || Result || Notes<br />
|-<br />
|USB-2 SDHC reader || Sandisk MobileMate+ || 0781:b2b3 || good ||<br />
|-<br />
|USB-3 SDHC/CF reader || Transcend TS-RDF8K || 8564:4000 || good ||<br />
|-<br />
|USB-3 combo hub (network, card slots, usb ports) || generic || 05e3:0610 hub, 0bda:8153 gigE, 05e3:0743 card reader || network good, usb ports good, card reader good ||<br />
|-<br />
|USB-C combo hub (network, card slots, usb ports) || generic || 05e3:0612 hub, 0bda:8153 realtek gigE || network good, usb ports bad, card reader bad ||<br />
|-<br />
|5-1 USB-C hub || [https://www.aliexpress.com/item/32954358411.html from aliexpress] || 05e3:0626 hub || HDMI, Network, USB-3, USB-C PD [http://www.sympato.ch/~dryak/files/usbc-dock.jpg work] || might need changing orientation or USB-C cable <br />
|-<br />
|Yubikey original || Yubico || 1050:0010 || good ||<br />
|- <br />
|4 Port USB 3 NIC || Delock 62966 || || All good || 4 individually controllable Gigabit Ethernet Ports. Consider using it with own power supply<br />
|-<br />
|USB-2 Fast Ethernet adapter || Realtek RTL8152 || 0bda:8152 || good || <br />
|-<br />
|USB 3 to Gigabit Ethernet Adapter || Pluggable USB 3.0 to Ethernet Gigabit (ASIX AX88179 chipset) || 0b95:1790 || good ||<br />
|}<br />
<br />
== USB C alternate mode DP ==<br />
Note that only USB C alternate mode Display Port will pass video. Any HDMI, DVI or VGA port must be converted internally by the device from Display Port. Or the device won't work for video.<br />
{| class="wikitable sortable"<br />
!Type || Make/Model || Hardware IDs || Result || Notes<br />
|-<br />
|USB-C to HDMI adapter 201018 || Cable Matters || || good || tested to 1080p30, audio works<br />
|-<br />
|USB-C to HDMI adapter || generic || || good || tested to 4k60<br />
|-<br />
|USB-C to DP Adapter || OrxnQ || || good || Upto 4K@60Hz, tested to 1080p<br />
|-<br />
|USB-C HDMI adapter (DP-alt mode) || QGeeM || || Good || Manjaro 2020-01-25<br />
|-<br />
|USB-C combo hub (HDMI, network, card slots, USB ports) || generic || || all bad ||<br />
|-<br />
|USB-C combo hub (HDMI, VGA, Ethernet, card slots, USB 2 & 3 || Powlaken || 05e3:0610 0bda:8153 || USB, Power, Ethernet and SD good, HDMI and VGA don't work ||<br />
|-<br />
|USB-C Dock (HDMI, VGA, Ethernet, microSD/SD card slots, 2 USB 3 Ports, 1 USB-C Port, USB-Power Passthru || Digitus DA-70865 || || USB, Ethernet and MicroSD/SD good, video crashes System. || Tested on Manjaro w/ Kernel 5.5. You have to turn the USB-C connector upside down for it to work. Video seems to be a driver issue.<br />
|-<br />
|USB-C Dock (HDMI, VGA, Ethernet, microSD/SD card slots, 2 USB 3 Ports, 1 USB-C Port, USB-Power pass-through) || generic || || Ethernet and MicroSD/SD good, USB bad, video up to 1080p. || https://forum.pine64.org/showthread.php?tid=8728<br />
|- <br />
|USB-C Dock (DP, HDMI, 1Gbps Ethernet, SD card slot, 2 USB 3 Ports, USB-C power in port || goFanco || || DP, Ethernet & USB working, (HDMI & SD card un-tested). Video tested to 1080p || Tested on default Debian<br />
|-<br />
|USB-C Dock (HDMI, USB 3.0 x 2, USB-C PD Pass Thru Power Port Up to 100W, SD/TF Card Reader || Hiearcool 7-in-1 || || HDMI, USB, Power Port OK, SD/TF Reader=No || Default Debian <br />
|-<br />
|USB-C 3.0 Multi-Port Hub (HDMI, USB 3.0 x 1, USB-C charge only) || Linden LITCAD17 || || HDMI OK, USB OK, Power Port NO || Default Debian & ayufan Ubuntu<br />
|-<br />
|USB-C to DP adapter || Nekteck || 04b4:5210 || good || Shows up as "Cypress Semiconductor Corp. Billboard Device" in lsusb and dmesg output. Works in latest Manjaro (as of January 26, 2020) with no issues.<br />
|}<br />
<br />
== Other hardware ==<br />
{| class="wikitable sortable"<br />
!Type || Make/Model || Hardware IDs || Result || Notes <br />
|-<br />
|Bluetooth Mouse || HP Z5000 || E5C13AA || good || <br />
|-<br />
|Bluetooth Mouse || Logitech Triathlon M720 || || good ||<br />
|-<br />
|Bluetooth Mouse || Logitech Ultra-Thin Touch Mouse || || good || detects battery level as "keyboard"<br />
|-<br />
|Bluetooth Mouse || Logitech MX Anywhere 2 || || good || <br />
|-<br />
|Bluetooth Mouse || Logitech M535 || 910-004432 || good || <br />
|-<br />
|Bluetooth Mouse || Microsoft Bluetooth Mouse || RJN-00002 || good || <br />
|-<br />
|Bluetooth Mouse || Fenifox low profile || MX106-Black || good ||<br />
|-<br />
|Bluetooth Speaker || Ivation Acoustix || || good || audio sink profile<br />
|-<br />
|Headphone || Sony WH-1000XM2 || || just tested playback, good || Needs pulseaudio-module-bluetooth <br />
|-<br />
|[https://www.aliexpress.com/item/32831647303.html USB charging cable] || - || - || charges || got the cable a while back so may not be identical to current product<br />
|-<br />
|USB Audio & Bluetooth Headset || Sony SBH90C || || good || Works well connected via USB Type-C and Bluetooth. <br />
|-<br />
|SD Card || Samsung Evo Select 512GB || MB-ME512GA/AM || good || <br />
|-<br />
|SD Card || Samsung Evo Plus 64GB || || good || hdparm tested 44MBps read speads<br />
|-<br />
|SD Card || Sandisk Ultra 400GB || || good || Works fine as a storage extension. Mounted for pictures, etc.<br />
|-<br />
|}</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro_Hardware_Accessory_Compatibility&diff=4864Pinebook Pro Hardware Accessory Compatibility2020-01-31T17:10:38Z<p>Tophneal: /* NVMe SSD drives */</p>
<hr />
<div>= Pinebook Pro accessories - by type =<br />
<br />
This page was started in the early days when not all accessories/peripherals have been working<br />
<br />
== NVMe SSD drives ==<br />
Note that only PCIe type M.2 drives will work. Any SATA or USB type M.2 card will NOT work.<br />
{| class="wikitable sortable"<br />
!Type || Make/Model || Size || Hardware IDs || Result || Notes || Power options<br/>Active only || Save<br/>power<br/>setting?<br />
|-<br />
| 2242 || Toshiba OCZ RC 100 || 240 GB || RC100-M22242-240G || good || || ||<br />
|-<br />
| 2242 || Lexar NM520 || 256 GB || LNM520-256RBNA || good || || PS 0: 3.05W<br/>PS 1: 2.44W<br/>PS 2: 2.02W || No. See [https://forum.pine64.org/showthread.php?tid=8737&pid=56481#pid56481 workaround].<br />
|-<br />
| 2280 || XPS SX8200 || 512 GB || ASX8200PNP-512GT-C || good || Performed [https://forum.pine64.org/showthread.php?tid=8322 these] steps for physical installation. Currently rooting from drive. || ||<br />
|-<br />
| 2280 || Intel 660p M.2 || 512 GB || SSDPEKNW512G8X1 || good || || ||<br />
|-<br />
| 2280 || Intel 660p M.2 || 1 TB || SSDPEKNW010T8X1 || good || || PS 0: 4.00W<br/>PS 1: 3.00W<br/>PS 2: 2.20W<br/>APSTE Disabled by default || N/A<br />
|-<br />
| 2280 || Samsung 970 EVO Plus || 250 GB || MZ-V7S250BW || fail || Tested on Manjaro-ARM as root drive. Limited to PS 2 and Volatile Write Cache off gives the most stable results, but it will still hang on a hdparm test. || ||<br />
|-<br />
| 2280 || Samsung 970 EVO Plus || 500 GB || MZ-V7S500 || fail || too power hungry? || PS 0: 6.2W<br/>PS 1: 4.3W<br/>PS 2: 2.1W ||<br />
|-<br />
| 2280 || Samsung 970 EVO || 1 TB || MZ-V7E1T0BW || fail || too power hungry? || ||<br />
|-<br />
| 2280 || Corsair MP300 || 120 GB || || good || || ||<br />
|-<br />
| 2280 || Silicon Power P34A60 || 256 GB || ??? || fail || Isn't detected || ||<br />
|-<br />
| 2280 || Sabrent Rocket || 256 GB || SB-ROCKET-256 || good || || || no<br />
|-<br />
| 2242 || Sabrent Rocket Nano || 512 GB || SB-1342-512 || good || No touchpad issues, didn't trim NVME adapter board.<br/>(Might be too power hungry. More testing needed.) || ||<br />
|-<br />
| 2280 || MyDigitalSSD SBXe || 960 GB || || good || || APST enabled<br/>Power states N/A || N/A <br />
|-<br />
| 2280 || HP SSD EX900 || 250GB || || good || no low-power modes available || || <br />
|-<br />
| 2280 || WD BLUE SN550 || 1TB || WDC WDS100T2B0C-00PXH0 || good || Successed for boot from NVMe (Bionic MATE) || PS 0: 3.50W<br/>PS 1: 2.70W<br/>PS 2: 1.90W<br/>APSTE Disabled by default || N/A <br />
|-<br />
| 2280 || WD Blue SN500 || 500GB || WDS500G1B0C || bad || Works OK on power state 2 (2.5W), but hangs the system whenever there is intense IO (peak draw) on the drive || ||<br />
|-<br />
| 2242 || WD PC SN520 || 256GB || - || bad || Power LED Flashes. Nothing else happens. || ||<br />
|-<br />
|2280 || WD BLACK SN750 || 250GB || WDS250G3X0C-00SJG0 || good || No touchpad issues, didn't trim NVME adapter board. || APSTE disabled by default<br/> PS 0: 5.00W<br/>PS 1: 3.50W<br/>PS 2: 3.00W ||<br />
|-<br />
| 2242 || KingSpec NE-512 || 512 GB || || good || || APST enabled<br/>Power states N/A || N/A <br />
|<br />
|}<br />
<br />
== USB hardware ==<br />
{| class="wikitable sortable"<br />
!Type || Make/Model || Hardware IDs || Result || Notes<br />
|-<br />
|USB-2 SDHC reader || Sandisk MobileMate+ || 0781:b2b3 || good ||<br />
|-<br />
|USB-3 SDHC/CF reader || Transcend TS-RDF8K || 8564:4000 || good ||<br />
|-<br />
|USB-3 combo hub (network, card slots, usb ports) || generic || 05e3:0610 hub, 0bda:8153 gigE, 05e3:0743 card reader || network good, usb ports good, card reader good ||<br />
|-<br />
|USB-C combo hub (network, card slots, usb ports) || generic || 05e3:0612 hub, 0bda:8153 realtek gigE || network good, usb ports bad, card reader bad ||<br />
|-<br />
|5-1 USB-C hub || [https://www.aliexpress.com/item/32954358411.html from aliexpress] || 05e3:0626 hub || HDMI, Network, USB-3, USB-C PD [http://www.sympato.ch/~dryak/files/usbc-dock.jpg work] || might need changing orientation or USB-C cable <br />
|-<br />
|Yubikey original || Yubico || 1050:0010 || good ||<br />
|- <br />
|4 Port USB 3 NIC || Delock 62966 || || All good || 4 individually controllable Gigabit Ethernet Ports. Consider using it with own power supply<br />
|-<br />
|USB-2 Fast Ethernet adapter || Realtek RTL8152 || 0bda:8152 || good || <br />
|-<br />
|USB 3 to Gigabit Ethernet Adapter || Pluggable USB 3.0 to Ethernet Gigabit (ASIX AX88179 chipset) || 0b95:1790 || good ||<br />
|}<br />
<br />
== USB C alternate mode DP ==<br />
Note that only USB C alternate mode Display Port will pass video. Any HDMI, DVI or VGA port must be converted internally by the device from Display Port. Or the device won't work for video.<br />
{| class="wikitable sortable"<br />
!Type || Make/Model || Hardware IDs || Result || Notes<br />
|-<br />
|USB-C to HDMI adapter 201018 || Cable Matters || || good || tested to 1080p30, audio works<br />
|-<br />
|USB-C to HDMI adapter || generic || || good || tested to 4k60<br />
|-<br />
|USB-C to DP Adapter || OrxnQ || || good || Upto 4K@60Hz, tested to 1080p<br />
|-<br />
|USB-C HDMI adapter (DP-alt mode) || QGeeM || || Good || Manjaro 2020-01-25<br />
|-<br />
|USB-C combo hub (HDMI, network, card slots, USB ports) || generic || || all bad ||<br />
|-<br />
|USB-C combo hub (HDMI, VGA, Ethernet, card slots, USB 2 & 3 || Powlaken || 05e3:0610 0bda:8153 || USB, Power, Ethernet and SD good, HDMI and VGA don't work ||<br />
|-<br />
|USB-C Dock (HDMI, VGA, Ethernet, microSD/SD card slots, 2 USB 3 Ports, 1 USB-C Port, USB-Power Passthru || Digitus DA-70865 || || USB, Ethernet and MicroSD/SD good, video crashes System. || Tested on Manjaro w/ Kernel 5.5. You have to turn the USB-C connector upside down for it to work. Video seems to be a driver issue.<br />
|-<br />
|USB-C Dock (HDMI, VGA, Ethernet, microSD/SD card slots, 2 USB 3 Ports, 1 USB-C Port, USB-Power pass-through) || generic || || Ethernet and MicroSD/SD good, USB bad, video up to 1080p. || https://forum.pine64.org/showthread.php?tid=8728<br />
|- <br />
|USB-C Dock (DP, HDMI, 1Gbps Ethernet, SD card slot, 2 USB 3 Ports, USB-C power in port || goFanco || || DP, Ethernet & USB working, (HDMI & SD card un-tested). Video tested to 1080p || Tested on default Debian<br />
|-<br />
|USB-C Dock (HDMI, USB 3.0 x 2, USB-C PD Pass Thru Power Port Up to 100W, SD/TF Card Reader || Hiearcool 7-in-1 || || HDMI, USB, Power Port OK, SD/TF Reader=No || Default Debian <br />
|-<br />
|USB-C 3.0 Multi-Port Hub (HDMI, USB 3.0 x 1, USB-C charge only) || Linden LITCAD17 || || HDMI OK, USB OK, Power Port NO || Default Debian & ayufan Ubuntu<br />
|-<br />
|USB-C to DP adapter || Nekteck || 04b4:5210 || good || Shows up as "Cypress Semiconductor Corp. Billboard Device" in lsusb and dmesg output. Works in latest Manjaro (as of January 26, 2020) with no issues.<br />
|}<br />
<br />
== Other hardware ==<br />
{| class="wikitable sortable"<br />
!Type || Make/Model || Hardware IDs || Result || Notes <br />
|-<br />
|Bluetooth Mouse || HP Z5000 || E5C13AA || good || <br />
|-<br />
|Bluetooth Mouse || Logitech Triathlon M720 || || good ||<br />
|-<br />
|Bluetooth Mouse || Logitech Ultra-Thin Touch Mouse || || good || detects battery level as "keyboard"<br />
|-<br />
|Bluetooth Mouse || Logitech MX Anywhere 2 || || good || <br />
|-<br />
|Bluetooth Mouse || Logitech M535 || 910-004432 || good || <br />
|-<br />
|Bluetooth Mouse || Microsoft Bluetooth Mouse || RJN-00002 || good || <br />
|-<br />
|Bluetooth Mouse || Fenifox low profile || MX106-Black || good ||<br />
|-<br />
|Bluetooth Speaker || Ivation Acoustix || || good || audio sink profile<br />
|-<br />
|Headphone || Sony WH-1000XM2 || || just tested playback, good || Needs pulseaudio-module-bluetooth <br />
|-<br />
|[https://www.aliexpress.com/item/32831647303.html USB charging cable] || - || - || charges || got the cable a while back so may not be identical to current product<br />
|-<br />
|USB Audio & Bluetooth Headset || Sony SBH90C || || good || Works well connected via USB Type-C and Bluetooth. <br />
|-<br />
|SD Card || Samsung Evo Select 512GB || MB-ME512GA/AM || good || <br />
|-<br />
|SD Card || Samsung Evo Plus 64GB || || good || hdparm tested 44MBps read speads<br />
|-<br />
|SD Card || Sandisk Ultra 400GB || || good || Works fine as a storage extension. Mounted for pictures, etc.<br />
|-<br />
|}</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro&diff=4592Pinebook Pro2020-01-15T14:42:21Z<p>Tophneal: /* Post NVMe install power limiting */</p>
<hr />
<div>= User Guide =<br />
== Introducing PineBook Pro == <br />
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]<br />
<br />
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]<br />
<br />
It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh capacity battery, and the modularity that only an open source project can deliver. <br />
<br />
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, and camera; and expandable storage via NVMe (PCIe 4x) with an optional adapter. <br />
<br />
The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1x micro SD card reader (bootable), 1x USB 2.0, 1x USB 3.0, 1x USB type C Host with DP 1.2 and power-in, PCIe 4x for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). <br />
<br />
The keyboard and trackpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.<br />
<br />
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. <br />
<br />
== Software and OS Image Downloads ==<br />
<br />
=== Default Debian MATE Desktop Quick Start ===<br />
<br />
The default Operating system that ships with the Pinebook Pro is Debian 9 with MATE desktop. It has been built by a community developer called MrFixIt2001, who can be reached on the PINE64 forum or in the chats. <br />
The newest release of the build can downloaded directly from [https://github.com/mrfixit2001/debian_desktop/releases MrFixIt2001's GitHub]. <br />
<br />
'''The default username and password is:'''<br />
* Username: rock <br />
* Password: rock<br />
<br />
You can change the default ''rock'' username and ''rock'' home directory by logging into root (credentials root/root) instead of the default 'rock' user and running the following in root terminal and substituting desired username for NewUser:<br />
[[File:UpdateScript.png|350px|thumb|right|Location of update script applet icon on stock Debian with MATE]]<br />
<pre><br />
usermod -l NewUser rock<br />
usermod -d /home/rock -m NewUser<br />
</pre><br />
<br />
Once you log back into your new user, Bluetooth will complain about no transfer folder location. To fix this open terminal and type:<br />
<pre><br />
blueman-services<br />
</pre><br />
<br />
From here, select incoming folder under the 'transfer' tab.<br />
<br />
The build includes a custom updater capable of updating uboot, the Linux kernel and numerous packages. The update script can be ran from both the userspace and the commandline. You will find a small 'Update Script' applet icon in the bottom panel, next to time and date applet. <br />
<br />
You can run the script from the terminal using:<br />
<pre><br />
sudo /usr/bin/mrfixit_update.sh <br />
</pre><br />
<br />
More information about the default OS build and version history can be found on the [https://forum.pine64.org/showthread.php?tid=7830 Default OS update log] PINE64 forum thread.<br />
<br />
=== [[Pinebook Pro_Software_Release|Pinebook Pro]] ===<br />
Under [[Pinebook Pro Software Release|'Pinebook Pro Software and OS Image Download Section']] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software. <br />
<br />
The list includes OS images and descriptions of:<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Debian_Desktop}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian Desktop|'''Debian Desktop (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_LXDE}} http://files.pine64.org/sw/pine64_installer/json/lxde.png] [[PinebookPro_Software_Release#Bionic LXDE|'''Bionic LXDE (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_Mate}} http://files.pine64.org/sw/pine64_installer/json/mate.png] [[PinebookPro_Software_Release#Bionic Mate|'''Bionic Mate (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Manjaro_ARM}} http://files.pine64.org/sw/pine64_installer/json/manjaro.png] [[PinebookPro_Software_Release#Manjaro ARM|'''Manjaro ARM (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Q4OS}} http://files.pine64.org/sw/pine64_installer/json/q4os.png] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Chropmium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Android_7.1_microSD}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_microSD|'''Android 7.1 (microSD Boot)''']] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [{{fullurl:PinebookPro_Software_Release#Android_7.1_eMMC}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_eMMC|'''Android 7.1 (eMMC)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Debian_Installer_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian_Installer_for_Pinebook_Pro|'''Debian Installer for Pinebook Pro''']]<br />
<br />
[{{fullurl:Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/gentoo.png]<br />
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]<br />
<br />
=== Quick Links to OS Images Build Sources===<br />
'''Some of the provided OS images are still in <span style="color:#FF0000">beta or nightly build</span> and only fit for testing purposes. These images ought to be avoided for normal usage - use them at <span style="color:#FF0000">your own risk</span>'''<br />
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]<br />
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]<br />
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]<br />
<br />
== Keyboard ==<br />
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and trackpad 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, trackpad 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. <br />
<br />
The keyboard firmware binary can be flashed from userspace using the provided open source utility. <br />
<br />
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. <br />
<br />
=== Typing special characters ===<br />
The [[Wikipedia:British_and_American_keyboards#Other_keyboard_layouts|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. <br />
{| class="wikitable"<br />
!Character<br />
!Key combination/sequence<br />
|-<br />
|Ä, Ö, Ü, ä, ö, ü<br />
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]<br />
|-<br />
|µ<br />
|[AltGr]+[m]<br />
|-<br />
|Ø, ø<br />
|[AltGr]+[O], [AltGr]+[o]<br />
|-<br />
|@<br />
|[AltGr]+[q] (as on the German layout)<br />
|-<br />
|ß<br />
|[AltGr]+[s]<br />
|-<br />
|§<br />
|[AltGr]+[S]<br />
|-<br />
|°<br />
|[AltGr]+[)]<br />
|}<br />
<br />
=== Privacy Switches ===<br />
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:<br />
<br />
{| class="wikitable"<br />
|+ Privacy switch function and description<br />
! Combination<br />
! Effect<br />
! Description<br />
! Notes<br />
|-<br />
! scope=row | PINE64 logo key+F10<br />
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled<br />
|-<br />
! scope=row | PINE64 logo key+F11<br />
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled.<br />
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&pid=52645#pid52645 command line hack to bind/unbind]).<br />
|-<br />
! scope=row | PINE64 logo key+F12<br />
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled<br />
|}<br />
<br />
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''<br />
<br />
The keyboard uses special firmware that operates separately of the operating system. It detects if either the F10, F11 or F12 key, and the Pine key were pressed for 3 seconds. This disables the peripherals as listed above by cutting off their power. Which has the same result 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 a 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.<br />
<br />
== Trackpad ==<br />
The trackpad is large, smooth (metallic to-the-touch), and has two actuating buttons. It is the only component of the Pinebook Pro held in place with strong adhesive tape. It supports multi-touch functionality. <br />
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].<br />
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).<br />
<br />
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' <br />
<br />
Before you start:<br />
<br />
Please refer to original documentation for details.<br />
<br />
Your Pinebook Pro should be either fully charged or, preferably, running of mains. This utility will be writing chips on the keyboard and trackpad, so a loss of power during any stage of the update can result in irrecoverable damage to your trackpad or keyboard.<br />
<br />
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.<br />
<br />
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. <br />
FW update steps for both models are listed below. <br />
<br />
What you will need:<br />
<br />
*Your Pinebook Pro fully charged or running off of mains power<br />
*Connection to WiFi<br />
*An external USB keyboard & mouse. Or access to the Pinebebook Pro via SSH<br />
<br />
'''ISO Model''' <br />
<br />
From the terminal command line: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1 iso<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2 iso<br />
sudo reboot<br />
</pre><br />
<br />
----<br />
<br />
'''ANSI Model''' <br />
<br />
*<b>NOTE:</b> Running step-1 on the ansi keyboard model will make the keyboard and trackpad inaccessible until step-2 is run, so an external keyboard must be connected to complete the update on this model!<br />
<br />
From the terminal command line: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1 ansi<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2 ansi<br />
sudo reboot<br />
</pre><br />
<br />
== Power Supply ==<br />
* Input Power: 5V DC @ 3A<br />
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack<br />
* USB-C 15W PD quickcharge<br />
* Only use one power input at a time, barrel jack OR USB-C<br />
<br />
== LEDs ==<br />
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: <br />
<br />
:1. The red LED next to the barrel-port indicates charging. It will illuminate when mains power is supplied to the Pinebook Pro from either the standard power supply unit or a USB-C smartphone charger.<br />
<br />
:2. The power indicator LED on the Pinebook Pro supports three different colours: green, amber and red. It is also capable of flashing/blinking to indicate activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). <br />
<br />
:3. The Num lock, green LED.<br />
<br />
:4. The Caps lock, green LED.<br />
<br />
(The Num and Caps lock LEDs have a secondary function. When the privacy switches get activated they blink to confirm that switch has been activated.)<br />
<br />
== Webcam ==<br />
* 1600 x 1200 maximum resolution<br />
* Some people test with the application Cheese<br />
WIP<br />
<br />
== Microphones ==<br />
Some Pinebook Pro chassis have 2 microphone labeled holes. Only the right hole is populated with a microphone.<br />
<br />
== Bluetooth and WiFi ==<br />
WIP<br />
<br />
== LCD Panel ==<br />
* Model: BOE NV140FHM-N49<br />
* 14.0" (35.56cm) diagonal size<br />
* 1920x1080 resolution<br />
* 60hz refresh rate<br />
* IPS<br />
* 1000:1 contrast<br />
* 250nt brightness<br />
* 63% sRGB coverage<br />
* 6 bit colour<br />
* 30 pin eDP connection<br />
<br />
== External ports list ==<br />
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.<br />
* Left side<br />
** Barrel jack for power, (with LED)<br />
** USB 3, Type A<br />
** USB 3, Type C<br />
* Right side<br />
** USB 2, Type A<br />
** Standard headset jack<br />
** MicroSD card slot<br />
<br />
== Using the UART ==<br />
[[File:PBPUART.jpeg|400px|thumb|right|Headphone Jack UART wiring reference]]<br />
<br />
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 [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly proper disassembly and reassembly protocol]. The OFF position is towards the touchpad, the ON position is towards the display hinges.<br />
<br />
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.3v interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3v and 5v variants) to avoid damage to the CPU. <br />
<br />
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:<br />
<br />
<code><br />
$ lsusb<br />
</code><br />
<br />
you should find a line similar to this:<br />
<br />
<code><br />
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter<br />
</code><br />
<br />
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.<br />
<br />
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.<br />
<br />
Serial output should now be accessible using screen, picocom or minicom (and others).<br />
Examples:<br />
<br />
<code><br />
screen /dev/ttyUSB0 1500000<br />
<br />
picocom /dev/ttyUSB0 -b 1500000<br />
<br />
minicom -D /dev/ttyUSB0 -b 1500000</code><br />
<br />
Current versions of U-Boot do not use the UART for console output. The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.<br />
<br />
== Using the optional NVMe adapter ==<br />
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 both 2242 & 2280 physical sizes, the most common ones available.<br />
<br />
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.<br />
<br />
=== Installing the adapter ===<br />
The v2.1 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.<br />
<br />
(If necessary, they can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)<br />
<br />
Actual installation instructions are a work in progress.<br />
<br />
=== Post NVMe install power limiting ===<br />
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 at lower battery levels. And to reduce power used, to maintain battery life.<br />
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);<br />
<pre>$ sudo nvme id-ctrl /dev/nvme0<br />
NVME Identify Controller:<br />
...<br />
ps 0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0<br />
rwt:0 rwl:0 idle_power:- active_power:-<br />
ps 1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1<br />
rwt:1 rwl:1 idle_power:- active_power:-<br />
ps 2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2<br />
rwt:2 rwl:2 idle_power:- active_power:-<br />
ps 3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3<br />
rwt:3 rwl:3 idle_power:- active_power:-<br />
ps 4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4<br />
rwt:4 rwl:4 idle_power:- active_power:-<br />
<br />
$ sudo nvme get-feature /dev/nvme0 -f 2<br />
get-feature:0x2 (Power Management), Current value:00000000<br />
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s<br />
set-feature:02 (Power Management), value:0x000002</pre><br />
If you want to test performance without saving the new power setting semi-permanantly, then leave off the "-s" option.<br />
<br />
=== Using as data drive ===<br />
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.<br />
<br />
=== Using as OS root drive ===<br />
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 SPI flash. This modified u-boot code has now also been added to Manjaro releases for the Pinebook Pro.<br />
<br />
The current boot order, per last testing, for this modified u-boot is:<br />
*microSD<br />
*eMMC<br />
*NVMe<br />
<br />
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&pid=53764#pid53764 the forum post.]<br />
<br />
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 <code>/boot</code> and <code>/</code> off the NVMe drive. So this may change in the future.)<br />
<br />
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].<br />
<br />
== Caring for the PineBook Pro ==<br />
=== Bypass Cables ===<br />
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 [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice]. <br />
<br />
WARNING: Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.<br />
<br />
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===<br />
<span style="color:#FF0000">Placeholder for Pinebook Pro specific guides</span><br />
<br />
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:<br />
<br />
'''Note: The installation process on Pinebook Pro similar to 14" Pinebook'''<br />
<br />
'''Note: The installation process is the reverse order of removal guide'''<br />
<br />
* 14″ Pinebook Lithium Battery Pack Removal Guide<br />
* 14″ Pinebook LCD Panel Screen Removal Guide<br />
* 14″ Pinebook eMMC Module Removal Guide<br />
<br />
== FAQ ==<br />
What cool software works out of the box? [[Pinebook Pro OTB Experience]]<br />
<br />
= Software tuning guide =<br />
Details on how to get the most out of a Pinebook Pro & its RK3399 SoC.<br />
<br />
== Customizing Pinebook Pro's factory OS ==<br />
Here are some hints on what you can do to customize the Pinebook Pro's factory image (aka [https://github.com/mrfixit2001/debian_desktop mrfixit2001 debian build])<br />
<br />
=== Initial user changes, password, name, etc... ===<br />
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.<br />
<br />
* Reboot (this is just to ensure all background processes belong to the user are not running... there are other ways to achieve this but this way is easy)<br />
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal<br />
* Login as root (login: root, password: root)<br />
* Set a strong password for the root user using the following command and it's prompts:<br />
<pre># passwd (and follow prompts)</pre><br />
* Rename the rock user to your prefered username (replace myself with whatever you like):<br />
<pre># usermod -l myself -d /home/myself -m rock</pre><br />
* Put your name in the account, (replace "John A Doe" with your name):<br />
<pre># chfn -o "John A Doe" myself</pre><br />
* Rename the rock group to match your preferred username:<br />
<pre># groupmod -n myself rock</pre><br />
* Set a strong password for the normal user:<br />
<pre># passwd myself</pre><br />
* Log out of the text terminal:<br />
<pre># logout</pre><br />
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user<br />
* Open text terminal to fix login error: "Configured directory for incoming files does not exist";<br />
<pre>$ blueman-services</pre><br />
Select "Transfer" tab and set "Incoming Folder" to myself<br />
<br />
=== Disable Chromium browser's prompt for passphrase & password storage ===<br />
<br />
Perform the following steps:<br />
<br />
* On the tool bar, hover over the Chromium icon<br />
* Using the right mouse button, select '''Properties'''<br />
* In the '''Command:''' line section, add <code>--password-store=basic</code> before the <code>%U</code><br />
* Use the '''x Close''' button to save the change<br />
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.<br />
<br />
=== Changing the boot splash picture ===<br />
<br />
The default boot splash picture can be replaced using the following instructions:<br />
<br />
* Install '''ImageMagick''' which will do the conversion<br />
<pre>$ sudo apt-get install imagemagick</pre><br />
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).<br />
* From the directory in which your new image is stored run the following commands<br />
* Convert your image to the bootsplash raw format using imagemagick convert.<br />
<pre>$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb</pre><br />
* Create a backup copy of your current splash screen<br />
<pre>$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb</pre><br />
* Copy your new splash screen into place<br />
<pre>$ sudo cp splash.fb /usr/share/backgrounds/splash.fb</pre><br />
* Set the correct permissions on the splash.fb file<br />
<pre>$ sudo chmod 644 /usr/share/backgrounds/splash.fb</pre><br />
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed<br />
<br />
<br />
== Chromium tweaks ==<br />
<br />
=== Flags ===<br />
<br />
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:<br />
<br />
<pre><br />
--disable-low-res-tiling \<br />
--num-raster-threads=6 \<br />
--profiler-timing=0 \<br />
--disable-composited-antialiasing \<br />
--test-type \<br />
--show-component-extension-options \<br />
--ignore-gpu-blacklist \<br />
--use-gl=egl \<br />
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \<br />
--ppapi-flash-version=32.0.0.255 \<br />
--enable-pinch \<br />
--flag-switches-begin \<br />
--enable-gpu-rasterization \<br />
--enable-oop-rasterization \<br />
--flag-switches-end<br />
</pre><br />
<br />
== Kernel options ==<br />
Here are some Pinebook Pro & its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.<br />
<br />
To see if a specific one is enabled, you can use something like this;<br />
<br />
<pre><br />
$ zgrep HANTRO /proc/config.gz<br />
CONFIG_VIDEO_HANTRO=m<br />
CONFIG_VIDEO_HANTRO_ROCKCHIP=y<br />
</pre><br />
<br />
=== Hardware video decoding ===<br />
To enable hardware video decoding by the VPU, the kernel options should have this:<br />
<br />
<pre><br />
CONFIG_VIDEO_HANTRO=m<br />
CONFIG_VIDEO_HANTRO_ROCKCHIP=y<br />
</pre><br />
<br />
= Troubleshooting guide =<br />
Tips, tricks and other information for troubleshooting your Pinebook Pro<br />
=== New from the factory - Pinebook Pro won't boot / power on ===<br />
* Some Pinebook Pros came from the factory with the eMMC switch in the disabled position. It should be switched towards the back / hinge to enable the eMMC.<br><br />
* The eMMC may have come loose during shipment. [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly Open] the back and verify that the eMMC is firmly seated.<br><br />
* You may want to try unplugging the SD card daughterboard ribbon cable and see if it powers on (remove the battery and peel off a bit of the tape before unplugging it to avoid damage). If it does, try reseating it on both sides. It might have come loose during shipping.<br />
* It's possible that your eMMC is empty from the factory. Simply create a bootable SD card and see if your Pinebook Pro boots. If so, you can then write an OS image to the eMMC.<br />
<br />
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===<br />
* This may happen if you meant to toggle the UART/Headphone switch (9) towards touchpad for headphone use and instead you toggled the eMMC enable/disable switch (24).<br />
* After reenabling eMMC by toggling switch (24) towards hinge, if Pinebook Pro does not turn on then press the RESET button (28). It is clearly marked 'reset' on the PCB board.<br />
<br />
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===<br />
* Closely inspect that the shielding is firmly seated in the clips on all sides. You can be seated in the clips on one axis, and have missed on an another axis.<br />
<br />
=== Pinebook Pro won't boot when using UART console cable ===<br />
* If you're using the UART cable sold on the Pine Store, you may want to see if it boots after you disconnect it. Some users report that custom-made cables based on FTDI UART adapters do not cause this issue.<br />
* Make sure your USB to serial UART device is 3.3v. Many are 5v and some even +-12v. Pinebook Pro's only support 3.3v and may act eratically when using higher voltage. Further, higher voltage could permananetly damage the Pinebook Pro's SoC.<br />
<br />
=== Keys not registering / missing keys when typing ===<br />
This issue occurs when your thumb or edge of the palm makes contact with left or right tip of the trackpad when you type. This is due to the palm rejection firmware being too forceful. Instead of only disabling the trackpad, so your cursor does not move all over the screen, it disables both the trackpad and the keyboard.<br />
<br />
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.<br />
<br />
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.<br />
<br />
=== WiFi issues ===<br />
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]<br />
* Next, you may have to modify the <code>/etc/NetworkManager/NetworkManager.conf</code> as root user, and replace <code>managed=false</code> with <code>managed=true</code>. Then reboot.<br />
* For connections that drop and resume too often, it might be due to WiFi power management from earlier OS releases. Later OS releases either removed WiFi power management, or default to full power. (Power management can be turned off via command line with <code>iw dev wlan0 set power_save off</code> or <code>iwconfig wlan0 power off</code>, although it is not persistent through re-boot.)<br />
* If WiFi is un-usable or often crashes when using an alternate OS, then it might because its WiFi firmware is not appropriate for the WiFi chip in the Pinebook Pro. Try the latest firmware patch from [https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm]<br />
<br />
=== Bluetooth issues ===<br />
* When connecting a Bluetooth device, such as a Bluetooth mouse, it does not automatically re-connect on re-boot. In the Bluetooth connection GUI, there is a yellow star for re-connect on boot. Use that button to enable a persistent connection. It can be changed back later.<br />
* Bluetooth-attached speakers or headset require the <b>pulseaudio-module-bluetooth</b> package. If not already installed, it can be installed with a package manager or with:<br><br />
<pre>sudo apt-get install pulseaudio-module-bluetooth</pre><br />
* When using Bluetooth-attached speakers or headset and 2.4Ghz WiFi at the same time, you may experience stuttering of the audio. One solution is to use 5Ghz WiFi if you can. Or you may try using a different 2.4Ghz channel, perhaps channel 1 or the top channel, (11 in the USA, or 13/14 in some other countries).<br />
<br />
=== Sound issues ===<br />
* Many reports of no sound are due to the OS, incorrect settings, or other software problems (eg. PulseAudio). So first test to see if it is a software or hardware problem, by trying another OS via SD card. (For example, if Debian is installed on the eMMC, try Ubuntu on SD.) <br />
* If you cannot get sound from the headphone jack, but can get sound from the speakers, then the headphone / UART console switch may be set to the UART mode. You can open the back and check the position of the switch. If set to UART mode, switch it to headphone mode. See the parts layout for the location and correct position of the switch.<br />
* When using the USB C alternate DisplayPort mode, it is possible that the audio has been re-directed through this path. If your monitor has speakers, then see if they work.<br />
* See this [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/asound.state /var/lib/alsa/asound.state] for some Alsa tweaks<br />
<br />
=== USB docks & USB C alternate mode video ===<br />
The Pinebook Pro uses the RK3399 SoC (System on a Chip). It supports a video pass through mode on the USB C port using DisplayPort alternate mode. This DisplayPort output comes from the same GPU used to display the built-in LCD. <br />
<br />
Here are some selection criteria for successfully using the USB C alternate mode for video:<br />
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.<br />
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.<br />
* If USB 3 is also desired from a USB dock, the maximum resolution, frame rate and pixel depth is reduced to half the bandwidth. For example, 4K @ 30hz instead of 60hz.<br />
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).<br />
<br />
=== Key Mapping ===<br />
* See this [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/10-usb-kbd.hwdb /etc/udev/hwdb.d/10-usb-kbd.hwdb] for some key mapping tweaks<br />
<br />
<br />
=== Accessory Hardware Compatibility ===<br />
<br />
Please contribute to the following page which lists hardware which has been tested with the PBP, whether successful or not!<br />
<br />
* [[PBP_HW_Compatibiity|PineBookPro Hardware Compatibility]]<br />
<br />
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===<br />
This refers to the firmware update shown here:<br />
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
* If the system is not responding after the 1st reboot, it's might be easiest to do a system restore, and follow up by running the second step of the trackpad firmware update. <br />
* System restore https://forum.pine64.org/showthread.php?tid=8229<br />
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
<br />
= Technical Reference =<br />
== Accessing the Internals - Disassembly and Reassembly == <br />
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]<br />
<br />
'''WARNING:''' 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.<br />
<br />
'''WARNING:''' When removing the back cover plate, use care if sliding fingertips between back cover plate and palm rest assembly. The back cover plate edges are sharp.<br />
<br />
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. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.<br />
<br />
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. To reassemble the Pinebook Pro, slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the trackpad 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 2 short screws.<br />
<br />
NOTE: 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, 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, just let it be.<br />
<br />
== Pinebook Pro Internal Layout ==<br />
=== Main chips ===<br />
* RK3399 system-on-chip (1)<br />
* LPDDR4 SDRAM (21)<br />
* SPI NOR flash memory (29)<br />
* eMMC flash memory (26)<br />
* WiFi/BT module (27)<br />
<br />
=== Mainboard Switches and Buttons ===<br />
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. <br />
<br />
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). <br />
<br />
[[File:PBPL_S.jpg]]<br />
<br />
=== Key Internal Parts ===<br />
{| class="wikitable"<br />
|+ Numbered parts classification and description<br />
! Number<br />
! Type<br />
! Descriptor<br />
|-<br />
! scope=row | 1<br />
| Component || RK3399 System-On-Chip<br />
|-<br />
! scope=row | 2<br />
| Socket || PCIe 4X socket for optional NVMe adapter<br />
|-<br />
! scope=row | 3<br />
| Socket || Speakers socket<br />
|-<br />
! scope=row | 4<br />
| Socket || Trackpad socket<br />
|-<br />
! scope=row | 5<br />
| Component || Left speaker <br />
|-<br />
! scope=row | 6<br />
| Connector || Male power bridge connector <br />
|-<br />
! scope=row | 7<br />
| Socket || Keyboard Socket<br />
|-<br />
! scope=row | 8<br />
| Component || Optional NVMe SSD adapter<br />
|-<br />
! scope=row | 9<br />
| Switch || UART/Audio switch - outputs UART via headphone jack<br />
|-<br />
! scope=row | 10<br />
| Socket || Female power bridge socket<br />
|-<br />
! scope=row | 11<br />
| Socket || Battery socket<br />
|-<br />
! scope=row | 12<br />
| Component || Trackpad<br />
|-<br />
! scope=row | 13<br />
| Component || Battery<br />
|-<br />
! scope=row | 14<br />
| Component || Right speaker<br />
|-<br />
! scope=row | 15<br />
| Socket || MicroSD card slot<br />
|-<br />
! scope=row | 16<br />
| Socket || Headphone / UART jack<br />
|-<br />
! scope=row | 17<br />
| Socket || USB 2.0 Type A<br />
|-<br />
! scope=row | 18<br />
| Socket || Daughterboard-to-mainboard ribbon cable socket<br />
|-<br />
! scope=row | 19<br />
| Cable || Daughterboard-to-mainboard ribbon cable<br />
|-<br />
! scope=row | 20<br />
| Component || microphone<br />
|-<br />
! scope=row | 21<br />
| Component || LPDDR4 RAM<br />
|-<br />
! scope=row | 22<br />
| Socket || Mainboard-to-daughterboard ribbon cable socket<br />
|-<br />
! scope=row | 23<br />
| Socket || Microphone socket<br />
|-<br />
! scope=row | 24<br />
| Switch || Switch to hardware disable eMMC<br />
|-<br />
! scope=row | 25<br />
| Antenna || BT/WiFI antenna<br />
|-<br />
! scope=row | 26<br />
| Component || eMMC flash memory module <br />
|-<br />
! scope=row | 27<br />
| Component ||BT/WiFi module chip<br />
|-<br />
! scope=row | 28<br />
| Buttons || Reset and recovery buttons<br />
|-<br />
! scope=row | 29<br />
| Component || SPI flash storage<br />
|-<br />
! scope=row | 30<br />
| Socket || eDP LCD socket<br />
|-<br />
! scope=row | 31<br />
| Socket || Power in barrel socket<br />
|-<br />
! scope=row | 32<br />
| Socket || USB 3.0 Type A<br />
|-<br />
! scope=row | 33<br />
| Socket || USB 3.0 Type C <br />
|}<br />
<br />
== Bootable Storage ==<br />
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. <br />
<br />
At this time, the Pinebook Pro ships with a Debian + MATE build with [https://www.denx.de/wiki/U-Boot/ uboot] on the eMMC. Its boot order is: SD, then eMMC. Booting off USB storage is not currently available, but will be in the future.<br />
<br />
(An update has been pushed for the default Debian + MATE build that improves compatibility with booting other OSs 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.)<br />
<br />
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<br />
in a /boot partition on the eMMC.<br />
<br />
=== eMMC information ===<br />
The eMMC storage will show up as multiple block devices:<br />
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB<br />
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB<br />
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB<br />
*mmcblk1 - This block contains the user areas<br />
<br />
Only the last is usable as regular storage device in the Pinebook Pro.<br />
The device number of "1" shown above may vary, depending on kernel.<br />
<br />
=== Boot sequence details ===<br />
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.<br />
<br />
== Pinebook Pro Dimensions ==<br />
* Dimensions: 329mm x 220mm x 12mm (WxDxH)<br />
* Weight: 1.26Kg<br />
<br />
== SoC and Memory Specification ==<br />
[[File:Rockchip_RK3399.png|right]]<br />
* Based on Rockchip RK3399<br />
<br />
=== CPU Architecture ===<br />
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU<br />
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)<br />
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation<br />
** ARMv8 Cryptography Extensions<br />
** VFPv4 floating point unit supporting single and double-precision operations<br />
** Hardware virtualization support<br />
** TrustZone technology support<br />
** Full CoreSight debug solution<br />
** One isolated voltage domain to support DVFS<br />
* Cortex-A72 (big cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]<br />
** Superscalar, variable-length, out-of-order pipeline<br />
** L1 cache 48KB Icache and 32KB Dcache for each A72 <br />
** L2 cache 1024KB for big cluster <br />
* Cortex-A53 (little cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]<br />
** In-order pipeline with symmetric dual-issue of most instructions <br />
** L1 cache 32KB Icache and 32KB Dcache for each A53<br />
** L2 cache 512KB for little cluster<br />
* Cortex-M0 (control processors):<br />
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]<br />
** Two Cortex-M0 cooperate with the central processors<br />
** Architecture: Armv6-M<br />
** Thumb/Thumb2 instruction set<br />
** 32 bit only<br />
<br />
=== GPU Architecture ===<br />
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]<br />
* 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.<br />
* Frequency 650MHz <br />
* Throughput 1300Mtri/s, 10.4Gpix/s <br />
* OpenGL® ES 1.1, 1.2, 2.0, 3.1, 3.2., Vulkan 1.0*., OpenCL™ 1.1, 1.2., DirectX® 11 FL11_1., RenderScript™.<br />
<br />
=== System Memory ===<br />
* RAM Memory:<br />
** LPDDR4<br />
** Dual memory channels on the CPU, each 32 bits wide<br />
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel<br />
** 4GB as a single 366 pin mobile RAM chip<br />
* Storage Memory: <br />
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)<br />
** eMMC version 5.1, HS400, 8 bit on RK3399 side<br />
<br />
=== Battery ===<br />
* Lithium Polymer Battery (10,000 mAH)<br />
<br />
=== Display ===<br />
* 14.0" 1920x1080 IPS LCD panel<br />
<br />
=== Video out ===<br />
* USB-C Alt mode DP<br />
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)<br />
<br />
=== Audio ===<br />
* 3.5mm stereo earphone/microphone plug<br />
* Build in stereo speakers<br />
<br />
=== Network ===<br />
* WiFi:<br />
** 802.11 b/g/n/ac<br />
** Dual band: 2.4Ghz & 5Ghz<br />
** Single antenna<br />
* Bluetooth 5.0<br />
<br />
=== Expansion Ports ===<br />
* MicroSD card:<br />
** Bootable<br />
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.<br />
** Version SD3.0, (MMC 4.5), up to 50MB/s<br />
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS<br />
* USB ports:<br />
** 1 x USB 2.0 Type-A Host Port, bootable<br />
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable<br />
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable<br />
** 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.<br />
* Headphone jack switchable to UART console mux circuit<br />
* Optional NVMe adapter:<br />
** PCIe 2.x, 5GT/s per lane<br />
** 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)<br />
** Maximum length for M.2 card is 80mm (M.2 2280)<br />
** Power: 2.5W continuous, 8.25W peak momentary<br />
** Does not support SATA M.2 cards<br />
** Does not support USB M.2 cards<br />
<br />
== Pinebook Pro Schematics and Certifications ==<br />
* Pinebook Pro Main Board Schematic And Silkscreen:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]<br />
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]<br />
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]<br />
* Pinebook Pro Daughter Board Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]<br />
* Optional Pinebook Pro NVMe Adapter Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]<br />
* Serial Console Earphone Jack Pinout:<br />
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]<br />
* Pinebook Pro Case:<br />
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]<br />
* Pinebook Pro Certifications:<br />
** Not Yet Available<br />
<br />
== Datasheets for Components and Peripherals ==<br />
* Rockchip RK3399 SoC information:<br />
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]<br />
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]<br />
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]<br />
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]<br />
* LPDDR4 (366 Balls) SDRAM:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]<br />
* eMMC information:<br />
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]<br />
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]<br />
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]<br />
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]<br />
* SPI NOR Flash information:<br />
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]<br />
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]<br />
* Wireless related info:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]<br />
* Audio Codec (ES8316)<br />
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]<br />
* LCD Panel:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14" 1920x1080 IPS LCD Panel datasheet]<br />
* Touchpad information:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]<br />
* Keyboard information:<br />
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]<br />
** US ANSI: XK-HS002 MB27716023<br />
* Full HD Camera sensor:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]<br />
* Lithium Battery information:<br />
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14" model]<br />
<br />
=Skinning and Case Customization=<br />
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.<br />
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]<br />
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]<br />
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]<br />
<br />
= Other Resources =<br />
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]<br />
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]<br />
* [[RockPro64 Guides]]<br />
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]<br />
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]<br />
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]<br />
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro_Hardware_Accessory_Compatibility&diff=4591Pinebook Pro Hardware Accessory Compatibility2020-01-15T13:42:21Z<p>Tophneal: /* NVMe SSD drives */</p>
<hr />
<div>This page was started in the early days when not all accessories/peripherals have been working<br />
<br />
== NVMe SSD drives ==<br />
{| class="wikitable sortable"<br />
!Type || Make/Model || Size || Hardware IDs || Result || Notes<br />
|-<br />
| 2242 || Toshiba OCZ RC 100 || 240 GB || RC100-M22242-240G || good ||<br />
|-<br />
| 2280 || XPS SX8200 || 512 GB || ASX8200PNP-512GT-C || good || Performed [https://forum.pine64.org/showthread.php?tid=8322 these] steps for physical installation. Currently rooting from drive.<br />
|-<br />
| 2280 || Intel 660p M.2 || 512 GB || SSDPEKNW512G8X1 || good ||<br />
|-<br />
| 2280 || Samsung 970 EVO Plus || 250 GB || MZ-V7S250BW || good ||<br />
|-<br />
| 2280 || Samsung 970 EVO Plus || 500 GB || MZ-V7S500 || fail || too power hungry?<br />
|-<br />
| 2280 || Samsung 970 EVO || 1 TB || MZ-V7E1T0BW || fail || too power hungry? <br />
|-<br />
| 2280 || Corsair MP300 || 120 GB || || good ||<br />
|-<br />
| 2280 || Silicon Power P34A60 || 256 GB || ??? || fail || Isn't detected<br />
|-<br />
| 2242 || Sabrent Rocket Nano || 512 GB || SB-1342-512 || good || No touchpad issues, didn't trim NVME adapter board. (Might be too power hungry. More testing needed.)<br />
|}<br />
<br />
== USB hardware ==<br />
{| class="wikitable sortable"<br />
!Type || Make/Model || Hardware IDs || Result || Notes<br />
|-<br />
|USB-2 SDHC reader || Sandisk MobileMate+ || 0781:b2b3 || good ||<br />
|-<br />
|USB-3 SDHC/CF reader || Transcend TS-RDF8K || 8564:4000 || good ||<br />
|-<br />
|USB-3 combo hub (network, card slots, usb ports) || generic || 05e3:0610 hub, 0bda:8153 gigE, 05e3:0743 card reader || network good, usb ports good, card reader good ||<br />
|-<br />
|USB-C combo hub (network, card slots, usb ports) || generic || 05e3:0612 hub, 0bda:8153 realtek gigE || network good, usb ports bad, card reader bad ||<br />
|-<br />
|USB-C combo hub (hdmi, network, card slots, usb ports) || generic || || all bad ||<br />
|-<br />
|USB-C combo hub (hdmi, vga, ethernet, card slots, usb 2 & 3 || Powlaken || 05e3:0610 || USB and power delivery good, all others don't work ||<br />
|-<br />
|USB-C Dock (hdmi, vga, ethernet, microSD/SD card slots, 2 USB 3 Ports, 1 USB-C Port, USB-Power Passthru || Digitus DA-70865 || || USB, Ethernet and MicroSD/SD good, video crashes System. || Tested on Manjaro w/ Kernel 5.5. You have to turn the USB-C connector upside down for it to work. Video seems to be a driver issue.<br />
|-<br />
|USB-C to HDMI adaptor || generic || || good || tested to 4k60<br />
|-<br />
|USB C to DP Adapter || OrxnQ || Upto 4K@60Hz || good || tested to 1080p<br />
|-<br />
|Yubikey original || Yubico || 1050:0010 || good ||<br />
|- <br />
|4 Port USB 3 NIC || Delock 62966 || || All good || 4 individually controllable Gigabit Ethernet Ports. Consider using it with own power supply<br />
|-<br />
|USB-C Dock (hdmi, vga, ethernet, microSD/SD card slots, 2 USB 3 Ports, 1 USB-C Port, USB-Power pass-through) || generic || || Ethernet and MicroSD/SD good, USB bad, video up to 1080p. || https://forum.pine64.org/showthread.php?tid=8728<br />
|-<br />
|USB-C HDMI adapter (DP-alt mode) || QGeeM || || No video. Kernel exception on connect, freezes PBP || Manjaro 2020-01-10<br />
|-<br />
|USB-2 Fast Ethernet adapter || Realtek RTL8152 || 0bda:8152 || good || <br />
|}<br />
<br />
== Other hardware ==<br />
{| class="wikitable sortable"<br />
!Type || Make/Model || Hardware IDs || Result<br />
|-<br />
|Bluetooth Mouse || HP Z5000 || E5C13AA || good<br />
|-<br />
|Bluetooth Mouse || Logitech Triathlon M720 || || good<br />
|-<br />
|Bluetooth Mouse || Logitech MX Anywhere 2 || || good<br />
|-<br />
|Bluetooth Mouse || Fenifox low profile || MX106-Black || good<br />
|-<br />
|512GB SD Card || Samsung Evo Select || MB-ME512GA/AM || good<br />
|-<br />
|}</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro&diff=4584Pinebook Pro2020-01-15T01:28:33Z<p>Tophneal: /* Using as data drive */</p>
<hr />
<div>= User Guide =<br />
== Introducing PineBook Pro == <br />
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]<br />
<br />
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]<br />
<br />
It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh capacity battery, and the modularity that only an open source project can deliver. <br />
<br />
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, and camera; and expandable storage via NVMe (PCIe 4x) with an optional adapter. <br />
<br />
The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1x micro SD card reader (bootable), 1x USB 2.0, 1x USB 3.0, 1x USB type C Host with DP 1.2 and power-in, PCIe 4x for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). <br />
<br />
The keyboard and trackpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.<br />
<br />
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. <br />
<br />
== Software and OS Image Downloads ==<br />
<br />
=== Default Debian MATE Desktop Quick Start ===<br />
<br />
The default Operating system that ships with the Pinebook Pro is Debian 9 with MATE desktop. It has been built by a community developer called MrFixIt2001, who can be reached on the PINE64 forum or in the chats. <br />
The newest release of the build can downloaded directly from [https://github.com/mrfixit2001/debian_desktop/releases MrFixIt2001's GitHub]. <br />
<br />
'''The default username and password is:'''<br />
* Username: rock <br />
* Password: rock<br />
<br />
You can change the default ''rock'' username and ''rock'' home directory by logging into root (credentials root/root) instead of the default 'rock' user and running the following in root terminal and substituting desired username for NewUser:<br />
[[File:UpdateScript.png|350px|thumb|right|Location of update script applet icon on stock Debian with MATE]]<br />
<pre><br />
usermod -l NewUser rock<br />
usermod -d /home/rock -m NewUser<br />
</pre><br />
<br />
Once you log back into your new user, Bluetooth will complain about no transfer folder location. To fix this open terminal and type:<br />
<pre><br />
blueman-services<br />
</pre><br />
<br />
From here, select incoming folder under the 'transfer' tab.<br />
<br />
The build includes a custom updater capable of updating uboot, the Linux kernel and numerous packages. The update script can be ran from both the userspace and the commandline. You will find a small 'Update Script' applet icon in the bottom panel, next to time and date applet. <br />
<br />
You can run the script from the terminal using:<br />
<pre><br />
sudo /usr/bin/mrfixit_update.sh <br />
</pre><br />
<br />
More information about the default OS build and version history can be found on the [https://forum.pine64.org/showthread.php?tid=7830 Default OS update log] PINE64 forum thread.<br />
<br />
=== [[Pinebook Pro_Software_Release|Pinebook Pro]] ===<br />
Under [[Pinebook Pro Software Release|'Pinebook Pro Software and OS Image Download Section']] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software. <br />
<br />
The list includes OS images and descriptions of:<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Debian_Desktop}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian Desktop|'''Debian Desktop (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_LXDE}} http://files.pine64.org/sw/pine64_installer/json/lxde.png] [[PinebookPro_Software_Release#Bionic LXDE|'''Bionic LXDE (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_Mate}} http://files.pine64.org/sw/pine64_installer/json/mate.png] [[PinebookPro_Software_Release#Bionic Mate|'''Bionic Mate (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Manjaro_ARM}} http://files.pine64.org/sw/pine64_installer/json/manjaro.png] [[PinebookPro_Software_Release#Manjaro ARM|'''Manjaro ARM (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Q4OS}} http://files.pine64.org/sw/pine64_installer/json/q4os.png] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Chropmium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Android_7.1_microSD}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_microSD|'''Android 7.1 (microSD Boot)''']] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [{{fullurl:PinebookPro_Software_Release#Android_7.1_eMMC}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_eMMC|'''Android 7.1 (eMMC)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Debian_Installer_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian_Installer_for_Pinebook_Pro|'''Debian Installer for Pinebook Pro''']]<br />
<br />
[{{fullurl:Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/gentoo.png]<br />
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]<br />
<br />
=== Quick Links to OS Images Build Sources===<br />
'''Some of the provided OS images are still in <span style="color:#FF0000">beta or nightly build</span> and only fit for testing purposes. These images ought to be avoided for normal usage - use them at <span style="color:#FF0000">your own risk</span>'''<br />
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]<br />
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]<br />
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]<br />
<br />
== Keyboard ==<br />
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and trackpad 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, trackpad 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. <br />
<br />
The keyboard firmware binary can be flashed from userspace using the provided open source utility. <br />
<br />
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. <br />
<br />
=== Typing special characters ===<br />
The [[Wikipedia:British_and_American_keyboards#Other_keyboard_layouts|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. <br />
{| class="wikitable"<br />
!Character<br />
!Key combination/sequence<br />
|-<br />
|Ä, Ö, Ü, ä, ö, ü<br />
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]<br />
|-<br />
|µ<br />
|[AltGr]+[m]<br />
|-<br />
|Ø, ø<br />
|[AltGr]+[O], [AltGr]+[o]<br />
|-<br />
|@<br />
|[AltGr]+[q] (as on the German layout)<br />
|-<br />
|ß<br />
|[AltGr]+[s]<br />
|-<br />
|§<br />
|[AltGr]+[S]<br />
|-<br />
|°<br />
|[AltGr]+[)]<br />
|}<br />
<br />
=== Privacy Switches ===<br />
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:<br />
<br />
{| class="wikitable"<br />
|+ Privacy switch function and description<br />
! Combination<br />
! Effect<br />
! Description<br />
! Notes<br />
|-<br />
! scope=row | PINE64 logo key+F10<br />
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled<br />
|-<br />
! scope=row | PINE64 logo key+F11<br />
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled.<br />
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&pid=52645#pid52645 command line hack to bind/unbind]).<br />
|-<br />
! scope=row | PINE64 logo key+F12<br />
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled<br />
|}<br />
<br />
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''<br />
<br />
The keyboard uses special firmware that operates separately of the operating system. It detects if either the F10, F11 or F12 key, and the Pine key were pressed for 3 seconds. This disables the peripherals as listed above by cutting off their power. Which has the same result 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 a 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.<br />
<br />
== Trackpad ==<br />
The trackpad is large, smooth (metallic to-the-touch), and has two actuating buttons. It is the only component of the Pinebook Pro held in place with strong adhesive tape. It supports multi-touch functionality. <br />
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].<br />
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).<br />
<br />
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' <br />
<br />
Before you start:<br />
<br />
Please refer to original documentation for details.<br />
<br />
Your Pinebook Pro should be either fully charged or, preferably, running of mains. This utility will be writing chips on the keyboard and trackpad, so a loss of power during any stage of the update can result in irrecoverable damage to your trackpad or keyboard.<br />
<br />
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.<br />
<br />
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. <br />
FW update steps for both models are listed below. <br />
<br />
What you will need:<br />
<br />
*Your Pinebook Pro fully charged or running off of mains power<br />
*Connection to WiFi<br />
*An external USB keyboard & mouse. Or access to the Pinebebook Pro via SSH<br />
<br />
'''ISO Model''' <br />
<br />
From the terminal command line: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1 iso<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2 iso<br />
sudo reboot<br />
</pre><br />
<br />
----<br />
<br />
'''ANSI Model''' <br />
<br />
*<b>NOTE:</b> Running step-1 on the ansi keyboard model will make the keyboard and trackpad inaccessible until step-2 is run, so an external keyboard must be connected to complete the update on this model!<br />
<br />
From the terminal command line: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1 ansi<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2 ansi<br />
sudo reboot<br />
</pre><br />
<br />
== Power Supply ==<br />
* Input Power: 5V DC @ 3A<br />
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack<br />
* USB-C 15W PD quickcharge<br />
* Only use one power input at a time, barrel jack OR USB-C<br />
<br />
== LEDs ==<br />
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: <br />
<br />
:1. The red LED next to the barrel-port indicates charging. It will illuminate when mains power is supplied to the Pinebook Pro from either the standard power supply unit or a USB-C smartphone charger.<br />
<br />
:2. The power indicator LED on the Pinebook Pro supports three different colours: green, amber and red. It is also capable of flashing/blinking to indicate activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). <br />
<br />
:3. The Num lock, green LED.<br />
<br />
:4. The Caps lock, green LED.<br />
<br />
(The Num and Caps lock LEDs have a secondary function. When the privacy switches get activated they blink to confirm that switch has been activated.)<br />
<br />
== Webcam ==<br />
* 1600 x 1200 maximum resolution<br />
* Some people test with the application Cheese<br />
WIP<br />
<br />
== Microphones ==<br />
Some Pinebook Pro chassis have 2 microphone labeled holes. Only the right hole is populated with a microphone.<br />
<br />
== Bluetooth and WiFi ==<br />
WIP<br />
<br />
== LCD Panel ==<br />
* Model: BOE NV140FHM-N49<br />
* 14.0" (35.56cm) diagonal size<br />
* 1920x1080 resolution<br />
* 60hz refresh rate<br />
* IPS<br />
* 1000:1 contrast<br />
* 250nt brightness<br />
* 63% sRGB coverage<br />
* 6 bit colour<br />
* 30 pin eDP connection<br />
<br />
== External ports list ==<br />
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.<br />
* Left side<br />
** Barrel jack for power, (with LED)<br />
** USB 3, Type A<br />
** USB 3, Type C<br />
* Right side<br />
** USB 2, Type A<br />
** Standard headset jack<br />
** MicroSD card slot<br />
<br />
== Using the UART ==<br />
[[File:PBPUART.jpeg|400px|thumb|right|Headphone Jack UART wiring reference]]<br />
<br />
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 [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly proper disassembly and reassembly protocol]. The OFF position is towards the touchpad, the ON position is towards the display hinges.<br />
<br />
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.3v interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3v and 5v variants) to avoid damage to the CPU. <br />
<br />
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:<br />
<br />
<code><br />
$ lsusb<br />
</code><br />
<br />
you should find a line similar to this:<br />
<br />
<code><br />
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter<br />
</code><br />
<br />
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.<br />
<br />
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.<br />
<br />
Serial output should now be accessible using screen, picocom or minicom (and others).<br />
Examples:<br />
<br />
<code><br />
screen /dev/ttyUSB0 1500000<br />
<br />
picocom /dev/ttyUSB0 -b 1500000<br />
<br />
minicom -D /dev/ttyUSB0 -b 1500000</code><br />
<br />
Current versions of U-Boot do not use the UART for console output. The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.<br />
<br />
== Using the optional NVMe adapter ==<br />
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 both 2242 & 2280 physical sizes, the most common ones available.<br />
<br />
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.<br />
<br />
=== Installing the adapter ===<br />
The v2.1 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.<br />
<br />
(If necessary, they can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)<br />
<br />
Actual installation instructions are a work in progress.<br />
<br />
=== Post NVMe install power limiting ===<br />
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 at lower battery levels. And to reduce power used, to maintain battery life.<br />
Here are the commands to obtain and change the power settings. 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);<br />
<pre>$ sudo nvme id-ctrl /dev/nvme0<br />
NVME Identify Controller:<br />
...<br />
ps 0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0<br />
rwt:0 rwl:0 idle_power:- active_power:-<br />
ps 1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1<br />
rwt:1 rwl:1 idle_power:- active_power:-<br />
ps 2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2<br />
rwt:2 rwl:2 idle_power:- active_power:-<br />
ps 3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3<br />
rwt:3 rwl:3 idle_power:- active_power:-<br />
ps 4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4<br />
rwt:4 rwl:4 idle_power:- active_power:-<br />
<br />
$ sudo nvme get-feature /dev/nvme0 -f 2<br />
get-feature:0x2 (Power Management), Current value:00000000<br />
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s<br />
set-feature:02 (Power Management), value:0x000002</pre><br />
If you want to test performance without saving the new power setting semi-permanantly, then leave off the "-s" option.<br />
<br />
=== Using as data drive ===<br />
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.<br />
<br />
=== Using as OS root drive ===<br />
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 SPI flash. This modified u-boot code has now also been added to Manjaro releases for the Pinebook Pro.<br />
<br />
The current boot order, per last testing, for this modified u-boot is:<br />
*microSD<br />
*eMMC<br />
*NVMe<br />
<br />
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&pid=53764#pid53764 the forum post.]<br />
<br />
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 <code>/boot</code> and <code>/</code> off the NVMe drive. So this may change in the future.)<br />
<br />
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].<br />
<br />
== Caring for the PineBook Pro ==<br />
=== Bypass Cables ===<br />
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 [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice]. <br />
<br />
WARNING: Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.<br />
<br />
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===<br />
<span style="color:#FF0000">Placeholder for Pinebook Pro specific guides</span><br />
<br />
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:<br />
<br />
'''Note: The installation process on Pinebook Pro similar to 14" Pinebook'''<br />
<br />
'''Note: The installation process is the reverse order of removal guide'''<br />
<br />
* 14″ Pinebook Lithium Battery Pack Removal Guide<br />
* 14″ Pinebook LCD Panel Screen Removal Guide<br />
* 14″ Pinebook eMMC Module Removal Guide<br />
<br />
== FAQ ==<br />
What cool software works out of the box? [[Pinebook Pro OTB Experience]]<br />
<br />
= Software tuning guide =<br />
Details on how to get the most out of a Pinebook Pro & its RK3399 SoC.<br />
<br />
== Customizing Pinebook Pro's factory OS ==<br />
Here are some hints on what you can do to customize the Pinebook Pro's factory image (aka [https://github.com/mrfixit2001/debian_desktop mrfixit2001 debian build])<br />
<br />
=== Initial user changes, password, name, etc... ===<br />
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.<br />
<br />
* Reboot (this is just to ensure all background processes belong to the user are not running... there are other ways to achieve this but this way is easy)<br />
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal<br />
* Login as root (login: root, password: root)<br />
* Set a strong password for the root user using the following command and it's prompts:<br />
<pre># passwd (and follow prompts)</pre><br />
* Rename the rock user to your prefered username (replace myself with whatever you like):<br />
<pre># usermod -l myself -d /home/myself -m rock</pre><br />
* Put your name in the account, (replace "John A Doe" with your name):<br />
<pre># chfn -o "John A Doe" myself</pre><br />
* Rename the rock group to match your preferred username:<br />
<pre># groupmod -n myself rock</pre><br />
* Set a strong password for the normal user:<br />
<pre># passwd myself</pre><br />
* Log out of the text terminal:<br />
<pre># logout</pre><br />
* Log into the text terminal as yourself to fix login error: "Configured directory for incoming files does not exist";<br />
<pre>$ blueman-services</pre><br />
Select "Transfer" tab and set "Incoming Folder" to myself<br />
* Log out of the text terminal:<br />
<pre>$ logout</pre><br />
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user<br />
<br />
=== Disable Chromium browser's prompt for passphrase & password storage ===<br />
<br />
Perform the following steps:<br />
<br />
* On the tool bar, hover over the Chromium icon<br />
* Using the right mouse button, select '''Properties'''<br />
* In the '''Command:''' line section, add <code>--password-store=basic</code> before the <code>%U</code><br />
* Use the '''x Close''' button to save the change<br />
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.<br />
<br />
=== Changing the boot splash picture ===<br />
<br />
The default boot splash picture can be replaced using the following instructions:<br />
<br />
* Install '''ImageMagick''' which will do the conversion<br />
<pre>$ sudo apt-get install imagemagick</pre><br />
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).<br />
* From the directory in which your new image is stored run the following commands<br />
* Convert your image to the bootsplash raw format using imagemagick convert.<br />
<pre>$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb</pre><br />
* Create a backup copy of your current splash screen<br />
<pre>$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb</pre><br />
* Copy your new splash screen into place<br />
<pre>$ sudo cp splash.fb /usr/share/backgrounds/splash.fb</pre><br />
* Set the correct permissions on the splash.fb file<br />
<pre>$ sudo chmod 644 /usr/share/backgrounds/splash.fb</pre><br />
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed<br />
<br />
<br />
== Chromium tweaks ==<br />
<br />
=== Flags ===<br />
<br />
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:<br />
<br />
<pre><br />
--disable-low-res-tiling \<br />
--num-raster-threads=6 \<br />
--profiler-timing=0 \<br />
--disable-composited-antialiasing \<br />
--test-type \<br />
--show-component-extension-options \<br />
--ignore-gpu-blacklist \<br />
--use-gl=egl \<br />
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \<br />
--ppapi-flash-version=32.0.0.255 \<br />
--enable-pinch \<br />
--flag-switches-begin \<br />
--enable-gpu-rasterization \<br />
--enable-oop-rasterization \<br />
--flag-switches-end<br />
</pre><br />
<br />
== Kernel options ==<br />
Here are some Pinebook Pro & its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.<br />
<br />
To see if a specific one is enabled, you can use something like this;<br />
<br />
<pre><br />
$ zgrep HANTRO /proc/config.gz<br />
CONFIG_VIDEO_HANTRO=m<br />
CONFIG_VIDEO_HANTRO_ROCKCHIP=y<br />
</pre><br />
<br />
=== Hardware video decoding ===<br />
To enable hardware video decoding by the VPU, the kernel options should have this:<br />
<br />
<pre><br />
CONFIG_VIDEO_HANTRO=m<br />
CONFIG_VIDEO_HANTRO_ROCKCHIP=y<br />
</pre><br />
<br />
= Troubleshooting guide =<br />
Tips, tricks and other information for troubleshooting your Pinebook Pro<br />
=== New from the factory - Pinebook Pro won't boot / power on ===<br />
* Some Pinebook Pros came from the factory with the eMMC switch in the disabled position. It should be switched towards the back / hinge to enable the eMMC.<br><br />
* The eMMC may have come loose during shipment. [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly Open] the back and verify that the eMMC is firmly seated.<br><br />
* You may want to try unplugging the SD card daughterboard ribbon cable and see if it powers on (remove the battery and peel off a bit of the tape before unplugging it to avoid damage). If it does, try reseating it on both sides. It might have come loose during shipping.<br />
* It's possible that your eMMC is empty from the factory. Simply create a bootable SD card and see if your Pinebook Pro boots. If so, you can then write an OS image to the eMMC.<br />
<br />
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===<br />
* This may happen if you meant to toggle the UART/Headphone switch (9) towards touchpad for headphone use and instead you toggled the eMMC enable/disable switch (24).<br />
* After reenabling eMMC by toggling switch (24) towards hinge, if Pinebook Pro does not turn on then press the RESET button (28). It is clearly marked 'reset' on the PCB board.<br />
<br />
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===<br />
* Closely inspect that the shielding is firmly seated in the clips on all sides. You can be seated in the clips on one axis, and have missed on an another axis.<br />
<br />
=== Pinebook Pro won't boot when using UART console cable ===<br />
* If you're using the UART cable sold on the Pine Store, you may want to see if it boots after you disconnect it. Some users report that custom-made cables based on FTDI UART adapters do not cause this issue.<br />
* Make sure your USB to serial UART device is 3.3v. Many are 5v and some even +-12v. Pinebook Pro's only support 3.3v and may act eratically when using higher voltage. Further, higher voltage could permananetly damage the Pinebook Pro's SoC.<br />
<br />
=== Keys not registering / missing keys when typing ===<br />
This issue occurs when your thumb or edge of the palm makes contact with left or right tip of the trackpad when you type. This is due to the palm rejection firmware being too forceful. Instead of only disabling the trackpad, so your cursor does not move all over the screen, it disables both the trackpad and the keyboard.<br />
<br />
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.<br />
<br />
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.<br />
<br />
=== WiFi issues ===<br />
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]<br />
* Next, you may have to modify the <code>/etc/NetworkManager/NetworkManager.conf</code> as root user, and replace <code>managed=false</code> with <code>managed=true</code>. Then reboot.<br />
* For connections that drop and resume too often, it might be due to WiFi power management from earlier OS releases. Later OS releases either removed WiFi power management, or default to full power. (Power management can be turned off via command line with <code>iw dev wlan0 set power_save off</code> or <code>iwconfig wlan0 power off</code>, although it is not persistent through re-boot.)<br />
* If WiFi is un-usable or often crashes when using an alternate OS, then it might because its WiFi firmware is not appropriate for the WiFi chip in the Pinebook Pro. Try the latest firmware patch from [https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm]<br />
<br />
=== Bluetooth issues ===<br />
* When connecting a Bluetooth device, such as a Bluetooth mouse, it does not automatically re-connect on re-boot. In the Bluetooth connection GUI, there is a yellow star for re-connect on boot. Use that button to enable a persistent connection. It can be changed back later.<br />
* Bluetooth-attached speakers or headset require the <b>pulseaudio-module-bluetooth</b> package. If not already installed, it can be installed with a package manager or with:<br><br />
<pre>sudo apt-get install pulseaudio-module-bluetooth</pre><br />
* When using Bluetooth-attached speakers or headset and 2.4Ghz WiFi at the same time, you may experience stuttering of the audio. One solution is to use 5Ghz WiFi if you can. Or you may try using a different 2.4Ghz channel, perhaps channel 1 or the top channel, (11 in the USA, or 13/14 in some other countries).<br />
<br />
=== Sound issues ===<br />
* Many reports of no sound are due to the OS, incorrect settings, or other software problems (eg. PulseAudio). So first test to see if it is a software or hardware problem, by trying another OS via SD card. (For example, if Debian is installed on the eMMC, try Ubuntu on SD.) <br />
* If you cannot get sound from the headphone jack, but can get sound from the speakers, then the headphone / UART console switch may be set to the UART mode. You can open the back and check the position of the switch. If set to UART mode, switch it to headphone mode. See the parts layout for the location and correct position of the switch.<br />
* When using the USB C alternate DisplayPort mode, it is possible that the audio has been re-directed through this path. If your monitor has speakers, then see if they work.<br />
* See this [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/asound.state /var/lib/alsa/asound.state] for some Alsa tweaks<br />
<br />
=== USB docks & USB C alternate mode video ===<br />
The Pinebook Pro uses the RK3399 SoC (System on a Chip). It supports a video pass through mode on the USB C port using DisplayPort alternate mode. This DisplayPort output comes from the same GPU used to display the built-in LCD. <br />
<br />
Here are some selection criteria for successfully using the USB C alternate mode for video:<br />
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.<br />
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.<br />
* If USB 3 is also desired from a USB dock, the maximum resolution, frame rate and pixel depth is reduced to half the bandwidth. For example, 4K @ 30hz instead of 60hz.<br />
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).<br />
<br />
=== Key Mapping ===<br />
* See this [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/10-usb-kbd.hwdb /etc/udev/hwdb.d/10-usb-kbd.hwdb] for some key mapping tweaks<br />
<br />
<br />
=== Accessory Hardware Compatibility ===<br />
<br />
Please contribute to the following page which lists hardware which has been tested with the PBP, whether successful or not!<br />
<br />
* [[PBP_HW_Compatibiity|PineBookPro Hardware Compatibility]]<br />
<br />
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===<br />
This refers to the firmware update shown here:<br />
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
* If the system is not responding after the 1st reboot, it's might be easiest to do a system restore, and follow up by running the second step of the trackpad firmware update. <br />
* System restore https://forum.pine64.org/showthread.php?tid=8229<br />
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
<br />
= Technical Reference =<br />
== Accessing the Internals - Disassembly and Reassembly == <br />
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]<br />
<br />
'''WARNING:''' 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.<br />
<br />
'''WARNING:''' When removing the back cover plate, use care if sliding fingertips between back cover plate and palm rest assembly. The back cover plate edges are sharp.<br />
<br />
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. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.<br />
<br />
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. To reassemble the Pinebook Pro, slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the trackpad 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 2 short screws.<br />
<br />
NOTE: 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, 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, just let it be.<br />
<br />
== Pinebook Pro Internal Layout ==<br />
=== Main chips ===<br />
* RK3399 system-on-chip (1)<br />
* LPDDR4 SDRAM (21)<br />
* SPI NOR flash memory (29)<br />
* eMMC flash memory (26)<br />
* WiFi/BT module (27)<br />
<br />
=== Mainboard Switches and Buttons ===<br />
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. <br />
<br />
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). <br />
<br />
[[File:PBPL_S.jpg]]<br />
<br />
=== Key Internal Parts ===<br />
{| class="wikitable"<br />
|+ Numbered parts classification and description<br />
! Number<br />
! Type<br />
! Descriptor<br />
|-<br />
! scope=row | 1<br />
| Component || RK3399 System-On-Chip<br />
|-<br />
! scope=row | 2<br />
| Socket || PCIe 4X socket for optional NVMe adapter<br />
|-<br />
! scope=row | 3<br />
| Socket || Speakers socket<br />
|-<br />
! scope=row | 4<br />
| Socket || Trackpad socket<br />
|-<br />
! scope=row | 5<br />
| Component || Left speaker <br />
|-<br />
! scope=row | 6<br />
| Connector || Male power bridge connector <br />
|-<br />
! scope=row | 7<br />
| Socket || Keyboard Socket<br />
|-<br />
! scope=row | 8<br />
| Component || Optional NVMe SSD adapter<br />
|-<br />
! scope=row | 9<br />
| Switch || UART/Audio switch - outputs UART via headphone jack<br />
|-<br />
! scope=row | 10<br />
| Socket || Female power bridge socket<br />
|-<br />
! scope=row | 11<br />
| Socket || Battery socket<br />
|-<br />
! scope=row | 12<br />
| Component || Trackpad<br />
|-<br />
! scope=row | 13<br />
| Component || Battery<br />
|-<br />
! scope=row | 14<br />
| Component || Right speaker<br />
|-<br />
! scope=row | 15<br />
| Socket || MicroSD card slot<br />
|-<br />
! scope=row | 16<br />
| Socket || Headphone / UART jack<br />
|-<br />
! scope=row | 17<br />
| Socket || USB 2.0 Type A<br />
|-<br />
! scope=row | 18<br />
| Socket || Daughterboard-to-mainboard ribbon cable socket<br />
|-<br />
! scope=row | 19<br />
| Cable || Daughterboard-to-mainboard ribbon cable<br />
|-<br />
! scope=row | 20<br />
| Component || microphone<br />
|-<br />
! scope=row | 21<br />
| Component || LPDDR4 RAM<br />
|-<br />
! scope=row | 22<br />
| Socket || Mainboard-to-daughterboard ribbon cable socket<br />
|-<br />
! scope=row | 23<br />
| Socket || Microphone socket<br />
|-<br />
! scope=row | 24<br />
| Switch || Switch to hardware disable eMMC<br />
|-<br />
! scope=row | 25<br />
| Antenna || BT/WiFI antenna<br />
|-<br />
! scope=row | 26<br />
| Component || eMMC flash memory module <br />
|-<br />
! scope=row | 27<br />
| Component ||BT/WiFi module chip<br />
|-<br />
! scope=row | 28<br />
| Buttons || Reset and recovery buttons<br />
|-<br />
! scope=row | 29<br />
| Component || SPI flash storage<br />
|-<br />
! scope=row | 30<br />
| Socket || eDP LCD socket<br />
|-<br />
! scope=row | 31<br />
| Socket || Power in barrel socket<br />
|-<br />
! scope=row | 32<br />
| Socket || USB 3.0 Type A<br />
|-<br />
! scope=row | 33<br />
| Socket || USB 3.0 Type C <br />
|}<br />
<br />
== Bootable Storage ==<br />
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. <br />
<br />
At this time, the Pinebook Pro ships with a Debian + MATE build with [https://www.denx.de/wiki/U-Boot/ uboot] on the eMMC. Its boot order is: SD, then eMMC. Booting off USB storage is not currently available, but will be in the future.<br />
<br />
(An update has been pushed for the default Debian + MATE build that improves compatibility with booting other OSs 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.)<br />
<br />
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<br />
in a /boot partition on the eMMC.<br />
<br />
=== eMMC information ===<br />
The eMMC storage will show up as multiple block devices:<br />
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB<br />
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB<br />
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB<br />
*mmcblk1 - This block contains the user areas<br />
<br />
Only the last is usable as regular storage device in the Pinebook Pro.<br />
The device number of "1" shown above may vary, depending on kernel.<br />
<br />
=== Boot sequence details ===<br />
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.<br />
<br />
== Pinebook Pro Dimensions ==<br />
* Dimensions: 329mm x 220mm x 12mm (WxDxH)<br />
* Weight: 1.26Kg<br />
<br />
== SoC and Memory Specification ==<br />
[[File:Rockchip_RK3399.png|right]]<br />
* Based on Rockchip RK3399<br />
<br />
=== CPU Architecture ===<br />
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU<br />
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)<br />
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation<br />
** ARMv8 Cryptography Extensions<br />
** VFPv4 floating point unit supporting single and double-precision operations<br />
** Hardware virtualization support<br />
** TrustZone technology support<br />
** Full CoreSight debug solution<br />
** One isolated voltage domain to support DVFS<br />
* Cortex-A72 (big cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]<br />
** Superscalar, variable-length, out-of-order pipeline<br />
** L1 cache 48KB Icache and 32KB Dcache for each A72 <br />
** L2 cache 1024KB for big cluster <br />
* Cortex-A53 (little cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]<br />
** In-order pipeline with symmetric dual-issue of most instructions <br />
** L1 cache 32KB Icache and 32KB Dcache for each A53<br />
** L2 cache 512KB for little cluster<br />
* Cortex-M0 (control processors):<br />
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]<br />
** Two Cortex-M0 cooperate with the central processors<br />
** Architecture: Armv6-M<br />
** Thumb/Thumb2 instruction set<br />
** 32 bit only<br />
<br />
=== GPU Architecture ===<br />
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]<br />
* 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.<br />
* Frequency 650MHz <br />
* Throughput 1300Mtri/s, 10.4Gpix/s <br />
* OpenGL® ES 1.1, 1.2, 2.0, 3.1, 3.2., Vulkan 1.0*., OpenCL™ 1.1, 1.2., DirectX® 11 FL11_1., RenderScript™.<br />
<br />
=== System Memory ===<br />
* RAM Memory:<br />
** LPDDR4<br />
** Dual memory channels on the CPU, each 32 bits wide<br />
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel<br />
** 4GB as a single 366 pin mobile RAM chip<br />
* Storage Memory: <br />
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)<br />
** eMMC version 5.1, HS400, 8 bit on RK3399 side<br />
<br />
=== Battery ===<br />
* Lithium Polymer Battery (10,000 mAH)<br />
<br />
=== Display ===<br />
* 14.0" 1920x1080 IPS LCD panel<br />
<br />
=== Video out ===<br />
* USB-C Alt mode DP<br />
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)<br />
<br />
=== Audio ===<br />
* 3.5mm stereo earphone/microphone plug<br />
* Build in stereo speakers<br />
<br />
=== Network ===<br />
* WiFi:<br />
** 802.11 b/g/n/ac<br />
** Dual band: 2.4Ghz & 5Ghz<br />
** Single antenna<br />
* Bluetooth 5.0<br />
<br />
=== Expansion Ports ===<br />
* MicroSD card:<br />
** Bootable<br />
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.<br />
** Version SD3.0, (MMC 4.5), up to 50MB/s<br />
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS<br />
* USB ports:<br />
** 1 x USB 2.0 Type-A Host Port, bootable<br />
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable<br />
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable<br />
** 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.<br />
* Headphone jack switchable to UART console mux circuit<br />
* Optional NVMe adapter:<br />
** PCIe 2.x, 5GT/s per lane<br />
** 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)<br />
** Maximum length for M.2 card is 80mm (M.2 2280)<br />
** Power: 2.5W continuous, 8.25W peak momentary<br />
** Does not support SATA M.2 cards<br />
** Does not support USB M.2 cards<br />
<br />
== Pinebook Pro Schematics and Certifications ==<br />
* Pinebook Pro Main Board Schematic And Silkscreen:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]<br />
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]<br />
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]<br />
* Pinebook Pro Daughter Board Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]<br />
* Optional Pinebook Pro NVMe Adapter Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]<br />
* Serial Console Earphone Jack Pinout:<br />
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]<br />
* Pinebook Pro Case:<br />
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]<br />
* Pinebook Pro Certifications:<br />
** Not Yet Available<br />
<br />
== Datasheets for Components and Peripherals ==<br />
* Rockchip RK3399 SoC information:<br />
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]<br />
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]<br />
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]<br />
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]<br />
* LPDDR4 (366 Balls) SDRAM:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]<br />
* eMMC information:<br />
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]<br />
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]<br />
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]<br />
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]<br />
* SPI NOR Flash information:<br />
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]<br />
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]<br />
* Wireless related info:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]<br />
* Audio Codec (ES8316)<br />
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]<br />
* LCD Panel:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14" 1920x1080 IPS LCD Panel datasheet]<br />
* Touchpad information:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]<br />
* Keyboard information:<br />
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]<br />
** US ANSI: XK-HS002 MB27716023<br />
* Full HD Camera sensor:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]<br />
* Lithium Battery information:<br />
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14" model]<br />
<br />
=Skinning and Case Customization=<br />
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.<br />
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]<br />
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]<br />
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]<br />
<br />
= Other Resources =<br />
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]<br />
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]<br />
* [[RockPro64 Guides]]<br />
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]<br />
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]<br />
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]<br />
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro&diff=4496Pinebook Pro2020-01-08T13:29:15Z<p>Tophneal: /* Using as OS root drive */</p>
<hr />
<div>= User Guide =<br />
== Introducing PineBook Pro == <br />
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]<br />
<br />
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]<br />
<br />
It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh capacity battery, and the modularity that only an open source project can deliver. <br />
<br />
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, and camera; and expandable storage via NVMe (PCIe 4x) with an optional adapter. <br />
<br />
The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1x micro SD card reader (bootable), 1x USB 2.0, 1x USB 3.0, 1x USB type C Host with DP 1.2 and power-in, PCIe 4x for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). <br />
<br />
The keyboard and trackpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.<br />
<br />
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. <br />
<br />
== Software and OS Image Downloads ==<br />
<br />
=== Default Debian MATE Desktop Quick Start ===<br />
<br />
The default Operating system that ships with the Pinebook Pro is Debian 9 with MATE desktop. It has been built by a community developer called MrFixIt2001, who can be reached on the PINE64 forum or in the chats. <br />
The newest release of the build can downloaded directly from [https://github.com/mrfixit2001/debian_desktop/releases MrFixIt2001's GitHub]. <br />
<br />
'''The default username and password is:'''<br />
* Username: rock <br />
* Password: rock<br />
<br />
You can change the default ''rock'' username and ''rock'' home directory by logging into root (credentials root/root) instead of the default 'rock' user and running the following in root terminal and substituting desired username for NewUser:<br />
[[File:UpdateScript.png|350px|thumb|right|Location of update script applet icon on stock Debian with MATE]]<br />
<pre><br />
usermod -l NewUser rock<br />
usermod -d /home/rock -m NewUser<br />
</pre><br />
<br />
Once you log back into your new user, Bluetooth will complain about no transfer folder location. To fix this open terminal and type:<br />
<pre><br />
blueman-services<br />
</pre><br />
<br />
From here, select incoming folder under the 'transfer' tab.<br />
<br />
The build includes a custom updater capable of updating uboot, the Linux kernel and numerous packages. The update script can be ran from both the userspace and the commandline. You will find a small 'Update Script' applet icon in the bottom panel, next to time and date applet. <br />
<br />
You can run the script from the terminal using:<br />
<pre><br />
sudo /usr/bin/mrfixit_update.sh <br />
</pre><br />
<br />
More information about the default OS build and version history can be found on the [https://forum.pine64.org/showthread.php?tid=7830 Default OS update log] PINE64 forum thread.<br />
<br />
=== [[Pinebook Pro_Software_Release|Pinebook Pro]] ===<br />
Under [[Pinebook Pro Software Release|'Pinebook Pro Software and OS Image Download Section']] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software. <br />
<br />
The list includes OS images and descriptions of:<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Debian_Desktop}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian Desktop|'''Debian Desktop (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_LXDE}} http://files.pine64.org/sw/pine64_installer/json/lxde.png] [[PinebookPro_Software_Release#Bionic LXDE|'''Bionic LXDE (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_Mate}} http://files.pine64.org/sw/pine64_installer/json/mate.png] [[PinebookPro_Software_Release#Bionic Mate|'''Bionic Mate (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Manjaro_ARM}} http://files.pine64.org/sw/pine64_installer/json/manjaro.png] [[PinebookPro_Software_Release#Manjaro ARM|'''Manjaro ARM (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Q4OS}} http://files.pine64.org/sw/pine64_installer/json/q4os.png] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Chropmium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Android_7.1_microSD}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_microSD|'''Android 7.1 (microSD Boot)''']] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [{{fullurl:PinebookPro_Software_Release#Android_7.1_eMMC}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_eMMC|'''Android 7.1 (eMMC)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Debian_Installer_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian_Installer_for_Pinebook_Pro|'''Debian Installer for Pinebook Pro''']]<br />
<br />
=== Quick Links to OS Images Build Sources===<br />
'''Some of the provided OS images are still in <span style="color:#FF0000">beta or nightly build</span> and only fit for testing purposes. These images ought to be avoided for normal usage - use them at <span style="color:#FF0000">your own risk</span>'''<br />
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]<br />
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]<br />
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]<br />
<br />
== Keyboard ==<br />
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and trackpad 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, trackpad 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. <br />
<br />
The keyboard firmware binary can be flashed from userspace using the provided open source utility. <br />
<br />
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. <br />
<br />
=== Typing special characters ===<br />
The [[Wikipedia:British_and_American_keyboards#Other_keyboard_layouts|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. <br />
{| class="wikitable"<br />
!Character<br />
!Key combination/sequence<br />
|-<br />
|Ä, Ö, Ü, ä, ö, ü<br />
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]<br />
|-<br />
|µ<br />
|[AltGr]+[m]<br />
|-<br />
|Ø, ø<br />
|[AltGr]+[O], [AltGr]+[o]<br />
|-<br />
|@<br />
|[AltGr]+[q] (as on the German layout)<br />
|-<br />
|ß<br />
|[AltGr]+[s]<br />
|-<br />
|§<br />
|[AltGr]+[S]<br />
|-<br />
|°<br />
|[AltGr]+[)]<br />
|}<br />
<br />
=== Privacy Switches ===<br />
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:<br />
<br />
{| class="wikitable"<br />
|+ Privacy switch function and description<br />
! Combination<br />
! Effect<br />
! Description<br />
|-<br />
! scope=row | PINE64 logo key+F10<br />
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled<br />
|-<br />
! scope=row | PINE64 logo key+F11<br />
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled. '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&pid=52645#pid52645 command line hack to bind/unbind]).<br />
|-<br />
! scope=row | PINE64 logo key+F12<br />
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled<br />
|}<br />
<br />
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''<br />
<br />
The keyboard uses special firmware that operates separately of the operating system. It detects if either the F10, F11 or F12 key, and the Pine key were pressed for 3 seconds. This disables the peripherals as listed above by cutting off their power. Which has the same result 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 a 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.<br />
<br />
== Trackpad ==<br />
The trackpad is large, smooth (metallic to-the-touch), and has two actuating buttons. It is the only component of the Pinebook Pro held in place with strong adhesive tape. It supports multi-touch functionality. <br />
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].<br />
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).<br />
<br />
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' <br />
<br />
Before you start:<br />
<br />
Please refer to original documentation for details.<br />
<br />
Your Pinebook Pro should be either fully charged or, preferably, running of mains. This utility will be writing chips on the keyboard and trackpad, so a loss of power during any stage of the update can result in irrecoverable damage to your trackpad or keyboard.<br />
<br />
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.<br />
<br />
What you will need:<br />
<br />
*Your Pinebook Pro fully charged or running off of mains power<br />
*Connection to WiFi<br />
*An external USB mouse or access to the Pinebebook Pro via ssh <br />
<br />
From the terminal command line: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2<br />
sudo reboot<br />
</pre><br />
<br />
== Power Supply ==<br />
* Input Power: 5V DC @ 3A<br />
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack<br />
* USB-C 15W PD quickcharge<br />
* Only use one power input at a time, barrel jack OR USB-C<br />
<br />
== LEDs ==<br />
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: <br />
<br />
:1. The red LED next to the barrel-port indicates charging. It will illuminate when mains power is supplied to the Pinebook Pro from either the standard power supply unit or a USB-C smartphone charger.<br />
<br />
:2. The power indicator LED on the Pinebook Pro supports three different colours: green, amber and red. It is also capable of flashing/blinking to indicate activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). <br />
<br />
:3. The Num lock, green LED.<br />
<br />
:4. The Caps lock, green LED.<br />
<br />
(The Num and Caps lock LEDs have a secondary function. When the privacy switches get activated they blink to confirm that switch has been activated.)<br />
<br />
== Webcam ==<br />
* 1600 x 1200 maximum resolution<br />
* Some people test with the application Cheese<br />
WIP<br />
<br />
== Microphones ==<br />
Some Pinebook Pro chassis have 2 microphone labeled holes. Only the right hole is populated with a microphone.<br />
<br />
== Bluetooth and WiFi ==<br />
WIP<br />
<br />
== LCD Panel ==<br />
* Model: BOE NV140FHM-N49<br />
* 14.0" (35.56cm) diagonal size<br />
* 1920x1080 resolution<br />
* 60hz refresh rate<br />
* IPS<br />
* 1000:1 contrast<br />
* 250nt brightness<br />
* 63% sRGB coverage<br />
* 6 bit colour<br />
* 30 pin eDP connection<br />
<br />
== External ports list ==<br />
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.<br />
* Left side<br />
** Barrel jack for power, (with LED)<br />
** USB 3, Type A<br />
** USB 3, Type C<br />
* Right side<br />
** USB 2, Type A<br />
** Standard headset jack<br />
** MicroSD card slot<br />
<br />
== Using the UART ==<br />
[[File:PBPUART.jpeg|400px|thumb|right|Headphone Jack UART wiring reference]]<br />
<br />
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 [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly proper disassembly and reassembly protocol]. The OFF position is towards the touchpad, the ON position is towards the display hinges.<br />
<br />
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.3v interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3v and 5v variants) to avoid damage to the CPU. <br />
<br />
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:<br />
<br />
<code><br />
$ lsusb<br />
</code><br />
<br />
you should find a line similar to this:<br />
<br />
<code><br />
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter<br />
</code><br />
<br />
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.<br />
<br />
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.<br />
<br />
Serial output should now be accessible using screen, picocom or minicom (and others).<br />
Examples:<br />
<br />
<code><br />
screen /dev/ttyUSB0 1500000<br />
<br />
picocom /dev/ttyUSB0 -b 1500000<br />
<br />
minicom -D /dev/ttyUSB0 -b 1500000</code><br />
<br />
Current versions of U-Boot do not use the UART for console output. The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.<br />
<br />
== Using the optional NVMe adapter ==<br />
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 both 2242 & 2280 physical sizes, the most common ones available.<br />
<br />
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.<br />
<br />
=== Installing the adapter ===<br />
The v2.1 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.<br />
<br />
(If necessary, they can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)<br />
<br />
Actual installation instructions are a work in progress.<br />
<br />
=== Post NVMe install power limiting ===<br />
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 at lower battery levels. And to reduce power used, to maintain battery life.<br />
Here is the command to obtain and change the power settings. The example shows how to find the available power states, and set it to the lowest, non-standby setting, which is 3.8 watts;<br />
<pre>$ sudo nvme id-ctrl /dev/nvme0<br />
NVME Identify Controller:<br />
...<br />
ps 0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0<br />
rwt:0 rwl:0 idle_power:- active_power:-<br />
ps 1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1<br />
rwt:1 rwl:1 idle_power:- active_power:-<br />
ps 2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2<br />
rwt:2 rwl:2 idle_power:- active_power:-<br />
ps 3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3<br />
rwt:3 rwl:3 idle_power:- active_power:-<br />
ps 4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4<br />
rwt:4 rwl:4 idle_power:- active_power:-<br />
<br />
$ sudo nvme get-feature /dev/nvme0 -f 2<br />
get-feature:0x2 (Power Management), Current value:00000000<br />
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2<br />
set-feature:02 (Power Management), value:0x000002</pre><br />
<br />
=== Using as data drive ===<br />
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 both Linux and FreeBSD, using the normal partitioning and file system creation tools. Android and Chromium OS require testing.<br />
<br />
=== Using as OS root drive ===<br />
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 SPI flash. This modified u-boot code has now also been added to Manjaro releases for the Pinebook Pro.<br />
<br />
The current boot order, per last testing, for this modified u-boot is:<br />
*microSD<br />
*eMMC<br />
*NVMe<br />
<br />
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&pid=53764#pid53764 the forum post.]<br />
<br />
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 <code>/boot</code> and <code>/</code> off the NVMe drive. So this may change in the future.)<br />
<br />
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].<br />
<br />
== Caring for the PineBook Pro ==<br />
=== Bypass Cables ===<br />
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 [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice]. <br />
<br />
WARNING: Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.<br />
<br />
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===<br />
<span style="color:#FF0000">Placeholder for Pinebook Pro specific guides</span><br />
<br />
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:<br />
<br />
'''Note: The installation process on Pinebook Pro similar to 14" Pinebook'''<br />
<br />
'''Note: The installation process is the reverse order of removal guide'''<br />
<br />
* 14″ Pinebook Lithium Battery Pack Removal Guide<br />
* 14″ Pinebook LCD Panel Screen Removal Guide<br />
* 14″ Pinebook eMMC Module Removal Guide<br />
<br />
== FAQ ==<br />
What cool software works out of the box? [[Pinebook Pro OTB Experience]]<br />
<br />
= Software tuning guide =<br />
Details on how to get the most out of a Pinebook Pro & its RK3399 SoC.<br />
<br />
== Customizing Pinebook Pro's factory OS ==<br />
Here are some hints on what you can do to customize the Pinebook Pro's factory image (aka [https://github.com/mrfixit2001/debian_desktop mrfixit2001 debian build])<br />
<br />
=== Initial user changes, password, name, etc... ===<br />
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.<br />
<br />
* Reboot (this is just to ensure all background processes belong to the user are not running... there are other ways to achieve this but this way is easy)<br />
* Once the machine reboots press Alt-Ctrl-F1 to being up a text terminal<br />
* Login as root (login: root, password: root)<br />
* Set a strong password for the root user using the following command and it's prompts:<br />
<pre># passwd (and follow prompts)</pre><br />
* Rename the rock user to your prefered username (replace myself with whatever you like):<br />
<pre># usermod -l myself -d /home/myself -m rock</pre><br />
* Put your name in the account, (replace "John A Doe" with your name):<br />
<pre># chfn -o "John A Doe" myself</pre><br />
* Rename the rock group to match your preferred username:<br />
<pre># groupmod -n myself rock</pre><br />
* Set a strong password for the normal user:<br />
<pre># passwd myself</pre><br />
* Log out of the text terminal:<br />
<pre># logout</pre><br />
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user<br />
<br />
=== Disable prompt for Chromium passphrase & password storage ===<br />
<br />
Perform the following steps:<br />
<br />
* On the tool bar, hover over the Chromium icon<br />
* Using the right mouse button, select '''Properties'''<br />
* In the '''Command:''' line section, add <code>--password-store=basic</code> before the <code>%U</code><br />
* Use the '''x Close''' button to save the change<br />
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.<br />
<br />
=== Changing the boot splash picture ===<br />
<br />
The default boot splash picture can be replaced using the following instructions:<br />
<br />
* Install '''ImageMagick''' which will do the conversion<br />
<pre>$ sudo apt-get install imagemagick</pre><br />
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).<br />
* From the directory in which your new image is stored run the following commands<br />
* Convert your image to the bootsplash raw format using imagemagick convert.<br />
<pre>$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb</pre><br />
* Create a backup copy of your current splash screen<br />
<pre>$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb</pre><br />
* Copy your new splash screen into place<br />
<pre>$ sudo cp splash.fb /usr/share/backgrounds/splash.fb</pre><br />
* Set the correct permissions on the splash.fb file<br />
<pre>$ sudo chmod 644 /usr/share/backgrounds/splash.fb</pre><br />
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed<br />
<br />
<br />
== Chromium tweaks ==<br />
<br />
=== Flags ===<br />
<br />
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:<br />
<br />
<pre><br />
--disable-low-res-tiling \<br />
--num-raster-threads=6 \<br />
--profiler-timing=0 \<br />
--disable-composited-antialiasing \<br />
--test-type \<br />
--show-component-extension-options \<br />
--ignore-gpu-blacklist \<br />
--use-gl=egl \<br />
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \<br />
--ppapi-flash-version=32.0.0.255 \<br />
--enable-pinch \<br />
--flag-switches-begin \<br />
--enable-gpu-rasterization \<br />
--enable-oop-rasterization \<br />
--flag-switches-end<br />
</pre><br />
<br />
== Kernel options ==<br />
Here are some Pinebook Pro & its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.<br />
<br />
To see if a specific one is enabled, you can use something like this;<br />
<br />
<pre><br />
$ zgrep HANTRO /proc/config.gz<br />
CONFIG_VIDEO_HANTRO=m<br />
CONFIG_VIDEO_HANTRO_ROCKCHIP=y<br />
</pre><br />
<br />
=== Hardware video decoding ===<br />
To enable hardware video decoding by the VPU, the kernel options should have this:<br />
<br />
<pre><br />
CONFIG_VIDEO_HANTRO=m<br />
CONFIG_VIDEO_HANTRO_ROCKCHIP=y<br />
</pre><br />
<br />
= Troubleshooting guide =<br />
Tips, tricks and other information for troubleshooting your Pinebook Pro<br />
=== New from the factory - Pinebook Pro won't boot / power on ===<br />
* Some Pinebook Pros came from the factory with the eMMC switch in the disabled position. It should be switched towards the back / hinge to enable the eMMC.<br><br />
* The eMMC may have come loose during shipment. [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly Open] the back and verify that the eMMC is firmly seated.<br><br />
* You may want to try unplugging the SD card daughterboard ribbon cable and see if it powers on (remove the battery and peel off a bit of the tape before unplugging it to avoid damage). If it does, try reseating it on both sides. It might have come loose during shipping.<br />
* It's possible that your eMMC is empty from the factory. Simply create a bootable SD card and see if your Pinebook Pro boots. If so, you can then write an OS image to the eMMC.<br />
<br />
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===<br />
* This may happen if you meant to toggle the UART/Headphone switch (9) towards touchpad for headphone use and instead you toggled the eMMC enable/disable switch (24).<br />
* After reenabling eMMC by toggling switch (24) towards hinge, if Pinebook Pro does not turn on then press the RESET button (28). It is clearly marked 'reset' on the PCB board.<br />
<br />
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===<br />
* Closely inspect that the shielding is firmly seated in the clips on all sides. You can be seated in the clips on one axis, and have missed on an another axis.<br />
<br />
=== Pinebook Pro won't boot when using UART console cable ===<br />
* If you're using the UART cable sold on the Pine Store, you may want to see if it boots after you disconnect it. Some users report that custom-made cables based on FTDI UART adapters do not cause this issue.<br />
* Make sure your USB to serial UART device is 3.3v. Many are 5v and some even +-12v. Pinebook Pro's only support 3.3v and may act eratically when using higher voltage. Further, higher voltage could permananetly damage the Pinebook Pro's SoC.<br />
<br />
=== Keys not registering / missing keys when typing ===<br />
This issue occurs when your thumb or edge of the palm makes contact with left or right tip of the trackpad when you type. This is due to the palm rejection firmware being too forceful. Instead of only disabling the trackpad, so your cursor does not move all over the screen, it disables both the trackpad and the keyboard.<br />
<br />
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.<br />
<br />
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.<br />
<br />
=== WiFi issues ===<br />
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]<br />
* Next, you may have to modify the <code>/etc/NetworkManager/NetworkManager.conf</code> as root user, and replace <code>managed=false</code> with <code>managed=true</code>. Then reboot.<br />
* For connections that drop and resume too often, it might be due to WiFi power management from earlier OS releases. Later OS releases either removed WiFi power management, or default to full power. (Power management can be turned off via command line with <code>iw dev wlan0 set power_save off</code> or <code>iwconfig wlan0 power off</code>, although it is not persistent through re-boot.)<br />
* If WiFi is un-usable or often crashes when using an alternate OS, then it might because its WiFi firmware is not appropriate for the WiFi chip in the Pinebook Pro. Try the latest firmware patch from [https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm]<br />
<br />
=== Bluetooth issues ===<br />
* When connecting a Bluetooth device, such as a Bluetooth mouse, it does not automatically re-connect on re-boot. In the Bluetooth connection GUI, there is a yellow star for re-connect on boot. Use that button to enable a persistent connection. It can be changed back later.<br />
* Bluetooth-attached speakers or headset require the <b>pulseaudio-module-bluetooth</b> package. If not already installed, it can be installed with a package manager or with:<br><br />
<pre>sudo apt-get install pulseaudio-module-bluetooth</pre><br />
* When using Bluetooth-attached speakers or headset and 2.4Ghz WiFi at the same time, you may experience stuttering of the audio. One solution is to use 5Ghz WiFi if you can. Or you may try using a different 2.4Ghz channel, perhaps channel 1 or the top channel, (11 in the USA, or 13/14 in some other countries).<br />
<br />
=== Sound issues ===<br />
* Many reports of no sound are due to the OS, incorrect settings, or other software problems (eg. PulseAudio). So first test to see if it is a software or hardware problem, by trying another OS via SD card. (For example, if Debian is installed on the eMMC, try Ubuntu on SD.) <br />
* If you cannot get sound from the headphone jack, but can get sound from the speakers, then the headphone / UART console switch may be set to the UART mode. You can open the back and check the position of the switch. If set to UART mode, switch it to headphone mode. See the parts layout for the location and correct position of the switch.<br />
* When using the USB C alternate DisplayPort mode, it is possible that the audio has been re-directed through this path. If your monitor has speakers, then see if they work.<br />
* See this [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/asound.state /var/lib/alsa/asound.state] for some Alsa tweaks<br />
<br />
=== USB docks & USB C alternate mode video ===<br />
The Pinebook Pro uses the RK3399 SoC (System on a Chip). It supports a video pass through mode on the USB C port using DisplayPort alternate mode. This DisplayPort output comes from the same GPU used to display the built-in LCD. <br />
<br />
Here are some selection criteria for successfully using the USB C alternate mode for video:<br />
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.<br />
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.<br />
* If USB 3 is also desired from a USB dock, the maximum resolution, frame rate and pixel depth is reduced to half the bandwidth. For example, 4K @ 30hz instead of 60hz.<br />
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).<br />
<br />
=== Key Mapping ===<br />
* See this [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/10-usb-kbd.hwdb /etc/udev/hwdb.d/10-usb-kbd.hwdb] for some key mapping tweaks<br />
<br />
<br />
=== Accessory Hardware Compatibility ===<br />
<br />
Please contribute to the following page which lists hardware which has been tested with the PBP, whether successful or not!<br />
<br />
* [[PBP_HW_Compatibiity|PineBookPro Hardware Compatibility]]<br />
<br />
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===<br />
This refers to the firmware update shown here:<br />
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
* If the system is not responding after the 1st reboot, it's might be easiest to do a system restore, and follow up by running the second step of the trackpad firmware update. <br />
* System restore https://forum.pine64.org/showthread.php?tid=8229<br />
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
<br />
= Technical Reference =<br />
== Accessing the Internals - Disassembly and Reassembly == <br />
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]<br />
<br />
'''WARNING:''' 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.<br />
<br />
'''WARNING:''' When removing the back cover plate, use care if sliding fingertips between back cover plate and palm rest assembly. The back cover plate edges are sharp.<br />
<br />
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. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.<br />
<br />
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. To reassemble the Pinebook Pro, slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the trackpad 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 2 short screws.<br />
<br />
NOTE: 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, 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, just let it be.<br />
<br />
== Pinebook Pro Internal Layout ==<br />
=== Main chips ===<br />
* RK3399 system-on-chip (1)<br />
* LPDDR4 SDRAM (21)<br />
* SPI NOR flash memory (29)<br />
* eMMC flash memory (26)<br />
* WiFi/BT module (27)<br />
<br />
=== Mainboard Switches and Buttons ===<br />
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. <br />
<br />
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). <br />
<br />
[[File:PBPL_S.jpg]]<br />
<br />
=== Key Internal Parts ===<br />
{| class="wikitable"<br />
|+ Numbered parts classification and description<br />
! Number<br />
! Type<br />
! Descriptor<br />
|-<br />
! scope=row | 1<br />
| Component || RK3399 System-On-Chip<br />
|-<br />
! scope=row | 2<br />
| Socket || PCIe 4X socket for optional NVMe adapter<br />
|-<br />
! scope=row | 3<br />
| Socket || Speakers socket<br />
|-<br />
! scope=row | 4<br />
| Socket || Trackpad socket<br />
|-<br />
! scope=row | 5<br />
| Component || Left speaker <br />
|-<br />
! scope=row | 6<br />
| Connector || Male power bridge connector <br />
|-<br />
! scope=row | 7<br />
| Socket || Keyboard Socket<br />
|-<br />
! scope=row | 8<br />
| Component || Optional NVMe SSD adapter<br />
|-<br />
! scope=row | 9<br />
| Switch || UART/Audio switch - outputs UART via headphone jack<br />
|-<br />
! scope=row | 10<br />
| Socket || Female power bridge socket<br />
|-<br />
! scope=row | 11<br />
| Socket || Battery socket<br />
|-<br />
! scope=row | 12<br />
| Component || Trackpad<br />
|-<br />
! scope=row | 13<br />
| Component || Battery<br />
|-<br />
! scope=row | 14<br />
| Component || Right speaker<br />
|-<br />
! scope=row | 15<br />
| Socket || MicroSD card slot<br />
|-<br />
! scope=row | 16<br />
| Socket || Headphone / UART jack<br />
|-<br />
! scope=row | 17<br />
| Socket || USB 2.0 Type A<br />
|-<br />
! scope=row | 18<br />
| Socket || Daughterboard-to-mainboard ribbon cable socket<br />
|-<br />
! scope=row | 19<br />
| Cable || Daughterboard-to-mainboard ribbon cable<br />
|-<br />
! scope=row | 20<br />
| Component || microphone<br />
|-<br />
! scope=row | 21<br />
| Component || LPDDR4 RAM<br />
|-<br />
! scope=row | 22<br />
| Socket || Mainboard-to-daughterboard ribbon cable socket<br />
|-<br />
! scope=row | 23<br />
| Socket || Microphone socket<br />
|-<br />
! scope=row | 24<br />
| Switch || Switch to hardware disable eMMC<br />
|-<br />
! scope=row | 25<br />
| Antenna || BT/WiFI antenna<br />
|-<br />
! scope=row | 26<br />
| Component || eMMC flash memory module <br />
|-<br />
! scope=row | 27<br />
| Component ||BT/WiFi module chip<br />
|-<br />
! scope=row | 28<br />
| Buttons || Reset and recovery buttons<br />
|-<br />
! scope=row | 29<br />
| Component || SPI flash storage<br />
|-<br />
! scope=row | 30<br />
| Socket || eDP LCD socket<br />
|-<br />
! scope=row | 31<br />
| Socket || Power in barrel socket<br />
|-<br />
! scope=row | 32<br />
| Socket || USB 3.0 Type A<br />
|-<br />
! scope=row | 33<br />
| Socket || USB 3.0 Type C <br />
|}<br />
<br />
== Bootable Storage ==<br />
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. <br />
<br />
At this time, the Pinebook Pro ships with a Debian + MATE build with [https://www.denx.de/wiki/U-Boot/ uboot] on the eMMC. Its boot order is: SD, then eMMC. Booting off USB storage is not currently available, but will be in the future.<br />
<br />
(An update has been pushed for the default Debian + MATE build that improves compatibility with booting other OSs 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.)<br />
<br />
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<br />
in a /boot partition on the eMMC.<br />
<br />
=== eMMC information ===<br />
The eMMC storage will show up as multiple block devices:<br />
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB<br />
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB<br />
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB<br />
*mmcblk1 - This block contains the user areas<br />
<br />
Only the last is usable as regular storage device in the Pinebook Pro.<br />
The device number of "1" shown above may vary, depending on kernel.<br />
<br />
=== Boot sequence details ===<br />
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.<br />
<br />
== Pinebook Pro Dimensions ==<br />
* Dimensions: 329mm x 220mm x 12mm (WxDxH)<br />
* Weight: 1.26Kg<br />
<br />
== SoC and Memory Specification ==<br />
[[File:Rockchip_RK3399.png|right]]<br />
* Based on Rockchip RK3399<br />
<br />
=== CPU Architecture ===<br />
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU<br />
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)<br />
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation<br />
** ARMv8 Cryptography Extensions<br />
** VFPv4 floating point unit supporting single and double-precision operations<br />
** Hardware virtualization support<br />
** TrustZone technology support<br />
** Full CoreSight debug solution<br />
** One isolated voltage domain to support DVFS<br />
* Cortex-A72 (big cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]<br />
** Superscalar, variable-length, out-of-order pipeline<br />
** L1 cache 48KB Icache and 32KB Dcache for each A72 <br />
** L2 cache 1024KB for big cluster <br />
* Cortex-A53 (little cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]<br />
** In-order pipeline with symmetric dual-issue of most instructions <br />
** L1 cache 32KB Icache and 32KB Dcache for each A53<br />
** L2 cache 512KB for little cluster<br />
* Cortex-M0 (control processors):<br />
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]<br />
** Two Cortex-M0 cooperate with the central processors<br />
** Architecture: Armv6-M<br />
** Thumb/Thumb2 instruction set<br />
** 32 bit only<br />
<br />
=== GPU Architecture ===<br />
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]<br />
* 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.<br />
* Frequency 650MHz <br />
* Throughput 1300Mtri/s, 10.4Gpix/s <br />
* OpenGL® ES 1.1, 1.2, 2.0, 3.1, 3.2., Vulkan 1.0*., OpenCL™ 1.1, 1.2., DirectX® 11 FL11_1., RenderScript™.<br />
<br />
=== System Memory ===<br />
* RAM Memory:<br />
** LPDDR4<br />
** Dual memory channels on the CPU, each 32 bits wide<br />
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel<br />
** 4GB as a single 366 pin mobile RAM chip<br />
* Storage Memory: <br />
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)<br />
** eMMC version 5.1, HS400, 8 bit on RK3399 side<br />
<br />
=== Battery ===<br />
* Lithium Polymer Battery (10,000 mAH)<br />
<br />
=== Display ===<br />
* 14.0" 1920x1080 IPS LCD panel<br />
<br />
=== Video out ===<br />
* USB-C Alt mode DP<br />
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)<br />
<br />
=== Audio ===<br />
* 3.5mm stereo earphone/microphone plug<br />
* Build in stereo speakers<br />
<br />
=== Network ===<br />
* WiFi:<br />
** 802.11 b/g/n/ac<br />
** Dual band: 2.4Ghz & 5Ghz<br />
** Single antenna<br />
* Bluetooth 5.0<br />
<br />
=== Expansion Ports ===<br />
* MicroSD card:<br />
** Bootable<br />
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.<br />
** Version SD3.0, (MMC 4.5), up to 50MB/s<br />
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS<br />
* USB ports:<br />
** 1 x USB 2.0 Type-A Host Port, bootable<br />
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable<br />
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable<br />
** 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.<br />
* Headphone jack switchable to UART console mux circuit<br />
* Optional NVMe adapter:<br />
** PCIe 2.x, 5GT/s per lane<br />
** 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)<br />
** Maximum length for M.2 card is 80mm (M.2 2280)<br />
** Power: 2.5W continuous, 8.25W peak momentary<br />
** Does not support SATA M.2 cards<br />
** Does not support USB M.2 cards<br />
<br />
== Pinebook Pro Schematics and Certifications ==<br />
* Pinebook Pro Main Board Schematic And Silkscreen:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]<br />
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]<br />
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]<br />
* Pinebook Pro Daughter Board Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]<br />
* Optional Pinebook Pro NVMe Adapter Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]<br />
* Serial Console Earphone Jack Pinout:<br />
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]<br />
* Pinebook Pro Case:<br />
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]<br />
* Pinebook Pro Certifications:<br />
** Not Yet Available<br />
<br />
== Datasheets for Components and Peripherals ==<br />
* Rockchip RK3399 SoC information:<br />
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]<br />
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]<br />
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]<br />
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]<br />
* LPDDR4 (366 Balls) SDRAM:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]<br />
* eMMC information:<br />
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]<br />
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]<br />
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]<br />
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]<br />
* SPI NOR Flash information:<br />
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]<br />
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]<br />
* Wireless related info:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]<br />
* Audio Codec (ES8316)<br />
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]<br />
* LCD Panel:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14" 1920x1080 IPS LCD Panel datasheet]<br />
* Touchpad information:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]<br />
* Keyboard information:<br />
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]<br />
** US ANSI: XK-HS002 MB27716023<br />
* Full HD Camera sensor:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]<br />
* Lithium Battery information:<br />
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14" model]<br />
<br />
=Skinning and Case Customization=<br />
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.<br />
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]<br />
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]<br />
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]<br />
<br />
= Other Resources =<br />
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]<br />
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]<br />
* [[RockPro64 Guides]]<br />
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]<br />
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]<br />
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]<br />
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro&diff=4456Pinebook Pro2020-01-02T20:41:11Z<p>Tophneal: /* Using as OS root drive */</p>
<hr />
<div>= User Guide =<br />
== Introducing PineBook Pro == <br />
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]<br />
<br />
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]<br />
<br />
It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh capacity battery, and the modularity that only an open source project can deliver. <br />
<br />
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, and camera; and expandable storage via NVMe (PCIe 4x) with an optional adapter. <br />
<br />
The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1x micro SD card reader (bootable), 1x USB 2.0, 1x USB 3.0, 1x USB type C Host with DP 1.2 and power-in, PCIe 4x for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). <br />
<br />
The keyboard and trackpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.<br />
<br />
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. <br />
<br />
== Software and OS Image Downloads ==<br />
<br />
=== Default Debian MATE Desktop Quick Start ===<br />
<br />
The default Operating system that ships with the Pinebook Pro is Debian 9 with MATE desktop. It has been built by a community developer called MrFixIt2001, who can be reached on the PINE64 forum or in the chats. <br />
The newest release of the build can downloaded directly from [https://github.com/mrfixit2001/debian_desktop/releases MrFixIt2001's GitHub]. <br />
<br />
'''The default username and password is:'''<br />
* Username: rock <br />
* Password: rock<br />
<br />
You can change the default ''rock'' username and ''rock'' home directory by logging into root (credentials root/root) instead of the default 'rock' user and running the following in root terminal and substituting desired username for NewUser:<br />
[[File:UpdateScript.png|350px|thumb|right|Location of update script applet icon on stock Debian with MATE]]<br />
<pre><br />
usermod -l NewUser rock<br />
usermod -d /home/rock -m NewUser<br />
</pre><br />
<br />
Once you log back into your new user, Bluetooth will complain about no transfer folder location. To fix this open terminal and type:<br />
<pre><br />
blueman-services<br />
</pre><br />
<br />
From here, select incoming folder under the 'transfer' tab.<br />
<br />
The build includes a custom updater capable of updating uboot, the Linux kernel and numerous packages. The update script can be ran from both the userspace and the commandline. You will find a small 'Update Script' applet icon in the bottom panel, next to time and date applet. <br />
<br />
You can run the script from the terminal using:<br />
<pre><br />
sudo /usr/bin/mrfixit_update.sh <br />
</pre><br />
<br />
More information about the default OS build and version history can be found on the [https://forum.pine64.org/showthread.php?tid=7830 Default OS update log] PINE64 forum thread.<br />
<br />
=== [[Pinebook Pro_Software_Release|Pinebook Pro]] ===<br />
Under [[Pinebook Pro Software Release|'Pinebook Pro Software and OS Image Download Section']] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software. <br />
<br />
The list includes OS images and descriptions of:<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Debian_Desktop}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian Desktop|'''Debian Desktop (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_LXDE}} http://files.pine64.org/sw/pine64_installer/json/lxde.png] [[PinebookPro_Software_Release#Bionic LXDE|'''Bionic LXDE (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Bionic_Mate}} http://files.pine64.org/sw/pine64_installer/json/mate.png] [[PinebookPro_Software_Release#Bionic Mate|'''Bionic Mate (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Manjaro_ARM}} http://files.pine64.org/sw/pine64_installer/json/manjaro.png] [[PinebookPro_Software_Release#Manjaro ARM|'''Manjaro ARM (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Q4OS}} http://files.pine64.org/sw/pine64_installer/json/q4os.png] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Chropmium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Android_7.1_microSD}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_microSD|'''Android 7.1 (microSD Boot)''']] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [{{fullurl:PinebookPro_Software_Release#Android_7.1_eMMC}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_eMMC|'''Android 7.1 (eMMC)''']]<br />
<br />
[{{fullurl:PinebookPro_Software_Release#Debian_Installer_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian_Installer_for_Pinebook_Pro|'''Debian Installer for Pinebook Pro''']]<br />
<br />
=== Quick Links to OS Images Build Sources===<br />
'''Some of the provided OS images are still in <span style="color:#FF0000">beta or nightly build</span> and only fit for testing purposes. These images ought to be avoided for normal usage - use them at <span style="color:#FF0000">your own risk</span>'''<br />
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]<br />
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]<br />
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]<br />
<br />
== Keyboard ==<br />
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and trackpad 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, trackpad 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. <br />
<br />
The keyboard firmware binary can be flashed from userspace using the provided open source utility. <br />
<br />
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. <br />
<br />
=== Typing special characters ===<br />
The [[Wikipedia:British_and_American_keyboards#Other_keyboard_layouts|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. <br />
{| class="wikitable"<br />
!Character<br />
!Key combination/sequence<br />
|-<br />
|Ä, Ö, Ü, ä, ö, ü<br />
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]<br />
|-<br />
|µ<br />
|[AltGr]+[m]<br />
|-<br />
|Ø, ø<br />
|[AltGr]+[O], [AltGr]+[o]<br />
|-<br />
|@<br />
|[AltGr]+[q] (as on the German layout)<br />
|-<br />
|ß<br />
|[AltGr]+[s]<br />
|-<br />
|§<br />
|[AltGr]+[S]<br />
|-<br />
|°<br />
|[AltGr]+[)]<br />
|}<br />
<br />
=== Privacy Switches ===<br />
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:<br />
<br />
{| class="wikitable"<br />
|+ Privacy switch function and description<br />
! Combination<br />
! Effect<br />
! Description<br />
|-<br />
! scope=row | PINE64 logo key+F10<br />
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled<br />
|-<br />
! scope=row | PINE64 logo key+F11<br />
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled. '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&pid=52645#pid52645 command line hack to bind/unbind]).<br />
|-<br />
! scope=row | PINE64 logo key+F12<br />
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled<br />
|}<br />
<br />
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''<br />
<br />
The keyboard uses special firmware that operates separately of the operating system. It detects if either the F10, F11 or F12 key, and the Pine key were pressed for 3 seconds. This disables the peripherals as listed above by cutting off their power. Which has the same result 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 a 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.<br />
<br />
== Trackpad ==<br />
The trackpad is large, smooth (metallic to-the-touch), and has two actuating buttons. It is the only component of the Pinebook Pro held in place with strong adhesive tape. It supports multi-touch functionality. <br />
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].<br />
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).<br />
<br />
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' <br />
<br />
Before you start:<br />
<br />
Please refer to original documentation for details.<br />
<br />
Your Pinebook Pro should be either fully charged or, preferably, running of mains. This utility will be writing chips on the keyboard and trackpad, so a loss of power during any stage of the update can result in irrecoverable damage to your trackpad or keyboard.<br />
<br />
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.<br />
<br />
What you will need:<br />
<br />
*Your Pinebook Pro fully charged or running off of mains power<br />
*Connection to WiFi<br />
*An external USB mouse or access to the Pinebebook Pro via ssh <br />
<br />
From the terminal command line: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2<br />
sudo reboot<br />
</pre><br />
<br />
== Power Supply ==<br />
* Input Power: 5V DC @ 3A<br />
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack<br />
* USB-C 15W PD quickcharge<br />
* Only use one power input at a time, barrel jack OR USB-C<br />
<br />
== LEDs ==<br />
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: <br />
<br />
:1. The red LED next to the barrel-port indicates charging. It will illuminate when mains power is supplied to the Pinebook Pro from either the standard power supply unit or a USB-C smartphone charger.<br />
<br />
:2. The power indicator LED on the Pinebook Pro supports three different colours: green, amber and red. It is also capable of flashing/blinking to indicate activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). <br />
<br />
:3. The Num lock, green LED.<br />
<br />
:4. The Caps lock, green LED.<br />
<br />
(The Num and Caps lock LEDs have a secondary function. When the privacy switches get activated they blink to confirm that switch has been activated.)<br />
<br />
== Webcam ==<br />
* 1600 x 1200 maximum resolution<br />
* Some people test with the application Cheese<br />
WIP<br />
<br />
== Microphones ==<br />
Some Pinebook Pro chassis have 2 microphone labeled holes. Only the right hole is populated with a microphone.<br />
<br />
== Bluetooth and WiFi ==<br />
WIP<br />
<br />
== LCD Panel ==<br />
* 1080p resolution<br />
WIP<br />
<br />
== External ports list ==<br />
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.<br />
* Left side<br />
** Barrel jack for power, (with LED)<br />
** USB 3, Type A<br />
** USB 3, Type C<br />
* Right side<br />
** USB 2, Type A<br />
** Standard headset jack<br />
** MicroSD card slot<br />
<br />
== Using the UART ==<br />
[[File:PBPUART.jpeg|400px|thumb|right|Headphone Jack UART wiring reference]]<br />
<br />
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 [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly proper disassembly and reassembly protocol]. The OFF position is towards the touchpad, the ON position is towards the display hinges.<br />
<br />
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.3v interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3v and 5v variants) to avoid damage to the CPU. <br />
<br />
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:<br />
<br />
<code><br />
$ lsusb<br />
</code><br />
<br />
you should find a line similar to this:<br />
<br />
<code><br />
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter<br />
</code><br />
<br />
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.<br />
<br />
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.<br />
<br />
Serial output should now be accessible using screen, picocom or minicom (and others).<br />
Examples:<br />
<br />
<code><br />
screen /dev/ttyUSB0 1500000<br />
<br />
picocom /dev/ttyUSB0 -b 1500000<br />
<br />
minicom -D /dev/ttyUSB0 -b 1500000</code><br />
<br />
Current versions of U-Boot do not use the UART for console output. The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.<br />
<br />
== Using the optional NVMe adapter ==<br />
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 both 2242 & 2280 physical sizes, the most common ones available.<br />
<br />
=== Installing the adapter ===<br />
The v2.1 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.<br />
<br />
(If necessary, they can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)<br />
<br />
Actual installation instructions are a work in progress.<br />
<br />
=== Post NVMe install power limiting ===<br />
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 at lower battery levels. And to reduce power used, to maintain battery life.<br />
Here is the command to obtain and change the power settings. The example shows how to find the available power states, and set it to the lowest, non-standby setting, which is 3.8 watts;<br />
<pre>$ sudo nvme id-ctrl /dev/nvme0<br />
NVME Identify Controller:<br />
...<br />
ps 0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0<br />
rwt:0 rwl:0 idle_power:- active_power:-<br />
ps 1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1<br />
rwt:1 rwl:1 idle_power:- active_power:-<br />
ps 2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2<br />
rwt:2 rwl:2 idle_power:- active_power:-<br />
ps 3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3<br />
rwt:3 rwl:3 idle_power:- active_power:-<br />
ps 4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4<br />
rwt:4 rwl:4 idle_power:- active_power:-<br />
<br />
$ sudo nvme get-feature /dev/nvme0 -f 2<br />
get-feature:0x2 (Power Management), Current value:00000000<br />
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2<br />
set-feature:02 (Power Management), value:0x000002</pre><br />
<br />
=== Using as data drive ===<br />
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 both Linux and FreeBSD, using the normal partitioning and file system creation tools. Android and Chromium OS require testing.<br />
<br />
=== Using as OS root drive ===<br />
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 SPI flash.<br />
<br />
The current boot order, per last testing, for this modified u-boot is:<br />
*microSD<br />
*eMMC<br />
*NVMe<br />
<br />
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&pid=53764#pid53764 the forum post.]<br />
<br />
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 <code>/boot</code> and <code>/</code> off the NVMe drive. So this may change in the future.)<br />
<br />
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].<br />
<br />
== Caring for the PineBook Pro ==<br />
=== Bypass Cables ===<br />
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 [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice]. <br />
<br />
WARNING: Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.<br />
<br />
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===<br />
<span style="color:#FF0000">Placeholder for Pinebook Pro specific guides</span><br />
<br />
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:<br />
<br />
'''Note: The installation process on Pinebook Pro similar to 14" Pinebook'''<br />
<br />
'''Note: The installation process is the reverse order of removal guide'''<br />
<br />
* 14″ Pinebook Lithium Battery Pack Removal Guide<br />
* 14″ Pinebook LCD Panel Screen Removal Guide<br />
* 14″ Pinebook eMMC Module Removal Guide<br />
<br />
== FAQ ==<br />
What cool software works out of the box? [[Pinebook Pro OTB Experience]]<br />
<br />
= Software tuning guide =<br />
Details on how to get the most out of a Pinebook Pro & its RK3399 SoC.<br />
<br />
== Kernel options ==<br />
Here are some Pinebook Pro & its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.<br />
<br />
To see if a specific one is enabled, you can use something like this;<br />
<br />
<pre><br />
$ zgrep HANTRO /proc/config.gz<br />
CONFIG_VIDEO_HANTRO=m<br />
CONFIG_VIDEO_HANTRO_ROCKCHIP=y<br />
</pre><br />
<br />
=== Hardware video decoding ===<br />
To enable hardware video decoding by the VPU, the kernel options should have this:<br />
<br />
<pre><br />
CONFIG_VIDEO_HANTRO=m<br />
CONFIG_VIDEO_HANTRO_ROCKCHIP=y<br />
</pre><br />
<br />
<br />
== Chromium tweaks ==<br />
<br />
=== Flags ===<br />
<br />
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:<br />
<br />
<pre><br />
--disable-low-res-tiling \<br />
--num-raster-threads=6 \<br />
--profiler-timing=0 \<br />
--disable-composited-antialiasing \<br />
--test-type \<br />
--show-component-extension-options \<br />
--ignore-gpu-blacklist \<br />
--use-gl=egl \<br />
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \<br />
--ppapi-flash-version=32.0.0.255 \<br />
--enable-pinch \<br />
--flag-switches-begin \<br />
--enable-gpu-rasterization \<br />
--enable-oop-rasterization \<br />
--flag-switches-end<br />
</pre><br />
<br />
=== Disable prompt for passphrase & password storage in mrfixit2001 OS ===<br />
<br />
Perform the following steps:<br />
<br />
* On the tool bar, hover over the Chromium icon<br />
* Using the right mouse button, select '''Properties'''<br />
* In the '''Command:''' line section, add <code>--password-store=basic</code> before the <code>%U</code><br />
* Use the '''x Close''' button to save the change<br />
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.<br />
<br />
== Changing the boot splash picture in mrfixit2001 OS ==<br />
<br />
The default boot splash picture can be replaced using the following instructions:<br />
<br />
* Install '''ImageMagick''' which will do the conversion<br />
<pre>$ sudo apt-get install imagemagick</pre><br />
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).<br />
* From the directory in which your new image is stored run the following commands<br />
* Convert your image to the bootsplash raw format using imagemagick convert.<br />
<pre>$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb</pre><br />
* Create a backup copy of your current splash screen<br />
<pre>$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb</pre><br />
* Copy your new splash screen into place<br />
<pre>$ sudo cp splash.fb /usr/share/backgrounds/splash.fb</pre><br />
* Set the correct permissions on the splash.fb file<br />
<pre>$ sudo chmod 644 /usr/share/backgrounds/splash.fb</pre><br />
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed<br />
<br />
= Troubleshooting guide =<br />
Tips, tricks and other information for troubleshooting your Pinebook Pro<br />
=== New from the factory - Pinebook Pro won't boot / power on ===<br />
* Some Pinebook Pros came from the factory with the eMMC switch in the disabled position. It should be switched towards the back / hinge to enable the eMMC.<br><br />
* The eMMC may have come loose during shipment. [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly Open] the back and verify that the eMMC is firmly seated.<br><br />
* You may want to try unplugging the SD card daughterboard ribbon cable and see if it powers on (remove the battery and peel off a bit of the tape before unplugging it to avoid damage). If it does, try reseating it on both sides. It might have come loose during shipping.<br />
* It's possible that your eMMC is empty from the factory. Simply create a bootable SD card and see if your Pinebook Pro boots. If so, you can then write an OS image to the eMMC.<br />
<br />
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===<br />
* This may happen if you meant to toggle the UART/Headphone switch (9) towards touchpad for headphone use and instead you toggled the eMMC enable/disable switch (24).<br />
* After reenabling eMMC by toggling switch (24) towards hinge, if Pinebook Pro does not turn on then press the RESET button (28). It is clearly marked 'reset' on the PCB board.<br />
<br />
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===<br />
* Closely inspect that the shielding is firmly seated in the clips on all sides. You can be seated in the clips on one axis, and have missed on an another axis.<br />
<br />
=== Pinebook Pro won't boot when using UART console cable ===<br />
* If you're using the UART cable sold on the Pine Store, you may want to see if it boots after you disconnect it. Some users report that custom-made cables based on FTDI UART adapters do not cause this issue.<br />
* Make sure your USB to serial UART device is 3.3v. Many are 5v and some even +-12v. Pinebook Pro's only support 3.3v and may act eratically when using higher voltage. Further, higher voltage could permananetly damage the Pinebook Pro's SoC.<br />
<br />
=== Keys not registering / missing keys when typing ===<br />
This issue occurs when your thumb or edge of the palm makes contact with left or right tip of the trackpad when you type. This is due to the palm rejection firmware being too forceful. Instead of only disabling the trackpad, so your cursor does not move all over the screen, it disables both the trackpad and the keyboard.<br />
<br />
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.<br />
<br />
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.<br />
<br />
=== WiFi issues ===<br />
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]<br />
* Next, you may have to modify the <code>/etc/NetworkManager/NetworkManager.conf</code> as root user, and replace <code>managed=false</code> with <code>managed=true</code>. Then reboot.<br />
* For connections that drop and resume too often, it might be due to WiFi power management from earlier OS releases. Later OS releases either removed WiFi power management, or default to full power. (Power management can be turned off via command line with <code>iw dev wlan0 set power_save off</code> or <code>iwconfig wlan0 power off</code>, although it is not persistent through re-boot.)<br />
* If WiFi is un-usable or often crashes when using an alternate OS, then it might because its WiFi firmware is not appropriate for the WiFi chip in the Pinebook Pro. Try the latest firmware patch from [https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm]<br />
<br />
=== Bluetooth issues ===<br />
* When connecting a Bluetooth device, such as a Bluetooth mouse, it does not automatically re-connect on re-boot. In the Bluetooth connection GUI, there is a yellow star for re-connect on boot. Use that button to enable a persistent connection. It can be changed back later.<br />
* Bluetooth-attached speakers or headset require the <b>pulseaudio-module-bluetooth</b> package. If not already installed, it can be installed with a package manager or with:<br><br />
<pre>sudo apt-get install pulseaudio-module-bluetooth</pre><br />
* When using Bluetooth-attached speakers or headset and 2.4Ghz WiFi at the same time, you may experience stuttering of the audio. One solution is to use 5Ghz WiFi if you can. Or you may try using a different 2.4Ghz channel, perhaps channel 1 or the top channel, (11 in the USA, or 13/14 in some other countries).<br />
<br />
=== Sound issues ===<br />
* Many reports of no sound are due to the OS, incorrect settings, or other software problems (eg. PulseAudio). So first test to see if it is a software or hardware problem, by trying another OS via SD card. (For example, if Debian is installed on the eMMC, try Ubuntu on SD.) <br />
* If you cannot get sound from the headphone jack, but can get sound from the speakers, then the headphone / UART console switch may be set to the UART mode. You can open the back and check the position of the switch. If set to UART mode, switch it to headphone mode. See the parts layout for the location and correct position of the switch.<br />
* When using the USB C alternate DisplayPort mode, it is possible that the audio has been re-directed through this path. If your monitor has speakers, then see if they work.<br />
* See this [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/asound.state /var/lib/alsa/asound.state] for some Alsa tweaks<br />
<br />
=== USB docks & USB C alternate mode video ===<br />
The Pinebook Pro uses the RK3399 SoC (System on a Chip). It supports a video pass through mode on the USB C port using DisplayPort alternate mode. This DisplayPort output comes from the same GPU used to display the built-in LCD. <br />
<br />
Here are some selection criteria for successfully using the USB C alternate mode for video:<br />
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.<br />
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.<br />
* If USB 3 is also desired from a USB dock, the maximum resolution, frame rate and pixel depth is reduced to half the bandwidth. For example, 4K @ 30hz instead of 60hz.<br />
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).<br />
<br />
=== Key Mapping ===<br />
* See this [https://gitlab.manjaro.org/manjaro-arm/packages/community/pinebookpro-post-install/blob/master/10-usb-kbd.hwdb /etc/udev/hwdb.d/10-usb-kbd.hwdb] for some key mapping tweaks<br />
<br />
<br />
=== Accessory Hardware Compatibility ===<br />
* [[PBP_HW_Compatibiity|PineBookPro Hardware Compatibility]]<br />
<br />
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===<br />
This refers to the firmware update shown here:<br />
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
* If the system is not responding after the 1st reboot, it's might be easiest to do a system restore, and follow up by running the second step of the trackpad firmware update. <br />
* System restore https://forum.pine64.org/showthread.php?tid=8229<br />
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares<br />
<br />
= Technical Reference =<br />
== Accessing the Internals - Disassembly and Reassembly == <br />
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]<br />
<br />
'''WARNING:''' 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.<br />
<br />
'''WARNING:''' When removing the back cover plate, use care if sliding fingertips between back cover plate and palm rest assembly. The back cover plate edges are sharp.<br />
<br />
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. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.<br />
<br />
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. To reassemble the Pinebook Pro, slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the trackpad 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 2 short screws.<br />
<br />
NOTE: 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, 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, just let it be.<br />
<br />
== Pinebook Pro Internal Layout ==<br />
=== Main chips ===<br />
* RK3399 system-on-chip (1)<br />
* LPDDR4 SDRAM (21)<br />
* SPI NOR flash memory (29)<br />
* eMMC flash memory (26)<br />
* WiFi/BT module (27)<br />
<br />
=== Mainboard Switches and Buttons ===<br />
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. <br />
<br />
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). <br />
<br />
[[File:PBPL_S.jpg]]<br />
<br />
=== Key Internal Parts ===<br />
{| class="wikitable"<br />
|+ Numbered parts classification and description<br />
! Number<br />
! Type<br />
! Descriptor<br />
|-<br />
! scope=row | 1<br />
| Component || RK3399 System-On-Chip<br />
|-<br />
! scope=row | 2<br />
| Socket || PCIe 4X socket for optional NVMe adapter<br />
|-<br />
! scope=row | 3<br />
| Socket || Speakers socket<br />
|-<br />
! scope=row | 4<br />
| Socket || Trackpad socket<br />
|-<br />
! scope=row | 5<br />
| Component || Left speaker <br />
|-<br />
! scope=row | 6<br />
| Connector || Male power bridge connector <br />
|-<br />
! scope=row | 7<br />
| Socket || Keyboard Socket<br />
|-<br />
! scope=row | 8<br />
| Component || Optional NVMe SSD adapter<br />
|-<br />
! scope=row | 9<br />
| Switch || UART/Audio switch - outputs UART via headphone jack<br />
|-<br />
! scope=row | 10<br />
| Socket || Female power bridge socket<br />
|-<br />
! scope=row | 11<br />
| Socket || Battery socket<br />
|-<br />
! scope=row | 12<br />
| Component || Trackpad<br />
|-<br />
! scope=row | 13<br />
| Component || Battery<br />
|-<br />
! scope=row | 14<br />
| Component || Right speaker<br />
|-<br />
! scope=row | 15<br />
| Socket || MicroSD card slot<br />
|-<br />
! scope=row | 16<br />
| Socket || Headphone / UART jack<br />
|-<br />
! scope=row | 17<br />
| Socket || USB 2.0 Type A<br />
|-<br />
! scope=row | 18<br />
| Socket || Daughterboard-to-mainboard ribbon cable socket<br />
|-<br />
! scope=row | 19<br />
| Cable || Daughterboard-to-mainboard ribbon cable<br />
|-<br />
! scope=row | 20<br />
| Component || microphone<br />
|-<br />
! scope=row | 21<br />
| Component || LPDDR4 RAM<br />
|-<br />
! scope=row | 22<br />
| Socket || Mainboard-to-daughterboard ribbon cable socket<br />
|-<br />
! scope=row | 23<br />
| Socket || Microphone socket<br />
|-<br />
! scope=row | 24<br />
| Switch || Switch to hardware disable eMMC<br />
|-<br />
! scope=row | 25<br />
| Antenna || BT/WiFI antenna<br />
|-<br />
! scope=row | 26<br />
| Component || eMMC flash memory module <br />
|-<br />
! scope=row | 27<br />
| Component ||BT/WiFi module chip<br />
|-<br />
! scope=row | 28<br />
| Buttons || Reset and recovery buttons<br />
|-<br />
! scope=row | 29<br />
| Component || SPI flash storage<br />
|-<br />
! scope=row | 30<br />
| Socket || eDP LCD socket<br />
|-<br />
! scope=row | 31<br />
| Socket || Power in barrel socket<br />
|-<br />
! scope=row | 32<br />
| Socket || USB 3.0 Type A<br />
|-<br />
! scope=row | 33<br />
| Socket || USB 3.0 Type C <br />
|}<br />
<br />
== Bootable Storage ==<br />
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. <br />
<br />
At this time, the Pinebook Pro ships with a Debian + MATE build with [https://www.denx.de/wiki/U-Boot/ uboot] on the eMMC. Its boot order is: SD, then eMMC. Booting off USB storage is not currently available, but will be in the future.<br />
<br />
(An update has been pushed for the default Debian + MATE build that improves compatibility with booting other OSs 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.)<br />
<br />
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<br />
in a /boot partition on the eMMC.<br />
<br />
=== eMMC information ===<br />
The eMMC storage will show up as multiple block devices:<br />
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB<br />
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB<br />
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB<br />
*mmcblk1 - This block contains the user areas<br />
<br />
Only the last is usable as regular storage device in the Pinebook Pro.<br />
The device number of "1" shown above may vary, depending on kernel.<br />
<br />
=== Boot sequence details ===<br />
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.<br />
<br />
== Pinebook Pro Dimensions ==<br />
* Dimensions: 329mm x 220mm x 12mm (WxDxH)<br />
* Weight: 1.26Kg<br />
<br />
== SoC and Memory Specification ==<br />
[[File:Rockchip_RK3399.png|right]]<br />
* Based on Rockchip RK3399<br />
<br />
=== CPU Architecture ===<br />
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU<br />
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)<br />
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation<br />
** ARMv8 Cryptography Extensions<br />
** VFPv4 floating point unit supporting single and double-precision operations<br />
** Hardware virtualization support<br />
** TrustZone technology support<br />
** Full CoreSight debug solution<br />
** One isolated voltage domain to support DVFS<br />
* Cortex-A72 (big cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]<br />
** Superscalar, variable-length, out-of-order pipeline<br />
** L1 cache 48KB Icache and 32KB Dcache for each A72 <br />
** L2 cache 1024KB for big cluster <br />
* Cortex-A53 (little cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]<br />
** In-order pipeline with symmetric dual-issue of most instructions <br />
** L1 cache 32KB Icache and 32KB Dcache for each A53<br />
** L2 cache 512KB for little cluster<br />
* Cortex-M0 (control processors):<br />
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]<br />
** Two Cortex-M0 cooperate with the central processors<br />
** Architecture: Armv6-M<br />
** Thumb/Thumb2 instruction set<br />
** 32 bit only<br />
<br />
=== GPU Architecture ===<br />
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]<br />
* 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.<br />
* Frequency 650MHz <br />
* Throughput 1300Mtri/s, 10.4Gpix/s <br />
* OpenGL® ES 1.1, 1.2, 2.0, 3.1, 3.2., Vulkan 1.0*., OpenCL™ 1.1, 1.2., DirectX® 11 FL11_1., RenderScript™.<br />
<br />
=== System Memory ===<br />
* RAM Memory:<br />
** LPDDR4<br />
** Dual memory channels on the CPU, each 32 bits wide<br />
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel<br />
** 4GB as a single 366 pin mobile RAM chip<br />
* Storage Memory: <br />
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)<br />
** eMMC version 5.1, HS400, 8 bit on RK3399 side<br />
<br />
=== Battery ===<br />
* Lithium Polymer Battery (10,000 mAH)<br />
<br />
=== Display ===<br />
* 14.1" 1920x1080 IPS LCD panel<br />
<br />
=== Video out ===<br />
* USB-C Alt mode DP<br />
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)<br />
<br />
=== Audio ===<br />
* 3.5mm stereo earphone/microphone plug<br />
* Build in stereo speakers<br />
<br />
=== Network ===<br />
* WiFi:<br />
** 802.11 b/g/n/ac<br />
** Dual band: 2.4Ghz & 5Ghz<br />
** Single antenna<br />
* Bluetooth 5.0<br />
<br />
=== Expansion Ports ===<br />
* MicroSD card:<br />
** Bootable<br />
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.<br />
** Version SD3.0, (MMC 4.5), up to 50MB/s<br />
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS<br />
* USB ports:<br />
** 1 x USB 2.0 Type-A Host Port, bootable<br />
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable<br />
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable<br />
** 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.<br />
* Headphone jack switchable to UART console mux circuit<br />
* Optional NVMe adapter:<br />
** PCIe 2.x, 5GT/s per lane<br />
** 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)<br />
** Maximum length for M.2 card is 80mm (M.2 2280)<br />
** Power: 2.5W continuous, 8.25W peak momentary<br />
** Does not support SATA M.2 cards<br />
** Does not support USB M.2 cards<br />
<br />
== Pinebook Pro Schematics and Certifications ==<br />
* Pinebook Pro Main Board Schematic And Silkscreen:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]<br />
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]<br />
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]<br />
* Pinebook Pro Daughter Board Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]<br />
* Optional Pinebook Pro NVMe Adapter Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]<br />
* Serial Console Earphone Jack Pinout:<br />
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]<br />
* Pinebook Pro Case:<br />
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]<br />
* Pinebook Pro Certifications:<br />
** Not Yet Available<br />
<br />
== Datasheets for Components and Peripherals ==<br />
* Rockchip RK3399 SoC information:<br />
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]<br />
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]<br />
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]<br />
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]<br />
* LPDDR4 (366 Balls) SDRAM:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]<br />
* eMMC information:<br />
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]<br />
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]<br />
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]<br />
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]<br />
* SPI NOR Flash information:<br />
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]<br />
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]<br />
* Wireless related info:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]<br />
* Audio Codec (ES8316)<br />
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]<br />
* LCD Panel:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14" 1920x1080 IPS LCD Panel datasheet]<br />
* Touchpad information:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]<br />
* Keyboard information:<br />
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]<br />
** US ANSI: XK-HS002 MB27716023<br />
* Full HD Camera sensor:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]<br />
* Lithium Battery information:<br />
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14" model]<br />
<br />
=Skinning and Case Customization=<br />
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.<br />
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]<br />
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]<br />
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]<br />
<br />
= Other Resources =<br />
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]<br />
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]<br />
* [[RockPro64 Guides]]<br />
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]<br />
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]<br />
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro&diff=4210Pinebook Pro2019-12-04T18:26:31Z<p>Tophneal: /* Skinning and Case Customization */</p>
<hr />
<div>= User Guide =<br />
== Introducing PineBook Pro == <br />
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]<br />
<br />
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]<br />
<br />
It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh capacity battery, and the modularity that only an open source project can deliver. <br />
<br />
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, and camera; and expandable storage via NVMe (PCIe 4x) with an optional adapter. <br />
<br />
The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1x micro SD card reader (bootable), 1x USB 2.0, 1x USB 3.0, 1x USB type C Host with DP 1.2 and power-in, PCIe 4x for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). <br />
<br />
The keyboard and trackpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.<br />
<br />
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. <br />
<br />
== Software and OS Image Downloads ==<br />
=== [[Pinebook Pro_Software_Release|Pinebook Pro]] ===<br />
Under [[Pinebook Pro Software Release|'Pinebook Pro Software and OS Image Download Section']] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software. <br />
<br />
The list includes OS images and descriptions of:<br />
* [{{fullurl:PinebookPro_Software_Release#Debian_Desktop}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian Desktop|'''Debian Desktop (microSD and eMMC Boot)''']]<br />
* [{{fullurl:PinebookPro_Software_Release#Bionic_LXDE}} http://files.pine64.org/sw/pine64_installer/json/lxde.png] [[PinebookPro_Software_Release#Bionic LXDE|'''Bionic LXDE (microSD and eMMC Boot)''']]<br />
* [{{fullurl:PinebookPro_Software_Release#Bionic_Mate}} http://files.pine64.org/sw/pine64_installer/json/mate.png] [[PinebookPro_Software_Release#Bionic Mate|'''Bionic Mate (microSD and eMMC Boot)''']]<br />
* [{{fullurl:PinebookPro_Software_Release#Chromium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]<br />
* [{{fullurl:PinebookPro_Software_Release#Android_7.1_microSD}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_microSD|'''Android 7.1 (microSD Boot)''']] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [{{fullurl:PinebookPro_Software_Release#Android_7.1_eMMC}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_eMMC|'''Android 7.1 (eMMC)''']]<br />
<br />
=== Quick Links to OS Images Build Sources===<br />
'''Some of the provided OS images are still in <span style="color:#FF0000">beta or nightly build</span> and only fit for testing purposes. These images ought to be avoided for normal usage - use them at <span style="color:#FF0000">your own risk</span>'''<br />
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]<br />
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]<br />
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]<br />
<br />
== Keyboard ==<br />
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and trackpad 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, trackpad 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. <br />
<br />
The keyboard firmware binary can be flashed from userspace using the provided open source utility. <br />
<br />
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. <br />
<br />
=== Typing special characters ===<br />
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. <br />
{| class="wikitable"<br />
!Character<br />
!Key combination/sequence<br />
|-<br />
|Ä, Ö, Ü, ä, ö, ü<br />
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]<br />
|-<br />
|µ<br />
|[AltGr]+[m]<br />
|-<br />
|Ø, ø<br />
|[AltGr]+[O], [AltGr]+[o]<br />
|-<br />
|@<br />
|[AltGr]+[q] (as on the German layout)<br />
|-<br />
|ß<br />
|[AltGr]+[s]<br />
|-<br />
|§<br />
|[AltGr]+[S]<br />
|-<br />
|°<br />
|[AltGr]+[)]<br />
|}<br />
<br />
=== Privacy Switches ===<br />
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:<br />
<br />
{| class="wikitable"<br />
|+ Privacy switch function and description<br />
! Combination<br />
! Effect<br />
! Description<br />
|-<br />
! scope=row | PINE64 logo key+F10<br />
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled<br />
|-<br />
! scope=row | PINE64 logo key+F11<br />
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled. '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&pid=52645#pid52645 command line hack to bind/unbind]).<br />
|-<br />
! scope=row | PINE64 logo key+F12<br />
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled<br />
|}<br />
<br />
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''<br />
<br />
The keyboard uses special firmware that operates separately of the operating system. It detects if either the F10, F11 or F12 key, and the Pine key were pressed for 3 seconds. This disables the peripherals as listed above by cutting off their power. Which has the same result 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 a 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.<br />
<br />
== Trackpad ==<br />
The trackpad is large, smooth (metallic to-the-touch), and has two actuating buttons. It is the only component of the Pinebook Pro held in place with strong adhesive tape. It supports multi-touch functionality. <br />
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].<br />
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).<br />
<br />
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' <br />
<br />
Before you start:<br />
<br />
Please refer to original documentation for details.<br />
<br />
Your Pinebook Pro should be either fully charged or, preferably, running of mains. This utility will be writing chips on the keyboard and trackpad, so a loss of power during any stage of the update can result in irrecoverable damage to your trackpad or keyboard.<br />
<br />
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.<br />
<br />
What you will need:<br />
<br />
*Your Pinebook Pro fully charged or running off of mains power<br />
*Connection to WiFi<br />
*An external USB keyboard or access to the Pinebebook Pro via ssh <br />
<br />
From the terminal command line: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2<br />
sudo reboot<br />
</pre><br />
<br />
== Power Supply ==<br />
* Input Power: 5V DC @ 3A<br />
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack<br />
* USB-C 15W PD quickcharge<br />
* Only use one power input at a time, barrel jack OR USB-C<br />
<br />
== LEDs ==<br />
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: <br />
<br />
:1. The red LED next to the barrel-port indicates charging. It will illuminate when mains power is supplied to the Pinebook Pro from either the standard power supply unit or a USB-C smartphone charger.<br />
<br />
:2. The power indicator LED on the Pinebook Pro supports three different colours: green, amber and red. It is also capable of flashing/blinking to indicate activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). <br />
<br />
:3. The Num lock, green LED.<br />
<br />
:4. The Caps lock, green LED.<br />
<br />
(The Num and Caps lock LEDs have a secondary function. When the privacy switches get activated they blink to confirm that switch has been activated.)<br />
<br />
== Webcam ==<br />
* 1080p resolution<br />
* Some people test with the application Cheese<br />
WIP<br />
<br />
== Microphones ==<br />
Some Pinebook Pro chassis have 2 microphone labeled holes. Only the right hole is populated with a microphone.<br />
<br />
== Bluetooth and WiFi ==<br />
WIP<br />
<br />
== LCD Panel ==<br />
* 1080p resolution<br />
WIP<br />
<br />
== Using the UART ==<br />
[[File:PBPUART.jpeg|400px|thumb|right|Headphone Jack UART wiring reference]]<br />
<br />
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 [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly proper disassembly and reassembly protocol]. The OFF position is towards the touchpad, the ON position is towards the display hinges.<br />
<br />
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. PINE64 store sells [https://store.pine64.org/?product=pinebook-serial-console a dedicated serial console] but you can make your own if you have a serial console USB 2.0 adapter and old/ broken headphones. If you do make your own cable, please ensure that you are using a 3.3v interface (such as the CH340, FTDI-232R or PL2303 - which are often sold in 3.3v and 5v variants) to avoid damage to the CPU. <br />
<br />
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:<br />
<br />
<code><br />
$ lsusb<br />
</code><br />
<br />
you should find a line similar to this:<br />
<br />
<code><br />
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter<br />
</code><br />
<br />
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.<br />
<br />
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.<br />
<br />
Serial output should now be accessible using screen, picocom or minicom (and others).<br />
Examples:<br />
<br />
<code><br />
screen /dev/ttyUSB0 1500000<br />
<br />
picocom /dev/ttyUSB0 -b 1500000<br />
<br />
minicom -D /dev/ttyUSB0 -b 1500000</code><br />
<br />
Current versions of U-Boot do not use the UART for console output. The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.<br />
<br />
== Using the optional NVMe adapter ==<br />
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard).<br />
<br />
=== Installing the adapter ===<br />
The v2.1 SSD adapter that is shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.<br />
<br />
(If necessary, they can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)<br />
<br />
=== Using as data drive ===<br />
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 both Linux and FreeBSD, using the normal partitioning and file system creation tools. Android and Chromium OS require testing.<br />
<br />
=== Using as OS root drive ===<br />
It is not possible to boot directly off an NVMe drive. The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order.<br />
<br />
However, it is 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 <code>/boot</code> and <code>/</code> off the NVMe drive. So this may change in the future.)<br />
<br />
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].<br />
<br />
== Caring for the PineBook Pro ==<br />
=== Bypass Cables ===<br />
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 [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice]. <br />
<br />
WARNING: Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.<br />
<br />
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===<br />
<span style="color:#FF0000">Placeholder for Pinebook Pro specific guides</span><br />
<br />
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:<br />
<br />
'''Note: The installation process on Pinebook Pro similar to 14" Pinebook'''<br />
<br />
'''Note: The installation process is the reverse order of removal guide'''<br />
<br />
* 14″ Pinebook Lithium Battery Pack Removal Guide<br />
* 14″ Pinebook LCD Panel Screen Removal Guide<br />
* 14″ Pinebook eMMC Module Removal Guide<br />
<br />
== FAQ ==<br />
What cool software works out of the box? [[Pinebook Pro OTB Experience]]<br />
<br />
= Troubleshooting guide =<br />
Tips, tricks and other information for troubleshooting your Pinebook Pro<br />
=== New from the factory - Pinebook Pro won't boot / power on ===<br />
* Some Pinebook Pros came from the factory with the eMMC switch in the disabled position. It should be switched towards the back / hinge to enable the eMMC.<br><br />
* The eMMC may have come loose during shipment. [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly Open] the back and verify that the eMMC is firmly seated.<br><br />
* You may want to try unplugging the SD card daughterboard ribbon cable and see if it powers on (remove the battery and peel off a bit of the tape before unplugging it to avoid damage). If it does, try reseating it on both sides. It might have come loose during shipping.<br />
* It's possible that your eMMC is empty from the factory. Simply create a bootable SD card and see if your Pinebook Pro boots. If so, you can then write an OS image to the eMMC.<br />
<br />
=== Pinebook Pro won't boot when using UART console cable ===<br />
* If you're using the UART cable sold on the Pine Store, you may want to see if it boots after you disconnect it. Some users report that custom-made cables based on FTDI UART adapters do not cause this issue.<br />
<br />
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===<br />
* This may happen if you meant to toggle the UART/Headphone switch (9) towards touchpad for headphone use and instead you toggled the eMMC enable/disable switch (24).<br />
* After reenabling eMMC by toggling switch (24) towards hinge, if Pinebook Pro does not turn on then press the RESET button (28). It is clearly marked 'reset' on the PCB board.<br />
<br />
=== Keys not registering / missing keys when typing ===<br />
This issue occurs when your thumb or edge of the palm makes contact with left or right tip of the trackpad when you type. This is due to the palm rejection firmware being too forceful. Instead of only disabling the trackpad, so your cursor does not move all over the screen, it disables both the trackpad and the keyboard.<br />
<br />
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.<br />
<br />
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.<br />
<br />
=== WiFi issues ===<br />
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]<br />
* Next, you may have to modify the file "/etc/NetworkManager/NetworkManager.conf" as user "root", and replace "managed=false" with "managed=true". Then reboot.<br />
* For connections that drop and resume too often, it might be due to WiFi power management from earlier OS releases. Later OS releases either removed WiFi power management, or default to full power. (Power management can be turned off via command line with <code>iw dev wlan0 set power_save off</code> or <code>iwconfig wlan0 power off</code>, although it is not persistent through re-boot.)<br />
* If WiFi is un-usable or often crashes when using an alternate OS, then it might because its WiFi firmware is not appropriate for the WiFi chip in the Pinebook Pro. Try the latest firmware patch from;<br />
[https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm https://gitlab.manjaro.org/tsys/pinebook-firmware/tree/master/brcm]<br />
<br />
=== Bluetooth issues ===<br />
* If attempting to use Bluetooth attached speakers or headset, you will need to have the <b>pulseaudio-module-bluetooth</b> package installed. If not installed, you can do so with;<br><br />
<pre>sudo apt-get install pulseaudio-module-bluetooth</pre><br />
<br />
=== Sound issues ===<br />
* Many reports of no sound are due to the OS, incorrect settings, or other software problems (eg. PulseAudio). So first test to see if it is a software or hardware problem, by trying another OS via SD card. (For example, if Debian is installed on the eMMC, try Ubuntu on SD.) <br />
* If you cannot get sound from the headphone jack, but can get sound from the speakers, then the headphone / UART console switch may be set to the UART mode. You can open the back and check the position of the switch. If set to UART mode, switch it to headphone mode. See the parts layout for the location and correct position of the switch.<br />
* When using the USB C alternate DisplayPort mode, it is possible that the audio has been re-directed through this path. If your monitor has speakers, then see if they work.<br />
<br />
=== USB docks & USB C alternate mode video ===<br />
The Pinebook Pro uses the RK3399 SoC, (System on a Chip). It supports a video pass through mode on the USB C port called alternate mode, using DisplayPort. This DisplayPort would come from the same GPU as the builtin LCD is displaying. Here are some selection criteria for successfully using the USB C alternate mode for video:<br />
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.<br />
* The device can have a HDMI, (or VGA) connector, if it uses an active translater from DisplayPort to HDMI, (or VGA)<br />
* If USB 3 is also desired for a USB dock, the maximum resolution, frame rate and pixel depth is reduced to half the bandwidth. For example, 4K @ 30hz instead of 60hz.<br />
* USB docks that also use USB C alternate mode DisplayPort always have USB 2 available, (480Mbps, half-duplex).<br />
<br />
=== Accessory Hardware Compatibility ===<br />
* [[PBP_HW_Compatibiity|PineBookPro Hardware Compatibility]]<br />
<br />
= Technical Reference =<br />
== Accessing the Internals - Disassembly and Reassembly == <br />
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]<br />
<br />
'''WARNING:''' 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.<br />
<br />
'''WARNING:''' When removing the back cover plate, use care if sliding fingertips between back cover plate and palm rest assembly. The back cover plate edges are sharp.<br />
<br />
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. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.<br />
<br />
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. To reassemble the Pinebook Pro, slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the trackpad 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 2 short screws.<br />
<br />
NOTE: 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, 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, just let it be.<br />
<br />
== Pinebook Pro Internal Layout ==<br />
=== Main chips ===<br />
* RK3399 system-on-chip (1)<br />
* LPDDR4 SDRAM (21)<br />
* SPI NOR flash memory (29)<br />
* eMMC flash memory (26)<br />
* WiFi/BT module (27)<br />
<br />
=== Mainboard Switches and Buttons ===<br />
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. <br />
<br />
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). <br />
<br />
[[File:PBPL_S.jpg]]<br />
<br />
=== Key Internal Parts ===<br />
{| class="wikitable"<br />
|+ Numbered parts classification and description<br />
! Number<br />
! Type<br />
! Descriptor<br />
|-<br />
! scope=row | 1<br />
| Component || RK3399 System-On-Chip<br />
|-<br />
! scope=row | 2<br />
| Socket || PCIe 4X socket for optional NVMe adapter<br />
|-<br />
! scope=row | 3<br />
| Socket || Speakers socket<br />
|-<br />
! scope=row | 4<br />
| Socket || Trackpad socket<br />
|-<br />
! scope=row | 5<br />
| Component || Left speaker <br />
|-<br />
! scope=row | 6<br />
| Connector || Male power bridge connector <br />
|-<br />
! scope=row | 7<br />
| Socket || Keyboard Socket<br />
|-<br />
! scope=row | 8<br />
| Component || Optional NVMe SSD adapter<br />
|-<br />
! scope=row | 9<br />
| Switch || UART/Audio switch - outputs UART via headphone jack<br />
|-<br />
! scope=row | 10<br />
| Socket || Female power bridge socket<br />
|-<br />
! scope=row | 11<br />
| Socket || Battery socket<br />
|-<br />
! scope=row | 12<br />
| Component || Trackpad<br />
|-<br />
! scope=row | 13<br />
| Component || Battery<br />
|-<br />
! scope=row | 14<br />
| Component || Right speaker<br />
|-<br />
! scope=row | 15<br />
| Socket || MicroSD card slot<br />
|-<br />
! scope=row | 16<br />
| Socket || Headphone / UART jack<br />
|-<br />
! scope=row | 17<br />
| Socket || USB 2.0 Type A<br />
|-<br />
! scope=row | 18<br />
| Socket || Daughterboard-to-mainboard ribbon cable socket<br />
|-<br />
! scope=row | 19<br />
| Cable || Daughterboard-to-mainboard ribbon cable<br />
|-<br />
! scope=row | 20<br />
| Component || microphone<br />
|-<br />
! scope=row | 21<br />
| Component || LPDDR4 RAM<br />
|-<br />
! scope=row | 22<br />
| Socket || Mainboard-to-daughterboard ribbon cable socket<br />
|-<br />
! scope=row | 23<br />
| Socket || Microphone socket<br />
|-<br />
! scope=row | 24<br />
| Switch || Switch to hardware disable eMMC<br />
|-<br />
! scope=row | 25<br />
| Antenna || BT/WiFI antenna<br />
|-<br />
! scope=row | 26<br />
| Component || eMMC flash memory module <br />
|-<br />
! scope=row | 27<br />
| Component ||BT/WiFi module chip<br />
|-<br />
! scope=row | 28<br />
| Buttons || Reset and recovery buttons<br />
|-<br />
! scope=row | 29<br />
| Component || SPI flash storage<br />
|-<br />
! scope=row | 30<br />
| Socket || eDP LCD socket<br />
|-<br />
! scope=row | 31<br />
| Socket || Power in barrel socket<br />
|-<br />
! scope=row | 32<br />
| Socket || USB 3.0 Type A<br />
|-<br />
! scope=row | 33<br />
| Socket || USB 3.0 Type C <br />
|}<br />
<br />
== Bootable Storage ==<br />
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. <br />
<br />
At this time, the Pinebook Pro ships with a Debian + MATE build with [https://www.denx.de/wiki/U-Boot/ uboot] on the eMMC. Its boot order is: SD, then eMMC. Booting off USB storage is not currently available, but will be in the future.<br />
<br />
(An update has been pushed for the default Debian + MATE build that improves compatibility with booting other OSs 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.)<br />
<br />
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<br />
in a /boot partition on the eMMC.<br />
<br />
=== eMMC information ===<br />
The eMMC storage will show up as multiple block devices:<br />
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB<br />
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB<br />
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB<br />
*mmcblk1 - This block contains the user areas<br />
<br />
Only the last is usable as regular storage device in the Pinebook Pro.<br />
The device number of "1" shown above may vary, depending on kernel.<br />
<br />
=== Boot sequence details ===<br />
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.<br />
<br />
== Pinebook Pro Dimensions ==<br />
* Dimensions: 329mm x 220mm x 12mm (WxDxH)<br />
* Weight: 1.26Kg<br />
<br />
== SoC and Memory Specification ==<br />
[[File:Rockchip_RK3399.png|right]]<br />
* Based on Rockchip RK3399<br />
<br />
=== CPU Architecture ===<br />
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU<br />
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)<br />
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation<br />
** ARMv8 Cryptography Extensions<br />
** VFPv4 floating point unit supporting single and double-precision operations<br />
** Hardware virtualization support<br />
** TrustZone technology support<br />
** Full CoreSight debug solution<br />
** One isolated voltage domain to support DVFS<br />
* Cortex-A72 (big cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]<br />
** Superscalar, variable-length, out-of-order pipeline<br />
** L1 cache 48KB Icache and 32KB Dcache for each A72 <br />
** L2 cache 1024KB for big cluster <br />
* Cortex-A53 (little cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]<br />
** In-order pipeline with symmetric dual-issue of most instructions <br />
** L1 cache 32KB Icache and 32KB Dcache for each A53<br />
** L2 cache 512KB for little cluster<br />
* Cortex-M0 (control processors):<br />
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]<br />
** Two Cortex-M0 cooperate with the central processors<br />
** Architecture: Armv6-M<br />
** Thumb/Thumb2 instruction set<br />
** 32 bit only<br />
<br />
=== GPU Architecture ===<br />
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]<br />
* 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.<br />
* Frequency 650MHz <br />
* Throughput 1300Mtri/s, 10.4Gpix/s <br />
* OpenGL® ES 1.1, 1.2, 2.0, 3.1, 3.2., Vulkan 1.0*., OpenCL™ 1.1, 1.2., DirectX® 11 FL11_1., RenderScript™.<br />
<br />
=== System Memory ===<br />
* RAM Memory:<br />
** LPDDR4<br />
** Dual memory channels on the CPU, each 32 bits wide<br />
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel<br />
** 4GB as a single 366 pin mobile RAM chip<br />
* Storage Memory: <br />
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)<br />
** eMMC version 5.1, HS400, 8 bit on RK3399 side<br />
<br />
=== Battery ===<br />
* Lithium Polymer Battery (10,000 mAH)<br />
<br />
=== Display ===<br />
* 14.1" 1920x1080 IPS LCD panel<br />
<br />
=== Video out ===<br />
* USB-C Alt mode DP<br />
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)<br />
<br />
=== Audio ===<br />
* 3.5mm stereo earphone/microphone plug<br />
* Build in stereo speakers<br />
<br />
=== Network ===<br />
* WiFi:<br />
** 802.11 b/g/n/ac<br />
** Dual band: 2.4Ghz & 5Ghz<br />
** Single antenna<br />
* Bluetooth 5.0<br />
<br />
=== Expansion Ports ===<br />
* MicroSD card:<br />
** Bootable<br />
** Supports SD, SDHC and SDXC cards, up to 512GB<br />
** Version SD3.0, (MMC 4.5), up to 50MB/s<br />
* USB ports:<br />
** 1 x USB 2.0 Type-A Host Port, bootable<br />
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable<br />
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable<br />
* Headphone jack switchable to UART console mux circuit<br />
* Optional NVMe adapter:<br />
** PCIe 2.x, 5GT/s per lane<br />
** 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)<br />
** Maximum length for M.2 card is 80mm (M.2 2280)<br />
** Power: 2.5W continuous, 8.25W peak momentary<br />
** Does not support SATA M.2 cards<br />
** Does not support USB M.2 cards<br />
<br />
== Pinebook Pro Schematics and Certifications ==<br />
* Pinebook Pro Main Board Schematic And Silkscreen:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]<br />
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]<br />
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]<br />
* Pinebook Pro Daughter Board Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]<br />
* Optional Pinebook Pro NVMe Adapter Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]<br />
* Serial Console Earphone Jack Pinout:<br />
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]<br />
* Pinebook Pro Case:<br />
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]<br />
* Pinebook Pro Certifications:<br />
** Not Yet Available<br />
<br />
== Datasheets for Components and Peripherals ==<br />
* Rockchip RK3399 SoC information:<br />
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]<br />
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]<br />
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]<br />
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]<br />
* LPDDR4 (366 Balls) SDRAM:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]<br />
* eMMC information:<br />
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]<br />
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]<br />
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]<br />
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]<br />
* SPI NOR Flash information:<br />
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]<br />
** [http://files.pine64.org/doc/datasheet/pine64/GD25Q128C-Rev2.5.pdf GigaDevice 128Mb SPI Flash Datasheet]<br />
* Wireless related info:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]<br />
* Audio Codec (ES8316)<br />
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]<br />
* LCD Panel:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14" 1920x1080 IPS LCD Panel datasheet]<br />
* Touchpad information:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]<br />
* Keyboard information:<br />
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]<br />
** US ANSI: XK-HS002 MB27716023<br />
* Full HD Camera sensor:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]<br />
* Lithium Battery information:<br />
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14" model]<br />
<br />
=Skinning and Case Customization=<br />
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.<br />
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]<br />
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]<br />
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]<br />
<br />
= Other Resources =<br />
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]<br />
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]<br />
* [[RockPro64 Guides]]<br />
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]<br />
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]<br />
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro&diff=4156Pinebook Pro2019-12-02T17:14:48Z<p>Tophneal: </p>
<hr />
<div>= User Guide =<br />
<br />
== Introducing PineBook Pro == <br />
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]<br />
<br />
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]<br />
<br />
It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh capacity battery, and the modularity that only an open source project can deliver. <br />
<br />
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, and camera; and expandable storage via NVMe (PCIe 4x) with an optional adapter. <br />
<br />
The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1x micro SD card reader (bootable), 1x USB 2.0, 1x USB 3.0, 1x USB type C Host with DP 1.2 and power-in, PCIe 4x for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). <br />
<br />
The keyboard and trackpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.<br />
<br />
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. <br />
<br />
<br />
== Software and OS Image Downloads ==<br />
=== [[Pinebook Pro_Software_Release|Pinebook Pro]] ===<br />
Under [[Pinebook Pro Software Release|'Pinebook Pro Software and OS Image Download Section']] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software. <br />
<br />
The list includes OS images and descriptions of:<br />
* [{{fullurl:PinebookPro_Software_Release#Debian_Desktop}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian Desktop|'''Debian Desktop (microSD and eMMC Boot)''']]<br />
* [{{fullurl:PinebookPro_Software_Release#Bionic_LXDE}} http://files.pine64.org/sw/pine64_installer/json/lxde.png] [[PinebookPro_Software_Release#Bionic LXDE|'''Bionic LXDE (microSD and eMMC Boot)''']]<br />
* [{{fullurl:PinebookPro_Software_Release#Bionic_Mate}} http://files.pine64.org/sw/pine64_installer/json/mate.png] [[PinebookPro_Software_Release#Bionic Mate|'''Bionic Mate (microSD and eMMC Boot)''']]<br />
* [{{fullurl:PinebookPro_Software_Release#Chromium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]<br />
* [{{fullurl:PinebookPro_Software_Release#Android_7.1_microSD}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_microSD|'''Android 7.1 (microSD Boot)''']] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [{{fullurl:PinebookPro_Software_Release#Android_7.1_eMMC}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_eMMC|'''Android 7.1 (eMMC)''']]<br />
<br />
----<br />
<br />
=== Quick Links to OS Images Build Sources===<br />
'''Some of the provided OS images are still in <span style="color:#FF0000">beta or nightly build</span> and only fit for testing purposes. These images ought to be avoided for normal usage - use them at <span style="color:#FF0000">your own risk</span>'''<br />
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]<br />
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]<br />
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]<br />
<br />
== Keyboard ==<br />
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and trackpad 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, trackpad 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. <br />
<br />
The keyboard firmware binary can be flashed from userspace using the provided open source utility. <br />
<br />
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. <br />
<br />
=== Typing special characters ===<br />
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. <br />
{| class="wikitable"<br />
!Character<br />
!Key combination/sequence<br />
|-<br />
|Ä, Ö, Ü, ä, ö, ü<br />
|[[Wikipedia:AltGr_key|[AltGr]]]+["] followed by [A], [O], [U], [a], [o] or [u]<br />
|-<br />
|µ<br />
|[AltGr]+[m]<br />
|-<br />
|Ø, ø<br />
|[AltGr]+[O], [AltGr]+[o]<br />
|-<br />
|@<br />
|[AltGr]+[q] (as on the German layout)<br />
|-<br />
|ß<br />
|[AltGr]+[s]<br />
|-<br />
|§<br />
|[AltGr]+[S]<br />
|-<br />
|°<br />
|[AltGr]+[)]<br />
|}<br />
<br />
=== Privacy Switches ===<br />
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:<br />
<br />
{| class="wikitable"<br />
|+ Privacy switch function and description<br />
! Combination<br />
! Effect<br />
! Description<br />
|-<br />
! scope=row | PINE64 logo key+F10<br />
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled<br />
|-<br />
! scope=row | PINE64 logo key+F11<br />
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled. '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&pid=52645#pid52645 command line hack to bind/unbind]).<br />
|-<br />
! scope=row | PINE64 logo key+F12<br />
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled<br />
|}<br />
<br />
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''<br />
<br />
The keyboard uses special firmware that operates separately of the operating system. It detects if either the F10, F11 or F12 key, and the Pine key were pressed for 3 seconds. This disables the peripherals as listed above by cutting off their power. Which has the same result 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 a 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.<br />
<br />
== Trackpad ==<br />
<br />
The trackpad is large, smooth (metallic to-the-touch), and has two actuating buttons. It is the only component of the Pinebook Pro held in place with strong adhesive tape. It supports multi-touch functionality. <br />
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].<br />
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).<br />
<br />
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' <br />
<br />
Brief description of trackpad flashing process (please refer to original documentation for details)<br />
<br />
Before you start:<br />
Your Pinebook Pro should be either fully charged or, preferably, running of mains. This utility will be writing chips on the keyboard and trackpad, so a loss of power during any stage of the update can result in irrecoverable damage to your trackpad or keyboard.<br />
<br />
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.<br />
<br />
What you'll need:<br />
<br />
*Your Pinebook Pro fully charged / running off of mains power<br />
*Connection to WiFi<br />
*An external USB keyboard/ access to the Pinebebook Pro via ssh <br />
<br />
What you need to do: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2<br />
sudo reboot<br />
</pre><br />
<br />
== Power Supply ==<br />
* Input Power: 5V DC @ 3A<br />
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack<br />
* USB-C 15W PD quickcharge<br />
* Only use one power input at a time, barrel jack OR USB-C<br />
<br />
== LEDs ==<br />
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: <br />
<br />
:1. The red LED next to the barrel-port indicates charging. It will illuminate when mains power is supplied to the Pinebook Pro from either the standard power supply unit or a USB-C smartphone charger.<br />
<br />
:2. The power indicator LED on the Pinebook Pro supports three different colours: green, amber and red. It is also capable of flashing/blinking to indicate activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). <br />
<br />
:3. The Num lock, green LED.<br />
<br />
:4. The Caps lock, green LED.<br />
<br />
(The Num and Caps lock LEDs have a secondary function. When the privacy switches get activated they blink to confirm that switch has been activated.)<br />
<br />
== Webcam ==<br />
* 1080p resolution<br />
* Some people test with the application Cheese<br />
WIP<br />
<br />
== Microphones ==<br />
Some Pinebook Pro chassis have 2 microphone labeled holes. Only the right microphone is populated.<br />
<br />
== Bluetooth and WiFi ==<br />
WIP<br />
<br />
== LCD Panel ==<br />
* 1080p resolution<br />
WIP<br />
<br />
== Using the UART ==<br />
[[File:PBPUART.jpeg|400px|thumb|right|Headphone Jack UART wiring reference]]<br />
<br />
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 [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly proper disassembly and reassembly protocol]. The OFF position is towards the touchpad, the ON position is towards the display hinges.<br />
<br />
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. PINE64 store sells [https://store.pine64.org/?product=pinebook-serial-console a dedicated serial console] but you can make your own if you have a serial console USB 2.0 adapter and old/ broken headphones. If you do make your own cable, please ensure that you are using a 3.3v interface (such as the CH340, FTDI-232R or PL2303 - which are often sold in 3.3v and 5v variants) to avoid damage to the CPU. <br />
<br />
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:<br />
<br />
<code><br />
$ lsusb<br />
</code><br />
<br />
you should find a line similar to this:<br />
<br />
<code><br />
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter<br />
</code><br />
<br />
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.<br />
<br />
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.<br />
<br />
Serial output should now be accessible using screen, picocom or minicom (and others).<br />
Examples:<br />
<br />
<code><br />
screen /dev/ttyUSB0 1500000<br />
<br />
picocom /dev/ttyUSB0 -b 1500000<br />
<br />
minicom -D /dev/ttyUSB0 -b 1500000</code><br />
<br />
Current versions of U-Boot do not use the UART for console output. The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.<br />
<br />
== Using the optional NVMe adapter ==<br />
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard).<br />
<br />
=== Installing the adapter ===<br />
<br />
The v2.1 SSD adapter that is shipped with the initial Pinebook Pro batches has a couple of problems although with a little hacking they can still be used. There is [https://forum.pine64.org/showthread.php?tid=8322&pid=52700#pid52700 an unofficial tutorial on the forums] describing the mods.<br />
<br />
=== Using as data drive ===<br />
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. Even automounting at boot, (from eMMC or SD card). This applies to both Linux and FreeBSD, though Android or Chromium OS may need testing. Simply use the normal partitioning and file system creation tools.<br />
<br />
=== Using as OS root drive ===<br />
It is not possible to boot directly off a NVMe drive. The SoC does not include the NVMe boot code, thus the NVMe is not in the SoC's boot order.<br />
<br />
Howevever, it is possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Even have all the other file systems on the NVMe. except <code>/boot</code>.<br/><br />
Instructions for doing this are not complete as of 2019/11/20, but the forums has had people doing this with successful results.<br />
<br />
Another user has described in the forums a modified version of U-Boot with NVMe drivers, that uses <code>/boot</code> and <code>/</code> off the NVMe drive.<br/><br />
The U-Boot code does still has to exist on an eMMC or SD card.<br />
<br />
== Caring for the PineBook Pro ==<br />
<br />
=== Bypass Cables ===<br />
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 [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice]. <br />
<br />
WARNING: Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.<br />
<br />
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===<br />
<span style="color:#FF0000">Placeholder for Pinebook Pro specific guides</span><br />
<br />
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:<br />
<br />
'''Note: The installation process on Pinebook Pro similar to 14" Pinebook'''<br />
<br />
'''Note: The installation process is the reverse order of removal guide'''<br />
<br />
* 14″ Pinebook Lithium Battery Pack Removal Guide<br />
* 14″ Pinebook LCD Panel Screen Removal Guide<br />
* 14″ Pinebook eMMC Module Removal Guide<br />
<br />
== FAQ ==<br />
WIP<br />
<br />
= Troubleshooting guide =<br />
Tips, tricks and other information for troubleshooting your Pinebook Pro<br />
=== New from the factory - Pinebook Pro won't boot / power on ===<br />
* Some Pinebook Pros came from the factory with the eMMC switch in the disabled position. It should be switched towards the back / hinge to enable the eMMC.<br><br />
* The eMMC may have come loose during shipment. [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly Open] the back and verify that the eMMC is firmly seated.<br><br />
* You may want to try unplugging the SD card daughterboard ribbon cable and see if it powers on (remove the battery and peel off a bit of the tape before unplugging it to avoid damage). If it does, try reseating it on both sides. It might have come loose during shipping.<br />
* It's possible that your eMMC is empty from the factory. Simply create a bootable SD card and see if your Pinebook Pro boots. If so, you can then write an OS image to the eMMC.<br />
<br />
=== Pinebook Pro won't boot when using UART console cable ===<br />
* If you're using the UART cable sold on the Pine Store, you may want to see if it boots after you disconnect it. Some users report that custom-made cables based on FTDI UART adapters do not cause this issue.<br />
<br />
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===<br />
* This may happen if you meant to toggle the UART/Headphone switch (9) towards touchpad for headphone use and instead you toggled the eMMC enable/disable switch (24).<br />
* After reenabling eMMC by toggling switch (24) towards hinge, if Pinebook Pro does not turn on then press the RESET button (28). It is clearly marked 'reset' on the PCB board.<br />
<br />
=== Keys not registering / missing keys when typing ===<br />
This issue occurs when your thumb or edge of the palm makes contact with left or right tip of the trackpad when you type. This is due to the palm rejection firmware being too forceful. Instead of only disabling the trackpad, so your cursor does not move all over the screen, it disables both the trackpad and the keyboard.<br />
<br />
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.<br />
<br />
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.<br />
<br />
=== WiFi issues ===<br />
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches]]<br />
* Next, you may have to modify the file "/etc/NetworkManager/NetworkManager.conf" as user "root", and replace "managed=false" with "managed=true". Then reboot.<br />
* For connections that drop and resume too often, it maybe WiFi power management from earlier OS releases. Later OS releases either removed WiFi power management, or default to full power. Try an updated OS.<br />
* When using an alternate OS, WiFi is un-usable or crashes alot. This may be due to the WiFi firmware in this alternate OS, is not appropriate for the WiFi chip in the Pinebook Pro.<br />
<br />
=== Bluetooth issues ===<br />
* If attempting to use Bluetooth attached speakers or headset, you will need to have the <b>pulseaudio-module-bluetooth</b> package installed. If not installed, you can do so with;<br><br />
<pre>sudo apt-get install pulseaudio-module-bluetooth</pre><br />
<br />
=== Sound issues ===<br />
* If you never get sound from the headphone jack, but do when you select speakers, the headphone / UART console switch may be set to the UART mode. You can open the back and check the switch's status. If set to UART mode, switch it to headphone mode. See parts layout for location and position of switch for each function.<br />
* Others report that certain OSes have no sound at all. Try another OS via SD card and see if you can get sound that way, to eliminate hardware problems.<br />
* When using the USB C alternate DisplayPort mode, it's possible that the audio has been re-directed through this path. If your monitor has speakers, you may see if they work. Otherwise, the fix is unknown at present.<br />
<br />
=== Accessory Hardware Compatibility ===<br />
<br />
[[PBP_HW_Compatibiity|PineBookPro Hardware Compatibility]]<br />
<br />
= Technical Reference =<br />
<br />
== Accessing the Internals - Disassembly and Reassembly == <br />
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]<br />
<br />
<br />
'''WARNING:''' 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.<br />
<br />
'''WARNING:''' When removing the back cover plate, use care if sliding fingertips between back cover plate and palm rest assembly. The back cover plate edges are sharp.<br />
<br />
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. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.<br />
<br />
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. To reassemble the Pinebook Pro, slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the trackpad 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 2 short screws.<br />
<br />
NOTE: 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, 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, just let it be.<br />
<br />
== Pinebook Pro Internal Layout ==<br />
<br />
=== Main chips ===<br />
* RK3399 system-on-chip (1)<br />
* LPDDR4 SDRAM (21)<br />
* SPI NOR flash memory (29)<br />
* eMMC flash memory (26)<br />
* WiFi/BT module (27)<br />
<br />
=== Mainboard Switches and Buttons ===<br />
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. <br />
<br />
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). <br />
<br />
<br />
[[File:PBPL_S.jpg]]<br />
<br />
<br />
=== Key Internal Parts ===<br />
{| class="wikitable"<br />
|+ Numbered parts classification and description<br />
! Number<br />
! Type<br />
! Descriptor<br />
|-<br />
! scope=row | 1<br />
| Component || RK3399 System-On-Chip<br />
|-<br />
! scope=row | 2<br />
| Socket || PCIe 4X socket for optional NVMe adapter<br />
|-<br />
! scope=row | 3<br />
| Socket || Speakers socket<br />
|-<br />
! scope=row | 4<br />
| Socket || Trackpad socket<br />
|-<br />
! scope=row | 5<br />
| Component || Left speaker <br />
|-<br />
! scope=row | 6<br />
| Connector || Male power bridge connector <br />
|-<br />
! scope=row | 7<br />
| Socket || Keyboard Socket<br />
|-<br />
! scope=row | 8<br />
| Component || Optional NVMe SSD adapter<br />
|-<br />
! scope=row | 9<br />
| Switch || UART/Audio switch - outputs UART via headphone jack<br />
|-<br />
! scope=row | 10<br />
| Socket || Female power bridge socket<br />
|-<br />
! scope=row | 11<br />
| Socket || Battery socket<br />
|-<br />
! scope=row | 12<br />
| Component || Trackpad<br />
|-<br />
! scope=row | 13<br />
| Component || Battery<br />
|-<br />
! scope=row | 14<br />
| Component || Right speaker<br />
|-<br />
! scope=row | 15<br />
| Socket || MicroSD card slot<br />
|-<br />
! scope=row | 16<br />
| Socket || Headphone / UART jack<br />
|-<br />
! scope=row | 17<br />
| Socket || USB 2.0 Type A<br />
|-<br />
! scope=row | 18<br />
| Socket || Daughterboard-to-mainboard ribbon cable socket<br />
|-<br />
! scope=row | 19<br />
| Cable || Daughterboard-to-mainboard ribbon cable<br />
|-<br />
! scope=row | 20<br />
| Component || microphone<br />
|-<br />
! scope=row | 21<br />
| Component || LPDDR4 RAM<br />
|-<br />
! scope=row | 22<br />
| Socket || Mainboard-to-daughterboard ribbon cable socket<br />
|-<br />
! scope=row | 23<br />
| Socket || Microphone socket<br />
|-<br />
! scope=row | 24<br />
| Switch || Switch to hardware disable eMMC<br />
|-<br />
! scope=row | 25<br />
| Antenna || BT/WiFI antenna<br />
|-<br />
! scope=row | 26<br />
| Component || eMMC flash memory module <br />
|-<br />
! scope=row | 27<br />
| Component ||BT/WiFi module chip<br />
|-<br />
! scope=row | 28<br />
| Buttons || Reset and recovery buttons<br />
|-<br />
! scope=row | 29<br />
| Component || SPI flash storage<br />
|-<br />
! scope=row | 30<br />
| Socket || eDP LCD socket<br />
|-<br />
! scope=row | 31<br />
| Socket || Power in barrel socket<br />
|-<br />
! scope=row | 32<br />
| Socket || USB 3.0 Type A<br />
|-<br />
! scope=row | 33<br />
| Socket || USB 3.0 Type C <br />
|}<br />
<br />
== Bootable Storage ==<br />
<br />
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. <br />
<br />
At this time, the Pinebook Pro ships with a Debian + MATE build with [https://www.denx.de/wiki/U-Boot/ uboot] on the eMMC. Its boot order is: SD, then eMMC. Booting off USB storage is not currently available, but will be in the future.<br />
<br />
(An update has been pushed for the default Debian + MATE build that improves compatibility with booting other OSs 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.)<br />
<br />
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<br />
in a /boot partition on the eMMC.<br />
<br />
=== eMMC information ===<br />
<br />
The eMMC storage will show up as multiple block devices:<br />
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB<br />
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB<br />
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB<br />
*mmcblk1 - This block contains the user areas<br />
<br />
Only the last is usable as regular storage device in the Pinebook Pro.<br />
The device number of "1" shown above may vary, depending on kernel.<br />
<br />
=== Boot sequence details ===<br />
<br />
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.<br />
<br />
== Pinebook Pro Dimensions ==<br />
* Dimensions: 329mm x 220mm x 12mm (WxDxH)<br />
* Weight: 1.26Kg<br />
<br />
== SoC and Memory Specification ==<br />
[[File:Rockchip_RK3399.png|right]]<br />
* Based on Rockchip RK3399<br />
<br />
=== CPU Architecture ===<br />
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU<br />
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)<br />
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation<br />
** ARMv8 Cryptography Extensions<br />
** VFPv4 floating point unit supporting single and double-precision operations<br />
** Hardware virtualization support<br />
** TrustZone technology support<br />
** Full CoreSight debug solution<br />
** One isolated voltage domain to support DVFS<br />
* Cortex-A72 (big cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]<br />
** Superscalar, variable-length, out-of-order pipeline<br />
** L1 cache 48KB Icache and 32KB Dcache for each A72 <br />
** L2 cache 1024KB for big cluster <br />
* Cortex-A53 (little cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]<br />
** In-order pipeline with symmetric dual-issue of most instructions <br />
** L1 cache 32KB Icache and 32KB Dcache for each A53<br />
** L2 cache 512KB for little cluster<br />
* Cortex-M0 (control processors):<br />
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]<br />
** Two Cortex-M0 cooperate with the central processors<br />
** Architecture: Armv6-M<br />
** Thumb/Thumb2 instruction set<br />
** 32 bit only<br />
<br />
=== GPU Architecture ===<br />
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]<br />
* 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.<br />
* Frequency 650MHz <br />
* Throughput 1300Mtri/s, 10.4Gpix/s <br />
* OpenGL® ES 1.1, 1.2, 2.0, 3.1, 3.2., Vulkan 1.0*., OpenCL™ 1.1, 1.2., DirectX® 11 FL11_1., RenderScript™.<br />
<br />
=== System Memory ===<br />
* RAM Memory:<br />
** LPDDR4<br />
** Dual memory channels on the CPU, each 32 bits wide<br />
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel<br />
** 4GB as a single 366 pin mobile RAM chip<br />
* Storage Memory: <br />
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)<br />
** eMMC version 5.1, HS400, 8 bit on RK3399 side<br />
<br />
=== Battery ===<br />
* Lithium Polymer Battery (10,000 mAH)<br />
<br />
=== Display ===<br />
* 14.1" 1920x1080 IPS LCD panel<br />
<br />
=== Video out ===<br />
* USB-C Alt mode DP<br />
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)<br />
<br />
=== Audio ===<br />
* 3.5mm stereo earphone/microphone plug<br />
* Build in stereo speakers<br />
<br />
=== Network ===<br />
* WiFi:<br />
** 802.11 b/g/n/ac<br />
** Dual band: 2.4Ghz & 5Ghz<br />
** Single antenna<br />
* Bluetooth 5.0<br />
<br />
=== Expansion Ports ===<br />
* MicroSD card:<br />
** Bootable<br />
** Supports SD, SDHC and SDXC cards, up to 512GB<br />
** Version SD3.0, (MMC 4.5), up to 50MB/s<br />
* USB ports:<br />
** 1 x USB 2.0 Type-A Host Port, bootable<br />
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable<br />
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable<br />
* Headphone jack switchable to UART console mux circuit<br />
* Optional NVMe adapter:<br />
** PCIe 2.x, 5GT/s per lane<br />
** 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)<br />
** Maximum length for M.2 card is 80mm (M.2 2280)<br />
** Power: 2.5W continuous, 8.25W peak momentary<br />
** Does not support SATA M.2 cards<br />
** Does not support USB M.2 cards<br />
<br />
== Pinebook Pro Schematics and Certifications ==<br />
* Pinebook Pro Main Board Schematic And Silkscreen:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]<br />
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]<br />
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]<br />
* Pinebook Pro Daughter Board Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]<br />
* Optional Pinebook Pro NVMe Adapter Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]<br />
* Serial Console Earphone Jack Pinout:<br />
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]<br />
* Pinebook Pro Case:<br />
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]<br />
* Pinebook Pro Certifications:<br />
** Not Yet Available<br />
<br />
== Datasheets for Components and Peripherals ==<br />
* Rockchip RK3399 SoC information:<br />
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]<br />
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]<br />
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]<br />
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]<br />
* LPDDR4 (366 Balls) SDRAM:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]<br />
* eMMC information:<br />
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]<br />
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]<br />
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]<br />
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]<br />
* SPI NOR Flash information:<br />
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]<br />
** [http://files.pine64.org/doc/datasheet/pine64/GD25Q128C-Rev2.5.pdf GigaDevice 128Mb SPI Flash Datasheet]<br />
* Wireless related info:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]<br />
* Audio Codec (ES8316)<br />
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]<br />
* LCD Panel:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14" 1920x1080 IPS LCD Panel datasheet]<br />
* Touchpad information:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]<br />
* Keyboard information:<br />
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]<br />
** US ANSI: XK-HS002 MB27716023<br />
* Full HD Camera sensor:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]<br />
* Lithium Battery information:<br />
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14" model]<br />
<br />
=Skinning and Case Customization=<br />
* Template files for creating custom skins:<br />
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]<br />
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]<br />
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]<br />
<br />
= Other Resources =<br />
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]<br />
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]<br />
* [[RockPro64 Guides]]<br />
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]<br />
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]<br />
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]</div>Tophnealhttps://wiki.pine64.org/index.php?title=Pinebook_Pro&diff=4128Pinebook Pro2019-11-27T17:42:27Z<p>Tophneal: /* Pinebook Pro Schematics and Certifications */</p>
<hr />
<div>= User Guide =<br />
<br />
== Introducing PineBook Pro == <br />
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]<br />
<br />
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]<br />
<br />
It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh capacity battery, and the modularity that only an open source project can deliver. <br />
<br />
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, and camera; and expandable storage via NVMe (PCIe 4x) with an optional adapter. <br />
<br />
The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1x micro SD card reader (bootable), 1x USB 2.0, 1x USB 3.0, 1x USB type C Host with DP 1.2 and power-in, PCIe 4x for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). <br />
<br />
The keyboard and trackpad both use the USB 2.0 protocol. The LCD panel uses eDP MiPi display protocol.<br />
<br />
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. <br />
<br />
<br />
== Software and OS Image Downloads ==<br />
=== [[Pinebook Pro_Software_Release|Pinebook Pro]] ===<br />
Under [[Pinebook Pro Software Release|'Pinebook Pro Software and OS Image Download Section']] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software. <br />
<br />
The list includes OS images and descriptions of:<br />
* [{{fullurl:PinebookPro_Software_Release#Debian_Desktop}} http://files.pine64.org/sw/pine64_installer/json/debian.png] [[PinebookPro_Software_Release#Debian Desktop|'''Debian Desktop (microSD and eMMC Boot)''']]<br />
* [{{fullurl:PinebookPro_Software_Release#Bionic_LXDE}} http://files.pine64.org/sw/pine64_installer/json/lxde.png] [[PinebookPro_Software_Release#Bionic LXDE|'''Bionic LXDE (microSD and eMMC Boot)''']]<br />
* [{{fullurl:PinebookPro_Software_Release#Bionic_Mate}} http://files.pine64.org/sw/pine64_installer/json/mate.png] [[PinebookPro_Software_Release#Bionic Mate|'''Bionic Mate (microSD and eMMC Boot)''']]<br />
* [{{fullurl:PinebookPro_Software_Release#Chromium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]<br />
* [{{fullurl:PinebookPro_Software_Release#Android_7.1_microSD}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_microSD|'''Android 7.1 (microSD Boot)''']] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [{{fullurl:PinebookPro_Software_Release#Android_7.1_eMMC}} http://files.pine64.org/sw/pine64_installer/json/android_7.png] [[PinebookPro_Software_Release#Android_7.1_eMMC|'''Android 7.1 (eMMC)''']]<br />
<br />
----<br />
<br />
=== Quick Links to OS Images Build Sources===<br />
'''Some of the provided OS images are still in <span style="color:#FF0000">beta or nightly build</span> and only fit for testing purposes. These images ought to be avoided for normal usage - use them at <span style="color:#FF0000">your own risk</span>'''<br />
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]<br />
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]<br />
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]<br />
<br />
== Keyboard ==<br />
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and trackpad 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, trackpad 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. <br />
<br />
The keyboard firmware is open sourced can be flashed from userspace using the provided utility. <br />
<br />
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. <br />
<br />
=== Typing special characters ===<br />
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. <br />
{| class="wikitable"<br />
!Character<br />
!Key combination/sequence<br />
|-<br />
|Ä, Ö, Ü, ä, ö, ü<br />
|[[Wikipedia:AltGr_key|[AltGr]]]+["] followed by [A], [O], [U], [a], [o] or [u]<br />
|-<br />
|µ<br />
|[AltGr]+[m]<br />
|-<br />
|Ø, ø<br />
|[AltGr]+[O], [AltGr]+[o]<br />
|-<br />
|@<br />
|[AltGr]+[q] (as on the German layout)<br />
|-<br />
|ß<br />
|[AltGr]+[s]<br />
|-<br />
|§<br />
|[AltGr]+[S]<br />
|-<br />
|°<br />
|[AltGr]+[)]<br />
|}<br />
<br />
=== Privacy Switches ===<br />
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:<br />
<br />
{| class="wikitable"<br />
|+ Privacy switch function and description<br />
! Combination<br />
! Effect<br />
! Description<br />
|-<br />
! scope=row | PINE64 logo key+F10<br />
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled<br />
|-<br />
! scope=row | PINE64 logo key+F11<br />
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled. '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&pid=52645#pid52645 command line hack to bind/unbind]).<br />
|-<br />
! scope=row | PINE64 logo key+F12<br />
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled<br />
|}<br />
<br />
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''<br />
<br />
The keyboard uses special firmware that operates separately of the operating system. It detects if either the F10, F11 or F12 key, and the Pine key were pressed for 3 seconds. This disables the peripherals as listed above by cutting off their power. Which has the same result 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 a 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.<br />
<br />
== Trackpad ==<br />
<br />
The trackpad is large, smooth (metallic to-the-touch), and has two actuating buttons. It is the only component of the Pinebook Pro held in place with strong adhesive tape. It supports multi-touch functionality. <br />
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].<br />
The trackpad firmware is open sourced and can be flashed from userspace using the provided utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).<br />
<br />
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' <br />
<br />
Brief description of trackpad flashing process (please refer to original documentation for details)<br />
<br />
Before you start:<br />
Your Pinebook Pro should be either fully charged or, preferably, running of mains. This utility will be writing chips on the keyboard and trackpad, so a loss of power during any stage of the update can result in irrecoverable damage to your trackpad or keyboard.<br />
<br />
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.<br />
<br />
What you'll need:<br />
<br />
*Your Pinebook Pro fully charged / running off of mains power<br />
*Connection to WiFi<br />
*An external USB keyboard/ access to the Pinebebook Pro via ssh <br />
<br />
What you need to do: <br />
<br />
<pre><br />
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater<br />
cd pinebook-pro-keyboard-updater<br />
sudo apt-get install build-essential libusb-1.0-0-dev xxd<br />
make<br />
</pre><br />
<br />
Step 1<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-1<br />
sudo reboot<br />
</pre><br />
<br />
Step 2 (after reboot)<br />
<pre><br />
cd pinebook-pro-keyboard-updater<br />
sudo ./updater step-2<br />
sudo reboot<br />
</pre><br />
<br />
== Power Supply ==<br />
* Input Power: 5V DC @ 3A<br />
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack<br />
* USB-C 15W PD quickcharge<br />
* Only use one power input at a time, barrel jack OR USB-C<br />
<br />
== LEDs ==<br />
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: <br />
<br />
:1. The red LED next to the barrel-port indicates charging. It will illuminate when mains power is supplied to the Pinebook Pro from either the standard power supply unit or a USB-C smartphone charger.<br />
<br />
:2. The power indicator LED on the Pinebook Pro supports three different colours: green, amber and red. It is also capable of flashing/blinking to indicate activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). <br />
<br />
:3. The Num lock, green LED.<br />
<br />
:4. The Caps lock, green LED.<br />
<br />
(The Num and Caps lock LEDs have a secondary function. When the privacy switches get activated they blink to confirm that switch has been activated.)<br />
<br />
== Webcam ==<br />
* 1080p resolution<br />
* Some people test with the application Cheese<br />
WIP<br />
<br />
== Microphones ==<br />
Some Pinebook Pro chassis have 2 microphone labeled holes. Only the left microphone is populated.<br />
<br />
== Bluetooth and WiFi ==<br />
WIP<br />
<br />
== LCD Panel ==<br />
* 1080p resolution<br />
WIP<br />
<br />
== Using the UART ==<br />
[[File:PBPUART.jpeg|400px|thumb|right|Headphone Jack UART wiring reference]]<br />
<br />
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 [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly proper disassembly and reassembly protocol]. The OFF position is towards the touchpad, the ON position is towards the display hinges.<br />
<br />
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. PINE64 store sells [https://store.pine64.org/?product=pinebook-serial-console a dedicated serial console] but you can make your own if you have a serial console USB 2.0 adapter and old/ broken headphones. If you do make your own cable, please ensure that you are using a 3.3v interface (such as the CH340, FTDI-232R or PL2303 - which are often sold in 3.3v and 5v variants) to avoid damage to the CPU. <br />
<br />
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:<br />
<br />
<code><br />
$ lsusb<br />
</code><br />
<br />
you should find a line similar to this:<br />
<br />
<code><br />
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter<br />
</code><br />
<br />
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.<br />
<br />
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.<br />
<br />
Serial output should now be accessible using screen, picocom or minicom (and others).<br />
Examples:<br />
<br />
<code><br />
screen /dev/ttyUSB0 1500000<br />
<br />
picocom /dev/ttyUSB0 -b 1500000<br />
<br />
minicom -D /dev/ttyUSB0 -b 1500000</code><br />
<br />
Current versions of u-Boot do not use the UART for console output. The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.<br />
<br />
== Using the optional NVMe adapter ==<br />
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard).<br />
<br />
=== Installing the adapter ===<br />
<br />
The v2.1 SSD adapter that is shipped with the initial Pinebook Pro batches has a couple of problems although with a little hacking they can still be used. There is [https://forum.pine64.org/showthread.php?tid=8322&pid=52700#pid52700 an unofficial tutorial on the forums] describing the mods.<br />
<br />
=== Using as data drive ===<br />
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. Even automounting at boot, (from eMMC or SD card). This applies to both Linux and FreeBSD, though Android or Chromium OS may need testing. Simply use the normal partitioning and file system creation tools.<br />
<br />
=== Using as OS root drive ===<br />
It is not possible to boot directly off a NVMe drive. The SoC does not include the NVMe boot code, thus the NVMe is not in the SoC's boot order.<br />
<br />
Howevever, it is possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Even have all the other file systems on the NVMe. except <code>/boot</code>.<br/><br />
Instructions for doing this are not complete as of 2019/11/20, but the forums has had people doing this with successful results.<br />
<br />
== Using the PineBook Pro ==<br />
<br />
=== Bypass Cables ===<br />
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 [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice]. <br />
<br />
WARNING: Do not connect the bypass cables with the battery connected. Using the bypass cables with the battery connected can permanently damage the computer.<br />
<br />
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===<br />
<span style="color:#FF0000">Placeholder for Pinebook Pro specific guides</span><br />
<br />
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:<br />
<br />
'''Note: The installation process on Pinebook Pro similar to 14" Pinebook'''<br />
<br />
'''Note: The installation process is the reverse order of removal guide'''<br />
<br />
* 14″ Pinebook Lithium Battery Pack Removal Guide<br />
* 14″ Pinebook LCD Panel Screen Removal Guide<br />
* 14″ Pinebook eMMC Module Removal Guide<br />
<br />
<br />
= Troubleshooting guide =<br />
Tips, tricks and other information for troubleshooting your Pinebook Pro<br />
=== New from the factory - Pinebook Pro won't boot / power on ===<br />
* Some Pinebook Pros came from the factory with the eMMC switch in the disabled position. It should be switched towards the back / hinge to enable the eMMC.<br><br />
* The eMMC may have come loose during shipment. [https://wiki.pine64.org/index.php/Pinebook_Pro_Main_Page#Accessing_the_Internals_-_Disassembly_and_Reassembly Open] the back and verify that the eMMC is firmly seated.<br><br />
* You may want to try unplugging the SD card daughterboard ribbon cable and see if it powers on (remove the battery and peel off a bit of the tape before unplugging it to avoid damage). If it does, try reseating it on both sides. It might have come loose during shipping.<br />
* It's possible that your eMMC is empty from the factory. Simply create a bootable SD card and see if your Pinebook Pro boots. If so, you can then write an OS image to the eMMC.<br />
<br />
=== Pinebook Pro won't boot when using UART console cable ===<br />
* If you're using the UART cable sold on the Pine Store, you may want to see if it boots after you disconnect it. Some users report that custom-made cables based on FTDI UART adapters do not cause this issue.<br />
<br />
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===<br />
* This may happen if you meant to toggle the UART/Headphone switch (9) towards touchpad for headphone use and instead you toggled the eMMC enable/disable switch (24).<br />
* After reenabling eMMC by toggling switch (24) towards hinge, if Pinebook Pro does not turn on then press the RESET button (28). It is clearly marked 'reset' on the PCB board.<br />
<br />
=== Keys not registering / missing keys when typing ===<br />
This issue occurs when your thumb or edge of the palm makes contact with left or right tip of the trackpad when you type. This is due to the palm rejection firmware being too forceful. Instead of only disabling the trackpad, so your cursor does not move all over the screen, it disables both the trackpad and the keyboard.<br />
<br />
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.<br />
<br />
A [https://forum.pine64.org/showthread.php?tid=8407 firmware update] has been released to address this.<br />
<br />
=== WiFi issues ===<br />
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches]]<br />
* Next, you may have to modify the file "/etc/NetworkManager/NetworkManager.conf" as user "root", and replace "managed=false" with "managed=true". Then reboot.<br />
* For connections that drop and resume too often, it maybe WiFi power management from earlier OS releases. Later OS releases either removed WiFi power management, or default to full power. Try an updated OS.<br />
<br />
=== Accessory Hardware Compatibility ===<br />
<br />
[[PBP_HW_Compatibiity|PineBookPro Hardware Compatibility]]<br />
<br />
<br />
= Technical Reference =<br />
<br />
== Accessing the Internals - Disassembly and Reassembly == <br />
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]<br />
<br />
<br />
'''WARNING:''' 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.<br />
<br />
'''WARNING:''' When removing the back cover plate, use care if sliding fingertips between back cover plate and palm rest assembly. The back cover plate edges are sharp.<br />
<br />
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. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.<br />
<br />
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. To reassemble the Pinebook Pro, slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the trackpad 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 2 short screws.<br />
<br />
NOTE: 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, 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, just let it be.<br />
<br />
== Pinebook Pro Internal Layout ==<br />
<br />
=== Main chips ===<br />
* RK3399 system-on-chip (1)<br />
* LPDDR4 SDRAM (21)<br />
* SPI NOR flash memory (29)<br />
* eMMC flash memory (26)<br />
* WiFi/BT module (27)<br />
<br />
=== Mainboard Switches and Buttons ===<br />
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. <br />
<br />
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). <br />
<br />
<br />
[[File:PBPL_S.jpg]]<br />
<br />
<br />
=== Key Internal Parts ===<br />
{| class="wikitable"<br />
|+ Numbered parts classification and description<br />
! Number<br />
! Type<br />
! Descriptor<br />
|-<br />
! scope=row | 1<br />
| Component || RK3399 System-On-Chip<br />
|-<br />
! scope=row | 2<br />
| Socket || PCIe 4X socket for optional NVMe adapter<br />
|-<br />
! scope=row | 3<br />
| Socket || Speakers socket<br />
|-<br />
! scope=row | 4<br />
| Socket || Trackpad socket<br />
|-<br />
! scope=row | 5<br />
| Component || Left speaker <br />
|-<br />
! scope=row | 6<br />
| Connector || Male power bridge connector <br />
|-<br />
! scope=row | 7<br />
| Socket || Keyboard Socket<br />
|-<br />
! scope=row | 8<br />
| Component || Optional NVMe SSD adapter<br />
|-<br />
! scope=row | 9<br />
| Switch || UART/Audio switch - outputs UART via headphone jack<br />
|-<br />
! scope=row | 10<br />
| Socket || Female power bridge socket<br />
|-<br />
! scope=row | 11<br />
| Socket || Battery socket<br />
|-<br />
! scope=row | 12<br />
| Component || Trackpad<br />
|-<br />
! scope=row | 13<br />
| Component || Battery<br />
|-<br />
! scope=row | 14<br />
| Component || Right speaker<br />
|-<br />
! scope=row | 15<br />
| Socket || Micro SD socket<br />
|-<br />
! scope=row | 16<br />
| Socket || Headphone / UART jack<br />
|-<br />
! scope=row | 17<br />
| Socket || USB 2.0<br />
|-<br />
! scope=row | 18<br />
| Socket || Daughterboard-to-mainboard ribbon cable socket<br />
|-<br />
! scope=row | 19<br />
| Cable || Daughterboard-to-mainboard ribbon cable<br />
|-<br />
! scope=row | 20<br />
| Component || microphone<br />
|-<br />
! scope=row | 21<br />
| Component || LPDDR4 RAM<br />
|-<br />
! scope=row | 22<br />
| Socket || Mainboard-to-daughterboard ribbon cable socket<br />
|-<br />
! scope=row | 23<br />
| Socket || Microphone socket<br />
|-<br />
! scope=row | 24<br />
| Switch || Switch to hardware disable eMMC<br />
|-<br />
! scope=row | 25<br />
| Antenna || BT/WiFI antenna<br />
|-<br />
! scope=row | 26<br />
| Component || eMMC flash memory module <br />
|-<br />
! scope=row | 27<br />
| Component ||BT/WiFi module chip<br />
|-<br />
! scope=row | 28<br />
| Buttons || Reset and recovery buttons<br />
|-<br />
! scope=row | 29<br />
| Component || SPI flash storage<br />
|-<br />
! scope=row | 30<br />
| Socket || eDP LCD socket<br />
|-<br />
! scope=row | 31<br />
| Socket || Power in barrel socket<br />
|-<br />
! scope=row | 32<br />
| Socket || USB 3.0 <br />
|-<br />
! scope=row | 33<br />
| Socket || USB type C <br />
|}<br />
<br />
== Bootable Storage ==<br />
<br />
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. <br />
<br />
At this time, the Pinebook Pro ships with a Debian + MATE build with [https://www.denx.de/wiki/U-Boot/ uboot] on the eMMC. Its boot order is: SD, then eMMC. Booting off USB storage is not currently available, but will be in the future.<br />
<br />
(An update has been pushed for the default Debian + MATE build that improves compatibility with booting other OSs 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.)<br />
<br />
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<br />
in a /boot partition on the eMMC.<br />
<br />
=== eMMC information ===<br />
<br />
The eMMC storage will show up as multiple block devices:<br />
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB<br />
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB<br />
*mmcblk1rpmb - eMMC standard secure data partition. may be 16MB<br />
*mmcblk1 - This block contains the user areas<br />
<br />
Only the last is usable as regular storage device in the Pinebook Pro.<br />
The device number of "1" shown above may vary, depending on kernel.<br />
<br />
=== Boot sequence details ===<br />
<br />
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768. This is where u-Boot code would reside on any media that is bootable.<br />
<br />
== Pinebook Pro Dimensions ==<br />
* Dimensions: 329mm x 220mm x 12mm (WxDxH)<br />
* Weight: 1.26Kg<br />
<br />
== SoC and Memory Specification ==<br />
[[File:Rockchip_RK3399.png|right]]<br />
* Based on Rockchip RK3399<br />
<br />
=== CPU Architecture ===<br />
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU<br />
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)<br />
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation<br />
** ARMv8 Cryptography Extensions<br />
** VFPv4 floating point unit supporting single and double-precision operations<br />
** Hardware virtualization support<br />
** TrustZone technology support<br />
** Full CoreSight debug solution<br />
** One isolated voltage domain to support DVFS<br />
* Cortex-A72 (big cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]<br />
** Superscalar, variable-length, out-of-order pipeline<br />
** L1 cache 48KB Icache and 32KB Dcache for each A72 <br />
** L2 cache 1024KB for big cluster <br />
* Cortex-A53 (little cluster):<br />
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]<br />
** In-order pipeline with symmetric dual-issue of most instructions <br />
** L1 cache 32KB Icache and 32KB Dcache for each A53<br />
** L2 cache 512KB for little cluster<br />
* Cortex-M0 (control processors):<br />
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]<br />
** Two Cortex-M0 cooperate with the central processors<br />
** Architecture: Armv6-M<br />
** Thumb/Thumb2 instruction set<br />
** 32 bit only<br />
<br />
=== GPU Architecture ===<br />
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]<br />
* 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.<br />
* Frequency 650MHz <br />
* Throughput 1300Mtri/s, 10.4Gpix/s <br />
* OpenGL® ES 1.1, 1.2, 2.0, 3.1, 3.2., Vulkan 1.0*., OpenCL™ 1.1, 1.2., DirectX® 11 FL11_1., RenderScript™.<br />
<br />
=== System Memory ===<br />
* RAM Memory:<br />
** LPDDR4<br />
** Dual memory channels on the CPU, each 32 bits wide<br />
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel<br />
** 4GB as a single 366 pin mobile RAM chip<br />
* Storage Memory: <br />
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)<br />
<br />
=== Battery ===<br />
* Lithium Polymer Battery (10,000 mAH)<br />
<br />
=== Display ===<br />
* 14.1" 1920x1080 IPS LCD panel<br />
<br />
=== Video out ===<br />
* USB-C Alt mode DP up to 3840x2160 p60<br />
<br />
=== Audio ===<br />
* 3.5mm stereo earphone/microphone plug<br />
* Build in stereo speakers<br />
<br />
=== Network ===<br />
* WiFi:<br />
** 802.11 b/g/n/ac<br />
** Dual band: 2.4Ghz & 5Ghz<br />
** Single antenna<br />
* Bluetooth 5.0<br />
<br />
=== Expansion Ports ===<br />
* MicroSD card:<br />
** Bootable<br />
** Supports SD, SDHC and SDXC cards, up to 512GB<br />
** Version SD3.0, up to 50MB/s<br />
* USB ports:<br />
** 1 x USB 2.0 Type-A Host Port, bootable<br />
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable<br />
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable<br />
* Headphone jack switchable to UART console mux circuit<br />
* Optional NVMe adapter:<br />
** PCIe 2.x, 5GT/s per lane<br />
** 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)<br />
** Maximum length for M.2 card is 80mm (M.2 2280)<br />
** Power: 2.5W continuous, 8.25W peak momentary<br />
** Does not support SATA M.2 cards<br />
** Does not support USB M.2 cards<br />
<br />
== Pinebook Pro Schematics and Certifications ==<br />
* Pinebook Pro Main Board Schematic And Silkscreen:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]<br />
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]<br />
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]<br />
* Pinebook Pro Daughter Board Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]<br />
* Optional Pinebook Pro NVMe Adapter Schematic:<br />
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]<br />
* Serial Console Earphone Jack Pinout:<br />
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]<br />
* Pinebook Pro Case:<br />
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]<br />
* Pinebook Pro Certifications:<br />
** Not Yet Available<br />
<br />
== Datasheets for Components and Peripherals ==<br />
* Rockchip RK3399 SoC information:<br />
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]<br />
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]<br />
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]<br />
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]<br />
* LPDDR4 (366 Balls) SDRAM:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]<br />
* eMMC information:<br />
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]<br />
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]<br />
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]<br />
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]<br />
* SPI NOR Flash information:<br />
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]<br />
** [http://files.pine64.org/doc/datasheet/pine64/GD25Q128C-Rev2.5.pdf GigaDevice 128Mb SPI Flash Datasheet]<br />
* Wireless related info:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]<br />
* Audio Codec (ES8316)<br />
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]<br />
* LCD Panel:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14" 1920x1080 IPS LCD Panel datasheet]<br />
* Touchpad information:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]<br />
* Keyboard information:<br />
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]<br />
** US ANSI: XK-HS002 MB27716023<br />
* Full HD Camera sensor:<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]<br />
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]<br />
* Lithium Battery information:<br />
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14" model]<br />
<br />
= Other Resources =<br />
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]<br />
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]<br />
* [[RockPro64 Guides]]<br />
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]<br />
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]<br />
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]</div>Tophnealhttps://wiki.pine64.org/index.php?title=Getting_started&diff=3935Getting started2019-11-04T14:40:40Z<p>Tophneal: /* Erasing and Rewriting SPI */</p>
<hr />
<div>[[File:NOOB.png]]<br />
<br />
== Setting Up Your device - What You’ll Need to Get Started ==<br />
<br />
You will need the following to get started with using your PINE A64(+), SOPine/PINE A64-LTS, Pinebook or ROCK64 board:<br />
* Windows / Linux PC or MAC with a SD Card Reader connected to the Internet.<br />
* For PINE A64(+): Power Supply (PSU) and a micro usb cable. Please make sure to use a PSU rated at +5V @2A and a micro USB cable that is at least 26 AWG thick.<br />
* For SOPine/PINE A64-LTS: Power Supply (PSU) with 3.5mm OD/1.5mm ID barrel DC Jack. Please make sure to use a PSU rated at +5V @2A.<br />
* For Pinebook and ROCK64: Power Supply (PSU) with 3.5mm OD/1.5mm ID barrel DC Jack. Please make sure to use a PSU rated at +5V @3A.<br />
* MicroSD card (8GB or higher capacity) rated 'class 10' or better.<br />
* HDMI cable (unless you wish to run headless / without a monitor). On '''A64 Devices''' Android and Remix OS support 720p and 1080p, while Linux supports a [https://github.com/longsleep/sunxi-disp-tool#available-hdmi-output-names wider range of resolutions].<br />
* Input device(s) such as: keyboard, mouse, remote, pointer, etc.<br />
<br />
<br />
<br />
== A One-Step Solution to Flashing Your MicroSD Card ==<br />
Please try our [https://github.com/pine64dev/PINE64-Installer/blob/master/README.md PINE64 Installer] to easily select the PINE A64(+), SOPINE/PINE A64-LTS, Pinebook or ROCK64 OS of your choice and flash it to your MicroSD Card.<br />
<br />
You can also flash an OS image manually; please follow the instructions below.<br />
<br />
<br />
<br />
== Step-by-Step Instructions to Flashing MicroSD Cards ==<br />
<br />
'''Caution!'''<br />
<br />
Handle the Pine64 Single Board Computers' PCBs with care. Always hold bare boards by the edges and make sure to wear an anti-static wrist strap. Touching components on the front and back of the boards can result in an ESD discharge that may cause damage to the electronics. Avoid placing bare boards on materials such as carpets, plastics or other surfaces prone to electrostatic build-up.<br />
<br />
<br />
'''Begin by imaging the OS of your choice'''<br />
<br />
The process of flashing PINE64 OS images to micro SD on your Windows, Linux or OSX device is the same for all devices. You will require a quality microSD card (8GB or greater; class 10 or faster). There are many [http://forum.pine64.org/showthread.php?tid=681 substandard and counterfeit cards] in circulation and even reputable vendors may unknowingly sell counterfeit microSD cards. Cards that do not meet the criteria outlined above are known to cause a variety of issues including, but not limited to, complete boot failure. There are ways of testing microSD cards prior to installing the operating system to make sure they are appropriate for use with your board. The main utility for checking microSD cards is [http://www.softpedia.com/get/System/System-Miscellaneous/H2testw.shtml#download H2testw 1.4]; yet another alternative is [https://github.com/AltraMayor/f3/archive/v6.0.zip F3].<br />
<br />
Please refer to the relevant section below for instructions on how to image your microSD card:<br />
* [[#Imaging microSD on Windows 7/8/8.1/10|Imaging microSD on Windows 7/8/8.1/10]]<br />
* [[#Imaging microSD on Apple OSX|Imaging microSD on Apple OSX]]<br />
* [[#Imaging microSD on Linux|Imaging microSD on Linux]]<br />
<br />
Having successfully imaged your microSD card, insert it into the microSD slot.<br />
<br />
<br />
'''Plug in the HDMI Cable, Ethernet Cable and Peripherals to your PINE64 SBC'''<br />
<br />
Unless you are planning on running your board headless (without a monitor / as a server) you should plug in all necessary peripherals, including the HDMI and Ethernet cable, prior to powering ON the board. Do note, depending on which OS image you are using, some peripherals may or may not work. <br />
<br />
<br />
'''Apply Power to Your Board'''<br />
<br />
Once you have imaged your microSD and plugged everything in, you are ready to apply power to the PIN64 Single Board Computer. You'll need a good quality 5 Volt, 2 Amp PSU. Using a good quality PSU is very important as failing to meet the required specifications may prevent the board from booting correctly. A marginally higher PSU Voltage is acceptable (for instance, 5.1 volts - due to the nature of the micro usb connection, a 5.1v supply can help protect slightly against voltage drops which can cause undesirable results). However, a significantly higher voltage of 7 Volts or more will damage the PINE64 Single Board Computer and may render it inoperative.<br />
<br />
For PINE A64(+) board, if you are using a separate micro USB cable with your PSU, make sure that the cable has a low resistance rating. Cables with high resistance will cause improper function and the unit may not boot at all or only partially. The thicker the internal cabling, the better [http://voyager8.blogspot.co.uk/2013/04/how-to-choose-good-usb-data-and.html i.e. AWG (American Wire Gauge) 20 is better than AWG 28]. In General, '''power-only microUSB''' cables come with red colour USB header.<br />
<br />
Having completed the steps outlined above the PINE64 SIngle Board Computer will begin to boot. The onboard power-on LEDs will come on and Ethernet port LEDs will start to blink if you have an Ethenet cable plugged in. <br />
<br />
<br />
----<br />
<br />
=== Imaging microSD on Windows 7/8/8.1/10 ===<br />
<br />
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:<br />
* A compression utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7zip].<br />
* A disk image utility (used to flash the .img to your SD card). We recommend you use either the [https://etcher.io/ Etcher] or [https://sourceforge.net/projects/win32diskimager/ Win32Imager] utility.<br />
<br />
'''Optional for Allwinner A64 SoC based boards'''<br />
* Phoenix Card image utility (used ONLY for phoenix card images). You can download it from [https://drive.google.com/file/d/0B0cEs0lxTtL3VmstaEFfbmU1NFk/view?usp=sharing here].<br />
<br />
<br />
'''Downloading and extracting OS image(s)'''<br />
<br />
You can find OS images for the respective devices in the [http://wiki.pine64.org/index.php/Main_Page device section] on the main page. <br />
Images designated ‘DD’ need to be flashed using Etcher or Win32imager, whilst images labelled ‘Phoenix Card Image’ require the Phoenix Card utility.<br />
<br />
Having downloaded the required OS image proceed to use 7zip to unarchive it by right-clicking the archive, and selecting ‘Extract All’. Upon completion, note the destination of where the .img file was extracted (‘Downloads’ folder by default). Once the process has completed, you can proceed to imaging the .img file.<br />
<br />
<br />
'''Imaging the microSD card (DD)'''<br />
<br />
* Insert your microSD card into your laptop/USB card reader. You may require a SD → microSD converter, as most laptops and desktops only feature a full-size SD card reader. Once the microSD card is plugged into your computer, make sure to take note of the drive it has been assigned (the drive is assigned a letter, e.g. ‘F:’). You will need to remember the ‘letter’ it has been assigned when imaging the OS.<br />
<br />
* Launch Win32diskImager.exe or etcher.exe. You will be presented with a field titled ‘path’ and a drop down menu labeled ‘device’. Click the ‘path’, navigate to and select the OS image you extracted from the archive earlier. Next, from the drop-down menu select the drive your microSD has been assigned. '''N.B.''' Pay close attention to the selected drive (remember your letter) – the imaging process will format the selected drive. If you choose the wrong drive all your data will be lost.<br />
<br />
* Having chosen the desired OS image and the correct driver press ‘write’. Once the image has been written to your microSD card you will receive a pop-up notification. Be sure to close the application and to eject/remove your SD card safely from Windows.<br />
<br />
<br />
'''Imaging using Phoenix Card (applicable only to Allwinner A64 SoC based boards)'''<br />
<br />
On Windows, you can also use Phoenix Card (for detailed instructions click [[PhoenixCard|here]]). The Phoenix Card utility works ONLY with images designated as ‘Phoenix Card’ in the downloads section. To use Phoenix Card follow these steps:<br />
<br />
* Insert your microSD card into your laptop/USB card reader. You may require a SD → microSD converter, as most laptops and desktops only feature a full-size SD card reader. Once the microSD card is plugged into your computer, make sure to take note of the drive it has been assigned (the drive is assigned a letter, e.g. ‘F:’). You will need to remember the ‘letter’ it has been assigned when imaging the OS.<br />
<br />
* Launch phoenixcard.exe. You will be presented with a ‘disk’ drop-down menu and a field denoted as ‘.img File’. Click on ‘.img File’ and navigate to and select the OS image have downloaded and unarchived. Next, make sure to select the disk that your microSD card has been assigned. '''N.B.''' Pay close attention to the selected drive (remember your letter) – the imaging process will format the selected drive. If you choose the wrong drive all your data will be lost.<br />
<br />
* Make sure to select ‘Startup!’ from the ‘Write mode’ window and click Burn. Once the image has been written to your microSD card you will receive a confirmation in the ‘option’ window. Be sure to close the application and to eject/remove your SD card safely from Windows.<br />
<br />
<br />
----<br />
<br />
=== Imaging microSD on Apple OSX ===<br />
<br />
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:<br />
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].<br />
* A disk image utility (used to flash the .img to your SD card in GUI). We recommend you use [http://mac.softpedia.com/get/Utilities/ApplePi-Baker.shtml#download ApplePi Baker] or [https://etcher.io/ Etcher].<br />
<br />
<br />
'''N.B.''' Phoenix Card utility and images are NOT available on Apple OSX.<br />
<br />
<br />
'''Downloading and extracting OS image(s)'''<br />
<br />
You can find OS images for the respective devices in the [http://wiki.pine64.org/index.php/Main_Page device section] on the main page. On OSX you can only use images designated as ‘DD’.<br />
<br />
Having downloaded the required OS image proceed to use 7zip to unarchive it by double clicking the archive, and selecting ‘Extract All’. Upon completion, note the destination where the .img file was extracted (‘Downloads’ folder by default). Once the process has completed, you can proceed to imaging the .img file.<br />
<br />
<br />
'''Imaging the microSD card (GUI)'''<br />
<br />
* Insert your microSD card into your Mac laptop/USB card reader. You may require a SD → microSD converter, as Apple’s laptops and desktops only feature a full-size SD card reader. Once the microSD card is plugged into your computer it should appear in Finder / on your desktop.<br />
<br />
* Launch Apple-Pi Baker or the etcher utility. Upon startup the application it will ask for your password. When the application launches you will be presented with a field titled ‘IMG file’ and a path of the mounted microSD card (it will look something like this: ‘/dev/diskX 32.0Gb SD card’). Click the ‘IMG file’ button, navigate to and select the OS image you extracted from the archive earlier. Next, select the microSD from the window. '''N.B.''' Pay close attention to the selected drive – the imaging process will format the selected drive. If you choose the wrong drive all your data will be lost.<br />
<br />
* Having chosen the desired OS image and the correct driver press ‘Restore Backup’. Once the image has been written to your microSD card you will receive a pop-up notification. Be sure to close the application and to eject/remove your SD card safely from your Mac.<br />
<br />
<br />
'''Imaging from Terminal'''<br />
<br />
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.<br />
<br />
* Insert your microSD card into your Mac laptop/USB card reader. You may require a SD → microSD converter, as Apple’s laptops and desktops only feature a full-size SD card reader. Once the microSD card is plugged into your computer it should appear in Finder / on your desktop.<br />
<br />
* Open up your terminal and navigate to the directory where you unarchived your OS image.<br />
<br />
* Before you start writing to the card, you will have to identify your microSD card. Type: diskutil list and note the output. The disk number should match the size of your SD card and will likely be using ‘Fdisk_partition_scheme’. Having identified the disk number execute the following commands (substitute diskX for your disk and name of image for pine64-image-name.img):<br />
<br />
''diskutil unmountDisk /dev/diskX<br />
sudo dd if=pine64-image-name.img of=/dev/disk2 bs=1M''<br />
<br />
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your Mac.<br />
<br />
<br />
----<br />
<br />
=== Imaging microSD on Linux ===<br />
<br />
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:<br />
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].<br />
* A disk image utility (used to flash the .img to your SD card in GUI). We recommend you use [https://etcher.io/ Etcher] or the [https://git.gnome.org/browse/gnome-disk-utility/ GUI Disks utility] that ships with most popular distros.<br />
<br />
<br />
'''N.B.''' Phoenix Card utility and images are NOT available on Linux.<br />
<br />
<br />
'''Downloading and extracting OS image(s)'''<br />
<br />
You can find OS images for the respective devices in the [http://wiki.pine64.org/index.php/Main_Page device section] on the main page. On Linux you can only use images designated as ‘DD’.<br />
<br />
Having downloaded the required OS image proceed to use 7zip to unarchive it by double clicking the archive, and selecting ‘Extract All’. Upon completion, note the destination where the .img file was extracted (‘Downloads’ folder by default). Once the process has completed, you can proceed to imaging the .img file.<br />
<br />
<br />
'''Imaging the microSD card (GUI)'''<br />
<br />
* Insert your microSD card into your Linux laptop/USB card reader. Once the microSD card is plugged into your computer it should appear in your File Manager / on your desktop.<br />
<br />
* Launch Disks or the etcher utility (This tutorial outlines how to use Disks, if you wish to learn how to use Etcher please visit [https://etcher.io/ their website]).<br />
<br />
* Upon launching Disks, you will be presented with all volumes visible to your computer. As a rule of thumb, your microSD card should be found at the bottom of listed volumes. Verify this by checking the size and mounting of the microSD card. '''N.B.''' Pay close attention to the selected drive – the imaging process will format the selected drive. If you choose the wrong drive all your data will be lost.<br />
<br />
* Having selected your microSD card, click the cog menu in top right corner and choose the ‘Restore Disk Image’ option from the drop-down list. Navigate to and select the OS image you extracted from the archive earlier. Once you select it, you will be asked to enter your password and to confirm writing to the chosen volume (microSD card).<br />
<br />
* You will be given a predicted time, writing-speed and completion percentage. Once the image has been written to your microSD card you will receive a pop-up notification. Be sure to close the application and to eject/remove your SD card safely from your computer.<br />
<br />
<br />
'''Imaging from Terminal'''<br />
<br />
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.<br />
<br />
* Insert your microSD card into your Linux laptop/USB card reader. Once the microSD card is plugged into your computer it should appear in Finder / on your desktop.<br />
* Open up your terminal and navigate to the directory where you unarchived your OS image.<br />
* Before you start writing to the card, you will have to identify your microSD card.<br />
* Type: ''lsblk'' and pay attention to the listed disks. Disks will appear as ''/dev/sda /dev/sdb'' etc. Look at the drive that matches your microSD card’s size.<br />
* Having located the microSD card use the following command to flash the .img of choice to the microSD card (/dev/sdb used as example): ‘’sudo unmount /dev/sdb1''<br />
* Now you are ready to write the image to the microSD card using this command: ‘’sudo dd if=pine64_image_name.img of=/dev/sdb bs=1M''<br />
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your computer.<br />
<br />
<br />
<br />
== Instructions to Flashing eMMC Modules ==<br />
<br />
All PINE64 devices - with the '''notable exception of the original Pine A64(+) SBC''' - support eMMC modules as an alternative boot and storage solution to micro SD cards.<br />
An eMMC module can be purchased for your device(s) from the [https://www.pine64.org/?post_type=product PINE64 store]. The only PINE64 device that ships with an eMMC module by default is the Pinebook.<br />
<br />
The available modules come in three different capacities: 16Gb, 32Gb and 64Gb. <br />
<br />
There are a few ways to flash eMMC modules with the desired OS image. The following sections are a summary of the processes involved in flashing the OS image of your choice to the eMMC module. <br />
<br />
<br />
----<br />
<br />
=== Flashing Using Pine64 Installer (Micro SD-to-eMMC) ===<br />
<br />
This may be the simplest way to install an OS image to eMMC, however the selection of images that can be installed using this method is, at the time of writing, very limited. <br />
To flash the OS image to your eMMC using this process you will need the following: <br />
<br />
* An SD card of at least 8Gb capacity <br />
* A Windows, Linux or Mac OS computer with the [https://github.com/pine64dev/PINE64-Installer/blob/master/README.md PINE64 installer] installed. The PINE64 Installer is available for all major platforms.<br />
* A SD card reader <br />
* Your PINE64 device with the eMMC module installed<br />
<br />
<br />
'''The SD-to-eMMC Flashing Process'''<br />
<br />
*Begin the process by launching the PINE64 Installer utility and clicking 'Choose an OS'. Next select your device from the drop-down menu. You will be presented with the various OS images available via the utility; you will notice that some of the OS images have '''SDCard to eMMC listed next to them in the brackets'''. Only images with this designation in the brackets will be able to help you flash the image of your choice to eMMC. <br />
<br />
*Having selected an OS image put in your microSD card into your SD cardreader and follow the on-screen instructions. The process will flash the SD-to-eMMC installation image to your micro SD card. Once PINE64 Installer has completed the flashing process remove and micro SD card from your computer and place insert it into your PINE64 device. <br />
<br />
*Connect a keyboard and HDMI display for the SD-to-eMMC installation process (does not apply to Pinebook). Make sure that both your eMMC module and micro SD card are inserted into your device and apply power to the unit. You will be provided with further instructions on the display as well as a progress bar of the eMMC installation process. Once the process is complete, power down your PINE64 device and remove the micro SD from its socket. You can now boot into your OS image of choice from the eMMC module.<br />
<br />
<br />
----<br />
<br />
=== Flashing Using the USB-to-eMMC Adaptor (Preferred Way) ===<br />
<br />
A USB-to-eMMC adaptor is available from purchase from the [https://www.pine64.org/ PIN64 Store] making it easy to mount the eMMC module as a volume in your Windows, Mac OS or Linux computer. The eMMC can hence be flashed directly from your computer with any image similarly to a micro SD card.<br />
<br />
'''This installation method works for all devices that support eMMC modules regardless of the chipset''' and it is therefore the preferred way of flashing OS images to eMMC. All available OS images for your device can be installed on the eMMC module this way. <br />
<br />
*This process of flashing an OS image to eMMC is '''literally identical to imaging micro SD cards''', so please read [http://wiki.pine64.org/index.php/NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards Step-by-Step Instructions to Flashing Micro SD Cards] before you begin. <br />
<br />
For this method you will need the following: <br />
<br />
*A Windows, Linux or Mac OS computer<br />
*A PINE64 eMMC module<br />
*The PINE64 USB-to-eMMC adaptor<br />
<br />
<br />
'''Flashing eMMC using the adaptor'''<br />
<br />
*Insert the the eMMC module into the USB adaptor and plug it into your Windows, Linux or Mac OS computer. It should mount as a regular USB drive and show up in your file manager. <br />
*If you are using Linux or Mac OS you can either use the dd terminal command or a GUI utility such as [https://etcher.io/ Etcher] to flash the chosen OS Image to eMMC. <br />
*If you are using a Windows machine use [https://etcher.io/ Etcher] or [https://sourceforge.net/projects/win32diskimager/ Win32 Disk Imager] to flash the OS Image to the eMMC module. <br />
<br />
Once the image has been flashed using your preferred method safely dismount the USB adaptor in your system and unplug it from your computer. Your eMMC is now ready to boot and can be inserted into the eMMC socket on your PINE64 device.<br />
<br />
<br />
----<br />
<br />
=== Flashing to eMMC from a SD Boot ===<br />
<br />
Some of the available Linux images for Allwinner A64 devices recognise eMMC modules as mounted storage when the device is booted from a micro SD card. This is true for all recent releases of [https://github.com/ayufan-pine64/linux-build/releases ayufan's Linux images]. In result it is possible to flash an OS image to eMMC using the DD command in terminal or the Disks GUI utility included with the Mate desktop. <br />
<br />
There are '''two ways''' in which an OS image can be flashed from within a micro SD boot: <br />
*Via a script called Pine64_install_to_eMMC.sh found in ''/usr/local/sbin''. This script will install an Ubuntu Mate OS installation (identical to the on running on the SD) to the eMMC module. To execute the script navigate to its location in the terminal and type ''sudo ./Pine64_install_to_eMMC.sh''. Follow the instructions. <br />
<br />
*By manually downloading and flashing a OS image for your device using DD or the Disk GUI. This way of flashing an OS image to the eMMC is identical to that used on a Linux computer (e.g. for flashing an OS image to a SD card). For more information on how the process works please see the detailed guide on [http://wiki.pine64.org/index.php/NOOB#Imaging_microSD_on_Linux imaging OS images to SD card on Linux]. <br />
<br />
For the latter of the two methods here is a summary of the process: <br />
*Flash an OS image which recognises eMMC as mounted storage to a micro SD card. For details on how to flash a micro SD card see [http://wiki.pine64.org/index.php/NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards section 3.0] <br />
*Insert both the micro SD and eMMC module into your device and power it on.<br />
*Once the PINE64 device boots from micro SD, open the web browser and download the desired OS image for your device. <br />
*Once the OS image downloads check in terminal or in Disks utility the eMMC's mounting location.<br />
*Use the DD command or Disks utility to flash the downloaded image to the eMMC module. <br />
*Once the flashing process is completed power down your device and remove the micro SD card. You should now be able to power your device back up and it will boot the image flashed to the eMMC module.<br />
<br />
<br />
----<br />
<br />
=== Flashing to eMMC using FEL (Allwinner A64 Devices Only) ===<br />
<br />
Under particular circumstances it may prove difficult to rely on a SD card to flash an OS image to an Allwinner A64 device. In such instances OS images can be directly flashed by means of entering into FEL mode. FEL is a low-level subroutine in the BootROM, and the process of enabling FEL differs from one device to another. To learn more about FEL please refer to the [http://linux-sunxi.org/FEL SUNXI Wiki section] dedicated to the subject. <br />
<br />
The process of flashing via FEL is more complex than utilising a micro SD and is therefore '''better suited for proficient and advanced users'''. <br />
<br />
For the process of flashing an image to the eMMC on a device in FEL mode you will need: <br />
*A computer running Mac OS or Linux<br />
*An OTG USB A-to-A cable <br />
<br />
To enter FEL you will need to: <br />
*On the Pinebook, power down the Pinebook and remove the PSU, unscrew the bottom of the case and press down the FEL button on the PCB (REF). Plug in the OTG USB A-to-A cord to your computer and the OTG USB port on the Pinebook (on the right facing an open case). Reinsert the PSU cord and press the power button with the FEL button pressed down. Release the FEL button after 3 seconds. <br />
*On the Pine A64(+) power down the board and remove the micro SD card and power cord. Plug in the OTG USB A-to-A cord to your computer and the OTG USB port on the Pine A64 (+) and SoPine (top port). Power on the device and immediately after insert a micro SD card [https://app.box.com/s/s3m7rb5zfe0jkwqhaiy1zytqq3436fqs with FEL code].<br />
<br />
You can check if your device entered FEL mode using ''lsusb'' command in terminal. It should be listed as a device on the USB Bus. <br />
<br />
The next step is to mount your device so that your computer recognises the eMMC as mass storage (UMS). A script called boot-tools streamlining this process is available '''thanks to ayufan''' on [https://github.com/ayufan-pine64/boot-tools his github]. Follow his instructions and in terminal perform the following stepps: <br />
<br />
*''git clone https://github.com/ayufan-pine64/boot-tools.git<br />
*''cd boot-tools''<br />
*''make pinebook_ums''<br />
or<br />
*''make pine64_ums''<br />
<br />
Once your device mounts as UMS it will appear in your file manager. In CLI you can check if the storage is listed using ''fdisk -l''. <br />
<br />
This process of flashing an OS image to eMMC with the device in FEL mode and mounted as UMS is '''literally identical to imaging micro SD cards''', so please read [http://wiki.pine64.org/index.php/NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards Step-by-Step Instructions to Flashing Micro SD Cards] and follow the procedure. You can use DD or Disks/ Disk Utility to flash the OS image directly to your device's eMMC. <br />
<br />
Once the flashing process is completed, power down your device, remove the A-to-A USB OTG cable and after reapply power to boot your device from eMMC.<br />
<br />
<br />
----<br />
<br />
=== Flashing to eMMC using Rockchip Tools (Rock64 Only) ===<br />
<br />
Rockchip has a different boot hierarchy to Allwinner's devices making it much more difficult to flash OS images using the micro SD-to-eMMC scheme used on A64. There are, however, flashing tools that make it possible to flash directly to eMMC on a Rock64 in loader and MarkROM modes. <br />
<br />
To flash to the eMMC module using these tools you will need the following: <br />
*A Windows, Mac OS or Linux computer<br />
*An A-to-A USB cable <br />
*The Rock64 board with the eMMC module inserted into the socket<br />
<br />
<br />
'''Using Windows 7/8.1/10 ''' <br />
You will need to download the [http://files.pine64.org/doc/rock64/tools/DriverAssitant_v4.5.zip Rockchip driver] as well as the [http://files.pine64.org/doc/rock64/tools/AndroidTool_Release_v2.38.zip AndroidTool] used for flashing OS images. Having completed the downloads extract both archives.The Rockchip driver needs to be installed prior to using the AndroidTool utility. <br />
<br />
Having installed the driver and flashing utility, follow these steps:<br />
*Make sure that eMMC is inserted into the slot on the Rock64<br />
*Place a jumper / short out the eMMC pins on the board (consult [http://files.pine64.org/doc/rock64/guide/ROCK64_Installing_Android_To_eMMC.pdf this document] for more details.<br />
*Insert one end of the A-to-A cable into your Windows PC and the other into your Rock64 OTG USB port (top)<br />
*Inset the power cord into the Rock64<br />
*Start AndroidTool; make sure that it reports 'Found One Maskrom Device' (if it does not recognise your device, please repeat previous steps)<br />
*Select either the latest Stock Android build or ayufan's Android TV build with the suffic -update. Download and the extract the chosen image. <br />
*In AndroidTool press the firmware tab and navigate to where you extracted the OS image and select it. <br />
*Press the upgrade tab. You will be prompted when the flashing process is completed. <br />
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC. <br />
<br />
<br />
'''Using Linux or Mac OS'''<br />
<br />
*Make sure that eMMC is inserted into the slot on the Rock64<br />
*Download latest stable or pre-release (to be used at own risk) Android TV OS image from [https://github.com/ayufan-rock64/android-7.1/releases ayufan's github]. The image you wish to download is the one '''without a suffix'''; without -update or -raw in the OS image title. <br />
*In terminal, download rkflashtool following instructions on [https://github.com/ayufan-rock64/android-7.1/blob/master/README.md ayufan's github]<br />
*Extract the folder containing partitions of the OS image and place the script listed on ayufan's github in the folder<br />
*Hold down the recovery button on the board<br />
*Insert one end of the A-to-A cable into your Mac OS or Linux PC and the other into your Rock64 OTG USB port (top)<br />
*Inset the power cord into the Rock64<br />
*Check that your device is in loader mode by typing in the terminal ''sudo rkflashtool n''. If rkflashtool doesn't detect the Rock64 please repeat last 3 steps <br />
*In terminal navigate to where you extracted the Android folder containing the OS partitions and the script and type ''rkinstall''; this will install the community Android TV build to eMMC. <br />
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.<br />
<br />
<br />
----<br />
<br />
=== Flashing to eMMC Android 'Update' OS Images on Linux (Rock64 Only) ===<br />
<br />
It is possible to flash Android 'update' images to the Rock64 eMMC using a Linux PC. This process requires a tool called [http://www.haoyuelectronics.com/service/RK3066/tools/linux/Linux_Upgrade_Tool_v1.2.tar.gz Linux Upgrade Tool] and the full documentation of its functions can be found [http://www.hotmcu.com/wiki/Flashing_Firmware_Image_Files_Using_The_Rockchip_Tool#Using_Linux_Upgrade_Tool_to_flash_update.img here]. Make sure that you download v1.2 or newer, as older tools do not support the RK3328 used on the Rock64. <br />
<br />
To flash to the eMMC module using this method you will need the following: <br />
*A Linux computer<br />
*An A-to-A USB cable <br />
*The Rock64 board with the eMMC module inserted into the socket<br />
<br />
Start by downloading an Android '''update''' image for the Rock64. Both PINE64 and Ayufan provide such images for the board - and they are clearly designated as such on both this WiKi's download section and on ayufan's github. For the purpose of this example, I'll use the ayufan's ATV community build: <br />
<br />
*Download latest stable or pre-release (to be used at own risk) Android TV OS image from [https://github.com/ayufan-rock64/android-7.1/releases ayufan's github]. The image you wish to download is the one '''with update suffix'''. You need to '''rename the downloaded image to update.img'''.<br />
*Download the [http://www.haoyuelectronics.com/service/RK3066/tools/linux/Linux_Upgrade_Tool_v1.2.tar.gz Linux Upgrade Tool] to your Linux PC and unarchived it. <br />
*Extract the archived update Android OS image somewhere where you will remember its path<br />
*Hold down the recovery button on the board<br />
*Insert one end of the A-to-A cable into your Mac OS or Linux PC and the other into your Rock64 OTG USB port (top)<br />
*Inset the power cord into the Rock64<br />
*In terminal, navigate to where you extracted Rockchip Update Tool and issue the following command substituting the correct path for where the Android Update OS Image is located: ''sudo ./upgrade_tool uf /path/to/update.img''<br />
*Wait as the utility installs Android to eMMC on your Rock64. <br />
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.<br />
<br />
== Flashing u-boot to SPI Flash ==<br />
<br />
Some of PINE64 devices, such as the Rock64 and SOPine, are equipped with SPI Flash. This allows users to flash u-boot onto the SPI and boot from an external USB 2.0 or USB 3.0 SSD/HDD/thumb-drive, thereby forgoing using eMMC or an microSD card. <br />
<br />
To find out more about which images can used in conjunction for SPI booting please see [https://github.com/ayufan-rock64/ ayufan's github].<br />
<br />
Writing u-boot to SPI Flash can be achieved in two ways:<br />
<br />
=== Using a Stand-Alone Image to Write u-boot to SPI ===<br />
This may be the simplest method of flashing u-boot to SPI. Download a dedicated image labelled '''u-boot-flash-spi.img.xz''' from [https://github.com/ayufan-rock64/linux-u-boot/releases ayufan's github] and flash it to a micro SD card, the same you would with any OS image (to learn how to flash OS images to micro SD please following steps outlined in [http://wiki.pine64.org/index.php/NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards Section 3].<br />
<br />
'''Having flashed the image follow these steps''': <br />
<br />
*Insert the SD into the ROCK64<br />
*Remove all other peripherals from the board <br />
*'''Make sure that the eMMC module is disconnected from the board'''<br />
*Apply power to the ROCK64<br />
*Wait (few seconds) until the the LEDs on the board will blink continually<br />
*Power off the board.<br />
<br />
The board is now ready to boot from USB 2.0/3.0 storage.<br />
<br />
=== Using a Script on Linux OS Images ===<br />
Most of recent (newer than 0.6.9) Linux OS images contain a script called '''rock64_write_spi_flash.sh''', which is found in ''/usr/local/sbin'' directory. To run the script you will first need to flash a Linux OS image to a micro SD card (to learn how to flash OS images to micro SD please following steps outlined in [http://wiki.pine64.org/index.php/NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards Section 3]). Before proceeding '''make sure that the eMMC module is disconnected''' from the board. Once you have booted into Linux on your PINE64 device all you have to do is run the aforementioned script using this command: <br />
<br />
''sudo ./rock64_write_spi_flash.sh''<br />
<br />
Once the script finishes its operation, power off your board and remove the micro SD card.<br />
The board is now ready to boot from USB 2.0/3.0 storage.<br />
<br />
=== Erasing and Rewriting SPI === <br />
There are two ways of removing u-boot from SPI. You can either download '''u-boot-flash-spi.img.xz''' from [https://github.com/ayufan-rock64/linux-u-boot/releases ayufan's github] or use a script found on Linux OS images titled:'''rock64_erase_spi_flash.sh'''. Follow the instructions in the previous sub-sections for the chosen method of removing u-boot from SPI; the instructions are are identical, as the process of erasing u-boot is the exact opposite of flashing it. <br />
<br />
'''N.B. You can also erase SPI manually". <br />
To do so, you need to download mtd-utils. on Debian or Ubuntu follow these instructions:<br />
<br />
''sudo apt-get install mtd-utils''<br />
''sudo flash_eraseall /dev/mtd0''<br />
<br />
=== Booting an OS image from USB 2.0/3.0 Storage ===<br />
To boot and OS image from USB 2.0/3.0 Storage such as a SSD/HDD or a thumbdrive you first need to have u-boot written to your SPI flash. Please follow the instructions in the previous sub-sections to learn how to write u-boot to SPI on your PINE64 device. <br />
<br />
Once you have u-boot on your SPI, the process off booting is very similar to booting from micro SD or eMMC.<br />
*Download one of the supported OS images for your PINE64 device<br />
*Flash the OS image to your USB 2.0/USB 3.0 storage device (to learn how to flash OS images please following steps outlined in [http://wiki.pine64.org/index.php/NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards Section 3] The instructions are identical for all types of storage, including USB 2.0/USB 3.0 HDDs and thumb-drives.) <br />
*Insert the USB storage device with the flashed OS image into one of the USB ports on your PINE64 device<br />
*Apply power<br />
<br />
If you have followed all the steps correctly, the board should boot from your USB 2.0/3.0 storage device.<br />
<br />
== Troubleshooting Your Device ==<br />
<br />
There is a number of things that can prevent the PINE64 board from booting up properly. The most common culprits of a failed boot are (to find out more click [http://forum.pine64.org/showthread.php?tid=514 here]):<br />
<br />
* Subpar or counterfeit microSD card<br />
* Subpar Power Supply<br />
* High resistance (thin) or a very long microUSB cable<br />
* Failed imaging of the microSD card or eMMC module<br />
<br />
Make sure to have the newest version of the OS image your are running. On Allwinner A64 devices running Linux you can update the kernel and uboot using scripts located in the following directory: /usr/local/sbin<br />
<br />
* To navigate to the directory type (in terminal): ''cd /usr/local/sbin''<br />
* You list all the available scripts by typing (in terminal): ''ls''<br />
* To run the script required update script run the following command: ''sudo ./update_script.sh'' (substitute the relevant update script for update_script)<br />
<br />
'''Troubleshooting Step by Step'''<br />
<br />
Follow these steps to determine the cause of your problem:<br />
<br />
* Check your PSU and microUSB cable ratings<br />
* Download and image a base image of Linux<br />
* Plug in power and Ethernet into your PINE64 device<br />
* Watch Ethernet port LED activity<br />
* Check your router for your device's IP<br />
* Attempt to ssh into your device's from your computer<br />
<br />
If your PSU and microUSB meet the criteria, and you have correctly followed the instructions to image your card and power on the board, but you are not seeing any LED activity and cannot ssh into your device then either the imaging process failed (possibly due to a subpar microSD) OR the PSU / microUSB cable is/are faulty.<br />
<br />
If your PSU and microUSB meet the criteria, and you have correctly imaged the OS to your card and power on the board and your can ssh into your PINE A64(+) but get no video feed, then it's likely that the native resolution of your monitor/TV is not supported.<br />
<br />
If neither of the above mentioned scenarios fits the problem you are facing, please consult this thread (thanks to Ghost for compiling the list): http://forum.pine64.org/showthread.php?tid=680<br />
<br />
If you cannot find a solution to your problem you can submit a ticket at: https://support.pine64.org/</div>Tophnealhttps://wiki.pine64.org/index.php?title=Getting_started&diff=3934Getting started2019-11-04T14:40:17Z<p>Tophneal: /* Using a Stand-Alone Image to Write u-boot to SPI */</p>
<hr />
<div>[[File:NOOB.png]]<br />
<br />
== Setting Up Your device - What You’ll Need to Get Started ==<br />
<br />
You will need the following to get started with using your PINE A64(+), SOPine/PINE A64-LTS, Pinebook or ROCK64 board:<br />
* Windows / Linux PC or MAC with a SD Card Reader connected to the Internet.<br />
* For PINE A64(+): Power Supply (PSU) and a micro usb cable. Please make sure to use a PSU rated at +5V @2A and a micro USB cable that is at least 26 AWG thick.<br />
* For SOPine/PINE A64-LTS: Power Supply (PSU) with 3.5mm OD/1.5mm ID barrel DC Jack. Please make sure to use a PSU rated at +5V @2A.<br />
* For Pinebook and ROCK64: Power Supply (PSU) with 3.5mm OD/1.5mm ID barrel DC Jack. Please make sure to use a PSU rated at +5V @3A.<br />
* MicroSD card (8GB or higher capacity) rated 'class 10' or better.<br />
* HDMI cable (unless you wish to run headless / without a monitor). On '''A64 Devices''' Android and Remix OS support 720p and 1080p, while Linux supports a [https://github.com/longsleep/sunxi-disp-tool#available-hdmi-output-names wider range of resolutions].<br />
* Input device(s) such as: keyboard, mouse, remote, pointer, etc.<br />
<br />
<br />
<br />
== A One-Step Solution to Flashing Your MicroSD Card ==<br />
Please try our [https://github.com/pine64dev/PINE64-Installer/blob/master/README.md PINE64 Installer] to easily select the PINE A64(+), SOPINE/PINE A64-LTS, Pinebook or ROCK64 OS of your choice and flash it to your MicroSD Card.<br />
<br />
You can also flash an OS image manually; please follow the instructions below.<br />
<br />
<br />
<br />
== Step-by-Step Instructions to Flashing MicroSD Cards ==<br />
<br />
'''Caution!'''<br />
<br />
Handle the Pine64 Single Board Computers' PCBs with care. Always hold bare boards by the edges and make sure to wear an anti-static wrist strap. Touching components on the front and back of the boards can result in an ESD discharge that may cause damage to the electronics. Avoid placing bare boards on materials such as carpets, plastics or other surfaces prone to electrostatic build-up.<br />
<br />
<br />
'''Begin by imaging the OS of your choice'''<br />
<br />
The process of flashing PINE64 OS images to micro SD on your Windows, Linux or OSX device is the same for all devices. You will require a quality microSD card (8GB or greater; class 10 or faster). There are many [http://forum.pine64.org/showthread.php?tid=681 substandard and counterfeit cards] in circulation and even reputable vendors may unknowingly sell counterfeit microSD cards. Cards that do not meet the criteria outlined above are known to cause a variety of issues including, but not limited to, complete boot failure. There are ways of testing microSD cards prior to installing the operating system to make sure they are appropriate for use with your board. The main utility for checking microSD cards is [http://www.softpedia.com/get/System/System-Miscellaneous/H2testw.shtml#download H2testw 1.4]; yet another alternative is [https://github.com/AltraMayor/f3/archive/v6.0.zip F3].<br />
<br />
Please refer to the relevant section below for instructions on how to image your microSD card:<br />
* [[#Imaging microSD on Windows 7/8/8.1/10|Imaging microSD on Windows 7/8/8.1/10]]<br />
* [[#Imaging microSD on Apple OSX|Imaging microSD on Apple OSX]]<br />
* [[#Imaging microSD on Linux|Imaging microSD on Linux]]<br />
<br />
Having successfully imaged your microSD card, insert it into the microSD slot.<br />
<br />
<br />
'''Plug in the HDMI Cable, Ethernet Cable and Peripherals to your PINE64 SBC'''<br />
<br />
Unless you are planning on running your board headless (without a monitor / as a server) you should plug in all necessary peripherals, including the HDMI and Ethernet cable, prior to powering ON the board. Do note, depending on which OS image you are using, some peripherals may or may not work. <br />
<br />
<br />
'''Apply Power to Your Board'''<br />
<br />
Once you have imaged your microSD and plugged everything in, you are ready to apply power to the PIN64 Single Board Computer. You'll need a good quality 5 Volt, 2 Amp PSU. Using a good quality PSU is very important as failing to meet the required specifications may prevent the board from booting correctly. A marginally higher PSU Voltage is acceptable (for instance, 5.1 volts - due to the nature of the micro usb connection, a 5.1v supply can help protect slightly against voltage drops which can cause undesirable results). However, a significantly higher voltage of 7 Volts or more will damage the PINE64 Single Board Computer and may render it inoperative.<br />
<br />
For PINE A64(+) board, if you are using a separate micro USB cable with your PSU, make sure that the cable has a low resistance rating. Cables with high resistance will cause improper function and the unit may not boot at all or only partially. The thicker the internal cabling, the better [http://voyager8.blogspot.co.uk/2013/04/how-to-choose-good-usb-data-and.html i.e. AWG (American Wire Gauge) 20 is better than AWG 28]. In General, '''power-only microUSB''' cables come with red colour USB header.<br />
<br />
Having completed the steps outlined above the PINE64 SIngle Board Computer will begin to boot. The onboard power-on LEDs will come on and Ethernet port LEDs will start to blink if you have an Ethenet cable plugged in. <br />
<br />
<br />
----<br />
<br />
=== Imaging microSD on Windows 7/8/8.1/10 ===<br />
<br />
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:<br />
* A compression utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7zip].<br />
* A disk image utility (used to flash the .img to your SD card). We recommend you use either the [https://etcher.io/ Etcher] or [https://sourceforge.net/projects/win32diskimager/ Win32Imager] utility.<br />
<br />
'''Optional for Allwinner A64 SoC based boards'''<br />
* Phoenix Card image utility (used ONLY for phoenix card images). You can download it from [https://drive.google.com/file/d/0B0cEs0lxTtL3VmstaEFfbmU1NFk/view?usp=sharing here].<br />
<br />
<br />
'''Downloading and extracting OS image(s)'''<br />
<br />
You can find OS images for the respective devices in the [http://wiki.pine64.org/index.php/Main_Page device section] on the main page. <br />
Images designated ‘DD’ need to be flashed using Etcher or Win32imager, whilst images labelled ‘Phoenix Card Image’ require the Phoenix Card utility.<br />
<br />
Having downloaded the required OS image proceed to use 7zip to unarchive it by right-clicking the archive, and selecting ‘Extract All’. Upon completion, note the destination of where the .img file was extracted (‘Downloads’ folder by default). Once the process has completed, you can proceed to imaging the .img file.<br />
<br />
<br />
'''Imaging the microSD card (DD)'''<br />
<br />
* Insert your microSD card into your laptop/USB card reader. You may require a SD → microSD converter, as most laptops and desktops only feature a full-size SD card reader. Once the microSD card is plugged into your computer, make sure to take note of the drive it has been assigned (the drive is assigned a letter, e.g. ‘F:’). You will need to remember the ‘letter’ it has been assigned when imaging the OS.<br />
<br />
* Launch Win32diskImager.exe or etcher.exe. You will be presented with a field titled ‘path’ and a drop down menu labeled ‘device’. Click the ‘path’, navigate to and select the OS image you extracted from the archive earlier. Next, from the drop-down menu select the drive your microSD has been assigned. '''N.B.''' Pay close attention to the selected drive (remember your letter) – the imaging process will format the selected drive. If you choose the wrong drive all your data will be lost.<br />
<br />
* Having chosen the desired OS image and the correct driver press ‘write’. Once the image has been written to your microSD card you will receive a pop-up notification. Be sure to close the application and to eject/remove your SD card safely from Windows.<br />
<br />
<br />
'''Imaging using Phoenix Card (applicable only to Allwinner A64 SoC based boards)'''<br />
<br />
On Windows, you can also use Phoenix Card (for detailed instructions click [[PhoenixCard|here]]). The Phoenix Card utility works ONLY with images designated as ‘Phoenix Card’ in the downloads section. To use Phoenix Card follow these steps:<br />
<br />
* Insert your microSD card into your laptop/USB card reader. You may require a SD → microSD converter, as most laptops and desktops only feature a full-size SD card reader. Once the microSD card is plugged into your computer, make sure to take note of the drive it has been assigned (the drive is assigned a letter, e.g. ‘F:’). You will need to remember the ‘letter’ it has been assigned when imaging the OS.<br />
<br />
* Launch phoenixcard.exe. You will be presented with a ‘disk’ drop-down menu and a field denoted as ‘.img File’. Click on ‘.img File’ and navigate to and select the OS image have downloaded and unarchived. Next, make sure to select the disk that your microSD card has been assigned. '''N.B.''' Pay close attention to the selected drive (remember your letter) – the imaging process will format the selected drive. If you choose the wrong drive all your data will be lost.<br />
<br />
* Make sure to select ‘Startup!’ from the ‘Write mode’ window and click Burn. Once the image has been written to your microSD card you will receive a confirmation in the ‘option’ window. Be sure to close the application and to eject/remove your SD card safely from Windows.<br />
<br />
<br />
----<br />
<br />
=== Imaging microSD on Apple OSX ===<br />
<br />
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:<br />
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].<br />
* A disk image utility (used to flash the .img to your SD card in GUI). We recommend you use [http://mac.softpedia.com/get/Utilities/ApplePi-Baker.shtml#download ApplePi Baker] or [https://etcher.io/ Etcher].<br />
<br />
<br />
'''N.B.''' Phoenix Card utility and images are NOT available on Apple OSX.<br />
<br />
<br />
'''Downloading and extracting OS image(s)'''<br />
<br />
You can find OS images for the respective devices in the [http://wiki.pine64.org/index.php/Main_Page device section] on the main page. On OSX you can only use images designated as ‘DD’.<br />
<br />
Having downloaded the required OS image proceed to use 7zip to unarchive it by double clicking the archive, and selecting ‘Extract All’. Upon completion, note the destination where the .img file was extracted (‘Downloads’ folder by default). Once the process has completed, you can proceed to imaging the .img file.<br />
<br />
<br />
'''Imaging the microSD card (GUI)'''<br />
<br />
* Insert your microSD card into your Mac laptop/USB card reader. You may require a SD → microSD converter, as Apple’s laptops and desktops only feature a full-size SD card reader. Once the microSD card is plugged into your computer it should appear in Finder / on your desktop.<br />
<br />
* Launch Apple-Pi Baker or the etcher utility. Upon startup the application it will ask for your password. When the application launches you will be presented with a field titled ‘IMG file’ and a path of the mounted microSD card (it will look something like this: ‘/dev/diskX 32.0Gb SD card’). Click the ‘IMG file’ button, navigate to and select the OS image you extracted from the archive earlier. Next, select the microSD from the window. '''N.B.''' Pay close attention to the selected drive – the imaging process will format the selected drive. If you choose the wrong drive all your data will be lost.<br />
<br />
* Having chosen the desired OS image and the correct driver press ‘Restore Backup’. Once the image has been written to your microSD card you will receive a pop-up notification. Be sure to close the application and to eject/remove your SD card safely from your Mac.<br />
<br />
<br />
'''Imaging from Terminal'''<br />
<br />
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.<br />
<br />
* Insert your microSD card into your Mac laptop/USB card reader. You may require a SD → microSD converter, as Apple’s laptops and desktops only feature a full-size SD card reader. Once the microSD card is plugged into your computer it should appear in Finder / on your desktop.<br />
<br />
* Open up your terminal and navigate to the directory where you unarchived your OS image.<br />
<br />
* Before you start writing to the card, you will have to identify your microSD card. Type: diskutil list and note the output. The disk number should match the size of your SD card and will likely be using ‘Fdisk_partition_scheme’. Having identified the disk number execute the following commands (substitute diskX for your disk and name of image for pine64-image-name.img):<br />
<br />
''diskutil unmountDisk /dev/diskX<br />
sudo dd if=pine64-image-name.img of=/dev/disk2 bs=1M''<br />
<br />
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your Mac.<br />
<br />
<br />
----<br />
<br />
=== Imaging microSD on Linux ===<br />
<br />
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:<br />
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].<br />
* A disk image utility (used to flash the .img to your SD card in GUI). We recommend you use [https://etcher.io/ Etcher] or the [https://git.gnome.org/browse/gnome-disk-utility/ GUI Disks utility] that ships with most popular distros.<br />
<br />
<br />
'''N.B.''' Phoenix Card utility and images are NOT available on Linux.<br />
<br />
<br />
'''Downloading and extracting OS image(s)'''<br />
<br />
You can find OS images for the respective devices in the [http://wiki.pine64.org/index.php/Main_Page device section] on the main page. On Linux you can only use images designated as ‘DD’.<br />
<br />
Having downloaded the required OS image proceed to use 7zip to unarchive it by double clicking the archive, and selecting ‘Extract All’. Upon completion, note the destination where the .img file was extracted (‘Downloads’ folder by default). Once the process has completed, you can proceed to imaging the .img file.<br />
<br />
<br />
'''Imaging the microSD card (GUI)'''<br />
<br />
* Insert your microSD card into your Linux laptop/USB card reader. Once the microSD card is plugged into your computer it should appear in your File Manager / on your desktop.<br />
<br />
* Launch Disks or the etcher utility (This tutorial outlines how to use Disks, if you wish to learn how to use Etcher please visit [https://etcher.io/ their website]).<br />
<br />
* Upon launching Disks, you will be presented with all volumes visible to your computer. As a rule of thumb, your microSD card should be found at the bottom of listed volumes. Verify this by checking the size and mounting of the microSD card. '''N.B.''' Pay close attention to the selected drive – the imaging process will format the selected drive. If you choose the wrong drive all your data will be lost.<br />
<br />
* Having selected your microSD card, click the cog menu in top right corner and choose the ‘Restore Disk Image’ option from the drop-down list. Navigate to and select the OS image you extracted from the archive earlier. Once you select it, you will be asked to enter your password and to confirm writing to the chosen volume (microSD card).<br />
<br />
* You will be given a predicted time, writing-speed and completion percentage. Once the image has been written to your microSD card you will receive a pop-up notification. Be sure to close the application and to eject/remove your SD card safely from your computer.<br />
<br />
<br />
'''Imaging from Terminal'''<br />
<br />
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.<br />
<br />
* Insert your microSD card into your Linux laptop/USB card reader. Once the microSD card is plugged into your computer it should appear in Finder / on your desktop.<br />
* Open up your terminal and navigate to the directory where you unarchived your OS image.<br />
* Before you start writing to the card, you will have to identify your microSD card.<br />
* Type: ''lsblk'' and pay attention to the listed disks. Disks will appear as ''/dev/sda /dev/sdb'' etc. Look at the drive that matches your microSD card’s size.<br />
* Having located the microSD card use the following command to flash the .img of choice to the microSD card (/dev/sdb used as example): ‘’sudo unmount /dev/sdb1''<br />
* Now you are ready to write the image to the microSD card using this command: ‘’sudo dd if=pine64_image_name.img of=/dev/sdb bs=1M''<br />
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your computer.<br />
<br />
<br />
<br />
== Instructions to Flashing eMMC Modules ==<br />
<br />
All PINE64 devices - with the '''notable exception of the original Pine A64(+) SBC''' - support eMMC modules as an alternative boot and storage solution to micro SD cards.<br />
An eMMC module can be purchased for your device(s) from the [https://www.pine64.org/?post_type=product PINE64 store]. The only PINE64 device that ships with an eMMC module by default is the Pinebook.<br />
<br />
The available modules come in three different capacities: 16Gb, 32Gb and 64Gb. <br />
<br />
There are a few ways to flash eMMC modules with the desired OS image. The following sections are a summary of the processes involved in flashing the OS image of your choice to the eMMC module. <br />
<br />
<br />
----<br />
<br />
=== Flashing Using Pine64 Installer (Micro SD-to-eMMC) ===<br />
<br />
This may be the simplest way to install an OS image to eMMC, however the selection of images that can be installed using this method is, at the time of writing, very limited. <br />
To flash the OS image to your eMMC using this process you will need the following: <br />
<br />
* An SD card of at least 8Gb capacity <br />
* A Windows, Linux or Mac OS computer with the [https://github.com/pine64dev/PINE64-Installer/blob/master/README.md PINE64 installer] installed. The PINE64 Installer is available for all major platforms.<br />
* A SD card reader <br />
* Your PINE64 device with the eMMC module installed<br />
<br />
<br />
'''The SD-to-eMMC Flashing Process'''<br />
<br />
*Begin the process by launching the PINE64 Installer utility and clicking 'Choose an OS'. Next select your device from the drop-down menu. You will be presented with the various OS images available via the utility; you will notice that some of the OS images have '''SDCard to eMMC listed next to them in the brackets'''. Only images with this designation in the brackets will be able to help you flash the image of your choice to eMMC. <br />
<br />
*Having selected an OS image put in your microSD card into your SD cardreader and follow the on-screen instructions. The process will flash the SD-to-eMMC installation image to your micro SD card. Once PINE64 Installer has completed the flashing process remove and micro SD card from your computer and place insert it into your PINE64 device. <br />
<br />
*Connect a keyboard and HDMI display for the SD-to-eMMC installation process (does not apply to Pinebook). Make sure that both your eMMC module and micro SD card are inserted into your device and apply power to the unit. You will be provided with further instructions on the display as well as a progress bar of the eMMC installation process. Once the process is complete, power down your PINE64 device and remove the micro SD from its socket. You can now boot into your OS image of choice from the eMMC module.<br />
<br />
<br />
----<br />
<br />
=== Flashing Using the USB-to-eMMC Adaptor (Preferred Way) ===<br />
<br />
A USB-to-eMMC adaptor is available from purchase from the [https://www.pine64.org/ PIN64 Store] making it easy to mount the eMMC module as a volume in your Windows, Mac OS or Linux computer. The eMMC can hence be flashed directly from your computer with any image similarly to a micro SD card.<br />
<br />
'''This installation method works for all devices that support eMMC modules regardless of the chipset''' and it is therefore the preferred way of flashing OS images to eMMC. All available OS images for your device can be installed on the eMMC module this way. <br />
<br />
*This process of flashing an OS image to eMMC is '''literally identical to imaging micro SD cards''', so please read [http://wiki.pine64.org/index.php/NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards Step-by-Step Instructions to Flashing Micro SD Cards] before you begin. <br />
<br />
For this method you will need the following: <br />
<br />
*A Windows, Linux or Mac OS computer<br />
*A PINE64 eMMC module<br />
*The PINE64 USB-to-eMMC adaptor<br />
<br />
<br />
'''Flashing eMMC using the adaptor'''<br />
<br />
*Insert the the eMMC module into the USB adaptor and plug it into your Windows, Linux or Mac OS computer. It should mount as a regular USB drive and show up in your file manager. <br />
*If you are using Linux or Mac OS you can either use the dd terminal command or a GUI utility such as [https://etcher.io/ Etcher] to flash the chosen OS Image to eMMC. <br />
*If you are using a Windows machine use [https://etcher.io/ Etcher] or [https://sourceforge.net/projects/win32diskimager/ Win32 Disk Imager] to flash the OS Image to the eMMC module. <br />
<br />
Once the image has been flashed using your preferred method safely dismount the USB adaptor in your system and unplug it from your computer. Your eMMC is now ready to boot and can be inserted into the eMMC socket on your PINE64 device.<br />
<br />
<br />
----<br />
<br />
=== Flashing to eMMC from a SD Boot ===<br />
<br />
Some of the available Linux images for Allwinner A64 devices recognise eMMC modules as mounted storage when the device is booted from a micro SD card. This is true for all recent releases of [https://github.com/ayufan-pine64/linux-build/releases ayufan's Linux images]. In result it is possible to flash an OS image to eMMC using the DD command in terminal or the Disks GUI utility included with the Mate desktop. <br />
<br />
There are '''two ways''' in which an OS image can be flashed from within a micro SD boot: <br />
*Via a script called Pine64_install_to_eMMC.sh found in ''/usr/local/sbin''. This script will install an Ubuntu Mate OS installation (identical to the on running on the SD) to the eMMC module. To execute the script navigate to its location in the terminal and type ''sudo ./Pine64_install_to_eMMC.sh''. Follow the instructions. <br />
<br />
*By manually downloading and flashing a OS image for your device using DD or the Disk GUI. This way of flashing an OS image to the eMMC is identical to that used on a Linux computer (e.g. for flashing an OS image to a SD card). For more information on how the process works please see the detailed guide on [http://wiki.pine64.org/index.php/NOOB#Imaging_microSD_on_Linux imaging OS images to SD card on Linux]. <br />
<br />
For the latter of the two methods here is a summary of the process: <br />
*Flash an OS image which recognises eMMC as mounted storage to a micro SD card. For details on how to flash a micro SD card see [http://wiki.pine64.org/index.php/NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards section 3.0] <br />
*Insert both the micro SD and eMMC module into your device and power it on.<br />
*Once the PINE64 device boots from micro SD, open the web browser and download the desired OS image for your device. <br />
*Once the OS image downloads check in terminal or in Disks utility the eMMC's mounting location.<br />
*Use the DD command or Disks utility to flash the downloaded image to the eMMC module. <br />
*Once the flashing process is completed power down your device and remove the micro SD card. You should now be able to power your device back up and it will boot the image flashed to the eMMC module.<br />
<br />
<br />
----<br />
<br />
=== Flashing to eMMC using FEL (Allwinner A64 Devices Only) ===<br />
<br />
Under particular circumstances it may prove difficult to rely on a SD card to flash an OS image to an Allwinner A64 device. In such instances OS images can be directly flashed by means of entering into FEL mode. FEL is a low-level subroutine in the BootROM, and the process of enabling FEL differs from one device to another. To learn more about FEL please refer to the [http://linux-sunxi.org/FEL SUNXI Wiki section] dedicated to the subject. <br />
<br />
The process of flashing via FEL is more complex than utilising a micro SD and is therefore '''better suited for proficient and advanced users'''. <br />
<br />
For the process of flashing an image to the eMMC on a device in FEL mode you will need: <br />
*A computer running Mac OS or Linux<br />
*An OTG USB A-to-A cable <br />
<br />
To enter FEL you will need to: <br />
*On the Pinebook, power down the Pinebook and remove the PSU, unscrew the bottom of the case and press down the FEL button on the PCB (REF). Plug in the OTG USB A-to-A cord to your computer and the OTG USB port on the Pinebook (on the right facing an open case). Reinsert the PSU cord and press the power button with the FEL button pressed down. Release the FEL button after 3 seconds. <br />
*On the Pine A64(+) power down the board and remove the micro SD card and power cord. Plug in the OTG USB A-to-A cord to your computer and the OTG USB port on the Pine A64 (+) and SoPine (top port). Power on the device and immediately after insert a micro SD card [https://app.box.com/s/s3m7rb5zfe0jkwqhaiy1zytqq3436fqs with FEL code].<br />
<br />
You can check if your device entered FEL mode using ''lsusb'' command in terminal. It should be listed as a device on the USB Bus. <br />
<br />
The next step is to mount your device so that your computer recognises the eMMC as mass storage (UMS). A script called boot-tools streamlining this process is available '''thanks to ayufan''' on [https://github.com/ayufan-pine64/boot-tools his github]. Follow his instructions and in terminal perform the following stepps: <br />
<br />
*''git clone https://github.com/ayufan-pine64/boot-tools.git<br />
*''cd boot-tools''<br />
*''make pinebook_ums''<br />
or<br />
*''make pine64_ums''<br />
<br />
Once your device mounts as UMS it will appear in your file manager. In CLI you can check if the storage is listed using ''fdisk -l''. <br />
<br />
This process of flashing an OS image to eMMC with the device in FEL mode and mounted as UMS is '''literally identical to imaging micro SD cards''', so please read [http://wiki.pine64.org/index.php/NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards Step-by-Step Instructions to Flashing Micro SD Cards] and follow the procedure. You can use DD or Disks/ Disk Utility to flash the OS image directly to your device's eMMC. <br />
<br />
Once the flashing process is completed, power down your device, remove the A-to-A USB OTG cable and after reapply power to boot your device from eMMC.<br />
<br />
<br />
----<br />
<br />
=== Flashing to eMMC using Rockchip Tools (Rock64 Only) ===<br />
<br />
Rockchip has a different boot hierarchy to Allwinner's devices making it much more difficult to flash OS images using the micro SD-to-eMMC scheme used on A64. There are, however, flashing tools that make it possible to flash directly to eMMC on a Rock64 in loader and MarkROM modes. <br />
<br />
To flash to the eMMC module using these tools you will need the following: <br />
*A Windows, Mac OS or Linux computer<br />
*An A-to-A USB cable <br />
*The Rock64 board with the eMMC module inserted into the socket<br />
<br />
<br />
'''Using Windows 7/8.1/10 ''' <br />
You will need to download the [http://files.pine64.org/doc/rock64/tools/DriverAssitant_v4.5.zip Rockchip driver] as well as the [http://files.pine64.org/doc/rock64/tools/AndroidTool_Release_v2.38.zip AndroidTool] used for flashing OS images. Having completed the downloads extract both archives.The Rockchip driver needs to be installed prior to using the AndroidTool utility. <br />
<br />
Having installed the driver and flashing utility, follow these steps:<br />
*Make sure that eMMC is inserted into the slot on the Rock64<br />
*Place a jumper / short out the eMMC pins on the board (consult [http://files.pine64.org/doc/rock64/guide/ROCK64_Installing_Android_To_eMMC.pdf this document] for more details.<br />
*Insert one end of the A-to-A cable into your Windows PC and the other into your Rock64 OTG USB port (top)<br />
*Inset the power cord into the Rock64<br />
*Start AndroidTool; make sure that it reports 'Found One Maskrom Device' (if it does not recognise your device, please repeat previous steps)<br />
*Select either the latest Stock Android build or ayufan's Android TV build with the suffic -update. Download and the extract the chosen image. <br />
*In AndroidTool press the firmware tab and navigate to where you extracted the OS image and select it. <br />
*Press the upgrade tab. You will be prompted when the flashing process is completed. <br />
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC. <br />
<br />
<br />
'''Using Linux or Mac OS'''<br />
<br />
*Make sure that eMMC is inserted into the slot on the Rock64<br />
*Download latest stable or pre-release (to be used at own risk) Android TV OS image from [https://github.com/ayufan-rock64/android-7.1/releases ayufan's github]. The image you wish to download is the one '''without a suffix'''; without -update or -raw in the OS image title. <br />
*In terminal, download rkflashtool following instructions on [https://github.com/ayufan-rock64/android-7.1/blob/master/README.md ayufan's github]<br />
*Extract the folder containing partitions of the OS image and place the script listed on ayufan's github in the folder<br />
*Hold down the recovery button on the board<br />
*Insert one end of the A-to-A cable into your Mac OS or Linux PC and the other into your Rock64 OTG USB port (top)<br />
*Inset the power cord into the Rock64<br />
*Check that your device is in loader mode by typing in the terminal ''sudo rkflashtool n''. If rkflashtool doesn't detect the Rock64 please repeat last 3 steps <br />
*In terminal navigate to where you extracted the Android folder containing the OS partitions and the script and type ''rkinstall''; this will install the community Android TV build to eMMC. <br />
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.<br />
<br />
<br />
----<br />
<br />
=== Flashing to eMMC Android 'Update' OS Images on Linux (Rock64 Only) ===<br />
<br />
It is possible to flash Android 'update' images to the Rock64 eMMC using a Linux PC. This process requires a tool called [http://www.haoyuelectronics.com/service/RK3066/tools/linux/Linux_Upgrade_Tool_v1.2.tar.gz Linux Upgrade Tool] and the full documentation of its functions can be found [http://www.hotmcu.com/wiki/Flashing_Firmware_Image_Files_Using_The_Rockchip_Tool#Using_Linux_Upgrade_Tool_to_flash_update.img here]. Make sure that you download v1.2 or newer, as older tools do not support the RK3328 used on the Rock64. <br />
<br />
To flash to the eMMC module using this method you will need the following: <br />
*A Linux computer<br />
*An A-to-A USB cable <br />
*The Rock64 board with the eMMC module inserted into the socket<br />
<br />
Start by downloading an Android '''update''' image for the Rock64. Both PINE64 and Ayufan provide such images for the board - and they are clearly designated as such on both this WiKi's download section and on ayufan's github. For the purpose of this example, I'll use the ayufan's ATV community build: <br />
<br />
*Download latest stable or pre-release (to be used at own risk) Android TV OS image from [https://github.com/ayufan-rock64/android-7.1/releases ayufan's github]. The image you wish to download is the one '''with update suffix'''. You need to '''rename the downloaded image to update.img'''.<br />
*Download the [http://www.haoyuelectronics.com/service/RK3066/tools/linux/Linux_Upgrade_Tool_v1.2.tar.gz Linux Upgrade Tool] to your Linux PC and unarchived it. <br />
*Extract the archived update Android OS image somewhere where you will remember its path<br />
*Hold down the recovery button on the board<br />
*Insert one end of the A-to-A cable into your Mac OS or Linux PC and the other into your Rock64 OTG USB port (top)<br />
*Inset the power cord into the Rock64<br />
*In terminal, navigate to where you extracted Rockchip Update Tool and issue the following command substituting the correct path for where the Android Update OS Image is located: ''sudo ./upgrade_tool uf /path/to/update.img''<br />
*Wait as the utility installs Android to eMMC on your Rock64. <br />
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.<br />
<br />
== Flashing u-boot to SPI Flash ==<br />
<br />
Some of PINE64 devices, such as the Rock64 and SOPine, are equipped with SPI Flash. This allows users to flash u-boot onto the SPI and boot from an external USB 2.0 or USB 3.0 SSD/HDD/thumb-drive, thereby forgoing using eMMC or an microSD card. <br />
<br />
To find out more about which images can used in conjunction for SPI booting please see [https://github.com/ayufan-rock64/ ayufan's github].<br />
<br />
Writing u-boot to SPI Flash can be achieved in two ways:<br />
<br />
=== Using a Stand-Alone Image to Write u-boot to SPI ===<br />
This may be the simplest method of flashing u-boot to SPI. Download a dedicated image labelled '''u-boot-flash-spi.img.xz''' from [https://github.com/ayufan-rock64/linux-u-boot/releases ayufan's github] and flash it to a micro SD card, the same you would with any OS image (to learn how to flash OS images to micro SD please following steps outlined in [http://wiki.pine64.org/index.php/NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards Section 3].<br />
<br />
'''Having flashed the image follow these steps''': <br />
<br />
*Insert the SD into the ROCK64<br />
*Remove all other peripherals from the board <br />
*'''Make sure that the eMMC module is disconnected from the board'''<br />
*Apply power to the ROCK64<br />
*Wait (few seconds) until the the LEDs on the board will blink continually<br />
*Power off the board.<br />
<br />
The board is now ready to boot from USB 2.0/3.0 storage.<br />
<br />
=== Using a Script on Linux OS Images ===<br />
Most of recent (newer than 0.6.9) Linux OS images contain a script called '''rock64_write_spi_flash.sh''', which is found in ''/usr/local/sbin'' directory. To run the script you will first need to flash a Linux OS image to a micro SD card (to learn how to flash OS images to micro SD please following steps outlined in [http://wiki.pine64.org/index.php/NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards Section 3]). Before proceeding '''make sure that the eMMC module is disconnected''' from the board. Once you have booted into Linux on your PINE64 device all you have to do is run the aforementioned script using this command: <br />
<br />
''sudo ./rock64_write_spi_flash.sh''<br />
<br />
Once the script finishes its operation, power off your board and remove the micro SD card.<br />
The board is now ready to boot from USB 2.0/3.0 storage.<br />
<br />
=== Erasing and Rewriting SPI === <br />
There are two ways of removing u-boot from SPI. You can either download '''u-boot-flash-spi.img.xz''' from [https://github.com/ayufan-rock64/linux-build/releases ayufan's github] or use a script found on Linux OS images titled:'''rock64_erase_spi_flash.sh'''. Follow the instructions in the previous sub-sections for the chosen method of removing u-boot from SPI; the instructions are are identical, as the process of erasing u-boot is the exact opposite of flashing it. <br />
<br />
'''N.B. You can also erase SPI manually". <br />
To do so, you need to download mtd-utils. on Debian or Ubuntu follow these instructions:<br />
<br />
''sudo apt-get install mtd-utils''<br />
''sudo flash_eraseall /dev/mtd0''<br />
<br />
=== Booting an OS image from USB 2.0/3.0 Storage ===<br />
To boot and OS image from USB 2.0/3.0 Storage such as a SSD/HDD or a thumbdrive you first need to have u-boot written to your SPI flash. Please follow the instructions in the previous sub-sections to learn how to write u-boot to SPI on your PINE64 device. <br />
<br />
Once you have u-boot on your SPI, the process off booting is very similar to booting from micro SD or eMMC.<br />
*Download one of the supported OS images for your PINE64 device<br />
*Flash the OS image to your USB 2.0/USB 3.0 storage device (to learn how to flash OS images please following steps outlined in [http://wiki.pine64.org/index.php/NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards Section 3] The instructions are identical for all types of storage, including USB 2.0/USB 3.0 HDDs and thumb-drives.) <br />
*Insert the USB storage device with the flashed OS image into one of the USB ports on your PINE64 device<br />
*Apply power<br />
<br />
If you have followed all the steps correctly, the board should boot from your USB 2.0/3.0 storage device.<br />
<br />
== Troubleshooting Your Device ==<br />
<br />
There is a number of things that can prevent the PINE64 board from booting up properly. The most common culprits of a failed boot are (to find out more click [http://forum.pine64.org/showthread.php?tid=514 here]):<br />
<br />
* Subpar or counterfeit microSD card<br />
* Subpar Power Supply<br />
* High resistance (thin) or a very long microUSB cable<br />
* Failed imaging of the microSD card or eMMC module<br />
<br />
Make sure to have the newest version of the OS image your are running. On Allwinner A64 devices running Linux you can update the kernel and uboot using scripts located in the following directory: /usr/local/sbin<br />
<br />
* To navigate to the directory type (in terminal): ''cd /usr/local/sbin''<br />
* You list all the available scripts by typing (in terminal): ''ls''<br />
* To run the script required update script run the following command: ''sudo ./update_script.sh'' (substitute the relevant update script for update_script)<br />
<br />
'''Troubleshooting Step by Step'''<br />
<br />
Follow these steps to determine the cause of your problem:<br />
<br />
* Check your PSU and microUSB cable ratings<br />
* Download and image a base image of Linux<br />
* Plug in power and Ethernet into your PINE64 device<br />
* Watch Ethernet port LED activity<br />
* Check your router for your device's IP<br />
* Attempt to ssh into your device's from your computer<br />
<br />
If your PSU and microUSB meet the criteria, and you have correctly followed the instructions to image your card and power on the board, but you are not seeing any LED activity and cannot ssh into your device then either the imaging process failed (possibly due to a subpar microSD) OR the PSU / microUSB cable is/are faulty.<br />
<br />
If your PSU and microUSB meet the criteria, and you have correctly imaged the OS to your card and power on the board and your can ssh into your PINE A64(+) but get no video feed, then it's likely that the native resolution of your monitor/TV is not supported.<br />
<br />
If neither of the above mentioned scenarios fits the problem you are facing, please consult this thread (thanks to Ghost for compiling the list): http://forum.pine64.org/showthread.php?tid=680<br />
<br />
If you cannot find a solution to your problem you can submit a ticket at: https://support.pine64.org/</div>Tophneal