<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pine64.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Surehand53</id>
	<title>PINE64 - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pine64.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Surehand53"/>
	<link rel="alternate" type="text/html" href="https://wiki.pine64.org/wiki/Special:Contributions/Surehand53"/>
	<updated>2026-04-11T09:49:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20120</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20120"/>
		<updated>2023-07-22T12:01:54Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Specifications */ added wifi chipset&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
The PineTab2 box contains two smaller boxes.&lt;br /&gt;
&lt;br /&gt;
The first box includes:&lt;br /&gt;
&lt;br /&gt;
* the PineTab2, &lt;br /&gt;
* a short user guide, &lt;br /&gt;
* a power cable and &lt;br /&gt;
* the UART adapter. Note that the UART adapter is in the same package as the power cable in a second compartment and can be a bit hidden. &lt;br /&gt;
&lt;br /&gt;
The second box has the keyboard in it.&lt;br /&gt;
&lt;br /&gt;
=== First start ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
=== Keyboard cover ===&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned. &lt;br /&gt;
The external keyboard has 5 connection pins (the golden pins). four are standard USB connectors and one is used to detect that the keyboard is connected.&lt;br /&gt;
&lt;br /&gt;
The backlight can be changed with the key combination ''Pinekey + Ctrl (right)''.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
Since most software issues will be release-specific, please see the [[PineTab2 Releases]] page for additional software related instructions, tips, and tricks.&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''Danctnix Arch Linux ARM''. The factory image can be found here:&lt;br /&gt;
&lt;br /&gt;
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
&lt;br /&gt;
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
&lt;br /&gt;
There are currently no stable releases. All releases for the PineTab2 will be listed under [[PineTab2 Releases]] as they're released. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the microSD card'''&lt;br /&gt;
&lt;br /&gt;
To write an operating system to the microSD card (typically called &amp;quot;flashing&amp;quot; in the community), you need to first download a compatible image from the [[#Releases|releases]] section.&lt;br /&gt;
&lt;br /&gt;
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as ''xz'' to reduce the download size. If you are using a graphical tool such as ''balenaEtcher'' or ''Gnome Disks'' it will handle the decompression of the image in the flashing step automatically.&lt;br /&gt;
&lt;br /&gt;
Further you need to flash the image to the microSD card. This can be done using various tools, for example ''balenaEtcher'' (recommended for new users), ''Gnome Disks'' or command-line tools such as ''cp'' and ''dd''. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.&lt;br /&gt;
&lt;br /&gt;
Graphical applications:&lt;br /&gt;
&lt;br /&gt;
* '''balenaEtcher''' (Microsoft Windows, macOS, Linux): Click on ''Flash from file'' and select the image. Then select the microSD card target device and click on ''Flash!''.&lt;br /&gt;
&lt;br /&gt;
* '''Gnome Disks''' (Linux): Select the microSD card target device on the left side in the ''Disks'' list. Then select the three dot menu on the top right and click on ''Restore Disk Image...''. Select the image, verify the correct device is selected and then click on ''Start Restoring...''.&lt;br /&gt;
&lt;br /&gt;
Command-line tools:&lt;br /&gt;
&lt;br /&gt;
* '''cp''': &amp;lt;code&amp;gt;sudo cp '''IMAGE.img''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''dd''': &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|Make sure to replace '''IMAGE.img''' and '''[DEVICE]''' with the filename of the image (double check if it is decompressed and has the file extension ''.img'') and the device name. You can use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.}}&lt;br /&gt;
&lt;br /&gt;
Then insert the microSD card into the PineTab2. &lt;br /&gt;
&lt;br /&gt;
[[File:PineTab2 USB UARTv2.jpg|thumb|right|400px|Using the USB UART adapter can be required in some cases as explained in the info box about the boot order. The adapter is shipped with the PineTab2 in the box which is also containing the charging cable. The switch to disable the eMMC and SPI is located on the top right of the image.]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|'''Note regarding the boot order:''' The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. The pre-installed bootloader on the internal memory (eMMC) tries to boot from the microSD card first. '''In some cases''' it can be required to bypass the bootloader, for example if the bootloader is corrupted or was overwritten by a bootloader with varying settings.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device in the box also containing the charging cable. Set the ''SD BOOT MASKROM'' switch on the adapter to the position ''ON'' and plug it into the USB/PD charging port. Then power on the tablet and '''unplug the debug board or set the switch to the position ''OFF'' again''' when the factory image is started, otherwise the factory image won't find the eMMC.}}&lt;br /&gt;
&lt;br /&gt;
Power on the device with the microSD card inserted (and optionally with the USB UART adapter inserted and the bypass switch set to ''ON'' depending on the software situation, see the info box above). It should now boot the new operating system from the microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Something is not working?''' Please join the [[Main_Page#Chat_Platforms|PineTab channel in the community chat]], the community is always happy to help. In the section [[#Connecting the UART adapter]] you can find information about how to connect the USB UART adapter and how to retrieve the boot logs if the device is not booting properly even after the above procudere.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
[[File:Pinetab2-side.jpeg|400px|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC ([https://www.szyuda88.com/product-77313-276594.html SiliconGo SGM8 100C-S36BCG]; eMMC 5.1, up o 400MB/s)&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi : BES2600&lt;br /&gt;
** Bluetooth : BES2600&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0 (top, host mode only; power output up to 680mA)&lt;br /&gt;
** 1x USB-C 2.0 + PD (bottom, device mode by default; power input)&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 4 pole 3.5mm audio jack (microphone right) and headphone detection&lt;br /&gt;
** 2x speakers + microphone (microphone left)&lt;br /&gt;
** 1x 5 pin (USB 2.0; &amp;lt;=680mA) Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Sensors:'''&lt;br /&gt;
** Accelerometer: Silan SC7A20&lt;br /&gt;
** Ambient Light &amp;amp; Proximity Sensor&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Weight:''' 538g&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs major cleanup and bugfixing (at the moment it often causes system crashes). This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera drivers needs to be ported ([https://github.com/rockchip-linux/kernel/blob/develop-4.19/drivers/media/i2c/gc02m2.c gc02m2], [https://elixir.bootlin.com/linux/latest/source/drivers/media/i2c/ov5648.c ov5648]), Rockchip CSI/ISP driver needs to be extended to handle 2 lanes.&lt;br /&gt;
* Suspend does not currently work reliably due to a driver issue. It is therefore disabled in the factory image. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter face-up in the USB-C port furthest away from the power button. If all the lights are lit, you have the wrong port: only the green light should be lit when you first plug it in.&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
** Ubuntu-based distro users may encounter the error, &amp;quot;cannot open /dev/ttyUSB0: No such file or directory&amp;quot;.  If this occurs, check the output of &amp;lt;code&amp;gt;sudo dmesg --follow&amp;lt;/code&amp;gt; and unplug/replug the USB to look for any errors.  If you see an error like, &amp;quot;usb 1-1: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1&amp;quot;, then the brltty service is likely conflicting with this device.  Brltty provides access to blind users who use a braille display: if you do not need this service, try disabling it using these commands:&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* [https://fccid.io/2A8NB-PINETAB2 FCC: 2A8NB-PINETAB2]&lt;br /&gt;
&lt;br /&gt;
PineTab2 disassembly guide:&lt;br /&gt;
* [[file:PineTab2_display_panel_disassembly_guide.pdf]]&lt;br /&gt;
* Note: this is a very delicate operation esp. around the corners of the screen. Several (even experienced) users ended up damaging the screen.&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Tutorials and Frequently Asked Questions ==&lt;br /&gt;
Please see the [[PineTab2 FAQ]] page for tutorials and frequently asked questions.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20107</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20107"/>
		<updated>2023-07-19T09:29:50Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Getting started */   Over The Keyboard cover entry here&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
The PineTab2 box contains two smaller boxes.&lt;br /&gt;
&lt;br /&gt;
The first package includes:&lt;br /&gt;
* the PineTab2, &lt;br /&gt;
* a short user guide, &lt;br /&gt;
* a power cable and &lt;br /&gt;
* the UART adapter. Note that the UART adapter is in the same package as the power cable in a second compartment and can be a bit hidden, search for it. &lt;br /&gt;
&lt;br /&gt;
The second box has the keyboard in it.&lt;br /&gt;
&lt;br /&gt;
=== First start ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
=== Keyboard cover===&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
The external keyboard has 5 connection pins (the golden pins). &lt;br /&gt;
4 are standard USB connectors, one is to detect that the keyboard is connected.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
Since most software issues will be release-specific, please see the [[PineTab2 Releases]] page for additional software related instructions, tips, and tricks.&lt;br /&gt;
&lt;br /&gt;
=== Software Releases ===&lt;br /&gt;
&lt;br /&gt;
* The PineTab2 ships with ''Danctnix Arch Linux ARM''. The factory image can be found here:&lt;br /&gt;
** https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
** {{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
* All other releases for the PineTab2 will be listed under [[PineTab2 Releases]] as they're released. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card. Please see the [[PinePhone Installation Instructions|Installation Instructions]] for detailed instructions.  Please also note the info under the [[PinePhone Installation Instructions#PineTab2|boot priority]] entry when booting from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Something is not working?''' Please join the [[Main_Page#Chat_Platforms|PineTab channel in the community chat]], the community is always happy to help. In the section [[#Connecting the UART adapter]] you can find information about how to connect the USB UART adapter and how to retrieve the boot logs if the device is not booting properly even after the above linked procedure.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
[[File:Pinetab2-side.jpeg|400px|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC ([https://www.szyuda88.com/product-77313-276594.html SiliconGo SGM8 100C-S36BCG]; eMMC 5.1, up o 400MB/s)&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0 (top, host mode only; power output up to 680mA)&lt;br /&gt;
** 1x USB-C 2.0 + PD (bottom, device mode by default; power input)&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 4 pole 3.5mm audio jack (microphone right) and headphone detection&lt;br /&gt;
** 2x speakers + microphone (microphone left)&lt;br /&gt;
** 1x 5 pin (USB 2.0; &amp;lt;=680mA) Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Sensors:'''&lt;br /&gt;
** Accelerometer&lt;br /&gt;
** Ambient Light &amp;amp; Proximity Sensor&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Weight:''' 538g&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs major cleanup and bugfixing (at the moment it often causes system crashes). This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera drivers needs to be ported ([https://github.com/rockchip-linux/kernel/blob/develop-4.19/drivers/media/i2c/gc02m2.c gc02m2], [https://elixir.bootlin.com/linux/latest/source/drivers/media/i2c/ov5648.c ov5648]), Rockchip CSI/ISP driver needs to be extended to handle 2 lanes.&lt;br /&gt;
* Suspend does not currently work reliably due to a driver issue. It is therefore disabled in the factory image. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter face-up in the USB-C port furthest away from the power button. If all the lights are lit, you have the wrong port: only the green light should be lit when you first plug it in.&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
** Ubuntu-based distro users may encounter the error, &amp;quot;cannot open /dev/ttyUSB0: No such file or directory&amp;quot;.  If this occurs, check the output of &amp;lt;code&amp;gt;sudo dmesg --follow&amp;lt;/code&amp;gt; and unplug/replug the USB to look for any errors.  If you see an error like, &amp;quot;usb 1-1: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1&amp;quot;, then the brltty service is likely conflicting with this device.  Brltty provides access to blind users who use a braille display: if you do not need this service, try disabling it using these commands:&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* [https://fccid.io/2A8NB-PINETAB2 FCC: 2A8NB-PINETAB2]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Tutorials and Frequently Asked Questions ==&lt;br /&gt;
Please see the [[PineTab2 FAQ]] page for tutorials and frequently asked questions.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20106</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20106"/>
		<updated>2023-07-19T09:28:41Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Keyboard cover */ no main ToC entry needed. Moved to “getting started”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
The PineTab2 box contains two smaller boxes.&lt;br /&gt;
&lt;br /&gt;
The first package includes:&lt;br /&gt;
* the PineTab2, &lt;br /&gt;
* a short user guide, &lt;br /&gt;
* a power cable and &lt;br /&gt;
* the UART adapter. Note that the UART adapter is in the same package as the power cable in a second compartment and can be a bit hidden, search for it. &lt;br /&gt;
&lt;br /&gt;
The second box has the keyboard in it.&lt;br /&gt;
&lt;br /&gt;
=== First start ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
Since most software issues will be release-specific, please see the [[PineTab2 Releases]] page for additional software related instructions, tips, and tricks.&lt;br /&gt;
&lt;br /&gt;
=== Software Releases ===&lt;br /&gt;
&lt;br /&gt;
* The PineTab2 ships with ''Danctnix Arch Linux ARM''. The factory image can be found here:&lt;br /&gt;
** https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
** {{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
* All other releases for the PineTab2 will be listed under [[PineTab2 Releases]] as they're released. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card. Please see the [[PinePhone Installation Instructions|Installation Instructions]] for detailed instructions.  Please also note the info under the [[PinePhone Installation Instructions#PineTab2|boot priority]] entry when booting from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Something is not working?''' Please join the [[Main_Page#Chat_Platforms|PineTab channel in the community chat]], the community is always happy to help. In the section [[#Connecting the UART adapter]] you can find information about how to connect the USB UART adapter and how to retrieve the boot logs if the device is not booting properly even after the above linked procedure.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
[[File:Pinetab2-side.jpeg|400px|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC ([https://www.szyuda88.com/product-77313-276594.html SiliconGo SGM8 100C-S36BCG]; eMMC 5.1, up o 400MB/s)&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0 (top, host mode only; power output up to 680mA)&lt;br /&gt;
** 1x USB-C 2.0 + PD (bottom, device mode by default; power input)&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 4 pole 3.5mm audio jack (microphone right) and headphone detection&lt;br /&gt;
** 2x speakers + microphone (microphone left)&lt;br /&gt;
** 1x 5 pin (USB 2.0; &amp;lt;=680mA) Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Sensors:'''&lt;br /&gt;
** Accelerometer&lt;br /&gt;
** Ambient Light &amp;amp; Proximity Sensor&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Weight:''' 538g&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs major cleanup and bugfixing (at the moment it often causes system crashes). This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera drivers needs to be ported ([https://github.com/rockchip-linux/kernel/blob/develop-4.19/drivers/media/i2c/gc02m2.c gc02m2], [https://elixir.bootlin.com/linux/latest/source/drivers/media/i2c/ov5648.c ov5648]), Rockchip CSI/ISP driver needs to be extended to handle 2 lanes.&lt;br /&gt;
* Suspend does not currently work reliably due to a driver issue. It is therefore disabled in the factory image. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter face-up in the USB-C port furthest away from the power button. If all the lights are lit, you have the wrong port: only the green light should be lit when you first plug it in.&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
** Ubuntu-based distro users may encounter the error, &amp;quot;cannot open /dev/ttyUSB0: No such file or directory&amp;quot;.  If this occurs, check the output of &amp;lt;code&amp;gt;sudo dmesg --follow&amp;lt;/code&amp;gt; and unplug/replug the USB to look for any errors.  If you see an error like, &amp;quot;usb 1-1: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1&amp;quot;, then the brltty service is likely conflicting with this device.  Brltty provides access to blind users who use a braille display: if you do not need this service, try disabling it using these commands:&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* [https://fccid.io/2A8NB-PINETAB2 FCC: 2A8NB-PINETAB2]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Tutorials and Frequently Asked Questions ==&lt;br /&gt;
Please see the [[PineTab2 FAQ]] page for tutorials and frequently asked questions.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20105</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20105"/>
		<updated>2023-07-19T09:26:34Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Getting started */  added punctuation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
The PineTab2 box contains two smaller boxes.&lt;br /&gt;
&lt;br /&gt;
The first package includes:&lt;br /&gt;
* the PineTab2, &lt;br /&gt;
* a short user guide, &lt;br /&gt;
* a power cable and &lt;br /&gt;
* the UART adapter. Note that the UART adapter is in the same package as the power cable in a second compartment and can be a bit hidden, search for it. &lt;br /&gt;
&lt;br /&gt;
The second box has the keyboard in it.&lt;br /&gt;
&lt;br /&gt;
=== First start ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
Since most software issues will be release-specific, please see the [[PineTab2 Releases]] page for additional software related instructions, tips, and tricks.&lt;br /&gt;
&lt;br /&gt;
=== Software Releases ===&lt;br /&gt;
&lt;br /&gt;
* The PineTab2 ships with ''Danctnix Arch Linux ARM''. The factory image can be found here:&lt;br /&gt;
** https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
** {{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
* All other releases for the PineTab2 will be listed under [[PineTab2 Releases]] as they're released. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card. Please see the [[PinePhone Installation Instructions|Installation Instructions]] for detailed instructions.  Please also note the info under the [[PinePhone Installation Instructions#PineTab2|boot priority]] entry when booting from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Something is not working?''' Please join the [[Main_Page#Chat_Platforms|PineTab channel in the community chat]], the community is always happy to help. In the section [[#Connecting the UART adapter]] you can find information about how to connect the USB UART adapter and how to retrieve the boot logs if the device is not booting properly even after the above linked procedure.&lt;br /&gt;
&lt;br /&gt;
== Keyboard cover==&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
The external keyboard has 5 connection pins (the golden pins). &lt;br /&gt;
4 are standard USB connectors, one is to detect that the keyboard is connected.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
[[File:Pinetab2-side.jpeg|400px|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC ([https://www.szyuda88.com/product-77313-276594.html SiliconGo SGM8 100C-S36BCG]; eMMC 5.1, up o 400MB/s)&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0 (top, host mode only; power output up to 680mA)&lt;br /&gt;
** 1x USB-C 2.0 + PD (bottom, device mode by default; power input)&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 4 pole 3.5mm audio jack (microphone right) and headphone detection&lt;br /&gt;
** 2x speakers + microphone (microphone left)&lt;br /&gt;
** 1x 5 pin (USB 2.0; &amp;lt;=680mA) Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Sensors:'''&lt;br /&gt;
** Accelerometer&lt;br /&gt;
** Ambient Light &amp;amp; Proximity Sensor&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Weight:''' 538g&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs major cleanup and bugfixing (at the moment it often causes system crashes). This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera drivers needs to be ported ([https://github.com/rockchip-linux/kernel/blob/develop-4.19/drivers/media/i2c/gc02m2.c gc02m2], [https://elixir.bootlin.com/linux/latest/source/drivers/media/i2c/ov5648.c ov5648]), Rockchip CSI/ISP driver needs to be extended to handle 2 lanes.&lt;br /&gt;
* Suspend does not currently work reliably due to a driver issue. It is therefore disabled in the factory image. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter face-up in the USB-C port furthest away from the power button. If all the lights are lit, you have the wrong port: only the green light should be lit when you first plug it in.&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
** Ubuntu-based distro users may encounter the error, &amp;quot;cannot open /dev/ttyUSB0: No such file or directory&amp;quot;.  If this occurs, check the output of &amp;lt;code&amp;gt;sudo dmesg --follow&amp;lt;/code&amp;gt; and unplug/replug the USB to look for any errors.  If you see an error like, &amp;quot;usb 1-1: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1&amp;quot;, then the brltty service is likely conflicting with this device.  Brltty provides access to blind users who use a braille display: if you do not need this service, try disabling it using these commands:&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* [https://fccid.io/2A8NB-PINETAB2 FCC: 2A8NB-PINETAB2]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Tutorials and Frequently Asked Questions ==&lt;br /&gt;
Please see the [[PineTab2 FAQ]] page for tutorials and frequently asked questions.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab-V&amp;diff=20080</id>
		<title>PineTab-V</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab-V&amp;diff=20080"/>
		<updated>2023-07-14T08:57:14Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: Added FAQ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:pinetabv_1.jpg|250px|thumb|right|The PineTab-V with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab-V''' is ''PINE64's'' first RISC-V tablet. It is based on the JH7110 64-bit RISC-V SoC. The packaging is very similar to ARM-based [[PineTab2]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
In late 2022, PINE64 announced plans to help grow the RISC-V hardware ecosystem alongside the existing ARM-based device line-up. The PineTab-V is an experimental device, which ships without an OS and without any promises. The JH7110 RISC-V SoC, and the RISC-V architecture in more general, is currently best described as having limited Linux support. You can think of it as a convenient development platform targeted at those of you interested in bringing Linux support to JH7110 and, by extension, the entire RISC-V ecosystem.&lt;br /&gt;
&lt;br /&gt;
== State of the software ==&lt;br /&gt;
&lt;br /&gt;
The PineTab-V is an experimental device and lacks dedicated working software – it should therefore only be purchased by people interested in helping with the bring-up process of Linux and BSDs on the RISC-V architecture. &lt;br /&gt;
&lt;br /&gt;
{{Warning|Do not buy the device unless you intend to use it for operating system development purposes.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab-V is shipped without an operating system pre-installed.&lt;br /&gt;
&lt;br /&gt;
== Releases ==&lt;br /&gt;
&lt;br /&gt;
There are currently no releases.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
There are currently two variants of the PineTab-V:&lt;br /&gt;
&lt;br /&gt;
* PineTab-V – 4GB RAM and 64GB eMMC storage&lt;br /&gt;
* PineTab-V – 8GB RAM and 128GB eMMC storage&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[File:pinetabv_2.jpg|250px|thumb|right|Front- and backside of the PineTab-V]]&lt;br /&gt;
[[File:pinetabv_3.jpg|250px|thumb|right|Backside of the PineTab-V]]&lt;br /&gt;
&lt;br /&gt;
Chassis:&lt;br /&gt;
&lt;br /&gt;
* Dimensions: 242mm x 161mm x 9mm&lt;br /&gt;
* Weight: 520 grams (without keyboard), 990 grams (includes keyboard)&lt;br /&gt;
* Build: Metal and Plastic&lt;br /&gt;
* Color: Matte Black&lt;br /&gt;
&lt;br /&gt;
Display:&lt;br /&gt;
&lt;br /&gt;
* Type: HD IPS capacitive touchscreen, 16.7M colors&lt;br /&gt;
* Size: 10.1 inches&lt;br /&gt;
* Resolution: 1280×800 pixels, 16:10 ratio&lt;br /&gt;
&lt;br /&gt;
Platform:&lt;br /&gt;
&lt;br /&gt;
* Chipset: StarFive JH7110&lt;br /&gt;
* CPU: 64-bit Quad-core 1.5 GHz SiFive U74 RISC-V&lt;br /&gt;
* GPU: Imagination Technology BXE-4-32&lt;br /&gt;
&lt;br /&gt;
Memory:&lt;br /&gt;
&lt;br /&gt;
* Internal Flash Memory: 64GB (variant 1) or 128GB (variant 2) eMMC module&lt;br /&gt;
* System Memory: 4GB (variant 1) or 8GB (variant 2) LPDDR4 SDRAM&lt;br /&gt;
* Expansion: micro SD Card support SDHC and SDXC, up to 2TB&lt;br /&gt;
&lt;br /&gt;
Camera:&lt;br /&gt;
&lt;br /&gt;
* Main Camera: Single 5MP, LED Flash&lt;br /&gt;
* Selfie Camera: Single 2MP&lt;br /&gt;
&lt;br /&gt;
Sound:&lt;br /&gt;
&lt;br /&gt;
* Loudspeaker: Yes, stereo&lt;br /&gt;
* 3.5mm jack with mic: Yes, stereo&lt;br /&gt;
&lt;br /&gt;
Communication:&lt;br /&gt;
&lt;br /&gt;
* WLAN: Wi-Fi 802.11 ax/ac/b/g/n, dual-band, hotspot&lt;br /&gt;
* Bluetooth: 5.2, A2DP&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
&lt;br /&gt;
* USB port: 1x USB 3.0 port (front side 3.0, rear side 2.0), 1x USB Type-C 2.0 port (also use as charging and debug port)&lt;br /&gt;
* USB 2.0 docking port&lt;br /&gt;
* HD Video out&lt;br /&gt;
&lt;br /&gt;
Battery:&lt;br /&gt;
&lt;br /&gt;
* Removable Li-Po 6000mAh battery&lt;br /&gt;
* Charging: 15W – 5V 3A&lt;br /&gt;
&lt;br /&gt;
== Schematics and certifications ==&lt;br /&gt;
[[File:PineTab-V-PCB.jpg|thumb|right|PineTab-V Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab-V mainboard schematic:&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
PineTab-V certifications:&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
'''What is the Performance of the PineTab2 compared to the PineTab-V?'''&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
== External resources ==&lt;br /&gt;
&lt;br /&gt;
* PINE64: Introduction of the PineTab-V, [https://www.pine64.org/2023/04/01/march-update-tablet-bonanza/ March Update: Tablet Bonanza!]&lt;br /&gt;
* PINE64: Launch of the PineTab-V [https://www.pine64.org/2023/04/10/pinetab-v-and-pinetab2-launch/ PineTab-V and PineTab2 launch]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20078</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20078"/>
		<updated>2023-07-13T11:50:38Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Getting started */  optical changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
The PineTab2 box contains two smaller boxes.&lt;br /&gt;
&lt;br /&gt;
The first package includes:&lt;br /&gt;
* the PineTab2, &lt;br /&gt;
* a short user guide, &lt;br /&gt;
* a power cable and &lt;br /&gt;
* the UART adapter Note that the UART adapter is in the same package as the power cable in a second compartment and can be a bit hidden, search for it. &lt;br /&gt;
&lt;br /&gt;
The second box has the keyboard in it.&lt;br /&gt;
&lt;br /&gt;
=== First start ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
Since most software issues will be release-specific, please see the [[PineTab2 Releases]] page for additional software related instructions, tips, and tricks.&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''Danctnix Arch Linux ARM''. The factory image can be found here:&lt;br /&gt;
&lt;br /&gt;
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
&lt;br /&gt;
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
&lt;br /&gt;
There are currently no stable releases. All releases for the PineTab2 will be listed under [[PineTab2 Releases]] as they're released. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the microSD card'''&lt;br /&gt;
&lt;br /&gt;
To write an operating system to the microSD card (typically called &amp;quot;flashing&amp;quot; in the community), you need to first download a compatible image from the [[#Releases|releases]] section.&lt;br /&gt;
&lt;br /&gt;
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as ''xz'' to reduce the download size. If you are using a graphical tool such as ''balenaEtcher'' or ''Gnome Disks'' it will handle the decompression of the image in the flashing step automatically.&lt;br /&gt;
&lt;br /&gt;
Further you need to flash the image to the microSD card. This can be done using various tools, for example ''balenaEtcher'' (recommended for new users), ''Gnome Disks'' or command-line tools such as ''cp'' and ''dd''. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.&lt;br /&gt;
&lt;br /&gt;
Graphical applications:&lt;br /&gt;
&lt;br /&gt;
* '''balenaEtcher''' (Microsoft Windows, macOS, Linux): Click on ''Flash from file'' and select the image. Then select the microSD card target device and click on ''Flash!''.&lt;br /&gt;
&lt;br /&gt;
* '''Gnome Disks''' (Linux): Select the microSD card target device on the left side in the ''Disks'' list. Then select the three dot menu on the top right and click on ''Restore Disk Image...''. Select the image, verify the correct device is selected and then click on ''Start Restoring...''.&lt;br /&gt;
&lt;br /&gt;
Command-line tools:&lt;br /&gt;
&lt;br /&gt;
* '''cp''': &amp;lt;code&amp;gt;sudo cp '''IMAGE.img''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''dd''': &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|Make sure to replace '''IMAGE.img''' and '''[DEVICE]''' with the filename of the image (double check if it is decompressed and has the file extension ''.img'') and the device name. You can use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.}}&lt;br /&gt;
&lt;br /&gt;
Then insert the microSD card into the PineTab2. &lt;br /&gt;
&lt;br /&gt;
[[File:PineTab2 USB UARTv2.jpg|thumb|right|400px|Using the USB UART adapter can be required in some cases as explained in the info box about the boot order. The adapter is shipped with the PineTab2 in the box which is also containing the charging cable. The switch to disable the eMMC and SPI is located on the top right of the image.]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|'''Note regarding the boot order:''' The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. The pre-installed bootloader on the internal memory (eMMC) tries to boot from the microSD card first. '''In some cases''' it can be required to bypass the bootloader, for example if the bootloader is corrupted or was overwritten by a bootloader with varying settings.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device in the box also containing the charging cable. Set the ''SD BOOT MASKROM'' switch on the adapter to the position ''ON'' and plug it into the USB/PD charging port. Then power on the tablet and '''unplug the debug board or set the switch to the position ''OFF'' again''' when the factory image is started, otherwise the factory image won't find the eMMC.}}&lt;br /&gt;
&lt;br /&gt;
Power on the device with the microSD card inserted (and optionally with the USB UART adapter inserted and the bypass switch set to ''ON'' depending on the software situation, see the info box above). It should now boot the new operating system from the microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Something is not working?''' Please join the [[Main_Page#Chat_Platforms|PineTab channel in the community chat]], the community is always happy to help. In the section [[#Connecting the UART adapter]] you can find information about how to connect the USB UART adapter and how to retrieve the boot logs if the device is not booting properly even after the above procudere.&lt;br /&gt;
&lt;br /&gt;
== Keyboard cover==&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
The external keyboard has 5 connection pins (the golden pins). &lt;br /&gt;
4 are standard USB connectors, one is to detect that the keyboard is connected.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
[[File:Pinetab2-side.jpeg|400px|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC ([https://www.szyuda88.com/product-77313-276594.html SiliconGo SGM8 100C-S36BCG]; eMMC 5.1, up o 400MB/s)&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0 (top, host mode only; power output up to 680mA)&lt;br /&gt;
** 1x USB-C 2.0 + PD (bottom, device mode by default; power input)&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 4 pole 3.5mm audio jack (microphone right) and headphone detection&lt;br /&gt;
** 2x speakers + microphone (microphone left)&lt;br /&gt;
** 1x 5 pin (USB 2.0; &amp;lt;=680mA) Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Sensors:'''&lt;br /&gt;
** Accelerometer&lt;br /&gt;
** Ambient Light &amp;amp; Proximity Sensor&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs major cleanup and bugfixing (at the moment it often causes system crashes). This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera drivers needs to be ported ([https://github.com/rockchip-linux/kernel/blob/develop-4.19/drivers/media/i2c/gc02m2.c gc02m2], [https://elixir.bootlin.com/linux/latest/source/drivers/media/i2c/ov5648.c ov5648]), Rockchip CSI/ISP driver needs to be extended to handle 2 lanes.&lt;br /&gt;
* Suspend does not currently work reliably due to a driver issue. It is therefore disabled in the factory image. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter face-up in the USB-C port furthest away from the power button. If all the lights are lit, you have the wrong port: only the green light should be lit when you first plug it in.&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
** Ubuntu-based distro users may encounter the error, &amp;quot;cannot open /dev/ttyUSB0: No such file or directory&amp;quot;.  If this occurs, check the output of &amp;lt;code&amp;gt;sudo dmesg --follow&amp;lt;/code&amp;gt; and unplug/replug the USB to look for any errors.  If you see an error like, &amp;quot;usb 1-1: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1&amp;quot;, then the brltty service is likely conflicting with this device.  Brltty provides access to blind users who use a braille display: if you do not need this service, try disabling it using these commands:&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* [https://fccid.io/2A8NB-PINETAB2 FCC: 2A8NB-PINETAB2]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
'''Does the Tablet support a Pen?'''&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
'''Can I run Android on it?'''&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
However, if you just need to run a few simple android apps, you might want to have a look at [https://docs.waydro.id/usage/install-on-desktops Waydroid] which can be installed on Arch Linux ARM using the following command: &amp;lt;code&amp;gt;sudo pacman -S waydroid&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Is there SPI Flash?'''&lt;br /&gt;
&lt;br /&gt;
Yes! A 128 Mbit flash chip (sk25lp128) is reportedly present on production devices.&lt;br /&gt;
&lt;br /&gt;
'''My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this?'''&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
'''How does the Tablet compare to a Pinebook Pro?'''&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
'''What is the Performance of the PineTab2 compared to the PineTab-V?'''&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
'''Does PineTab2 play back DRM'd Content such as Netflix?'''&lt;br /&gt;
&lt;br /&gt;
Yes.  Widevine, using the `widevine-aarch64` package in the AUR is working, and was demonstrated on the PineTab2 using Paramount+ and Disney+.  Install it (`yay -S widevine-aarch64`), run the included register script to get Firefox to recognize it, and it should start working.&lt;br /&gt;
&lt;br /&gt;
'''I only know Python, can I help with drivers?'''&lt;br /&gt;
&lt;br /&gt;
Yes, if you learn C first. If that's too big of a hurdle, then no. (This response isn't trying to be snarky, this question was asked so many times it really needed to be here.)&lt;br /&gt;
&lt;br /&gt;
== How-to ==&lt;br /&gt;
&lt;br /&gt;
=== Putting the Device into Maskrom Mode ===&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, plug the included debug adapter into the charging USB-C port and switch the white switch to its &amp;quot;ON&amp;quot; position to bypass eMMC/SPI boot. This tries to boot from SD, and if no SD is inserted, enters Maskrom mode.&lt;br /&gt;
&lt;br /&gt;
=== Networking using USB ===&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
==== Selecting a USB WIFI Adapter ====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an Android Phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (or the USB-C to USB-C cable)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an iPhone ====&lt;br /&gt;
&lt;br /&gt;
Prerequisite:&lt;br /&gt;
&lt;br /&gt;
On the iPhone make sure that Settings -&amp;gt; Personal Hotspot -&amp;gt; Allow others to join is turned on.&lt;br /&gt;
&lt;br /&gt;
# Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.&lt;br /&gt;
# In the Pinetab make sure to use the USB-C port next to the volume keys.&lt;br /&gt;
# Once the cable is connected open your iPhone. &lt;br /&gt;
# You will see a request to trust the new device. Trust it.&lt;br /&gt;
# Confirm by typing in your Apple Device PIN&lt;br /&gt;
&lt;br /&gt;
This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`&lt;br /&gt;
&lt;br /&gt;
Make sure to open the iPhone once you reconnect.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with a KaiOS phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use a KaiOS phone for mobile Internet use with your PineTab2.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* A KaiOS phone&lt;br /&gt;
* A USB OTG adapter (hama #00200311 tested)&lt;br /&gt;
* Your device’s charging cable&lt;br /&gt;
* Some knowledge of your KaiOS phone&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug the device into the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your KaiOS phone, open settings (specifics from here may vary on version)&lt;br /&gt;
* Navigate to &amp;quot;Network &amp;amp; Connectivity&amp;quot;&lt;br /&gt;
* Navigate to &amp;quot;Internet Sharing&amp;quot;&lt;br /&gt;
* Select &amp;quot;USB&amp;quot; and select On under USB tethering (Note: This option will be greyed out unless connected to the PineTab2)&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2 and it should show a wired connection icon.&lt;br /&gt;
&lt;br /&gt;
=== Auto-rotating the Screen ===&lt;br /&gt;
* To enable auto-rotation, install the iio-sensor-proxy package: &amp;lt;code&amp;gt;sudo pacman -S iio-sensor-proxy&amp;lt;/code&amp;gt; and reboot.&lt;br /&gt;
* By default, the screen will only rotate while in tablet mode (detached from the case.)  To enable it with the keyboard attached, go to System Settings--&amp;gt;Display and Monitor--&amp;gt;Display Configuration--&amp;gt;Uncheck &amp;quot;Only when in tablet mode&amp;quot; and click &amp;quot;Apply.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Rotating the Login Screen ===&lt;br /&gt;
By default, the login screen is set to display in portrait mode.  If you wish to change it to landscape mode to match the keyboard while in the case, use the following steps ([https://forum.pine64.org/showthread.php?tid=18313 Credit to chzbacon]) :&lt;br /&gt;
&lt;br /&gt;
* Install necessary software: &amp;lt;code&amp;gt;sudo pacman -S xorg-xrandr xorg-xinput&amp;lt;/code&amp;gt;&lt;br /&gt;
* Edit /usr/share/sddm/scripts/Xsetup.  For example, using nano: &amp;lt;code&amp;gt;sudo nano /usr/share/sddm/scripts/Xsetup&amp;lt;/code&amp;gt; and add the following two lines to the end of file:&lt;br /&gt;
** &amp;lt;code&amp;gt;xrandr --output DSI-1 --mode 800x1280 --rate 60.00 --rotate right&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;xinput set-prop &amp;quot;pointer:Goodix Capacitive TouchScreen&amp;quot; --type=float &amp;quot;Coordinate Transformation Matrix&amp;quot; 0 1 0 -1 0 1 0 0 1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Now edit /etc/sddm.conf.d/sddm.conf, for example: &amp;lt;code&amp;gt;sudo nano /etc/sddm.conf.d/sddm.conf&amp;lt;/code&amp;gt; and add the following two lines (case sensitive):&lt;br /&gt;
** &amp;lt;code&amp;gt;[X11]&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;DisplayCommand=/usr/share/sddm/scripts/Xsetup&amp;lt;/code&amp;gt;&lt;br /&gt;
*Reboot, and your login screen should now display in landscape mode.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20077</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20077"/>
		<updated>2023-07-13T11:40:03Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Keyboard */  added usb connector info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
The PineTab2 box contains two smaller boxes. The first package includes the PineTab2, a short user guide, a power cable and the UART adapter Note that the UART adapter is in the same package as the power cable in a second compartment and can be a bit hidden, search for it. The second box has the keyboard in it.&lt;br /&gt;
&lt;br /&gt;
=== First start ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
Since most software issues will be release-specific, please see the [[PineTab2 Releases]] page for additional software related instructions, tips, and tricks.&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''Danctnix Arch Linux ARM''. The factory image can be found here:&lt;br /&gt;
&lt;br /&gt;
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
&lt;br /&gt;
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
&lt;br /&gt;
There are currently no stable releases. All releases for the PineTab2 will be listed under [[PineTab2 Releases]] as they're released. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the microSD card'''&lt;br /&gt;
&lt;br /&gt;
To write an operating system to the microSD card (typically called &amp;quot;flashing&amp;quot; in the community), you need to first download a compatible image from the [[#Releases|releases]] section.&lt;br /&gt;
&lt;br /&gt;
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as ''xz'' to reduce the download size. If you are using a graphical tool such as ''balenaEtcher'' or ''Gnome Disks'' it will handle the decompression of the image in the flashing step automatically.&lt;br /&gt;
&lt;br /&gt;
Further you need to flash the image to the microSD card. This can be done using various tools, for example ''balenaEtcher'' (recommended for new users), ''Gnome Disks'' or command-line tools such as ''cp'' and ''dd''. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.&lt;br /&gt;
&lt;br /&gt;
Graphical applications:&lt;br /&gt;
&lt;br /&gt;
* '''balenaEtcher''' (Microsoft Windows, macOS, Linux): Click on ''Flash from file'' and select the image. Then select the microSD card target device and click on ''Flash!''.&lt;br /&gt;
&lt;br /&gt;
* '''Gnome Disks''' (Linux): Select the microSD card target device on the left side in the ''Disks'' list. Then select the three dot menu on the top right and click on ''Restore Disk Image...''. Select the image, verify the correct device is selected and then click on ''Start Restoring...''.&lt;br /&gt;
&lt;br /&gt;
Command-line tools:&lt;br /&gt;
&lt;br /&gt;
* '''cp''': &amp;lt;code&amp;gt;sudo cp '''IMAGE.img''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''dd''': &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|Make sure to replace '''IMAGE.img''' and '''[DEVICE]''' with the filename of the image (double check if it is decompressed and has the file extension ''.img'') and the device name. You can use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.}}&lt;br /&gt;
&lt;br /&gt;
Then insert the microSD card into the PineTab2. &lt;br /&gt;
&lt;br /&gt;
[[File:PineTab2 USB UARTv2.jpg|thumb|right|400px|Using the USB UART adapter can be required in some cases as explained in the info box about the boot order. The adapter is shipped with the PineTab2 in the box which is also containing the charging cable. The switch to disable the eMMC and SPI is located on the top right of the image.]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|'''Note regarding the boot order:''' The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. The pre-installed bootloader on the internal memory (eMMC) tries to boot from the microSD card first. '''In some cases''' it can be required to bypass the bootloader, for example if the bootloader is corrupted or was overwritten by a bootloader with varying settings.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device in the box also containing the charging cable. Set the ''SD BOOT MASKROM'' switch on the adapter to the position ''ON'' and plug it into the USB/PD charging port. Then power on the tablet and '''unplug the debug board or set the switch to the position ''OFF'' again''' when the factory image is started, otherwise the factory image won't find the eMMC.}}&lt;br /&gt;
&lt;br /&gt;
Power on the device with the microSD card inserted (and optionally with the USB UART adapter inserted and the bypass switch set to ''ON'' depending on the software situation, see the info box above). It should now boot the new operating system from the microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Something is not working?''' Please join the [[Main_Page#Chat_Platforms|PineTab channel in the community chat]], the community is always happy to help. In the section [[#Connecting the UART adapter]] you can find information about how to connect the USB UART adapter and how to retrieve the boot logs if the device is not booting properly even after the above procudere.&lt;br /&gt;
&lt;br /&gt;
== Keyboard cover==&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
The external keyboard has 5 connection pins (the golden pins). &lt;br /&gt;
4 are standard USB connectors, one is to detect that the keyboard is connected.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
[[File:Pinetab2-side.jpeg|400px|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC ([https://www.szyuda88.com/product-77313-276594.html SiliconGo SGM8 100C-S36BCG]; eMMC 5.1, up o 400MB/s)&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0 (top, host mode only; power output up to 680mA)&lt;br /&gt;
** 1x USB-C 2.0 + PD (bottom, device mode by default; power input)&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 4 pole 3.5mm audio jack (microphone right) and headphone detection&lt;br /&gt;
** 2x speakers + microphone (microphone left)&lt;br /&gt;
** 1x 5 pin (USB 2.0; &amp;lt;=680mA) Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Sensors:'''&lt;br /&gt;
** Accelerometer&lt;br /&gt;
** Ambient Light &amp;amp; Proximity Sensor&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs major cleanup and bugfixing (at the moment it often causes system crashes). This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera drivers needs to be ported ([https://github.com/rockchip-linux/kernel/blob/develop-4.19/drivers/media/i2c/gc02m2.c gc02m2], [https://elixir.bootlin.com/linux/latest/source/drivers/media/i2c/ov5648.c ov5648]), Rockchip CSI/ISP driver needs to be extended to handle 2 lanes.&lt;br /&gt;
* Suspend does not currently work reliably due to a driver issue. It is therefore disabled in the factory image. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter face-up in the USB-C port furthest away from the power button. If all the lights are lit, you have the wrong port: only the green light should be lit when you first plug it in.&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
** Ubuntu-based distro users may encounter the error, &amp;quot;cannot open /dev/ttyUSB0: No such file or directory&amp;quot;.  If this occurs, check the output of &amp;lt;code&amp;gt;sudo dmesg --follow&amp;lt;/code&amp;gt; and unplug/replug the USB to look for any errors.  If you see an error like, &amp;quot;usb 1-1: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1&amp;quot;, then the brltty service is likely conflicting with this device.  Brltty provides access to blind users who use a braille display: if you do not need this service, try disabling it using these commands:&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* [https://fccid.io/2A8NB-PINETAB2 FCC: 2A8NB-PINETAB2]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
'''Does the Tablet support a Pen?'''&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
'''Can I run Android on it?'''&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
However, if you just need to run a few simple android apps, you might want to have a look at [https://docs.waydro.id/usage/install-on-desktops Waydroid] which can be installed on Arch Linux ARM using the following command: &amp;lt;code&amp;gt;sudo pacman -S waydroid&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Is there SPI Flash?'''&lt;br /&gt;
&lt;br /&gt;
Yes! A 128 Mbit flash chip (sk25lp128) is reportedly present on production devices.&lt;br /&gt;
&lt;br /&gt;
'''My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this?'''&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
'''How does the Tablet compare to a Pinebook Pro?'''&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
'''What is the Performance of the PineTab2 compared to the PineTab-V?'''&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
'''Does PineTab2 play back DRM'd Content such as Netflix?'''&lt;br /&gt;
&lt;br /&gt;
Yes.  Widevine, using the `widevine-aarch64` package in the AUR is working, and was demonstrated on the PineTab2 using Paramount+ and Disney+.  Install it (`yay -S widevine-aarch64`), run the included register script to get Firefox to recognize it, and it should start working.&lt;br /&gt;
&lt;br /&gt;
'''I only know Python, can I help with drivers?'''&lt;br /&gt;
&lt;br /&gt;
Yes, if you learn C first. If that's too big of a hurdle, then no. (This response isn't trying to be snarky, this question was asked so many times it really needed to be here.)&lt;br /&gt;
&lt;br /&gt;
== How-to ==&lt;br /&gt;
&lt;br /&gt;
=== Putting the Device into Maskrom Mode ===&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, plug the included debug adapter into the charging USB-C port and switch the white switch to its &amp;quot;ON&amp;quot; position to bypass eMMC/SPI boot. This tries to boot from SD, and if no SD is inserted, enters Maskrom mode.&lt;br /&gt;
&lt;br /&gt;
=== Networking using USB ===&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
==== Selecting a USB WIFI Adapter ====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an Android Phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (or the USB-C to USB-C cable)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an iPhone ====&lt;br /&gt;
&lt;br /&gt;
Prerequisite:&lt;br /&gt;
&lt;br /&gt;
On the iPhone make sure that Settings -&amp;gt; Personal Hotspot -&amp;gt; Allow others to join is turned on.&lt;br /&gt;
&lt;br /&gt;
# Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.&lt;br /&gt;
# In the Pinetab make sure to use the USB-C port next to the volume keys.&lt;br /&gt;
# Once the cable is connected open your iPhone. &lt;br /&gt;
# You will see a request to trust the new device. Trust it.&lt;br /&gt;
# Confirm by typing in your Apple Device PIN&lt;br /&gt;
&lt;br /&gt;
This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`&lt;br /&gt;
&lt;br /&gt;
Make sure to open the iPhone once you reconnect.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with a KaiOS phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use a KaiOS phone for mobile Internet use with your PineTab2.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* A KaiOS phone&lt;br /&gt;
* A USB OTG adapter (hama #00200311 tested)&lt;br /&gt;
* Your device’s charging cable&lt;br /&gt;
* Some knowledge of your KaiOS phone&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug the device into the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your KaiOS phone, open settings (specifics from here may vary on version)&lt;br /&gt;
* Navigate to &amp;quot;Network &amp;amp; Connectivity&amp;quot;&lt;br /&gt;
* Navigate to &amp;quot;Internet Sharing&amp;quot;&lt;br /&gt;
* Select &amp;quot;USB&amp;quot; and select On under USB tethering (Note: This option will be greyed out unless connected to the PineTab2)&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2 and it should show a wired connection icon.&lt;br /&gt;
&lt;br /&gt;
=== Auto-rotating the Screen ===&lt;br /&gt;
* To enable auto-rotation, install the iio-sensor-proxy package: &amp;lt;code&amp;gt;sudo pacman -S iio-sensor-proxy&amp;lt;/code&amp;gt; and reboot.&lt;br /&gt;
* By default, the screen will only rotate while in tablet mode (detached from the case.)  To enable it with the keyboard attached, go to System Settings--&amp;gt;Display and Monitor--&amp;gt;Display Configuration--&amp;gt;Uncheck &amp;quot;Only when in tablet mode&amp;quot; and click &amp;quot;Apply.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Rotating the Login Screen ===&lt;br /&gt;
By default, the login screen is set to display in portrait mode.  If you wish to change it to landscape mode to match the keyboard while in the case, use the following steps ([https://forum.pine64.org/showthread.php?tid=18313 Credit to chzbacon]) :&lt;br /&gt;
&lt;br /&gt;
* Install necessary software: &amp;lt;code&amp;gt;sudo pacman -S xorg-xrandr xorg-xinput&amp;lt;/code&amp;gt;&lt;br /&gt;
* Edit /usr/share/sddm/scripts/Xsetup.  For example, using nano: &amp;lt;code&amp;gt;sudo nano /usr/share/sddm/scripts/Xsetup&amp;lt;/code&amp;gt; and add the following two lines to the end of file:&lt;br /&gt;
** &amp;lt;code&amp;gt;xrandr --output DSI-1 --mode 800x1280 --rate 60.00 --rotate right&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;xinput set-prop &amp;quot;pointer:Goodix Capacitive TouchScreen&amp;quot; --type=float &amp;quot;Coordinate Transformation Matrix&amp;quot; 0 1 0 -1 0 1 0 0 1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Now edit /etc/sddm.conf.d/sddm.conf, for example: &amp;lt;code&amp;gt;sudo nano /etc/sddm.conf.d/sddm.conf&amp;lt;/code&amp;gt; and add the following two lines (case sensitive):&lt;br /&gt;
** &amp;lt;code&amp;gt;[X11]&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;DisplayCommand=/usr/share/sddm/scripts/Xsetup&amp;lt;/code&amp;gt;&lt;br /&gt;
*Reboot, and your login screen should now display in landscape mode.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20048</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=20048"/>
		<updated>2023-07-08T06:40:29Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Specifications */ added Sensors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
The PineTab2 box contains two smaller boxes. The first package includes the PineTab2, a short user guide, a power cable and the UART adapter Note that the UART adapter is in the same package as the power cable in a second compartment and can be a bit hidden, search for it. The second box has the keyboard in it.&lt;br /&gt;
&lt;br /&gt;
=== First start ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
Since most software issues will be release-specific, please see the [[PineTab2 Releases]] page for additional software related instructions, tips, and tricks.&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''Danctnix Arch Linux ARM''. The factory image can be found here:&lt;br /&gt;
&lt;br /&gt;
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
&lt;br /&gt;
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
&lt;br /&gt;
There are currently no stable releases. All releases for the PineTab2 will be listed under [[PineTab2 Releases]] as they're released. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the microSD card'''&lt;br /&gt;
&lt;br /&gt;
To write an operating system to the microSD card (typically called &amp;quot;flashing&amp;quot; in the community), you need to first download a compatible image from the [[#Releases|releases]] section.&lt;br /&gt;
&lt;br /&gt;
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as ''xz'' to reduce the download size. If you are using a graphical tool such as ''balenaEtcher'' or ''Gnome Disks'' it will handle the decompression of the image in the flashing step automatically.&lt;br /&gt;
&lt;br /&gt;
Further you need to flash the image to the microSD card. This can be done using various tools, for example ''balenaEtcher'' (recommended for new users), ''Gnome Disks'' or command-line tools such as ''cp'' and ''dd''. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.&lt;br /&gt;
&lt;br /&gt;
Graphical applications:&lt;br /&gt;
&lt;br /&gt;
* '''balenaEtcher''' (Microsoft Windows, macOS, Linux): Click on ''Flash from file'' and select the image. Then select the microSD card target device and click on ''Flash!''.&lt;br /&gt;
&lt;br /&gt;
* '''Gnome Disks''' (Linux): Select the microSD card target device on the left side in the ''Disks'' list. Then select the three dot menu on the top right and click on ''Restore Disk Image...''. Select the image, verify the correct device is selected and then click on ''Start Restoring...''.&lt;br /&gt;
&lt;br /&gt;
Command-line tools:&lt;br /&gt;
&lt;br /&gt;
* '''cp''': &amp;lt;code&amp;gt;sudo cp '''IMAGE.img''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''dd''': &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|Make sure to replace '''IMAGE.img''' and '''[DEVICE]''' with the filename of the image (double check if it is decompressed and has the file extension ''.img'') and the device name. You can use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.}}&lt;br /&gt;
&lt;br /&gt;
Then insert the microSD card into the PineTab2. &lt;br /&gt;
&lt;br /&gt;
[[File:PineTab2 USB UARTv2.jpg|thumb|right|400px|Using the USB UART adapter can be required in some cases as explained in the info box about the boot order. The adapter is shipped with the PineTab2 in the box which is also containing the charging cable. The switch to disable the eMMC and SPI is located on the top right of the image.]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|'''Note regarding the boot order:''' The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. The pre-installed bootloader on the internal memory (eMMC) tries to boot from the microSD card first. '''In some cases''' it can be required to bypass the bootloader, for example if the bootloader is corrupted or was overwritten by a bootloader with varying settings.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device in the box also containing the charging cable. Set the ''SD BOOT MASKROM'' switch on the adapter to the position ''ON'' and plug it into the USB/PD charging port. Then power on the tablet and '''unplug the debug board or set the switch to the position ''OFF'' again''' when the factory image is started, otherwise the factory image won't find the eMMC.}}&lt;br /&gt;
&lt;br /&gt;
Power on the device with the microSD card inserted (and optionally with the USB UART adapter inserted and the bypass switch set to ''ON'' depending on the software situation, see the info box above). It should now boot the new operating system from the microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Something is not working?''' Please join the [[Main_Page#Chat_Platforms|PineTab channel in the community chat]], the community is always happy to help. In the section [[#Connecting the UART adapter]] you can find information about how to connect the USB UART adapter and how to retrieve the boot logs if the device is not booting properly even after the above procudere.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
[[File:Pinetab2-side.jpeg|400px|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC ([https://www.szyuda88.com/product-77313-276594.html SiliconGo SGM8 100C-S36BCG]; eMMC 5.1, up o 400MB/s)&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0 (top, host mode only; power output up to 680mA)&lt;br /&gt;
** 1x USB-C 2.0 + PD (bottom, device mode by default; power input)&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 4 pole 3.5mm audio jack (microphone right) and headphone detection&lt;br /&gt;
** 2x speakers + microphone (microphone left)&lt;br /&gt;
** 1x 5 pin (USB 2.0; &amp;lt;=680mA) Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Sensors:'''&lt;br /&gt;
** Accelerometer&lt;br /&gt;
** Ambient Light &amp;amp; Proximity Sensor&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs major cleanup and bugfixing (at the moment it often causes system crashes). This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera drivers needs to be ported ([https://github.com/rockchip-linux/kernel/blob/develop-4.19/drivers/media/i2c/gc02m2.c gc02m2], [https://elixir.bootlin.com/linux/latest/source/drivers/media/i2c/ov5648.c ov5648]), Rockchip CSI/ISP driver needs to be extended to handle 2 lanes.&lt;br /&gt;
* Suspend does not currently work reliably due to a driver issue. It is therefore disabled in the factory image. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter in the USB-C port furthest away from the power button&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
** Ubuntu-based distro users may encounter the error, &amp;quot;cannot open /dev/ttyUSB0: No such file or directory&amp;quot;.  If this occurs, check the output of &amp;lt;code&amp;gt;sudo dmesg --follow&amp;lt;/code&amp;gt; and unplug/replug the USB to look for any errors.  If you see an error like, &amp;quot;usb 1-1: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1&amp;quot;, then the brltty service is likely conflicting with this device.  Brltty provides access to blind users who use a braille display: if you do not need this service, try disabling it using these commands:&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty-udev.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl stop brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt; sudo systemctl mask brltty.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* [https://fccid.io/2A8NB-PINETAB2 FCC: 2A8NB-PINETAB2]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
'''Does the Tablet support a Pen?'''&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
'''Can I run Android on it?'''&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
However, if you just need to run a few simple android apps, you might want to have a look at [https://docs.waydro.id/usage/install-on-desktops Waydroid] which can be installed on Arch Linux ARM using the following command: &amp;lt;code&amp;gt;sudo pacman -S waydroid&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Is there SPI Flash?'''&lt;br /&gt;
&lt;br /&gt;
Yes! A 128 Mbit flash chip (sk25lp128) is reportedly present on production devices.&lt;br /&gt;
&lt;br /&gt;
'''My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this?'''&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
'''How does the Tablet compare to a Pinebook Pro?'''&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
'''What is the Performance of the PineTab2 compared to the PineTab-V?'''&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
'''Does PineTab2 play back DRM'd Content such as Netflix?'''&lt;br /&gt;
&lt;br /&gt;
Yes.  Widevine, using the `widevine-aarch64` package in the AUR is working, and was demonstrated on the PineTab2 using Paramount+ and Disney+.  Install it (`yay -S widevine-aarch64`), run the included register script to get Firefox to recognize it, and it should start working.&lt;br /&gt;
&lt;br /&gt;
'''I only know Python, can I help with drivers?'''&lt;br /&gt;
&lt;br /&gt;
Yes, if you learn C first. If that's too big of a hurdle, then no. (This response isn't trying to be snarky, this question was asked so many times it really needed to be here.)&lt;br /&gt;
&lt;br /&gt;
== How-to ==&lt;br /&gt;
&lt;br /&gt;
=== Putting the Device into Maskrom Mode ===&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, plug the included debug adapter into the charging USB-C port and switch the white switch to its &amp;quot;ON&amp;quot; position to bypass eMMC/SPI boot. This tries to boot from SD, and if no SD is inserted, enters Maskrom mode.&lt;br /&gt;
&lt;br /&gt;
=== Networking using USB ===&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
==== Selecting a USB WIFI Adapter ====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an Android Phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (the USB-C to USB-C also work)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an iPhone ====&lt;br /&gt;
&lt;br /&gt;
Prerequisite:&lt;br /&gt;
&lt;br /&gt;
On the iPhone make sure that Settings -&amp;gt; Personal Hotspot -&amp;gt; Allow others to join is turned on.&lt;br /&gt;
&lt;br /&gt;
# Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.&lt;br /&gt;
# In the Pinetab make sure to use the USB-C port next to the volume keys.&lt;br /&gt;
# Once the cable is connected open your iPhone. &lt;br /&gt;
# You will see a request to trust the new device. Trust it.&lt;br /&gt;
# Confirm by typing in your Apple Device PIN&lt;br /&gt;
&lt;br /&gt;
This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`&lt;br /&gt;
&lt;br /&gt;
Make sure to open the iPhone once you reconnect.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with a KaiOS phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use a KaiOS phone for mobile Internet use with your PineTab2.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* A KaiOS phone&lt;br /&gt;
* A USB OTG adapter (hama #00200311 tested)&lt;br /&gt;
* Your device’s charging cable&lt;br /&gt;
* Some knowledge of your KaiOS phone&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug the device into the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your KaiOS phone, open settings (specifics from here may vary on version)&lt;br /&gt;
* Navigate to &amp;quot;Network &amp;amp; Connectivity&amp;quot;&lt;br /&gt;
* Navigate to &amp;quot;Internet Sharing&amp;quot;&lt;br /&gt;
* Select &amp;quot;USB&amp;quot; and select On under USB tethering (Note: This option will be greyed out unless connected to the PineTab2)&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2 and it should show a wired connection icon.&lt;br /&gt;
&lt;br /&gt;
=== Auto-rotating the Screen ===&lt;br /&gt;
* To enable auto-rotation, install the iio-sensor-proxy package: &amp;lt;code&amp;gt;sudo pacman -S iio-sensor-proxy&amp;lt;/code&amp;gt; and reboot.&lt;br /&gt;
* By default, the screen will only rotate while in tablet mode (detached from the case.)  To enable it with the keyboard attached, go to System Settings--&amp;gt;Display and Monitor--&amp;gt;Display Configuration--&amp;gt;Uncheck &amp;quot;Only when in tablet mode&amp;quot; and click &amp;quot;Apply.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19910</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19910"/>
		<updated>2023-06-20T11:07:26Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Performing USB Tethering with an iPhone */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
=== Unpacking ===&lt;br /&gt;
&lt;br /&gt;
You get two packages. First package with:&lt;br /&gt;
* Pinetab2&lt;br /&gt;
* Small user guide&lt;br /&gt;
* Power cable&lt;br /&gt;
* Serial UART adapter to analyse errors if the dispaly does not turn on for example (hopefully not needed)&lt;br /&gt;
&lt;br /&gt;
{{Info| The UART adapter is in the same package as the power cable in a second compartment and can be a bit hidden, search for it.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Package two:&lt;br /&gt;
* Keyboard&lt;br /&gt;
&lt;br /&gt;
=== First start ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
Since most software issues will be release-specific, please see the [[PineTab2 Releases]] page for additional software related instructions, tips, and tricks.&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''Danctnix Arch Linux ARM''. The factory image can be found here:&lt;br /&gt;
&lt;br /&gt;
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
&lt;br /&gt;
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
&lt;br /&gt;
There are currently no stable releases. All releases for the PineTab2 will be listed under [[PineTab2 Releases]] as they're released. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the microSD card'''&lt;br /&gt;
&lt;br /&gt;
To write an operating system to the microSD card (typically called &amp;quot;flashing&amp;quot; in the community), you need to first download a compatible image from the [[#Releases|releases]] section.&lt;br /&gt;
&lt;br /&gt;
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as ''xz'' to reduce the download size. If you are using a graphical tool such as ''balenaEtcher'' or ''Gnome Disks'' it will handle the decompression of the image in the flashing step automatically.&lt;br /&gt;
&lt;br /&gt;
Further you need to flash the image to the microSD card. This can be done using various tools, for example ''balenaEtcher'' (recommended for new users), ''Gnome Disks'' or command-line tools such as ''cp'' and ''dd''. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.&lt;br /&gt;
&lt;br /&gt;
Graphical applications:&lt;br /&gt;
&lt;br /&gt;
* '''balenaEtcher''' (Microsoft Windows, macOS, Linux): Click on ''Flash from file'' and select the image. Then select the microSD card target device and click on ''Flash!''.&lt;br /&gt;
&lt;br /&gt;
* '''Gnome Disks''' (Linux): Select the microSD card target device on the left side in the ''Disks'' list. Then select the three dot menu on the top right and click on ''Restore Disk Image...''. Select the image, verify the correct device is selected and then click on ''Start Restoring...''.&lt;br /&gt;
&lt;br /&gt;
Command-line tools:&lt;br /&gt;
&lt;br /&gt;
* '''cp''': &amp;lt;code&amp;gt;sudo cp '''IMAGE.img''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''dd''': &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|Make sure to replace '''IMAGE.img''' and '''[DEVICE]''' with the filename of the image (double check if it is decompressed and has the file extension ''.img'') and the device name. You can use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.}}&lt;br /&gt;
&lt;br /&gt;
Then insert the microSD card into the PineTab2. &lt;br /&gt;
&lt;br /&gt;
[[File:PineTab2 USB UARTv2.jpg|thumb|right|400px|Using the USB UART adapter can be required in some cases as explained in the info box about the boot order. The adapter is shipped with the PineTab2 in the box which is also containing the charging cable. The switch to disable the eMMC and SPI is located on the top right of the image.]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|'''Note regarding the boot order:''' The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. The pre-installed bootloader on the internal memory (eMMC) tries to boot from the microSD card first. '''In some cases''' it can be required to bypass the bootloader, for example if the bootloader is corrupted or was overwritten by a bootloader with varying settings.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device in the box also containing the charging cable. Set the ''SD BOOT MASKROM'' switch on the adapter to the position ''ON'' and plug it into the USB/PD charging port. Then power on the tablet and '''unplug the debug board or set the switch to the position ''OFF'' again''' when the factory image is started, otherwise the factory image won't find the eMMC.}}&lt;br /&gt;
&lt;br /&gt;
Power on the device with the microSD card inserted (and optionally with the USB UART adapter inserted and the bypass switch set to ''ON'' depending on the software situation, see the info box above). It should now boot the new operating system from the microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Something is not working?''' Please join the [[Main_Page#Chat_Platforms|PineTab channel in the community chat]], the community is always happy to help. In the section [[#Connecting the UART adapter]] you can find information about how to connect the USB UART adapter and how to retrieve the boot logs if the device is not booting properly even after the above procudere.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
[[File:Pinetab2-side.jpeg|400px|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC ([https://www.szyuda88.com/product-77313-276594.html SiliconGo SGM8 100C-S36BCG]; eMMC 5.1, up o 400MB/s)&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0 (top, host mode only; power output up to 680mA)&lt;br /&gt;
** 1x USB-C 2.0 + PD (bottom, device mode by default; power input)&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 4 pole 3.5mm audio jack (microphone right) and headphone detection&lt;br /&gt;
** 2x speakers + microphone (microphone left)&lt;br /&gt;
** 1x 5 pin (USB 2.0; &amp;lt;=680mA) Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs porting/major cleanup. This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera driver needs to be written.&lt;br /&gt;
* Suspend does not currently work due to a driver issue. Suspend is disabled in the factory image for your protection. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter in the USB-C port furthest away from the power button&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* [https://fccid.io/2A8NB-PINETAB2 FCC: 2A8NB-PINETAB2]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
'''Does the Tablet support a Pen?'''&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
'''Can I run Android on it?'''&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
However, if you just need to run a few simple android apps, you might want to have a look at [https://docs.waydro.id/usage/install-on-desktops Waydroid] which can be installed on Arch Linux ARM using the following command: &amp;lt;code&amp;gt;sudo pacman -S waydroid&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Is there SPI Flash?'''&lt;br /&gt;
&lt;br /&gt;
Yes! A 128 Mbit flash chip (sk25lp128) is reportedly present on production devices.&lt;br /&gt;
&lt;br /&gt;
'''My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this?'''&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
'''How does the Tablet compare to a Pinebook Pro?'''&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
'''What is the Performance of the PineTab2 compared to the PineTab-V?'''&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
'''Does PineTab2 play back DRM'd Content such as Netflix?'''&lt;br /&gt;
&lt;br /&gt;
Yes.  Widevine, using the `widevine-aarch64` package in the AUR is working, and was demonstrated on the PineTab2 using Paramount+ and Disney+.  Install it (`yay -S widevine-aarch64`), run the included register script to get Firefox to recognize it, and it should start working.&lt;br /&gt;
&lt;br /&gt;
'''I only know Python, can I help with drivers?'''&lt;br /&gt;
&lt;br /&gt;
Yes, if you learn C first. If that's too big of a hurdle, then no. (This response isn't trying to be snarky, this question was asked so many times it really needed to be here.)&lt;br /&gt;
&lt;br /&gt;
== How-to ==&lt;br /&gt;
&lt;br /&gt;
=== Putting the Device into Maskrom Mode ===&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, plug the included debug adapter into the charging USB-C port and switch the white switch to its &amp;quot;ON&amp;quot; position to bypass eMMC/SPI boot. This tries to boot from SD, and if no SD is inserted, enters Maskrom mode.&lt;br /&gt;
&lt;br /&gt;
=== Networking using USB ===&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
==== Selecting a USB WIFI Adapter ====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an Android Phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (USB-C to USB-C may work, not tested)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an iPhone ====&lt;br /&gt;
&lt;br /&gt;
Prerequisite:&lt;br /&gt;
&lt;br /&gt;
On the iPhone make sure that Settings -&amp;gt; Personal Hotspot -&amp;gt; Allow others to join is turned on.&lt;br /&gt;
&lt;br /&gt;
# Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.&lt;br /&gt;
# In the Pinetab make sure to use the USB-C port next to the volume keys.&lt;br /&gt;
# Once the cable is connected open your iPhone. &lt;br /&gt;
# You will see a request to trust the new device. Trust it.&lt;br /&gt;
# Confirm by typing in your Apple Device PIN&lt;br /&gt;
&lt;br /&gt;
This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`&lt;br /&gt;
&lt;br /&gt;
Make sure to open the iPhone once you reconnect.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with a KaiOS phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use a KaiOS phone for mobile Internet use with your PineTab2.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* A KaiOS phone&lt;br /&gt;
* A USB OTG adapter (hama #00200311 tested)&lt;br /&gt;
* Your device’s charging cable&lt;br /&gt;
* Some knowledge of your KaiOS phone&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug the device into the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your KaiOS phone, open settings (specifics from here may vary on version)&lt;br /&gt;
* Navigate to &amp;quot;Network &amp;amp; Connectivity&amp;quot;&lt;br /&gt;
* Navigate to &amp;quot;Internet Sharing&amp;quot;&lt;br /&gt;
* Select &amp;quot;USB&amp;quot; and select On under USB tethering (Note: This option will be greyed out unless connected to the PineTab2)&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2 and it should show a wired connection icon.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19909</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19909"/>
		<updated>2023-06-20T11:06:40Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Performing USB Tethering with an iPhone */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
=== Unpacking ===&lt;br /&gt;
&lt;br /&gt;
You get two packages. First package with:&lt;br /&gt;
* Pinetab2&lt;br /&gt;
* Small user guide&lt;br /&gt;
* Power cable&lt;br /&gt;
* Serial UART adapter to analyse errors if the dispaly does not turn on for example (hopefully not needed)&lt;br /&gt;
&lt;br /&gt;
{{Info| The UART adapter is in the same package as the power cable in a second compartment and can be a bit hidden, search for it.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Package two:&lt;br /&gt;
* Keyboard&lt;br /&gt;
&lt;br /&gt;
=== First start ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
Since most software issues will be release-specific, please see the [[PineTab2 Releases]] page for additional software related instructions, tips, and tricks.&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''Danctnix Arch Linux ARM''. The factory image can be found here:&lt;br /&gt;
&lt;br /&gt;
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
&lt;br /&gt;
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
&lt;br /&gt;
There are currently no stable releases. All releases for the PineTab2 will be listed under [[PineTab2 Releases]] as they're released. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the microSD card'''&lt;br /&gt;
&lt;br /&gt;
To write an operating system to the microSD card (typically called &amp;quot;flashing&amp;quot; in the community), you need to first download a compatible image from the [[#Releases|releases]] section.&lt;br /&gt;
&lt;br /&gt;
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as ''xz'' to reduce the download size. If you are using a graphical tool such as ''balenaEtcher'' or ''Gnome Disks'' it will handle the decompression of the image in the flashing step automatically.&lt;br /&gt;
&lt;br /&gt;
Further you need to flash the image to the microSD card. This can be done using various tools, for example ''balenaEtcher'' (recommended for new users), ''Gnome Disks'' or command-line tools such as ''cp'' and ''dd''. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.&lt;br /&gt;
&lt;br /&gt;
Graphical applications:&lt;br /&gt;
&lt;br /&gt;
* '''balenaEtcher''' (Microsoft Windows, macOS, Linux): Click on ''Flash from file'' and select the image. Then select the microSD card target device and click on ''Flash!''.&lt;br /&gt;
&lt;br /&gt;
* '''Gnome Disks''' (Linux): Select the microSD card target device on the left side in the ''Disks'' list. Then select the three dot menu on the top right and click on ''Restore Disk Image...''. Select the image, verify the correct device is selected and then click on ''Start Restoring...''.&lt;br /&gt;
&lt;br /&gt;
Command-line tools:&lt;br /&gt;
&lt;br /&gt;
* '''cp''': &amp;lt;code&amp;gt;sudo cp '''IMAGE.img''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''dd''': &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|Make sure to replace '''IMAGE.img''' and '''[DEVICE]''' with the filename of the image (double check if it is decompressed and has the file extension ''.img'') and the device name. You can use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.}}&lt;br /&gt;
&lt;br /&gt;
Then insert the microSD card into the PineTab2. &lt;br /&gt;
&lt;br /&gt;
[[File:PineTab2 USB UARTv2.jpg|thumb|right|400px|Using the USB UART adapter can be required in some cases as explained in the info box about the boot order. The adapter is shipped with the PineTab2 in the box which is also containing the charging cable. The switch to disable the eMMC and SPI is located on the top right of the image.]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|'''Note regarding the boot order:''' The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. The pre-installed bootloader on the internal memory (eMMC) tries to boot from the microSD card first. '''In some cases''' it can be required to bypass the bootloader, for example if the bootloader is corrupted or was overwritten by a bootloader with varying settings.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device in the box also containing the charging cable. Set the ''SD BOOT MASKROM'' switch on the adapter to the position ''ON'' and plug it into the USB/PD charging port. Then power on the tablet and '''unplug the debug board or set the switch to the position ''OFF'' again''' when the factory image is started, otherwise the factory image won't find the eMMC.}}&lt;br /&gt;
&lt;br /&gt;
Power on the device with the microSD card inserted (and optionally with the USB UART adapter inserted and the bypass switch set to ''ON'' depending on the software situation, see the info box above). It should now boot the new operating system from the microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Something is not working?''' Please join the [[Main_Page#Chat_Platforms|PineTab channel in the community chat]], the community is always happy to help. In the section [[#Connecting the UART adapter]] you can find information about how to connect the USB UART adapter and how to retrieve the boot logs if the device is not booting properly even after the above procudere.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
[[File:Pinetab2-side.jpeg|400px|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC ([https://www.szyuda88.com/product-77313-276594.html SiliconGo SGM8 100C-S36BCG]; eMMC 5.1, up o 400MB/s)&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0 (top, host mode only; power output up to 680mA)&lt;br /&gt;
** 1x USB-C 2.0 + PD (bottom, device mode by default; power input)&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 4 pole 3.5mm audio jack (microphone right) and headphone detection&lt;br /&gt;
** 2x speakers + microphone (microphone left)&lt;br /&gt;
** 1x 5 pin (USB 2.0; &amp;lt;=680mA) Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs porting/major cleanup. This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera driver needs to be written.&lt;br /&gt;
* Suspend does not currently work due to a driver issue. Suspend is disabled in the factory image for your protection. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter in the USB-C port furthest away from the power button&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* [https://fccid.io/2A8NB-PINETAB2 FCC: 2A8NB-PINETAB2]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
'''Does the Tablet support a Pen?'''&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
'''Can I run Android on it?'''&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
However, if you just need to run a few simple android apps, you might want to have a look at [https://docs.waydro.id/usage/install-on-desktops Waydroid] which can be installed on Arch Linux ARM using the following command: &amp;lt;code&amp;gt;sudo pacman -S waydroid&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Is there SPI Flash?'''&lt;br /&gt;
&lt;br /&gt;
Yes! A 128 Mbit flash chip (sk25lp128) is reportedly present on production devices.&lt;br /&gt;
&lt;br /&gt;
'''My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this?'''&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
'''How does the Tablet compare to a Pinebook Pro?'''&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
'''What is the Performance of the PineTab2 compared to the PineTab-V?'''&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
'''Does PineTab2 play back DRM'd Content such as Netflix?'''&lt;br /&gt;
&lt;br /&gt;
Yes.  Widevine, using the `widevine-aarch64` package in the AUR is working, and was demonstrated on the PineTab2 using Paramount+ and Disney+.  Install it (`yay -S widevine-aarch64`), run the included register script to get Firefox to recognize it, and it should start working.&lt;br /&gt;
&lt;br /&gt;
'''I only know Python, can I help with drivers?'''&lt;br /&gt;
&lt;br /&gt;
Yes, if you learn C first. If that's too big of a hurdle, then no. (This response isn't trying to be snarky, this question was asked so many times it really needed to be here.)&lt;br /&gt;
&lt;br /&gt;
== How-to ==&lt;br /&gt;
&lt;br /&gt;
=== Putting the Device into Maskrom Mode ===&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, plug the included debug adapter into the charging USB-C port and switch the white switch to its &amp;quot;ON&amp;quot; position to bypass eMMC/SPI boot. This tries to boot from SD, and if no SD is inserted, enters Maskrom mode.&lt;br /&gt;
&lt;br /&gt;
=== Networking using USB ===&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
==== Selecting a USB WIFI Adapter ====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an Android Phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (USB-C to USB-C may work, not tested)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an iPhone ====&lt;br /&gt;
&lt;br /&gt;
Prerequisite:&lt;br /&gt;
&lt;br /&gt;
On the iPhone make sure that Settings -&amp;gt; Personal Hotspot -&amp;gt; Allow others to join is turned on.&lt;br /&gt;
&lt;br /&gt;
# Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.&lt;br /&gt;
# In the Pinetab make sure to use the USB-C port next to the volume keys.&lt;br /&gt;
# Once the cable is connected open your iPhone. &lt;br /&gt;
# You will see a request to trust the new device. Trust it.&lt;br /&gt;
# Confirm by typing in your Apple Device PIN&lt;br /&gt;
&lt;br /&gt;
This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`&lt;br /&gt;
&lt;br /&gt;
Make sure to open the iPhone ince you reconnect.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with a KaiOS phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use a KaiOS phone for mobile Internet use with your PineTab2.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* A KaiOS phone&lt;br /&gt;
* A USB OTG adapter (hama #00200311 tested)&lt;br /&gt;
* Your device’s charging cable&lt;br /&gt;
* Some knowledge of your KaiOS phone&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug the device into the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your KaiOS phone, open settings (specifics from here may vary on version)&lt;br /&gt;
* Navigate to &amp;quot;Network &amp;amp; Connectivity&amp;quot;&lt;br /&gt;
* Navigate to &amp;quot;Internet Sharing&amp;quot;&lt;br /&gt;
* Select &amp;quot;USB&amp;quot; and select On under USB tethering (Note: This option will be greyed out unless connected to the PineTab2)&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2 and it should show a wired connection icon.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19908</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19908"/>
		<updated>2023-06-20T11:06:18Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Performing USB Tethering with an iPhone */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
=== Unpacking ===&lt;br /&gt;
&lt;br /&gt;
You get two packages. First package with:&lt;br /&gt;
* Pinetab2&lt;br /&gt;
* Small user guide&lt;br /&gt;
* Power cable&lt;br /&gt;
* Serial UART adapter to analyse errors if the dispaly does not turn on for example (hopefully not needed)&lt;br /&gt;
&lt;br /&gt;
{{Info| The UART adapter is in the same package as the power cable in a second compartment and can be a bit hidden, search for it.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Package two:&lt;br /&gt;
* Keyboard&lt;br /&gt;
&lt;br /&gt;
=== First start ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
Since most software issues will be release-specific, please see the [[PineTab2 Releases]] page for additional software related instructions, tips, and tricks.&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''Danctnix Arch Linux ARM''. The factory image can be found here:&lt;br /&gt;
&lt;br /&gt;
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
&lt;br /&gt;
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
&lt;br /&gt;
There are currently no stable releases. All releases for the PineTab2 will be listed under [[PineTab2 Releases]] as they're released. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the microSD card'''&lt;br /&gt;
&lt;br /&gt;
To write an operating system to the microSD card (typically called &amp;quot;flashing&amp;quot; in the community), you need to first download a compatible image from the [[#Releases|releases]] section.&lt;br /&gt;
&lt;br /&gt;
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as ''xz'' to reduce the download size. If you are using a graphical tool such as ''balenaEtcher'' or ''Gnome Disks'' it will handle the decompression of the image in the flashing step automatically.&lt;br /&gt;
&lt;br /&gt;
Further you need to flash the image to the microSD card. This can be done using various tools, for example ''balenaEtcher'' (recommended for new users), ''Gnome Disks'' or command-line tools such as ''cp'' and ''dd''. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.&lt;br /&gt;
&lt;br /&gt;
Graphical applications:&lt;br /&gt;
&lt;br /&gt;
* '''balenaEtcher''' (Microsoft Windows, macOS, Linux): Click on ''Flash from file'' and select the image. Then select the microSD card target device and click on ''Flash!''.&lt;br /&gt;
&lt;br /&gt;
* '''Gnome Disks''' (Linux): Select the microSD card target device on the left side in the ''Disks'' list. Then select the three dot menu on the top right and click on ''Restore Disk Image...''. Select the image, verify the correct device is selected and then click on ''Start Restoring...''.&lt;br /&gt;
&lt;br /&gt;
Command-line tools:&lt;br /&gt;
&lt;br /&gt;
* '''cp''': &amp;lt;code&amp;gt;sudo cp '''IMAGE.img''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''dd''': &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|Make sure to replace '''IMAGE.img''' and '''[DEVICE]''' with the filename of the image (double check if it is decompressed and has the file extension ''.img'') and the device name. You can use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.}}&lt;br /&gt;
&lt;br /&gt;
Then insert the microSD card into the PineTab2. &lt;br /&gt;
&lt;br /&gt;
[[File:PineTab2 USB UARTv2.jpg|thumb|right|400px|Using the USB UART adapter can be required in some cases as explained in the info box about the boot order. The adapter is shipped with the PineTab2 in the box which is also containing the charging cable. The switch to disable the eMMC and SPI is located on the top right of the image.]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|'''Note regarding the boot order:''' The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. The pre-installed bootloader on the internal memory (eMMC) tries to boot from the microSD card first. '''In some cases''' it can be required to bypass the bootloader, for example if the bootloader is corrupted or was overwritten by a bootloader with varying settings.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device in the box also containing the charging cable. Set the ''SD BOOT MASKROM'' switch on the adapter to the position ''ON'' and plug it into the USB/PD charging port. Then power on the tablet and '''unplug the debug board or set the switch to the position ''OFF'' again''' when the factory image is started, otherwise the factory image won't find the eMMC.}}&lt;br /&gt;
&lt;br /&gt;
Power on the device with the microSD card inserted (and optionally with the USB UART adapter inserted and the bypass switch set to ''ON'' depending on the software situation, see the info box above). It should now boot the new operating system from the microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Something is not working?''' Please join the [[Main_Page#Chat_Platforms|PineTab channel in the community chat]], the community is always happy to help. In the section [[#Connecting the UART adapter]] you can find information about how to connect the USB UART adapter and how to retrieve the boot logs if the device is not booting properly even after the above procudere.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
[[File:Pinetab2-side.jpeg|400px|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC ([https://www.szyuda88.com/product-77313-276594.html SiliconGo SGM8 100C-S36BCG]; eMMC 5.1, up o 400MB/s)&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0 (top, host mode only; power output up to 680mA)&lt;br /&gt;
** 1x USB-C 2.0 + PD (bottom, device mode by default; power input)&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 4 pole 3.5mm audio jack (microphone right) and headphone detection&lt;br /&gt;
** 2x speakers + microphone (microphone left)&lt;br /&gt;
** 1x 5 pin (USB 2.0; &amp;lt;=680mA) Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs porting/major cleanup. This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera driver needs to be written.&lt;br /&gt;
* Suspend does not currently work due to a driver issue. Suspend is disabled in the factory image for your protection. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter in the USB-C port furthest away from the power button&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* [https://fccid.io/2A8NB-PINETAB2 FCC: 2A8NB-PINETAB2]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
'''Does the Tablet support a Pen?'''&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
'''Can I run Android on it?'''&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
However, if you just need to run a few simple android apps, you might want to have a look at [https://docs.waydro.id/usage/install-on-desktops Waydroid] which can be installed on Arch Linux ARM using the following command: &amp;lt;code&amp;gt;sudo pacman -S waydroid&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Is there SPI Flash?'''&lt;br /&gt;
&lt;br /&gt;
Yes! A 128 Mbit flash chip (sk25lp128) is reportedly present on production devices.&lt;br /&gt;
&lt;br /&gt;
'''My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this?'''&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
'''How does the Tablet compare to a Pinebook Pro?'''&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
'''What is the Performance of the PineTab2 compared to the PineTab-V?'''&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
'''Does PineTab2 play back DRM'd Content such as Netflix?'''&lt;br /&gt;
&lt;br /&gt;
Yes.  Widevine, using the `widevine-aarch64` package in the AUR is working, and was demonstrated on the PineTab2 using Paramount+ and Disney+.  Install it (`yay -S widevine-aarch64`), run the included register script to get Firefox to recognize it, and it should start working.&lt;br /&gt;
&lt;br /&gt;
'''I only know Python, can I help with drivers?'''&lt;br /&gt;
&lt;br /&gt;
Yes, if you learn C first. If that's too big of a hurdle, then no. (This response isn't trying to be snarky, this question was asked so many times it really needed to be here.)&lt;br /&gt;
&lt;br /&gt;
== How-to ==&lt;br /&gt;
&lt;br /&gt;
=== Putting the Device into Maskrom Mode ===&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, plug the included debug adapter into the charging USB-C port and switch the white switch to its &amp;quot;ON&amp;quot; position to bypass eMMC/SPI boot. This tries to boot from SD, and if no SD is inserted, enters Maskrom mode.&lt;br /&gt;
&lt;br /&gt;
=== Networking using USB ===&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
==== Selecting a USB WIFI Adapter ====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an Android Phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (USB-C to USB-C may work, not tested)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an iPhone ====&lt;br /&gt;
&lt;br /&gt;
Prerequisite:&lt;br /&gt;
&lt;br /&gt;
On the iPhone make sure that Settings -&amp;gt; Personal Hotspot -&amp;gt; Allow others to join is turned on.&lt;br /&gt;
&lt;br /&gt;
# Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.&lt;br /&gt;
# In the Pinetab make sure to use the USB-C port next to the volume keys.&lt;br /&gt;
# Once the cable is connected open your iPhone. &lt;br /&gt;
# You will see a request to trust the new device. Trust it.&lt;br /&gt;
# Confirm by typing in your Apple Device PIN&lt;br /&gt;
&lt;br /&gt;
This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`&lt;br /&gt;
&lt;br /&gt;
make sure to open the iPhone ince you reconnect.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with a KaiOS phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use a KaiOS phone for mobile Internet use with your PineTab2.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* A KaiOS phone&lt;br /&gt;
* A USB OTG adapter (hama #00200311 tested)&lt;br /&gt;
* Your device’s charging cable&lt;br /&gt;
* Some knowledge of your KaiOS phone&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug the device into the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your KaiOS phone, open settings (specifics from here may vary on version)&lt;br /&gt;
* Navigate to &amp;quot;Network &amp;amp; Connectivity&amp;quot;&lt;br /&gt;
* Navigate to &amp;quot;Internet Sharing&amp;quot;&lt;br /&gt;
* Select &amp;quot;USB&amp;quot; and select On under USB tethering (Note: This option will be greyed out unless connected to the PineTab2)&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2 and it should show a wired connection icon.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19907</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19907"/>
		<updated>2023-06-20T10:48:45Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Unpacking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
=== Unpacking ===&lt;br /&gt;
&lt;br /&gt;
You get two packages. First package with:&lt;br /&gt;
* Pinetab2&lt;br /&gt;
* Small user guide&lt;br /&gt;
* Power cable&lt;br /&gt;
* Serial UART adapter to analyse errors if the dispaly does not turn on for example (hopefully not needed)&lt;br /&gt;
&lt;br /&gt;
{{Info| The UART adapter is in the same package as the power cable in a second compartment and can be a bit hidden, search for it.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Package two:&lt;br /&gt;
* Keyboard&lt;br /&gt;
&lt;br /&gt;
=== First start ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
Since most software issues will be release-specific, please see the [[PineTab2 Releases]] page for additional software related instructions, tips, and tricks.&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''Danctnix Arch Linux ARM''. The factory image can be found here:&lt;br /&gt;
&lt;br /&gt;
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
&lt;br /&gt;
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
&lt;br /&gt;
There are currently no stable releases. All releases for the PineTab2 will be listed under [[PineTab2 Releases]] as they're released. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the microSD card'''&lt;br /&gt;
&lt;br /&gt;
To write an operating system to the microSD card (typically called &amp;quot;flashing&amp;quot; in the community), you need to first download a compatible image from the [[#Releases|releases]] section.&lt;br /&gt;
&lt;br /&gt;
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as ''xz'' to reduce the download size. If you are using a graphical tool such as ''balenaEtcher'' or ''Gnome Disks'' it will handle the decompression of the image in the flashing step automatically.&lt;br /&gt;
&lt;br /&gt;
Further you need to flash the image to the microSD card. This can be done using various tools, for example ''balenaEtcher'' (recommended for new users), ''Gnome Disks'' or command-line tools such as ''cp'' and ''dd''. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.&lt;br /&gt;
&lt;br /&gt;
Graphical applications:&lt;br /&gt;
&lt;br /&gt;
* '''balenaEtcher''' (Microsoft Windows, macOS, Linux): Click on ''Flash from file'' and select the image. Then select the microSD card target device and click on ''Flash!''.&lt;br /&gt;
&lt;br /&gt;
* '''Gnome Disks''' (Linux): Select the microSD card target device on the left side in the ''Disks'' list. Then select the three dot menu on the top right and click on ''Restore Disk Image...''. Select the image, verify the correct device is selected and then click on ''Start Restoring...''.&lt;br /&gt;
&lt;br /&gt;
Command-line tools:&lt;br /&gt;
&lt;br /&gt;
* '''cp''': &amp;lt;code&amp;gt;sudo cp '''IMAGE.img''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''dd''': &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|Make sure to replace '''IMAGE.img''' and '''[DEVICE]''' with the filename of the image (double check if it is decompressed and has the file extension ''.img'') and the device name. You can use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.}}&lt;br /&gt;
&lt;br /&gt;
Then insert the microSD card into the PineTab2. &lt;br /&gt;
&lt;br /&gt;
[[File:PineTab2 USB UARTv2.jpg|thumb|right|400px|Using the USB UART adapter can be required in some cases as explained in the info box about the boot order. The adapter is shipped with the PineTab2 in the box which is also containing the charging cable. The switch to disable the eMMC and SPI is located on the top right of the image.]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|'''Note regarding the boot order:''' The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. The pre-installed bootloader on the internal memory (eMMC) tries to boot from the microSD card first. '''In some cases''' it can be required to bypass the bootloader, for example if the bootloader is corrupted or was overwritten by a bootloader with varying settings.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device in the box also containing the charging cable. Set the ''SD BOOT MASKROM'' switch on the adapter to the position ''ON'' and plug it into the USB/PD charging port. Then power on the tablet and '''unplug the debug board or set the switch to the position ''OFF'' again''' when the factory image is started, otherwise the factory image won't find the eMMC.}}&lt;br /&gt;
&lt;br /&gt;
Power on the device with the microSD card inserted (and optionally with the USB UART adapter inserted and the bypass switch set to ''ON'' depending on the software situation, see the info box above). It should now boot the new operating system from the microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Something is not working?''' Please join the [[Main_Page#Chat_Platforms|PineTab channel in the community chat]], the community is always happy to help. In the section [[#Connecting the UART adapter]] you can find information about how to connect the USB UART adapter and how to retrieve the boot logs if the device is not booting properly even after the above procudere.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
[[File:Pinetab2-side.jpeg|400px|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC ([https://www.szyuda88.com/product-77313-276594.html SiliconGo SGM8 100C-S36BCG]; eMMC 5.1, up o 400MB/s)&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0 (top, host mode only; power output up to 680mA)&lt;br /&gt;
** 1x USB-C 2.0 + PD (bottom, device mode by default; power input)&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 4 pole 3.5mm audio jack (microphone right) and headphone detection&lt;br /&gt;
** 2x speakers + microphone (microphone left)&lt;br /&gt;
** 1x 5 pin (USB 2.0; &amp;lt;=680mA) Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs porting/major cleanup. This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera driver needs to be written.&lt;br /&gt;
* Suspend does not currently work due to a driver issue. Suspend is disabled in the factory image for your protection. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter in the USB-C port furthest away from the power button&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* [https://fccid.io/2A8NB-PINETAB2 FCC: 2A8NB-PINETAB2]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
'''Does the Tablet support a Pen?'''&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
'''Can I run Android on it?'''&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
However, if you just need to run a few simple android apps, you might want to have a look at [https://docs.waydro.id/usage/install-on-desktops Waydroid] which can be installed on Arch Linux ARM using the following command: &amp;lt;code&amp;gt;sudo pacman -S waydroid&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Is there SPI Flash?'''&lt;br /&gt;
&lt;br /&gt;
Yes! A 128 Mbit flash chip (sk25lp128) is reportedly present on production devices.&lt;br /&gt;
&lt;br /&gt;
'''My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this?'''&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
'''How does the Tablet compare to a Pinebook Pro?'''&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
'''What is the Performance of the PineTab2 compared to the PineTab-V?'''&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
'''Does PineTab2 play back DRM'd Content such as Netflix?'''&lt;br /&gt;
&lt;br /&gt;
Yes.  Widevine, using the `widevine-aarch64` package in the AUR is working, and was demonstrated on the PineTab2 using Paramount+ and Disney+.  Install it (`yay -S widevine-aarch64`), run the included register script to get Firefox to recognize it, and it should start working.&lt;br /&gt;
&lt;br /&gt;
'''I only know Python, can I help with drivers?'''&lt;br /&gt;
&lt;br /&gt;
Yes, if you learn C first. If that's too big of a hurdle, then no. (This response isn't trying to be snarky, this question was asked so many times it really needed to be here.)&lt;br /&gt;
&lt;br /&gt;
== How-to ==&lt;br /&gt;
&lt;br /&gt;
=== Putting the Device into Maskrom Mode ===&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, plug the included debug adapter into the charging USB-C port and switch the white switch to its &amp;quot;ON&amp;quot; position to bypass eMMC/SPI boot. This tries to boot from SD, and if no SD is inserted, enters Maskrom mode.&lt;br /&gt;
&lt;br /&gt;
=== Networking using USB ===&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
==== Selecting a USB WIFI Adapter ====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an Android Phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (USB-C to USB-C may work, not tested)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an iPhone ====&lt;br /&gt;
&lt;br /&gt;
Prerequisite:&lt;br /&gt;
&lt;br /&gt;
On the iPhone make sure that Settings -&amp;gt; Personal Hotspot -&amp;gt; Allow others to join is turned on.&lt;br /&gt;
&lt;br /&gt;
# Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.&lt;br /&gt;
# In the Pinetab make sure to use the USB-C port next to the volume keys.&lt;br /&gt;
# Once the cable is connected open your iPhone. &lt;br /&gt;
# You will see a request to trust the new device. Trust it.&lt;br /&gt;
# Confirm by typing in your Apple Device PIN&lt;br /&gt;
&lt;br /&gt;
This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with a KaiOS phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use a KaiOS phone for mobile Internet use with your PineTab2.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* A KaiOS phone&lt;br /&gt;
* A USB OTG adapter (hama #00200311 tested)&lt;br /&gt;
* Your device’s charging cable&lt;br /&gt;
* Some knowledge of your KaiOS phone&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug the device into the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your KaiOS phone, open settings (specifics from here may vary on version)&lt;br /&gt;
* Navigate to &amp;quot;Network &amp;amp; Connectivity&amp;quot;&lt;br /&gt;
* Navigate to &amp;quot;Internet Sharing&amp;quot;&lt;br /&gt;
* Select &amp;quot;USB&amp;quot; and select On under USB tethering (Note: This option will be greyed out unless connected to the PineTab2)&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2 and it should show a wired connection icon.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19906</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19906"/>
		<updated>2023-06-20T10:47:06Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Getting started */  added package content&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
=== Unpacking ===&lt;br /&gt;
&lt;br /&gt;
You get two packages. First package with:&lt;br /&gt;
* Pinetab2&lt;br /&gt;
* Small user guide&lt;br /&gt;
* Charging cable&lt;br /&gt;
* Serial UART adapter to analyse errors if the dispaly does not turn on for example (hopefully not needed)&lt;br /&gt;
&lt;br /&gt;
{{Info| The UART adapter is in the same package as the power cable in a second compartment and can be a bit hidden, search for it.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Package two:&lt;br /&gt;
* Keyboard&lt;br /&gt;
&lt;br /&gt;
=== First start ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
Since most software issues will be release-specific, please see the [[PineTab2 Releases]] page for additional software related instructions, tips, and tricks.&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''Danctnix Arch Linux ARM''. The factory image can be found here:&lt;br /&gt;
&lt;br /&gt;
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
&lt;br /&gt;
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
&lt;br /&gt;
There are currently no stable releases. All releases for the PineTab2 will be listed under [[PineTab2 Releases]] as they're released. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the microSD card'''&lt;br /&gt;
&lt;br /&gt;
To write an operating system to the microSD card (typically called &amp;quot;flashing&amp;quot; in the community), you need to first download a compatible image from the [[#Releases|releases]] section.&lt;br /&gt;
&lt;br /&gt;
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as ''xz'' to reduce the download size. If you are using a graphical tool such as ''balenaEtcher'' or ''Gnome Disks'' it will handle the decompression of the image in the flashing step automatically.&lt;br /&gt;
&lt;br /&gt;
Further you need to flash the image to the microSD card. This can be done using various tools, for example ''balenaEtcher'' (recommended for new users), ''Gnome Disks'' or command-line tools such as ''cp'' and ''dd''. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.&lt;br /&gt;
&lt;br /&gt;
Graphical applications:&lt;br /&gt;
&lt;br /&gt;
* '''balenaEtcher''' (Microsoft Windows, macOS, Linux): Click on ''Flash from file'' and select the image. Then select the microSD card target device and click on ''Flash!''.&lt;br /&gt;
&lt;br /&gt;
* '''Gnome Disks''' (Linux): Select the microSD card target device on the left side in the ''Disks'' list. Then select the three dot menu on the top right and click on ''Restore Disk Image...''. Select the image, verify the correct device is selected and then click on ''Start Restoring...''.&lt;br /&gt;
&lt;br /&gt;
Command-line tools:&lt;br /&gt;
&lt;br /&gt;
* '''cp''': &amp;lt;code&amp;gt;sudo cp '''IMAGE.img''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''dd''': &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|Make sure to replace '''IMAGE.img''' and '''[DEVICE]''' with the filename of the image (double check if it is decompressed and has the file extension ''.img'') and the device name. You can use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.}}&lt;br /&gt;
&lt;br /&gt;
Then insert the microSD card into the PineTab2. &lt;br /&gt;
&lt;br /&gt;
[[File:PineTab2 USB UARTv2.jpg|thumb|right|400px|Using the USB UART adapter can be required in some cases as explained in the info box about the boot order. The adapter is shipped with the PineTab2 in the box which is also containing the charging cable. The switch to disable the eMMC and SPI is located on the top right of the image.]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|'''Note regarding the boot order:''' The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. The pre-installed bootloader on the internal memory (eMMC) tries to boot from the microSD card first. '''In some cases''' it can be required to bypass the bootloader, for example if the bootloader is corrupted or was overwritten by a bootloader with varying settings.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device in the box also containing the charging cable. Set the ''SD BOOT MASKROM'' switch on the adapter to the position ''ON'' and plug it into the USB/PD charging port. Then power on the tablet and '''unplug the debug board or set the switch to the position ''OFF'' again''' when the factory image is started, otherwise the factory image won't find the eMMC.}}&lt;br /&gt;
&lt;br /&gt;
Power on the device with the microSD card inserted (and optionally with the USB UART adapter inserted and the bypass switch set to ''ON'' depending on the software situation, see the info box above). It should now boot the new operating system from the microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Something is not working?''' Please join the [[Main_Page#Chat_Platforms|PineTab channel in the community chat]], the community is always happy to help. In the section [[#Connecting the UART adapter]] you can find information about how to connect the USB UART adapter and how to retrieve the boot logs if the device is not booting properly even after the above procudere.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
[[File:Pinetab2-side.jpeg|400px|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC ([https://www.szyuda88.com/product-77313-276594.html SiliconGo SGM8 100C-S36BCG]; eMMC 5.1, up o 400MB/s)&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0 (top, host mode only; power output up to 680mA)&lt;br /&gt;
** 1x USB-C 2.0 + PD (bottom, device mode by default; power input)&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 4 pole 3.5mm audio jack (microphone right) and headphone detection&lt;br /&gt;
** 2x speakers + microphone (microphone left)&lt;br /&gt;
** 1x 5 pin (USB 2.0; &amp;lt;=680mA) Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs porting/major cleanup. This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera driver needs to be written.&lt;br /&gt;
* Suspend does not currently work due to a driver issue. Suspend is disabled in the factory image for your protection. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter in the USB-C port furthest away from the power button&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* [https://fccid.io/2A8NB-PINETAB2 FCC: 2A8NB-PINETAB2]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
'''Does the Tablet support a Pen?'''&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
'''Can I run Android on it?'''&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
However, if you just need to run a few simple android apps, you might want to have a look at [https://docs.waydro.id/usage/install-on-desktops Waydroid] which can be installed on Arch Linux ARM using the following command: &amp;lt;code&amp;gt;sudo pacman -S waydroid&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Is there SPI Flash?'''&lt;br /&gt;
&lt;br /&gt;
Yes! A 128 Mbit flash chip (sk25lp128) is reportedly present on production devices.&lt;br /&gt;
&lt;br /&gt;
'''My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this?'''&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
'''How does the Tablet compare to a Pinebook Pro?'''&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
'''What is the Performance of the PineTab2 compared to the PineTab-V?'''&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
'''Does PineTab2 play back DRM'd Content such as Netflix?'''&lt;br /&gt;
&lt;br /&gt;
Yes.  Widevine, using the `widevine-aarch64` package in the AUR is working, and was demonstrated on the PineTab2 using Paramount+ and Disney+.  Install it (`yay -S widevine-aarch64`), run the included register script to get Firefox to recognize it, and it should start working.&lt;br /&gt;
&lt;br /&gt;
'''I only know Python, can I help with drivers?'''&lt;br /&gt;
&lt;br /&gt;
Yes, if you learn C first. If that's too big of a hurdle, then no. (This response isn't trying to be snarky, this question was asked so many times it really needed to be here.)&lt;br /&gt;
&lt;br /&gt;
== How-to ==&lt;br /&gt;
&lt;br /&gt;
=== Putting the Device into Maskrom Mode ===&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, plug the included debug adapter into the charging USB-C port and switch the white switch to its &amp;quot;ON&amp;quot; position to bypass eMMC/SPI boot. This tries to boot from SD, and if no SD is inserted, enters Maskrom mode.&lt;br /&gt;
&lt;br /&gt;
=== Networking using USB ===&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
==== Selecting a USB WIFI Adapter ====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an Android Phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (USB-C to USB-C may work, not tested)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an iPhone ====&lt;br /&gt;
&lt;br /&gt;
Prerequisite:&lt;br /&gt;
&lt;br /&gt;
On the iPhone make sure that Settings -&amp;gt; Personal Hotspot -&amp;gt; Allow others to join is turned on.&lt;br /&gt;
&lt;br /&gt;
# Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.&lt;br /&gt;
# In the Pinetab make sure to use the USB-C port next to the volume keys.&lt;br /&gt;
# Once the cable is connected open your iPhone. &lt;br /&gt;
# You will see a request to trust the new device. Trust it.&lt;br /&gt;
# Confirm by typing in your Apple Device PIN&lt;br /&gt;
&lt;br /&gt;
This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with a KaiOS phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use a KaiOS phone for mobile Internet use with your PineTab2.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* A KaiOS phone&lt;br /&gt;
* A USB OTG adapter (hama #00200311 tested)&lt;br /&gt;
* Your device’s charging cable&lt;br /&gt;
* Some knowledge of your KaiOS phone&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug the device into the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your KaiOS phone, open settings (specifics from here may vary on version)&lt;br /&gt;
* Navigate to &amp;quot;Network &amp;amp; Connectivity&amp;quot;&lt;br /&gt;
* Navigate to &amp;quot;Internet Sharing&amp;quot;&lt;br /&gt;
* Select &amp;quot;USB&amp;quot; and select On under USB tethering (Note: This option will be greyed out unless connected to the PineTab2)&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2 and it should show a wired connection icon.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19765</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19765"/>
		<updated>2023-06-06T17:02:54Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Performing USB Tethering with an iPhone */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''Danctnix Arch Linux''. The factory image can be found here:&lt;br /&gt;
&lt;br /&gt;
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
&lt;br /&gt;
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
&lt;br /&gt;
There are currently no further releases. Future releases for the PineTab2 will be listed under [[PineTab2 Releases]]. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the microSD card'''&lt;br /&gt;
&lt;br /&gt;
To write an operating system to the microSD card (typically called &amp;quot;flashing&amp;quot; in the community), you need to first download a compatible image from the [[#Releases|releases]] section.&lt;br /&gt;
&lt;br /&gt;
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as ''xz'' to reduce the download size. If you are using a graphical tool such as ''balenaEtcher'' or ''Gnome Disks'' it will handle the decompression of the image in the flashing step automatically.&lt;br /&gt;
&lt;br /&gt;
Further you need to flash the image to the microSD card. This can be done using various tools, for example ''balenaEtcher'' (recommended for new users), ''Gnome Disks'' or command-line tools such as ''cp'' and ''dd''. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.&lt;br /&gt;
&lt;br /&gt;
Graphical applications:&lt;br /&gt;
&lt;br /&gt;
* '''balenaEtcher''' (Microsoft Windows, macOS, Linux): Click on ''Flash from file'' and select the image. Then select the microSD card target device and click on ''Flash!''.&lt;br /&gt;
&lt;br /&gt;
* '''Gnome Disks''' (Linux): Select the microSD card target device on the left side in the ''Disks'' list. Then select the three dot menu on the top right and click on ''Restore Disk Image...''. Select the image, verify the correct device is selected and then click on ''Start Restoring...''.&lt;br /&gt;
&lt;br /&gt;
Command-line tools:&lt;br /&gt;
&lt;br /&gt;
* '''cp''': &amp;lt;code&amp;gt;sudo cp '''IMAGE.img''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''dd''': &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|Make sure to replace '''IMAGE.img''' and '''[DEVICE]''' with the filename of the image (double check if it is decompressed and has the file extension ''.img'') and the device name. You can use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.}}&lt;br /&gt;
&lt;br /&gt;
Then insert the microSD card into the PineTab2. &lt;br /&gt;
&lt;br /&gt;
{{Hint|'''Note regarding the boot order:''' The internal memory (eMMC) has a higher boot priority than the microSD card. In some cases it can be required to bypass the boot order, for example if the installation on the eMMC is corrupted.}}&lt;br /&gt;
&lt;br /&gt;
Picture of the USB UART inserted into the PineTab2. The switch to disable the eMMC and SPI is located on the top right of the image:&lt;br /&gt;
&lt;br /&gt;
[[File:PineTab2 USB UARTv2.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device. Set the ''SD BOOT MASKROM'' switch on the adapter to the position ''ON'' and plug it into the USB/PD charging port. Then power on the tablet and '''unplug the debug board or set the switch to the position ''OFF'' again''' when the factory image is started, otherwise the factory image won't find the eMMC.}}&lt;br /&gt;
&lt;br /&gt;
It should now boot the new operating system from the microSD card.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0&lt;br /&gt;
** 1x USB-C 2.0&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 3.5mm audio jack&lt;br /&gt;
** 1x 5 pin Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs porting/major cleanup. This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera driver needs to be written.&lt;br /&gt;
* Suspend does not currently work due to a driver issue. Suspend is disabled in the factory image for your protection. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter in the USB-C port furthest away from the power button&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* Available soon&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== Does the Tablet support a Pen? ===&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
=== Can I run Android on it? ===&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
=== Is there SPI Flash? ===&lt;br /&gt;
&lt;br /&gt;
Unclear. The schematic shows a 128Mbit SPI flash chip, but it's possible that production models won't have it populated. Update this section once we've determined this.&lt;br /&gt;
&lt;br /&gt;
=== My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this? ===&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
=== How does the Tablet compare to a Pinebook Pro? ===&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
=== What is the Performance of the PineTab2 compared to the PineTab-V? ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
=== Does PineTab2 play back DRM'd Content such as Netflix? ===&lt;br /&gt;
&lt;br /&gt;
No, there are no Widevine binaries included in the image the PineTab2 ships with. They need to be taken from ChromeOS and probably patched https://gist.github.com/DavidBuchanan314/c6b97add51b97e4c3ee95dc890f9e3c8&lt;br /&gt;
&lt;br /&gt;
== How-to ==&lt;br /&gt;
&lt;br /&gt;
=== Putting the Device into Maskrom Mode ===&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, it seems you can make the bootrom enter the USB recovery mode by applying a low(?) signal to the SSTX1_P or SSTX2_P pin of the USB2-only Type-C connector (the one that does UART.)&lt;br /&gt;
&lt;br /&gt;
=== Networking using USB ===&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
==== Selecting a USB WIFI Adapter ====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an Android Phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (USB-C to USB-C may work, not tested)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an iPhone ====&lt;br /&gt;
&lt;br /&gt;
Prerequisite:&lt;br /&gt;
&lt;br /&gt;
On the iPhone make sure that Settings -&amp;gt; Personal Hotspot -&amp;gt; Allow others to join is turned on.&lt;br /&gt;
&lt;br /&gt;
# Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.&lt;br /&gt;
# In the Pinetab make sure to use the USB-C port next to the volume keys.&lt;br /&gt;
# Once the cable is connected open your iPhone. &lt;br /&gt;
# You will see a request to trust the new device. Trust it.&lt;br /&gt;
# Confirm by typing in your Apple Device PIN&lt;br /&gt;
&lt;br /&gt;
This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19764</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19764"/>
		<updated>2023-06-06T16:58:05Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Performing USB Tethering with an iPhone */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''Danctnix Arch Linux''. The factory image can be found here:&lt;br /&gt;
&lt;br /&gt;
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
&lt;br /&gt;
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
&lt;br /&gt;
There are currently no further releases. Future releases for the PineTab2 will be listed under [[PineTab2 Releases]]. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the microSD card'''&lt;br /&gt;
&lt;br /&gt;
To write an operating system to the microSD card (typically called &amp;quot;flashing&amp;quot; in the community), you need to first download a compatible image from the [[#Releases|releases]] section.&lt;br /&gt;
&lt;br /&gt;
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as ''xz'' to reduce the download size. If you are using a graphical tool such as ''balenaEtcher'' or ''Gnome Disks'' it will handle the decompression of the image in the flashing step automatically.&lt;br /&gt;
&lt;br /&gt;
Further you need to flash the image to the microSD card. This can be done using various tools, for example ''balenaEtcher'' (recommended for new users), ''Gnome Disks'' or command-line tools such as ''cp'' and ''dd''. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.&lt;br /&gt;
&lt;br /&gt;
Graphical applications:&lt;br /&gt;
&lt;br /&gt;
* '''balenaEtcher''' (Microsoft Windows, macOS, Linux): Click on ''Flash from file'' and select the image. Then select the microSD card target device and click on ''Flash!''.&lt;br /&gt;
&lt;br /&gt;
* '''Gnome Disks''' (Linux): Select the microSD card target device on the left side in the ''Disks'' list. Then select the three dot menu on the top right and click on ''Restore Disk Image...''. Select the image, verify the correct device is selected and then click on ''Start Restoring...''.&lt;br /&gt;
&lt;br /&gt;
Command-line tools:&lt;br /&gt;
&lt;br /&gt;
* '''cp''': &amp;lt;code&amp;gt;sudo cp '''IMAGE.img''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''dd''': &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|Make sure to replace '''IMAGE.img''' and '''[DEVICE]''' with the filename of the image (double check if it is decompressed and has the file extension ''.img'') and the device name. You can use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.}}&lt;br /&gt;
&lt;br /&gt;
Then insert the microSD card into the PineTab2. &lt;br /&gt;
&lt;br /&gt;
{{Hint|'''Note regarding the boot order:''' The internal memory (eMMC) has a higher boot priority than the microSD card. In some cases it can be required to bypass the boot order, for example if the installation on the eMMC is corrupted.}}&lt;br /&gt;
&lt;br /&gt;
Picture of the USB UART inserted into the PineTab2. The switch to disable the eMMC and SPI is located on the top right of the image:&lt;br /&gt;
&lt;br /&gt;
[[File:PineTab2 USB UARTv2.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device. Set the ''SD BOOT MASKROM'' switch on the adapter to the position ''ON'' and plug it into the USB/PD charging port. Then power on the tablet and '''unplug the debug board or set the switch to the position ''OFF'' again''' when the factory image is started, otherwise the factory image won't find the eMMC.}}&lt;br /&gt;
&lt;br /&gt;
It should now boot the new operating system from the microSD card.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0&lt;br /&gt;
** 1x USB-C 2.0&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 3.5mm audio jack&lt;br /&gt;
** 1x 5 pin Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs porting/major cleanup. This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera driver needs to be written.&lt;br /&gt;
* Suspend does not currently work due to a driver issue. Suspend is disabled in the factory image for your protection. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter in the USB-C port furthest away from the power button&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* Available soon&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== Does the Tablet support a Pen? ===&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
=== Can I run Android on it? ===&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
=== Is there SPI Flash? ===&lt;br /&gt;
&lt;br /&gt;
Unclear. The schematic shows a 128Mbit SPI flash chip, but it's possible that production models won't have it populated. Update this section once we've determined this.&lt;br /&gt;
&lt;br /&gt;
=== My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this? ===&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
=== How does the Tablet compare to a Pinebook Pro? ===&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
=== What is the Performance of the PineTab2 compared to the PineTab-V? ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
=== Does PineTab2 play back DRM'd Content such as Netflix? ===&lt;br /&gt;
&lt;br /&gt;
No, there are no Widevine binaries included in the image the PineTab2 ships with. They need to be taken from ChromeOS and probably patched https://gist.github.com/DavidBuchanan314/c6b97add51b97e4c3ee95dc890f9e3c8&lt;br /&gt;
&lt;br /&gt;
== How-to ==&lt;br /&gt;
&lt;br /&gt;
=== Putting the Device into Maskrom Mode ===&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, it seems you can make the bootrom enter the USB recovery mode by applying a low(?) signal to the SSTX1_P or SSTX2_P pin of the USB2-only Type-C connector (the one that does UART.)&lt;br /&gt;
&lt;br /&gt;
=== Networking using USB ===&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
==== Selecting a USB WIFI Adapter ====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an Android Phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (USB-C to USB-C may work, not tested)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an iPhone ====&lt;br /&gt;
&lt;br /&gt;
Prerequisite:&lt;br /&gt;
&lt;br /&gt;
On the iPhone make sure that Settings -&amp;gt; Personal Hotspot -&amp;gt; Allow others to join is turned on.&lt;br /&gt;
&lt;br /&gt;
* Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.&lt;br /&gt;
* In the Pinetab make sure to use the USB-C port next to the volume keys.&lt;br /&gt;
* Once the cable is connected open your iPhone. &lt;br /&gt;
* You will see a request to trust the new device. Trust it.&lt;br /&gt;
* Confirm by typing in your Apple Device PIN&lt;br /&gt;
&lt;br /&gt;
This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19763</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19763"/>
		<updated>2023-06-06T16:57:11Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Performing USB Tethering with an iPhone */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''Danctnix Arch Linux''. The factory image can be found here:&lt;br /&gt;
&lt;br /&gt;
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
&lt;br /&gt;
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
&lt;br /&gt;
There are currently no further releases. Future releases for the PineTab2 will be listed under [[PineTab2 Releases]]. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the microSD card'''&lt;br /&gt;
&lt;br /&gt;
To write an operating system to the microSD card (typically called &amp;quot;flashing&amp;quot; in the community), you need to first download a compatible image from the [[#Releases|releases]] section.&lt;br /&gt;
&lt;br /&gt;
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as ''xz'' to reduce the download size. If you are using a graphical tool such as ''balenaEtcher'' or ''Gnome Disks'' it will handle the decompression of the image in the flashing step automatically.&lt;br /&gt;
&lt;br /&gt;
Further you need to flash the image to the microSD card. This can be done using various tools, for example ''balenaEtcher'' (recommended for new users), ''Gnome Disks'' or command-line tools such as ''cp'' and ''dd''. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.&lt;br /&gt;
&lt;br /&gt;
Graphical applications:&lt;br /&gt;
&lt;br /&gt;
* '''balenaEtcher''' (Microsoft Windows, macOS, Linux): Click on ''Flash from file'' and select the image. Then select the microSD card target device and click on ''Flash!''.&lt;br /&gt;
&lt;br /&gt;
* '''Gnome Disks''' (Linux): Select the microSD card target device on the left side in the ''Disks'' list. Then select the three dot menu on the top right and click on ''Restore Disk Image...''. Select the image, verify the correct device is selected and then click on ''Start Restoring...''.&lt;br /&gt;
&lt;br /&gt;
Command-line tools:&lt;br /&gt;
&lt;br /&gt;
* '''cp''': &amp;lt;code&amp;gt;sudo cp '''IMAGE.img''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''dd''': &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|Make sure to replace '''IMAGE.img''' and '''[DEVICE]''' with the filename of the image (double check if it is decompressed and has the file extension ''.img'') and the device name. You can use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.}}&lt;br /&gt;
&lt;br /&gt;
Then insert the microSD card into the PineTab2. &lt;br /&gt;
&lt;br /&gt;
{{Hint|'''Note regarding the boot order:''' The internal memory (eMMC) has a higher boot priority than the microSD card. In some cases it can be required to bypass the boot order, for example if the installation on the eMMC is corrupted.}}&lt;br /&gt;
&lt;br /&gt;
Picture of the USB UART inserted into the PineTab2. The switch to disable the eMMC and SPI is located on the top right of the image:&lt;br /&gt;
&lt;br /&gt;
[[File:PineTab2 USB UARTv2.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device. Set the ''SD BOOT MASKROM'' switch on the adapter to the position ''ON'' and plug it into the USB/PD charging port. Then power on the tablet and '''unplug the debug board or set the switch to the position ''OFF'' again''' when the factory image is started, otherwise the factory image won't find the eMMC.}}&lt;br /&gt;
&lt;br /&gt;
It should now boot the new operating system from the microSD card.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0&lt;br /&gt;
** 1x USB-C 2.0&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 3.5mm audio jack&lt;br /&gt;
** 1x 5 pin Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs porting/major cleanup. This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera driver needs to be written.&lt;br /&gt;
* Suspend does not currently work due to a driver issue. Suspend is disabled in the factory image for your protection. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter in the USB-C port furthest away from the power button&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* Available soon&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== Does the Tablet support a Pen? ===&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
=== Can I run Android on it? ===&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
=== Is there SPI Flash? ===&lt;br /&gt;
&lt;br /&gt;
Unclear. The schematic shows a 128Mbit SPI flash chip, but it's possible that production models won't have it populated. Update this section once we've determined this.&lt;br /&gt;
&lt;br /&gt;
=== My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this? ===&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
=== How does the Tablet compare to a Pinebook Pro? ===&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
=== What is the Performance of the PineTab2 compared to the PineTab-V? ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
=== Does PineTab2 play back DRM'd Content such as Netflix? ===&lt;br /&gt;
&lt;br /&gt;
No, there are no Widevine binaries included in the image the PineTab2 ships with. They need to be taken from ChromeOS and probably patched https://gist.github.com/DavidBuchanan314/c6b97add51b97e4c3ee95dc890f9e3c8&lt;br /&gt;
&lt;br /&gt;
== How-to ==&lt;br /&gt;
&lt;br /&gt;
=== Putting the Device into Maskrom Mode ===&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, it seems you can make the bootrom enter the USB recovery mode by applying a low(?) signal to the SSTX1_P or SSTX2_P pin of the USB2-only Type-C connector (the one that does UART.)&lt;br /&gt;
&lt;br /&gt;
=== Networking using USB ===&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
==== Selecting a USB WIFI Adapter ====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an Android Phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (USB-C to USB-C may work, not tested)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an iPhone ====&lt;br /&gt;
&lt;br /&gt;
Prerequisite:&lt;br /&gt;
&lt;br /&gt;
On the iPhone make sure that Settings -&amp;gt; Personal Hotspot -&amp;gt; Allow others to join is turned on.&lt;br /&gt;
&lt;br /&gt;
* Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.&lt;br /&gt;
* In the Pinetab make sure to use the USB-C port next to the volume keys.&lt;br /&gt;
* Once the cable is connected open your iPhone. &lt;br /&gt;
* You will see a request tu trust the new device. Trust it.&lt;br /&gt;
* Confirm by typing in your Apple Device PIN&lt;br /&gt;
&lt;br /&gt;
This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19762</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19762"/>
		<updated>2023-06-06T16:56:13Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Networking using USB */  added iPhone support&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.&lt;br /&gt;
&lt;br /&gt;
{{Info|If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.}}&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''DanctNix Arch Linux'' and comes with a pre-set user and the default password &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #a7d7f9;&amp;quot;| Default credentials&lt;br /&gt;
|-&lt;br /&gt;
! Default user&lt;br /&gt;
| &amp;lt;code&amp;gt;alarm / 123456&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can create a new user and set your own password after the initial boot. To do so, go to ''system settings'' -&amp;gt; ''users'' and create a new profile using your preferred name and password.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
All operating systems for the PineTab2 are delivered by community developers and partner projects. Aside from the operating system that comes pre-installed on your device, you can install and run any other operating system available for the PineTab2. Most, if not all operating systems for the PineTab2 are open and free, such as Linux and BSD.&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 ships with ''Danctnix Arch Linux''. The factory image can be found here:&lt;br /&gt;
&lt;br /&gt;
* https://echo.danctnix.org:7269/danctnix-factory-image-20230527.img.xz (1.5 GB)&lt;br /&gt;
&lt;br /&gt;
{{Info|The factory image is flashed to a microSD card and it will overwrite the eMMC installation after booting.}}&lt;br /&gt;
&lt;br /&gt;
There are currently no further releases. Future releases for the PineTab2 will be listed under [[PineTab2 Releases]]. Your contributions are wanted!&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is capable of running different operating systems from the internal flash memory (eMMC) and from microSD card.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the microSD card'''&lt;br /&gt;
&lt;br /&gt;
To write an operating system to the microSD card (typically called &amp;quot;flashing&amp;quot; in the community), you need to first download a compatible image from the [[#Releases|releases]] section.&lt;br /&gt;
&lt;br /&gt;
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as ''xz'' to reduce the download size. If you are using a graphical tool such as ''balenaEtcher'' or ''Gnome Disks'' it will handle the decompression of the image in the flashing step automatically.&lt;br /&gt;
&lt;br /&gt;
Further you need to flash the image to the microSD card. This can be done using various tools, for example ''balenaEtcher'' (recommended for new users), ''Gnome Disks'' or command-line tools such as ''cp'' and ''dd''. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.&lt;br /&gt;
&lt;br /&gt;
Graphical applications:&lt;br /&gt;
&lt;br /&gt;
* '''balenaEtcher''' (Microsoft Windows, macOS, Linux): Click on ''Flash from file'' and select the image. Then select the microSD card target device and click on ''Flash!''.&lt;br /&gt;
&lt;br /&gt;
* '''Gnome Disks''' (Linux): Select the microSD card target device on the left side in the ''Disks'' list. Then select the three dot menu on the top right and click on ''Restore Disk Image...''. Select the image, verify the correct device is selected and then click on ''Start Restoring...''.&lt;br /&gt;
&lt;br /&gt;
Command-line tools:&lt;br /&gt;
&lt;br /&gt;
* '''cp''': &amp;lt;code&amp;gt;sudo cp '''IMAGE.img''' /dev/'''[DEVICE]'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''dd''': &amp;lt;code&amp;gt;sudo dd if='''IMAGE.img''' of=/dev/'''[DEVICE]''' bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|Make sure to replace '''IMAGE.img''' and '''[DEVICE]''' with the filename of the image (double check if it is decompressed and has the file extension ''.img'') and the device name. You can use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to find the device name. Make sure to flash to the whole device instead of partition 1 and that you're NOT selecting ''/dev/sda1'' or ''/dev/mmcblk0p1'' as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.}}&lt;br /&gt;
&lt;br /&gt;
Then insert the microSD card into the PineTab2. &lt;br /&gt;
&lt;br /&gt;
{{Hint|'''Note regarding the boot order:''' The internal memory (eMMC) has a higher boot priority than the microSD card. In some cases it can be required to bypass the boot order, for example if the installation on the eMMC is corrupted.}}&lt;br /&gt;
&lt;br /&gt;
Picture of the USB UART inserted into the PineTab2. The switch to disable the eMMC and SPI is located on the top right of the image:&lt;br /&gt;
&lt;br /&gt;
[[File:PineTab2 USB UARTv2.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
{{Hint|To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device. Set the ''SD BOOT MASKROM'' switch on the adapter to the position ''ON'' and plug it into the USB/PD charging port. Then power on the tablet and '''unplug the debug board or set the switch to the position ''OFF'' again''' when the factory image is started, otherwise the factory image won't find the eMMC.}}&lt;br /&gt;
&lt;br /&gt;
It should now boot the new operating system from the microSD card.&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with '''Pinekey - Ctrl-Right'''.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0&lt;br /&gt;
** 1x USB-C 2.0&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 3.5mm audio jack&lt;br /&gt;
** 1x 5 pin Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor pinetab2-specific adjustments can be found [https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable here] Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The [https://gitlab.com/TuxThePenguin0/bes2600 BES2600 Wi-Fi driver] needs porting/major cleanup. This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera driver needs to be written.&lt;br /&gt;
* Suspend does not currently work due to a driver issue. Suspend is disabled in the factory image for your protection. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the UART adapter ===&lt;br /&gt;
&lt;br /&gt;
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:&lt;br /&gt;
&lt;br /&gt;
* Plug the adapter in the USB-C port furthest away from the power button&lt;br /&gt;
* Plug USB-C cable into the port on the adapter marked &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Install ''minicom'' or ''screen'' via your distribution's package manager, if you don't have it installed already&lt;br /&gt;
* Connect via minicom using &amp;lt;code&amp;gt;sudo minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt; or via screen using &amp;lt;code&amp;gt;sudo screen /dev/ttyUSB0 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* Available soon&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== Does the Tablet support a Pen? ===&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
=== Can I run Android on it? ===&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
=== Is there SPI Flash? ===&lt;br /&gt;
&lt;br /&gt;
Unclear. The schematic shows a 128Mbit SPI flash chip, but it's possible that production models won't have it populated. Update this section once we've determined this.&lt;br /&gt;
&lt;br /&gt;
=== My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this? ===&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
=== How does the Tablet compare to a Pinebook Pro? ===&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
=== What is the Performance of the PineTab2 compared to the PineTab-V? ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
=== Does PineTab2 play back DRM'd Content such as Netflix? ===&lt;br /&gt;
&lt;br /&gt;
No, there are no Widevine binaries included in the image the PineTab2 ships with. They need to be taken from ChromeOS and probably patched https://gist.github.com/DavidBuchanan314/c6b97add51b97e4c3ee95dc890f9e3c8&lt;br /&gt;
&lt;br /&gt;
== How-to ==&lt;br /&gt;
&lt;br /&gt;
=== Putting the Device into Maskrom Mode ===&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, it seems you can make the bootrom enter the USB recovery mode by applying a low(?) signal to the SSTX1_P or SSTX2_P pin of the USB2-only Type-C connector (the one that does UART.)&lt;br /&gt;
&lt;br /&gt;
=== Networking using USB ===&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
==== Selecting a USB WIFI Adapter ====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an Android Phone ====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (USB-C to USB-C may work, not tested)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2.&lt;br /&gt;
&lt;br /&gt;
==== Performing USB Tethering with an iPhone ====&lt;br /&gt;
&lt;br /&gt;
Prerequisite:&lt;br /&gt;
On the iPhone make sure that Settings -&amp;gt; Personal Hotspot -&amp;gt; Allow others to join is turned on.&lt;br /&gt;
&lt;br /&gt;
* Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.&lt;br /&gt;
* In the Pinetab make sure to use the USB-C port next to the volume keys.&lt;br /&gt;
* Once the cable is connected open your iPhone. &lt;br /&gt;
* You will see a request tu trust the new device. Trust it.&lt;br /&gt;
* Confirm by typing in your Apple Device PIN&lt;br /&gt;
&lt;br /&gt;
This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19726</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19726"/>
		<updated>2023-06-05T17:30:56Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
{{Under construction}}&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
{{Under construction}}&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
=== Original Manufacturing Release ===&lt;br /&gt;
Archlinux with modifications&lt;br /&gt;
&lt;br /&gt;
Passwd: 123456&lt;br /&gt;
&lt;br /&gt;
== User Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Keyboard ===&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogopin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with &amp;lt;Pinekey&amp;gt; - Ctrl-Right.&lt;br /&gt;
&lt;br /&gt;
=== Frequently Asked Questions ===&lt;br /&gt;
&lt;br /&gt;
==== Does the Tablet support a Pen? ====&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
==== Can I run Android on it? ====&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
==== Is there SPI Flash? ====&lt;br /&gt;
&lt;br /&gt;
Unclear. The schematic shows a 128Mbit SPI flash chip, but it's possible that production models won't have it populated. Update this section once we've determined this.&lt;br /&gt;
&lt;br /&gt;
==== My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this? ====&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
==== How does the Tablet compare to a Pinebook Pro? ====&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
==== What is the Performance of the PineTab2 compared to the PineTab-V? ====&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
==== Does PineTab2 play back DRM'd Content such as Netflix? ====&lt;br /&gt;
&lt;br /&gt;
No, there are no Widevine binaries included in the image the PineTab2 ships with. They need to be taken from ChromeOS and probably patched https://gist.github.com/DavidBuchanan314/c6b97add51b97e4c3ee95dc890f9e3c8&lt;br /&gt;
&lt;br /&gt;
=== How-to ===&lt;br /&gt;
&lt;br /&gt;
==== Putting the Device into Maskrom Mode ====&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, it seems you can make the bootrom enter the USB recovery mode by applying a low(?) signal to the SSTX1_P or SSTX2_P pin of the USB2-only Type-C connector (the one that does UART.)&lt;br /&gt;
&lt;br /&gt;
==== Networking using USB ====&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
===== Selecting a USB WIFI Adapter =====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
===== Performing USB Tethering with an Android Phone =====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (USB-C to USB-C may work, not tested)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot; (Some mobiles might need a restart first)&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2 and it connects automatically (maybe restart).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0&lt;br /&gt;
** 1x USB-C 2.0&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 3.5mm audio jack&lt;br /&gt;
** 1x 5 pin Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The BES2600 Wi-Fi driver needs porting/major cleanup. This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera driver needs to be written.&lt;br /&gt;
* Suspend does not currently work due to a driver issue. Suspend is disabled in the factory image for your protection. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* Available soon&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19725</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19725"/>
		<updated>2023-06-05T17:29:09Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: Restructured to have a user guide, added keyboard chapter.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. Similarly packaged RISC-V tablet is [[PineTab-V]].&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
&lt;br /&gt;
{{Under construction}}&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
{{Under construction}}&lt;br /&gt;
&lt;br /&gt;
=== Installation instructions ===&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
== User Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Keyboard ===&lt;br /&gt;
&lt;br /&gt;
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogopin connectors are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
Change the backlight with &amp;lt;Pinekey&amp;gt; - Ctrl-Right.&lt;br /&gt;
&lt;br /&gt;
=== Frequently Asked Questions ===&lt;br /&gt;
&lt;br /&gt;
==== Does the Tablet support a Pen? ====&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
==== Can I run Android on it? ====&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
==== Is there SPI Flash? ====&lt;br /&gt;
&lt;br /&gt;
Unclear. The schematic shows a 128Mbit SPI flash chip, but it's possible that production models won't have it populated. Update this section once we've determined this.&lt;br /&gt;
&lt;br /&gt;
==== My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this? ====&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
==== How does the Tablet compare to a Pinebook Pro? ====&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
==== What is the Performance of the PineTab2 compared to the PineTab-V? ====&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
==== Does PineTab2 play back DRM'd Content such as Netflix? ====&lt;br /&gt;
&lt;br /&gt;
No, there are no Widevine binaries included in the image the PineTab2 ships with. They need to be taken from ChromeOS and probably patched https://gist.github.com/DavidBuchanan314/c6b97add51b97e4c3ee95dc890f9e3c8&lt;br /&gt;
&lt;br /&gt;
=== How-to ===&lt;br /&gt;
&lt;br /&gt;
==== Putting the Device into Maskrom Mode ====&lt;br /&gt;
&lt;br /&gt;
To recover from a bad eMMC/SPI flash, it seems you can make the bootrom enter the USB recovery mode by applying a low(?) signal to the SSTX1_P or SSTX2_P pin of the USB2-only Type-C connector (the one that does UART.)&lt;br /&gt;
&lt;br /&gt;
==== Networking using USB ====&lt;br /&gt;
&lt;br /&gt;
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in [[File:PineTab2_USB_Guide.pdf]], which covers connecting via [[#Performing USB Tethering with an Android Phone|a tethered Android phone]], [[#Selecting a USB WIFI Adapter|a suitable USB WIFI adapter]], a wired USB Ethernet adapter, and a tethered iOS device.&lt;br /&gt;
&lt;br /&gt;
===== Selecting a USB WIFI Adapter =====&lt;br /&gt;
&lt;br /&gt;
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md&lt;br /&gt;
&lt;br /&gt;
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device.  This ''should'' force it back into adapter mode.  If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot.  You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.&lt;br /&gt;
&lt;br /&gt;
===== Performing USB Tethering with an Android Phone =====&lt;br /&gt;
&lt;br /&gt;
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.&lt;br /&gt;
&lt;br /&gt;
You can use an Android phone as a network adapter.&lt;br /&gt;
&lt;br /&gt;
You'll need:&lt;br /&gt;
&lt;br /&gt;
* An Android phone&lt;br /&gt;
* A USB OTG adapter (USB-C to USB-C may work, not tested)&lt;br /&gt;
* Some knowledge of your variation of Android&lt;br /&gt;
&lt;br /&gt;
Do the following in order:&lt;br /&gt;
&lt;br /&gt;
* Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter&lt;br /&gt;
* On your android phone, open the settings app (specifics from here may vary on version)&lt;br /&gt;
** Navigate to &amp;quot;Network &amp;amp; Internet&amp;quot;&lt;br /&gt;
** Navigate to &amp;quot;Hotspot &amp;amp; Tethering&amp;quot;&lt;br /&gt;
** Tap on &amp;quot;USB Tethering&amp;quot; (Some mobiles might need a restart first)&lt;br /&gt;
&lt;br /&gt;
You should now see a new network interface on the PineTab2 and it connects automatically (maybe restart).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:'''&lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0&lt;br /&gt;
** 1x USB-C 2.0&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 3.5mm audio jack&lt;br /&gt;
** 1x 5 pin Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Check the main article for the big picture; PineTab2 specific issues are listed here.&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* The display panel driver is in PineTab2's kernel fork, and needs to be submitted to upstream.&lt;br /&gt;
* The BES2600 Wi-Fi driver needs porting/major cleanup. This is a priority, but for now, you can [[#Performing USB Tethering with an Android Phone|USB tether a phone]] or [[#Selecting a USB WIFI Adapter|use a supported WI-FI dongle]].&lt;br /&gt;
* The BES2600 Bluetooth driver needs to be implemented.&lt;br /&gt;
* The Camera driver needs to be written.&lt;br /&gt;
* Suspend does not currently work due to a driver issue. Suspend is disabled in the factory image for your protection. Caveat Emptor if you chose to unmask the feature prior to it being fixed.&lt;br /&gt;
&lt;br /&gt;
== Board information, schematics and certifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:PPineTab2-pcb.jpg|thumb|right|PineTab2 Board]]&lt;br /&gt;
&lt;br /&gt;
PineTab2 mainboard schematic:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PineTab/PineTab2_V2_schematic-20230417.pdf PineTab2 mainboard Released Schematic-20230417 ver 2.0]&lt;br /&gt;
&lt;br /&gt;
PineTab2 certifications:&lt;br /&gt;
* Available soon&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19470</id>
		<title>PineTab2</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTab2&amp;diff=19470"/>
		<updated>2023-04-15T08:37:23Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Specifications */ updated camera chipsets&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PineTab2 Front.jpg|250px|thumb|right|The PineTab2 with the detachable keyboard attached]]&lt;br /&gt;
&lt;br /&gt;
The '''PineTab2''' is PINE64's successor to the original [[PineTab]] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.&lt;br /&gt;
&lt;br /&gt;
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support.&lt;br /&gt;
&lt;br /&gt;
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 is expected to ship mid-May of 2023.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
[[File:RK3566_icon.png|right]]&lt;br /&gt;
* '''SoC:''' Rockchip RK3566&lt;br /&gt;
* '''CPU:''' 4x ARM Cortex-A55 @ 1.8 GHz&lt;br /&gt;
** 32KB L1 Instruction Cache and 32KB L1 Data Cache per core&lt;br /&gt;
** 512KB unified system L3 cache&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
* '''GPU:''' Mali-G52 MP2 @ 800 MHz&lt;br /&gt;
** Supported by the open source 'Panfrost' driver in Linux and Mesa&lt;br /&gt;
** Supports OpenGL 3.1 and OpenGL ES 3.1 with many newer extensions&lt;br /&gt;
* '''NPU:''' 0.8 TOPS Neural Processing Unit&lt;br /&gt;
* '''RAM:''' 4GB or 8GB LPDDR4&lt;br /&gt;
* '''Storage:'''&lt;br /&gt;
** 64GB or 128GB internal eMMC&lt;br /&gt;
** 1x MicroSD slot&lt;br /&gt;
* '''Display:''' 10.1&amp;quot; IPS LCD Resolution 1280x800&lt;br /&gt;
* '''Cameras:''' &lt;br /&gt;
** Front: 2Mpx, chipset: Galaxycore GC02M2&lt;br /&gt;
** Rear: 5Mpx, chipset: Omnivision OV5648&lt;br /&gt;
* '''Battery:''' 6000 mAh (22.2Wh)&lt;br /&gt;
* '''Buttons:''' Power, volume up, volume down&lt;br /&gt;
* '''Network:'''&lt;br /&gt;
** Wi-Fi&lt;br /&gt;
** Bluetooth&lt;br /&gt;
* '''I/O:'''&lt;br /&gt;
** 1x USB-C 3.0&lt;br /&gt;
** 1x USB-C 2.0&lt;br /&gt;
** 1x MicroHDMI&lt;br /&gt;
** 1x 3.5mm audio jack&lt;br /&gt;
** 1x 5 pin Pogo connector for keyboard&lt;br /&gt;
** (PCIe on PCB as a flat flex ribbon connector, no room for M.2 NVMe drives in case)&lt;br /&gt;
* '''Multimedia:'''&lt;br /&gt;
** rkdjpeg: 1080p120 JPEG decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** hantro: JPEG/VP8/H.264 encode, 1080p MPEG-2/H.263/VP8/H.264 AVC decode&lt;br /&gt;
*** mainline driver does not yet support all codecs/functions&lt;br /&gt;
*** see [[Mainline Hardware Decoding]] and [[Mainline Hardware Encoding]]&lt;br /&gt;
** rkvdec2: 4K H.264 AVC Main10 L5.1/H.265 HEVC Main10 L5.1/VP9 Profile 0 and 2 L5.1 decode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
** rkvenc2: 4K H.264 AVC/H.265 HEVC encode&lt;br /&gt;
*** no driver in mainline yet&lt;br /&gt;
* '''Build:''' Metal and Plastic&lt;br /&gt;
* '''Dimensions:''' 242x161x9mm&lt;br /&gt;
* '''Misc:'''&lt;br /&gt;
** Protective cover with keyboard&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{{SeeMainArticle|Quartz64 Development}}&lt;br /&gt;
&lt;br /&gt;
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices.&lt;br /&gt;
&lt;br /&gt;
Notable features currently missing are the display panel driver (needs submitting), Wi-Fi driver (needs porting/major cleanup) and camera driver (needs writing).&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
&lt;br /&gt;
Rockchip RK3566 SoC information:&lt;br /&gt;
* [https://files.pine64.org/doc/quartz64/Rockchip%20RK3566%20Datasheet%20V1.0-20201210.pdf Rockchip RK3566 ver 1.0 datasheet]&lt;br /&gt;
* [https://opensource.rock-chips.com/images/2/26/Rockchip_RK3568_TRM_Part1_V1.3-20220930P.PDF Rockchip RK3566 and RK3568 TRM (Technical Reference Manual)]&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
=== Does the Tablet support a Pen? ===&lt;br /&gt;
&lt;br /&gt;
No, adding a digitiser for pen inputs would make the price too high.&lt;br /&gt;
&lt;br /&gt;
=== Can I run Android on it? ===&lt;br /&gt;
&lt;br /&gt;
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money.&lt;br /&gt;
&lt;br /&gt;
=== Is there SPI Flash? ===&lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
=== My only Development Experience is Visual Basic Macros in Excel and Redstone in Minecraft, should I buy this? ===&lt;br /&gt;
&lt;br /&gt;
At this stage, probably not, unless you're happy with a tablet that has a buggy Wi-Fi driver and no camera controller driver.&lt;br /&gt;
&lt;br /&gt;
=== How does the Tablet compare to a Pinebook Pro? ===&lt;br /&gt;
&lt;br /&gt;
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.&lt;br /&gt;
&lt;br /&gt;
=== What is the Performance of the PineTab2 compared to the PineTab-V? ===&lt;br /&gt;
&lt;br /&gt;
The PineTab2 is notably faster than the PineTab-V. You can see this by [https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md comparing the Quartz64 sbc-bench results to the Star64 ones]. Performance should not be a factor of consideration when purchasing a PineTab-V.&lt;br /&gt;
&lt;br /&gt;
=== Does PineTab2 play back DRM'd Content such as Netflix? ===&lt;br /&gt;
&lt;br /&gt;
No, there are no Widevine binaries included in the image the PineTab2 ships with. (If they even exist for aarch64?)&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.pine64.org/2022/12/15/december-update-merry-christmas-and-happy-new-pinetab/ December 2022 Community Update]&lt;br /&gt;
* [https://www.pine64.org/2023/03/01/february-update-things-are-taking-shape/ February 2023 Community Update]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rockchip RK3566]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=16135</id>
		<title>Getting started</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=16135"/>
		<updated>2023-02-03T13:01:35Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Imaging microSD on Linux */ added line break between umount and dd code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide is for the PINE64 devices. For device-specific information please see the corresponding device pages listed on the [[Main Page#Devices|main page]].&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get started with using your [[PINE A64|PINE A64(+)]], [[PINE A64-LTS]], [[Pinebook]] or [[ROCK64]] board:&lt;br /&gt;
* A Windows / Linux PC or Mac device with a MicroSD Card Reader&lt;br /&gt;
* Internet connection / pre-downloaded OS image files&lt;br /&gt;
* Power Supply:&lt;br /&gt;
** '''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.&lt;br /&gt;
** '''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.&lt;br /&gt;
** '''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.&lt;br /&gt;
* MicroSD card (Recommend: 8GB or higher capacity, 10MB/s or faster speed)&lt;br /&gt;
* HDMI cable (unless you wish to run [https://en.wikipedia.org/wiki/Headless_computer headless] / without a screen)&lt;br /&gt;
** For [[:Category:Allwinner A64|A64 devices]], Android and Remix OS supports 720p and 1080p, while Linux supports a [https://github.com/longsleep/sunxi-disp-tool#available-hdmi-output-names wider range of resolutions].&lt;br /&gt;
* Input device(s) such as: keyboard, mouse, remote, pointer, etc.&lt;br /&gt;
&lt;br /&gt;
== Step-by-Step Instructions for Flashing MicroSD Cards ==&lt;br /&gt;
&lt;br /&gt;
{{Note|'''Caution!''' 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}}&lt;br /&gt;
&lt;br /&gt;
'''Begin by imaging the OS of your choice'''&lt;br /&gt;
&lt;br /&gt;
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 [https://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  [https://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]. Yet another overview of various options [https://www.raymond.cc/blog/test-and-detect-fake-or-counterfeit-usb-flash-drives-bought-from-ebay-with-h2testw/ Test and Detect Fake Cards]&lt;br /&gt;
&lt;br /&gt;
Please refer to the relevant section below for instructions on how to image your microSD card:&lt;br /&gt;
* [[#Imaging microSD on Windows 7/8/8.1/10|Imaging microSD on Windows 7/8/8.1/10]]&lt;br /&gt;
* [[#Imaging microSD on Apple OSX|Imaging microSD on Apple OSX]]&lt;br /&gt;
* [[#Imaging microSD on Linux|Imaging microSD on Linux]]&lt;br /&gt;
&lt;br /&gt;
Having successfully imaged your microSD card, insert it into the microSD slot.&lt;br /&gt;
&lt;br /&gt;
'''Plug in the HDMI Cable, Ethernet Cable and Peripherals to your PINE64 SBC'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''Apply Power to Your Board'''&lt;br /&gt;
&lt;br /&gt;
Once you have imaged your microSD and plugged everything in, you are ready to apply power to the PINE64 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.&lt;br /&gt;
&lt;br /&gt;
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 [https://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.&lt;br /&gt;
&lt;br /&gt;
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 Ethernet cable plugged in. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Windows 7/8/8.1/10 ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression utility (used to unarchive the OS image). We recommend you use [https://www.7-zip.org/download.html 7zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
'''Optional for Allwinner A64 SoC based boards'''&lt;br /&gt;
* Phoenix Card image utility (used ONLY for phoenix card images).&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
You can find OS images for the respective devices in the [[Main_Page|device section]] on the main page. &lt;br /&gt;
Images designated ‘DD’ need to be flashed using Etcher or Win32imager, whilst images labelled ‘Phoenix Card Image’ require the Phoenix Card utility.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (DD)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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. {{warning|Pay close attention to the selected drive (remember your letter) – the imaging process will permanently erase and format the selected drive. If you choose the wrong drive all your data will be lost.}}&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
'''Imaging using Phoenix Card (applicable only to Allwinner A64 SoC based boards)'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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. {{warning|Pay close attention to the selected drive (remember your letter) – the imaging process will permanently erase and format the selected drive. If you choose the wrong drive all your data will be lost.}}&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on macOS ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
&lt;br /&gt;
* A compression utility (used to unarchive the OS image). You may use [https://www.keka.io/en/ Keka].&lt;br /&gt;
* A disk image utility (used to flash the .img to your SD card in GUI). You may use [https://www.tweaking4all.com/software/macosx-software/applepi-baker-v2/#DownloadApplePiBaker ApplePi Baker v2] or [https://etcher.io/ Etcher].&lt;br /&gt;
&lt;br /&gt;
{{hint|Phoenix Card utility and images are NOT available on macOS.}}&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s), insert the SD card'''&lt;br /&gt;
&lt;br /&gt;
You can find OS images for the respective devices in the [[Main_Page#Devices|device section]] of the main page.&lt;br /&gt;
&lt;br /&gt;
Having downloaded the required OS image, proceed to use the compression utility to unarchive it and get the .img file.&lt;br /&gt;
Once the process has completed, you can proceed to write it to your SD card.&lt;br /&gt;
&lt;br /&gt;
Insert your microSD card into your Mac laptop/USB card reader.&lt;br /&gt;
You may require a SD → microSD converter, as Apple’s laptops and desktops only feature a full-size SD card reader.&lt;br /&gt;
Once the microSD card is plugged into your computer, it should appear in Finder / on your desktop.&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
Launch the imaging utility. Upon startup, the application may ask for your password.&lt;br /&gt;
When the application launches, you will be presented with a field titled ‘IMG file’ and a path of the mounted microSD card&lt;br /&gt;
(it will look like this: ‘/dev/diskX 32.0Gb SD card’).&lt;br /&gt;
&lt;br /&gt;
To choose the OS image file, click the ‘IMG file’ button, navigate to and select the .img file you extracted from the archive earlier.&lt;br /&gt;
Then select the microSD card you want to write into.&lt;br /&gt;
&lt;br /&gt;
{{warning|Pay close attention to the selected device, make sure it is the right SD card – the imaging process will permanently erase and format the selected storage device. If you choose the wrong device, all the data in it will be lost.}}&lt;br /&gt;
&lt;br /&gt;
Having chosen the desired OS image and the correct device, press ‘Restore Backup’ or ‘Flash’.&lt;br /&gt;
Once the image has been written to your microSD card, you will receive a pop-up notification.&lt;br /&gt;
Close the application, then eject/remove your SD card from your Mac.&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
{{note|If you are not comfortable using the terminal, please use the GUI method outlined above instead.}}&lt;br /&gt;
&lt;br /&gt;
Open up your terminal and navigate to the directory where you unarchived your OS image.&lt;br /&gt;
&lt;br /&gt;
Before you start writing to the card, you will have to identify your microSD card.&lt;br /&gt;
Type: &amp;lt;code&amp;gt;diskutil list&amp;lt;/code&amp;gt; and note the output.&lt;br /&gt;
The disk number should match the size of your SD card, and will likely be using &amp;lt;code&amp;gt;Fdisk_partition_scheme&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Having identified the disk number execute the following commands&lt;br /&gt;
(substitute diskX for your disk and name of image for pine64-image-name.img):&lt;br /&gt;
&lt;br /&gt;
 diskutil unmountDisk /dev/diskX&lt;br /&gt;
 sudo dd if=pine64-image-name.img of=/dev/disk2 bs=1M&lt;br /&gt;
&lt;br /&gt;
Wait patiently for the process to complete, then eject/remove your SD card from your Mac.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Linux ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [https://apps.kde.org/en/ark Ark].&lt;br /&gt;
* 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 distributions.&lt;br /&gt;
&lt;br /&gt;
{{hint|Phoenix Card utility and images are NOT available on Linux.}}&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
You can find OS images for the respective devices in the [[Main_Page|device section]] on the main page. On Linux you can only use images designated as ‘DD’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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]).&lt;br /&gt;
&lt;br /&gt;
* 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. {{warning|Pay close attention to the selected drive – the imaging process will permanently erase and format the selected drive. If you choose the wrong drive all your data will be lost.}}&lt;br /&gt;
&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
{{note|If you are not comfortable using the terminal, please use the GUI method outlined above instead.}}&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image. e.g. &amp;lt;code&amp;gt;cd Download&amp;lt;/code&amp;gt;&lt;br /&gt;
* Before you start writing to the card, you will have to identify your microSD card.&lt;br /&gt;
&lt;br /&gt;
* Type: &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; and pay attention to the listed disks. Disks will appear as ''/dev/mmcblk0 /dev/mmcblk1'' etc. &lt;br /&gt;
{{note|'''Hint''': the drive you currently have booted from has the &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; at the end of the line. This is the wrong drive. Look at the drive that matches your microSD card’s size.}}&lt;br /&gt;
&lt;br /&gt;
* Now you are ready to write the image to the microSD card using this command: (replace the pine.img file with your image and mmcblkX with the correct device for the microSD card)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo umount /dev/mmcblkX&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dd if=pine.img of=/dev/mmcblkX bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete.&lt;br /&gt;
* use the command &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; to ensure everything is written to the microSD card.&lt;br /&gt;
* The card is ready to boot &lt;br /&gt;
&lt;br /&gt;
(sometimes this process fails and your microSD card can't boot, one way of fixing this is just to repeat the same thing, you can also try a different microSD card)&lt;br /&gt;
&lt;br /&gt;
== Instructions for Flashing Removable eMMC Modules ==&lt;br /&gt;
&lt;br /&gt;
Many Pine64 devices support removable eMMC modules as an alternative boot and storage solution to micro SD cards.&lt;br /&gt;
These devices include SBCs such as the Pine A64-LTS, ROCK64, ROCKPro64, PINE H64, SOPINE Baseboard, SOPINE Clusterboard, and Quartz64, and devices such as the Pinebook and Pinebook Pro.&lt;br /&gt;
&lt;br /&gt;
Please be aware that the Pine A64 (+) does not support an eMMC module, while the Pine A64-LTS does.&lt;br /&gt;
&lt;br /&gt;
An eMMC module can be purchased for your device(s) from the [https://pine64.com/?post_type=product PINE64 store]. The Pinebook and Pinebook Pro both come with a removable eMMC module pre-installed.&lt;br /&gt;
&lt;br /&gt;
The available modules come in four different capacities: 16Gb, 32Gb, 64Gb and 128Gb&lt;br /&gt;
&lt;br /&gt;
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 an eMMC module once it has been removed.  &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using the USB-to-eMMC Adapter (Preferred Way) ===&lt;br /&gt;
&lt;br /&gt;
A USB-to-eMMC adapter is available from purchase from the [https://pine64.com/product/usb-adapter-for-emmc-module/ PINE64 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.&lt;br /&gt;
&lt;br /&gt;
'''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. &lt;br /&gt;
&lt;br /&gt;
*This process of flashing an OS image to eMMC is '''completely identical to imaging micro SD cards''', so please read [[Getting started#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards|Step-by-Step Instructions to Flashing Micro SD Cards]] before you begin. &lt;br /&gt;
&lt;br /&gt;
For this method you will need the following: &lt;br /&gt;
&lt;br /&gt;
*A Windows, Linux or Mac OS computer&lt;br /&gt;
*A PINE64 eMMC module&lt;br /&gt;
*The PINE64 USB-to-eMMC adapter&lt;br /&gt;
&lt;br /&gt;
'''Flashing eMMC using the adapter'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
*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. &lt;br /&gt;
*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.  &lt;br /&gt;
&lt;br /&gt;
Once the image has been flashed using your preferred method safely dismount the USB adapter 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.&lt;br /&gt;
&lt;br /&gt;
== Instructions for Flashing Integral eMMC ==&lt;br /&gt;
&lt;br /&gt;
As an alternative to a removable eMMC module, some devices come with an integral chip that cannot feasibly be removed. These devices include the PinePhone, PinePhone Pro, PineTab, and PineNote. In addition, the following techniques can also be used to flash a removable eMMC when it is not desirable to open the device, when a eMMC to USB adapter is not available, when a second device is not available, or for some other reason.&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC from a SD Boot ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
There are '''two ways''' in which an OS image can be flashed from within a micro SD boot: &lt;br /&gt;
&lt;br /&gt;
*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 &amp;lt;code&amp;gt;sudo ./Pine64_install_to_eMMC.sh&amp;lt;/code&amp;gt;. Follow the instructions. &lt;br /&gt;
&lt;br /&gt;
*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 [[Getting started#Imaging_microSD_on_Linux|imaging OS images to SD card on Linux]]. &lt;br /&gt;
&lt;br /&gt;
For the latter of the two methods here is a summary of the process: &lt;br /&gt;
&lt;br /&gt;
*Flash an OS image which recognizes eMMC as mounted storage to a micro SD card. For details on how to flash a micro SD card see [[Getting started#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards|section 3]] &lt;br /&gt;
&lt;br /&gt;
*Insert both the micro SD and eMMC module into your device and power it on.&lt;br /&gt;
&lt;br /&gt;
*Once the PINE64 device boots from micro SD, you cannot flash the contents of the micro SD card to the eMMC while you are running from the micro SD so you will actually use this session to download an OS image to flash to the eMMC. Depending on the distribution this may be the same image you just flashed to the micro SD card and booted from.&lt;br /&gt;
&lt;br /&gt;
*Once the OS image downloads check in terminal or in Disks utility the eMMC's mounting location and unmount all but &amp;quot;/&amp;quot;. Example command to show disks and mounts:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ lsblk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Use the DD command or Disks utility to flash the downloaded image to the eMMC module. Note your output device may be mmcblk1 or mmcblk2, use the command above to verify the correct one. Example DD command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ xzcat imagename.img.xz | sudo dd of=/dev/mmcblk1 bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using FEL (Allwinner A64 Devices Only) ===&lt;br /&gt;
&lt;br /&gt;
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 [https://linux-sunxi.org/FEL SUNXI Wiki section] dedicated to the subject. &lt;br /&gt;
&lt;br /&gt;
The process of flashing via FEL is more complex than utilising a micro SD and is therefore '''better suited for proficient and advanced users'''.  &lt;br /&gt;
&lt;br /&gt;
For the process of flashing an image to the eMMC on a device in FEL mode you will need: &lt;br /&gt;
*A computer running Mac OS or Linux&lt;br /&gt;
*An OTG USB A-to-A cable &lt;br /&gt;
&lt;br /&gt;
To enter FEL you will need to: &lt;br /&gt;
*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. &lt;br /&gt;
*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].&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The next step is to mount your device so that your computer recognizes 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 steps: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git clone &amp;lt;nowiki&amp;gt;https://github.com/ayufan-pine64/boot-tools.git&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd boot-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;make pinebook_ums&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;make pine64_ums&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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''.  &lt;br /&gt;
&lt;br /&gt;
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 [[Getting started#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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using Rockchip Tools (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using these tools you will need the following: &lt;br /&gt;
*A Windows, Mac OS or Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
'''Using Windows 7/8.1/10 ''' &lt;br /&gt;
You will need to download the [https://github.com/rockchip-linux/tools/tree/master/windows DriverAssistant aka Rockchip driver] as well as the [https://github.com/rockchip-linux/tools/tree/master/windows AndroidTool_Release] 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. &lt;br /&gt;
&lt;br /&gt;
Having installed the driver and flashing utility, follow these steps:&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*Place a jumper / short out the eMMC pins on the board (consult [https://files.pine64.org/doc/rock64/guide/ROCK64_Installing_Android_To_eMMC.pdf this PDF document] for more details.&lt;br /&gt;
*Insert one end of the A-to-A cable into your Windows PC and the other into your Rock64 OTG USB port (top)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*Start AndroidTool; make sure that it reports 'Found One Maskrom Device' (if it does not recognise your device, please repeat previous steps)&lt;br /&gt;
*Select either the latest Stock Android build or ayufan's Android TV build with the suffic -update. Download and the extract the chosen image.  &lt;br /&gt;
*In AndroidTool press the firmware tab and navigate to where you extracted the OS image and select it. &lt;br /&gt;
*Press the upgrade tab. You will be prompted when the flashing process is completed. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC. &lt;br /&gt;
&lt;br /&gt;
'''Using Linux or Mac OS'''&lt;br /&gt;
&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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. &lt;br /&gt;
*In terminal, download rkflashtool following instructions on [https://github.com/ayufan-rock64/android-7.1/blob/master/README.md ayufan's github]&lt;br /&gt;
*Extract the folder containing partitions of the OS image and place the script listed on ayufan's github in the folder&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*Check that your device is in loader mode by typing in the terminal &amp;lt;code&amp;gt;sudo rkflashtool n&amp;lt;/code&amp;gt;. If rkflashtool doesn't detect the Rock64 please repeat last 3 steps &lt;br /&gt;
*In terminal navigate to where you extracted the Android folder containing the OS partitions and the script and type &amp;lt;code&amp;gt;rkinstall&amp;lt;/code&amp;gt;; this will install the community Android TV build to eMMC. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC Android 'Update' OS Images on Linux (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
It is possible to flash Android 'update' images to the Rock64 eMMC using a Linux PC. This process requires a tool called [https://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 [https://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.   &lt;br /&gt;
&lt;br /&gt;
To flash the eMMC module using this method you will need the following: &lt;br /&gt;
*A Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*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'''.&lt;br /&gt;
*Download the [https://www.haoyuelectronics.com/service/RK3066/tools/linux/Linux_Upgrade_Tool_v1.2.tar.gz Linux Upgrade Tool] to your Linux PC and unarchived it. &lt;br /&gt;
*Extract the archived update Android OS image somewhere where you will remember its path&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo ./upgrade_tool uf /path/to/update.img&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Wait as the utility installs Android to eMMC on your Rock64. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
== Flashing u-boot to SPI Flash ==&lt;br /&gt;
&lt;br /&gt;
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 use of eMMC or microSD card. &lt;br /&gt;
&lt;br /&gt;
To find out more about which images can used in conjunction for SPI booting please see [https://github.com/ayufan-rock64/ ayufan's github].&lt;br /&gt;
&lt;br /&gt;
Writing u-boot to SPI Flash can be achieved in two ways:&lt;br /&gt;
&lt;br /&gt;
=== Using a Stand-Alone Image to Write u-boot to SPI ===&lt;br /&gt;
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 microSD card, the same as you would with any OS image (to learn how to flash OS images to microSD please follow steps outlined in [[Getting started#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards|Section 3]].&lt;br /&gt;
&lt;br /&gt;
'''Having flashed the image follow these steps''': &lt;br /&gt;
&lt;br /&gt;
*Insert the SD into the ROCK64&lt;br /&gt;
*Remove all other peripherals from the board &lt;br /&gt;
*'''Make sure that the eMMC module is disconnected from the board'''&lt;br /&gt;
*Apply power to the ROCK64&lt;br /&gt;
*Wait (few seconds) until the the LEDs on the board will blink continually&lt;br /&gt;
*Power off the board.&lt;br /&gt;
&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Using a Script on Linux OS Images ===&lt;br /&gt;
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 [[Getting started#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: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo ./rock64_write_spi_flash.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the script finishes its operation, power off your board and remove the microSD card.&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Erasing and Rewriting SPI === &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
{{hint|You can also erase SPI manually.}}&lt;br /&gt;
To do so, you need to download mtd-utils. on Debian or Ubuntu follow these instructions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install mtd-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo flash_eraseall /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Booting an OS image from USB 2.0/3.0 Storage ===&lt;br /&gt;
To boot an 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. &lt;br /&gt;
&lt;br /&gt;
Once you have u-boot on your SPI, the process of booting is very similar to booting from microSD or eMMC.&lt;br /&gt;
*Download one of the supported OS images for your PINE64 device&lt;br /&gt;
*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 [[Getting started#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.) &lt;br /&gt;
*Insert the USB storage device with the flashed OS image into one of the USB ports on your PINE64 device&lt;br /&gt;
*Apply power&lt;br /&gt;
&lt;br /&gt;
If you have followed all the steps correctly, the board should boot from your USB 2.0/3.0 storage device.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
{{Under construction}}&lt;br /&gt;
&lt;br /&gt;
A number of things can prevent the PINE64 board from booting up properly. The most common culprits of a failed boot are: (to find out more click [https://forum.pine64.org/showthread.php?tid=514 here])&lt;br /&gt;
&lt;br /&gt;
* Subpar or counterfeit microSD card&lt;br /&gt;
* Subpar Power Supply&lt;br /&gt;
* High resistance (thin) or a very long microUSB cable&lt;br /&gt;
* Failed imaging of the microSD card or eMMC module&lt;br /&gt;
&lt;br /&gt;
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 U-Boot using scripts located in the following directory: /usr/local/sbin&lt;br /&gt;
&lt;br /&gt;
* To navigate to the directory type (in terminal): &amp;lt;code&amp;gt;cd /usr/local/sbin&amp;lt;/code&amp;gt;&lt;br /&gt;
* You list all the available scripts by typing (in terminal): &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt;&lt;br /&gt;
* To run the script required update script run the following command: &amp;lt;code&amp;gt;sudo ./update_script.sh&amp;lt;/code&amp;gt; (substitute the relevant update script for &amp;lt;code&amp;gt;update_script&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
'''Troubleshooting Step by Step'''&lt;br /&gt;
&lt;br /&gt;
Follow these steps to determine the cause of your problem:&lt;br /&gt;
&lt;br /&gt;
* Check your PSU and microUSB cable ratings&lt;br /&gt;
* Download and image a base image of Linux&lt;br /&gt;
* Plug in power and Ethernet into your PINE64 device&lt;br /&gt;
* Watch Ethernet port LED activity&lt;br /&gt;
* Check your router for your device's IP&lt;br /&gt;
* Attempt to ssh into your device's from your computer&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If neither of the above mentioned scenarios fits the problem you are facing, please consult this thread (thanks to Ghost for compiling the list): https://forum.pine64.org/showthread.php?tid=680&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Guide]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook&amp;diff=12123</id>
		<title>Pinebook</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook&amp;diff=12123"/>
		<updated>2021-12-30T13:53:40Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: Added FAQ section from Pinebook 1080 Wiki as that was not linked anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Software and OS Image Downloads ==&lt;br /&gt;
=== [[Pinebook_Software_Release|Pinebook]] ===&lt;br /&gt;
Under [[Pinebook_Software_Release|'Pinebook 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. &lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Pinebook_Software_Release#Manjaro_ARM|'''Manjaro (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[Pinebook_Software_Release#Armbian|'''Armbian (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[Pinebook_Software_Release#KALI|'''KALI (microSD  and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[Pinebook_Software_Release#AOSC|'''AOSC (microSD and eMMC boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[Pinebook_Software_Release#KDE_Neon_Image|'''KDE Neon (microSD Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[Pinebook_Software_Release#Q4OS|'''Q4OS (microSD Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[Pinebook_Software_Release#DietPi|'''DietPi (microSD Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[Pinebook_Software_Release#Slackware|'''Slackware (microSD Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[Pinebook_Software_Release#Android_6.x_eMMC|'''Android 6.x (microSD and eMMC)''']]&lt;br /&gt;
&lt;br /&gt;
[[Pinebook_Software_Release#RISC_OS|'''RISC OS (microSD Boot)''']]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Quick Links to OS Images Build Sources===&lt;br /&gt;
'''Some of the provided OS images are still in &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;beta or nightly build&amp;lt;/span&amp;gt; and only fit for testing purposes. These images ought to be avoided for normal usage - use them at &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;your own risk&amp;lt;/span&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/ayufan-pine64/linux-build/releases/latest/ ayufan Linux]&lt;br /&gt;
* [https://github.com/ayufan-pine64/android-7.1/releases/latest/ ayufan Android 7.1]&lt;br /&gt;
* [https://downloads.blissroms.com/Bliss/Official/pinebook/ Pinebook Bliss OS]&lt;br /&gt;
* [https://dl.armbian.com/pinebook-a64/archive/ Pinebook Armbian]&lt;br /&gt;
* [https://github.com/anarsoul/linux-build/releases/latest Arch Linux XFCE]&lt;br /&gt;
* [https://sourceforge.net/projects/q4os/files/stable/ Q4OS]&lt;br /&gt;
&lt;br /&gt;
== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ==&lt;br /&gt;
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can instructions guides concerning disassembly of:&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process is the reverse order of removal guide'''&lt;br /&gt;
&lt;br /&gt;
* 14″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
* 14″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
* 14″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
* 11.6″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
* 11.6″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
* 11.6″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
&lt;br /&gt;
== Pinebook Information ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH - 14&amp;quot; Pinebook)&lt;br /&gt;
* Weight: 1.26Kg (14&amp;quot; Pinebook) &lt;br /&gt;
* Input Power: DC 5V @ 3A&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
* Based on Allwinner A64&lt;br /&gt;
[[File:Allwinner_A64.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* [https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php Quad-core ARM Cortex-A53 Processor@1152Mhz]&lt;br /&gt;
* A power-efficient ARM v8 architecture&lt;br /&gt;
* 64 and 32bit execution states for scalable high performance&lt;br /&gt;
* Support NEON Advanced SIMD (Single Instruction Multiple Data) instruction for acceleration of media and signal processing function&lt;br /&gt;
* Support Large Physical Address Extensions(LPAE)&lt;br /&gt;
* VFPv4 Floating Point Unit&lt;br /&gt;
* 32KB L1 Instruction cache and 32KB L1 Data cache&lt;br /&gt;
* 512KB L2 cache&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://www.arm.com/products/multimedia/mali-gpu/ultra-low-power/mali-400.php ARM Mali400MP2 Dual-core GPU]&lt;br /&gt;
* Support OpenGL ES 2.0 and OpenVG 1.1 standard&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* System RAM Memory: 2GB&lt;br /&gt;
* Storage Memory: 16GB eMMC module, can be upgrade to 32GB or 64GB eMMC module&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000mAH)&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* Mini Digital Video Port (Type A - mini)&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi 802.11 b/g/n with Bluetooth 4.0&lt;br /&gt;
* 10/100Mbps USB Ethernet Dongle (Optional)&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
* microSD - bootable, support SDHC and SDXC, storage up to 256GB&lt;br /&gt;
* USB -	2 USB2.0 Host port&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* mini Digital Video port&lt;br /&gt;
* microSD card port - support SD, SDHC, SDXC uo to 256GB&lt;br /&gt;
* 2x USB 2.0 port &lt;br /&gt;
* earphone plug with UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Pinebook Schematics and Certifications ==&lt;br /&gt;
* Pinebook A64 Main Board Schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/pinebook/pinebook_mainboard_schematic_3.0.pdf Pinebook Main Board Schematic]&lt;br /&gt;
* Pinkbook Daughter Board Schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/pinebook/pinebook_smallboard_schematic_1.0.pdf Pinebook Daughter Board Schematic]&lt;br /&gt;
* Pinkbook Serial Console Earphone Jack Pinout:&lt;br /&gt;
** [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]&lt;br /&gt;
&lt;br /&gt;
* Pinebook Certifications:&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20FCC%20certification%20VOC20170928.pdf Pinebook FCC Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20FCC%20ID-Spread%20Spectrum%20Transmitter.pdf Pinebook FCC ID-Spread Spectrum Transmitter Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20FCC%20ID-Digital%20Transmission%20System.pdf Pinebook FCC ID-Digital Transmission System Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20CE%20certification%20Micom20171207.pdf Pinebook CE Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20ROHS%20certification%20VOC20170918.pdf Pinebook RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Allwinner A64 SoC information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/A64%20brief%20v1.0%2020150323.pdf Allwinner A64 SoC Brief Introduction]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf Allwinner A64 SoC Data Sheet V1.1 (Official Released Version)]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf Allwinner A64 SoC User Manual V1.0 (Official Release Version)]&lt;br /&gt;
* X-Powers AXP803 PMU (Power Management Unit) information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf AXP803 PMIC Datasheet]&lt;br /&gt;
* LPDDR3 information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/AWL3A1632_mobile_lpddr3_1600Mbps.pdf Allwinner LPDDR3 Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/FORESEE%20178ball%2012x11.5%20LPDDR3%2016G%20Spec%20V1.0-1228.pdf Foresee LPDDR3 Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/K4E6E304EE-EGCE.pdf Samsung LPDDR3 Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/LPDDR3%20178ball%208Gb_H9CCNNN8JTALAR_Rev1.0.pdf Hynix LPDDR3 Datasheet]* eMMC information:&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/FORESEE_eMMC_NCEMASD9-08G%20SPEC%20A0%2020150818.pdf Foresee eMMC Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/E-00517%20FORESEE_eMMC_NCEMAM8B-16G%20SPEC.pdf 16GB Foresee eMMC Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 32GB/64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/GD25Q128C-Rev2.5.pdf GigaDevice 128Mb SPI Flash Datasheet]&lt;br /&gt;
* Wifi/BT module information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf Realtek RTL8723BS WiFi with BT SDIO]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinebook/11.6inches-1080P-IPS-LCD-Panel-spec-WJFH116008A.pdf 1920x1080 1080P 11.6&amp;quot; IPS LCD Panel datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinebook/11.6inches-TFT-LCD%20Approval%20Specification%20N116BGE-E42%20Ver%203.0.pdf 1366x768 11.6&amp;quot; TFT LCD Panel datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinebook/14inches-HB140WX1-501(%20EDP1.2)%20Preliminary%20Product%20specification.pdf 1366x768 14&amp;quot; TFT LCD Panel datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinebook/11-Toucpad-HK-9058%20specification.pdf Touchpad Specification for 11.6&amp;quot; model]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinebook/14-Touchpad-HK-9562%20specification.pdf Touchpad Specification for 14&amp;quot; model]&lt;br /&gt;
* Camera sensor:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinebook/ZC-RZ3762-3703%C2%A0S1.0-Camera-Module%20spec.pdf VGA Camera module specification]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinebook/VGA-CMOS-Sensor--BF3703%20Datasheet.pdf VGA Camera Sensor Data Sheet]&lt;br /&gt;
* Lithium Battery information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinebook/PL5267103P-3.7V-10000mAh-1S2P58-9-W101-7P正向-11.6.pdf 10000mAH Lithium Battery Specification for 11.6&amp;quot; model]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14&amp;quot; model]&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://linux-sunxi.org/Pine_Pinebook Linux Sunxi Wiki page on Pinebook]&lt;br /&gt;
* [https://github.com/ayufan-pine64/linux-build/releases Pinebook Linux Github by ayufan]&lt;br /&gt;
* [https://github.com/ayufan-pine64/android-7.1/releases Pinebook Android Github by ayufan]&lt;br /&gt;
* [https://www.armbian.com/pinebook-a64 Armbian's Pinebook Page]&lt;br /&gt;
&lt;br /&gt;
== FAQ / Tips and tricks ==&lt;br /&gt;
'''Key left of Z ( \ | )'''&lt;br /&gt;
&lt;br /&gt;
How to map the key next to Z to the symbols on \ and | (rather than &amp;lt;&amp;gt;) ?&lt;br /&gt;
&lt;br /&gt;
Choose the alternative international US keyboard layout and variant. The name will depend on you desktop environment:&lt;br /&gt;
&lt;br /&gt;
* English (US, alt. intl.)&lt;br /&gt;
* English (US, international AltGr Unicode combining, alternative)&lt;br /&gt;
* English (US, alternative international)&lt;br /&gt;
&lt;br /&gt;
'''Note:''' keyboard variants with similar names as the ones above change the upper left key for ` and ~. You have to press that key twice to get the desired char. This happens with the alt-intl variant. Choose the altgr-intl variant (or however it is called in your desktop environment) and it should work as expected.&lt;br /&gt;
&lt;br /&gt;
To set the keyboard layout and variant in the terminal for X-Windows use:&lt;br /&gt;
&lt;br /&gt;
 setxkbmap -layout us -variant altgr-intl&lt;br /&gt;
&lt;br /&gt;
The Archlinux Wiki has some good help if you need to tweak your layout further [https://wiki.archlinux.org/index.php/Xorg/Keyboard_configuration#Setting_keyboard_layout] &lt;br /&gt;
&lt;br /&gt;
'''Key between Fn and Alt (Menu)'''&lt;br /&gt;
&lt;br /&gt;
How to map the key between Fn and Alt to SUPER / META ?&lt;br /&gt;
&lt;br /&gt;
The initial setup in many desktop environments maps the key between Fn and Alt to MENU. Although the menu key can be useful as well (e.g. spell correction in the browser) many desktop environments and window manager use the Super key for many other useful functions. And users are probably more used to have the META key near Ctrl and Alt.&lt;br /&gt;
&lt;br /&gt;
In X-windows the following command maps the key between Fn and Alt to META and the Caps-Lock key to MENU.&lt;br /&gt;
&lt;br /&gt;
 setxkbmap -option caps:menu,altwin:alt_super_win&lt;br /&gt;
&lt;br /&gt;
'''Set display brightness in the terminal'''&lt;br /&gt;
&lt;br /&gt;
To set the display brightness in the terminal use xbacklight (if available in your distro): &lt;br /&gt;
&lt;br /&gt;
 xbacklight -setXX &lt;br /&gt;
&lt;br /&gt;
XX is the percentage (%) of brightness. E.g. for 70% brightness&lt;br /&gt;
&lt;br /&gt;
 xbacklight -set70&lt;br /&gt;
&lt;br /&gt;
If you use LXQt you can also use:&lt;br /&gt;
 pkexec lxqt-backlight_backend --inc&lt;br /&gt;
 pkexec lxqt-backlight_backend --dec&lt;br /&gt;
&lt;br /&gt;
For an alternative solution please see the scripts discussed in this thread: [https://forum.pine64.org/showthread.php?tid=5062]&lt;br /&gt;
&lt;br /&gt;
'''Get battery % in CLI'''&lt;br /&gt;
&lt;br /&gt;
As ACPI is not compatible with ARM, to gather the % battery this can be used:&lt;br /&gt;
&lt;br /&gt;
 cat /sys/class/power_supply/battery/capacity&lt;br /&gt;
&lt;br /&gt;
'''Firefox font size'''&lt;br /&gt;
&lt;br /&gt;
How to get a useful font size with firefox ?&lt;br /&gt;
&lt;br /&gt;
To have every web page displayed in a larger more readable font size type about:config in the search bar and confirm on the first page that you want to make changes. Then search for this parameter:&lt;br /&gt;
&lt;br /&gt;
 layout.css.devPixelsPerPx&lt;br /&gt;
&lt;br /&gt;
and modify the value (right click) to something between 1.2 to 1.5 depending on your preferences.&lt;br /&gt;
&lt;br /&gt;
In addition to that you can set in Preferences -&amp;gt; General -&amp;gt; Fonts &amp;amp; Color -&amp;gt; Advanced Minimum font size to 16&lt;br /&gt;
&lt;br /&gt;
'''Disable wireless power management'''&lt;br /&gt;
&lt;br /&gt;
If having issues with wifi connectivity, try to disable power management in the 8723cs module options, adding rtw_power_mgnt=0 in /etc/modprobe.d/8723cs.conf&lt;br /&gt;
&lt;br /&gt;
 options 8723cs rtw_initmac=00:ba:ch:16:85:46 rtw_power_mgnt=0&lt;br /&gt;
&lt;br /&gt;
'''Touchpad acceleration and scroll direction.'''&lt;br /&gt;
&lt;br /&gt;
To set touchpad parameters from the cli you can use the command ''xinput''.&lt;br /&gt;
To use it correctly you first need to determine the device id / name for your touchpad. Use &lt;br /&gt;
 xinput list&lt;br /&gt;
to do so.&lt;br /&gt;
You are looking for a line like this:&lt;br /&gt;
 HAILUCK CO.,LTD USB KEYBOARD Mouse      	id=7	[slave  pointer  (2)]&lt;br /&gt;
&lt;br /&gt;
With the device id = 7 found you can list the parameters that can be set with ''xinput''.&lt;br /&gt;
 xinput list-props 7&lt;br /&gt;
&lt;br /&gt;
The result looks similar to this:&lt;br /&gt;
 device 'HAILUCK CO.,LTD USB KEYBOARD Mouse':&lt;br /&gt;
 ...&lt;br /&gt;
 libinput Natural Scrolling Enabled (256):	0&lt;br /&gt;
 ...&lt;br /&gt;
 libinput Accel Speed (265):	0.000000&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
To change the parameter use ''xinput set-prop''&lt;br /&gt;
&lt;br /&gt;
To set reverse scrolling for the touchpad use this command &lt;br /&gt;
 xinput set-prop 7 'libinput Natural Scrolling Enabled' 1&lt;br /&gt;
&lt;br /&gt;
To set mouse speed&lt;br /&gt;
 xinput set-prop 7 'libinput Accel Speed' 0.95&lt;br /&gt;
Check different numbers for 0.95 to meet your needs.&lt;br /&gt;
&lt;br /&gt;
For more details on xinput and mouse speed also see the Archlinux Wiki [https://wiki.archlinux.org/index.php/Mouse_acceleration#Using_xinput]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PineBook]] [[Category:Allwinner A64]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineCone&amp;diff=9419</id>
		<title>PineCone</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineCone&amp;diff=9419"/>
		<updated>2021-03-11T11:47:01Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Loading code */ added blflash&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|Page under construction, information subject to change.}}&lt;br /&gt;
[[File:Pine64_BL602_EVB_photo-3-small.jpg|thumb|PineCone BL602 EVB (Evaluation Board)]]&lt;br /&gt;
&lt;br /&gt;
== BL602 Specifications ==&lt;br /&gt;
* '''CPU:''' 32-bit RV32IMAFC RISC-V “SiFive E24 Core”&lt;br /&gt;
** [https://www.sifive.com/cores/e24 SiFive E24 Core information]&lt;br /&gt;
* '''Memory:'''&lt;br /&gt;
** 128KB ROM&lt;br /&gt;
** 276KB SRAM&lt;br /&gt;
** 1Kb eFuse&lt;br /&gt;
** 2MB Embedded Flash&lt;br /&gt;
* '''Security:'''&lt;br /&gt;
** Secure boot&lt;br /&gt;
** Secure debug&lt;br /&gt;
** AES 128/192/256&lt;br /&gt;
** SHA-1/224/256&lt;br /&gt;
** TRNG (True Random Number Generator)&lt;br /&gt;
** PKA (Public Key Accelerator)&lt;br /&gt;
* '''Wireless:'''&lt;br /&gt;
** Wi-Fi 802.11 b/g/n&lt;br /&gt;
** Bluetooth® Low Energy 5.0&lt;br /&gt;
** Wi-Fi Fast connection with BLE assistance&lt;br /&gt;
** Wi-Fi and BLE coexistence&lt;br /&gt;
** Wi-Fi Security WPS/WEP/WPA/WPA2/WPA3&lt;br /&gt;
** STA, SoftAP and sniffer modes&lt;br /&gt;
** Multi-Cloud connectivity&lt;br /&gt;
** 2.4 GHz RF transceiver&lt;br /&gt;
** Integrated RF balun, PA/LNA&lt;br /&gt;
* '''Package Type:'''&lt;br /&gt;
** 32 pin QFN 4mm x 4mm&lt;br /&gt;
* JTAG support (See below for BL602 impact)&lt;br /&gt;
&lt;br /&gt;
[[File:BL602_Block_Diagram.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== JTAG ==&lt;br /&gt;
{| class=&amp;quot;wikitable floatright&amp;quot;&lt;br /&gt;
|+ Default JTAG pins&lt;br /&gt;
|-&lt;br /&gt;
| GPIO Pin || JTAG Pin&lt;br /&gt;
|-&lt;br /&gt;
| GPIO17 || TDI&lt;br /&gt;
|-&lt;br /&gt;
| GPIO11 || TDO&lt;br /&gt;
|-&lt;br /&gt;
| GPIO12 || TMS&lt;br /&gt;
|-&lt;br /&gt;
| GPIO14 || TCK&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
BL602 multiplexes four GPIO pins to provide the familiar JTAG lines. See the accompanying table for the default pin mappings.&lt;br /&gt;
&lt;br /&gt;
These are the default JTAG pins in use after a cold boot. However, many pieces of software, including the demo that's installed by default on new PineCones, remap these pins to other functions. You cannot use the default wiring for JTAG while such software is running. This issue is especially prevalent on the PineCone because three of the default JTAG pins are connected to the onboard RGB LED. Nothing about the LED itself interferes with JTAG, but any program that uses the LED will necessarily remap some of the default JTAG pins to be GPIO.&lt;br /&gt;
&lt;br /&gt;
The MaskROM download mode that the BL602 enters when you tie GPIO8 high does '''not''' remap the default JTAG pins, and so you can and should use that mode while checking basic functionality of your JTAG adapter.&lt;br /&gt;
&lt;br /&gt;
Note that, just as software can remap the default JTAG pins to be something else, it can also remap other pins to be JTAG. Control over this is quite granular, with 5-6 candidate pins for each individual JTAG signal that can be mapped independently of one another. LEE Lup Yuen has written some [https://lupyuen.github.io/articles/openocd#free-the-led-from-jtag-port sample code] showing how to remap the JTAG pins so that your software can use the LED without giving up support for debugging.&lt;br /&gt;
&lt;br /&gt;
== Pine64 USB JTAG Adapter information and schematics ==&lt;br /&gt;
* [https://files.pine64.org/doc/Pinenut/PINE64%20USB%20JTAG%20Adapter%20Schematic-20201215.pdf PINE64 USB JTAG Adapter schematic 20202018 1.0]&lt;br /&gt;
* [[:File:PINE64_USB_JTAG_Adapter_Schematic_ver_1.0a-20210109.pdf|PINE64 USB JTAG Adapter schematic 20210109 1.0a]]&lt;br /&gt;
&lt;br /&gt;
== PineCone BL602 EVB information and schematics ==&lt;br /&gt;
* Approximate dimensions: 26mm x 43mm&lt;br /&gt;
* Board layout:&lt;br /&gt;
[[File:PADI-II_EVB.png]]&lt;br /&gt;
* [https://files.pine64.org/doc/Pinenut/Pine64%20BL602%20EVB%20Schematic%20ver%201.1.pdf PineCone BL602 EVB schematic ver 1.1]&lt;br /&gt;
** Note: In PineCone revision 1.1 (&amp;quot;BL62B_EVB V1.1&amp;quot; silkscreened on back of board), CC1 and CC2 share one 5.1KΩ resistor. This means the board will fail to power when you use an e-marked USB-C cable like the one that comes with Apple chargers. See [https://medium.com/@leung.benson/how-to-design-a-proper-usb-c-power-sink-hint-not-the-way-raspberry-pi-4-did-it-f470d7a5910 this article] for details of why this happens. The next schematic design will give each line its own 5.1KΩ resistor as per the USB-C specification.&lt;br /&gt;
* The board uses a CH340 Serial/USB adapter. This chip is commonly used in Arduino-class development boards. It is a full speed (12Mbps) USB interface and has vendor ID 0x1a86 with product ID 0x7523.&lt;br /&gt;
* The GPIO pins (11, 12, 14, 17) plus the nearby RESET, POWER, and GND pins are all located on one side of the board, on J1 to provide JTAG connection.&lt;br /&gt;
&lt;br /&gt;
== Pinenut-01S Module information and schematics ==&lt;br /&gt;
[[File:Pinenut-01S_PCB-Front.png|225px]][[File:Pinenut-01S_PCB-Back.png|225px]]&lt;br /&gt;
* [https://files.pine64.org/doc/Pinenut/Pinenut-01S%20V1.01%20SCH.pdf Pinenut-01S schematic ver 1.01]&lt;br /&gt;
* [https://wiki.pine64.org/images/6/6b/PineNut-01S_v1.01_KiCad.zip PineNut-01S KiCad schematic ver 1.01]&lt;br /&gt;
* [https://files.pine64.org/doc/Pinenut/NUT-01S%20GPIO%20Definition%20ver%201.0.pdf Pinenut-01S GPIO Definition ver 1.0]&lt;br /&gt;
* [https://files.pine64.org/doc/Pinenut/USB%20Adapter%20for%20Pinenut-01S%20Schematic%20V1.0.pdf USB Programmer adapter for Pinenut-01S schematic ver 1.0]&lt;br /&gt;
&lt;br /&gt;
== Pinenut-12S Module information ==&lt;br /&gt;
[[File:NUT-12S_module-front.jpg|200px]][[File:NUT-12S_module-back.jpg|200px]]&lt;br /&gt;
* [https://files.pine64.org/doc/Pinenut/NUT-12S%20GPIO%20Definition%20ver%201.0.pdf Pinenut-12S GPIO Definition ver 1.0]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Datasheets for components and peripherals ==&lt;br /&gt;
* Bouffalo BL-602 SoC information:&lt;br /&gt;
** [https://github.com/bouffalolab/bl_docs Bouffalo Lab's official bl_docs repository]: should always contain the latest SoC documentation available, in PDF, HTML, and reStructuredText source forms.&lt;br /&gt;
** [https://github.com/pine64/bl602-docs/tree/main/mirrored PINE64's bl602-docs repository]: contains an archive of all historical datasheets and reference manual PDFs but may lag behind Bouffalo's official repository. If you notice that it is, please submit a pull request!&lt;br /&gt;
* USB/Serial adapter:&lt;br /&gt;
** [https://cdn.sparkfun.com/datasheets/Dev/Arduino/Other/CH340DS1.PDF CH340 serial converter]&lt;br /&gt;
&lt;br /&gt;
== Misc notes ==&lt;br /&gt;
Planned to be available in at least three form factors:&lt;br /&gt;
* NUT-01S -&amp;gt; ESP-01S&lt;br /&gt;
* NUT-12S -&amp;gt; ESP-12S&lt;br /&gt;
* NUT-15 -&amp;gt; RTL8723/AMPAK&lt;br /&gt;
&lt;br /&gt;
== Loading code ==&lt;br /&gt;
To load code, you must move the jumper to the edge closest to the board, press reset, load the code, move the jumper back toward the center of the board, and press reset again.&lt;br /&gt;
&lt;br /&gt;
There are currently a number of loaders in progress, each with differing degrees of completeness and success on various operating systems.&lt;br /&gt;
* In the build tree, there is BLFlashCube for Windows, which is a proprietary GUI for flashing images. Linux and macOS binaries are available via [https://dev.bouffalolab.com/download Bouffalo Lab's developer portal].&lt;br /&gt;
* [https://github.com/stschake/bl60x-flash bl60x-flash] is in Python and has been reported successful on MacOS catalina (10.15.6) by Punnerud and madushan1000.&lt;br /&gt;
* [https://github.com/bouffalolab/BLOpenFlasher BLOpenFlasher] is a WIP, written in go, by Bouffalo Labs to provide source for a flash utility.&lt;br /&gt;
* [https://github.com/renzenicolai/bl602tool bl602tool] is a Python utility in development.&lt;br /&gt;
* [https://pypi.org/project/bflb-eflash-loader/ Bouffalo's Python Flash Loader] is a new (Dec 20) flash loader by the makers of the chip.&lt;br /&gt;
* [https://pypi.org/project/bflb-image-build/ Bouffalo's image build] smooshes code and adds headers for downloads.&lt;br /&gt;
* [https://github.com/spacemeowx2/blflash blflash serial flasher] BL602 serial flasher, inspired by BLOpenFlasher&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
* [https://github.com/pine64/bl_iot_sdk PineCone BL602 GitHub Page (PINE64 fork)] has compilers, linkers, and all the code to build on Windows, Linux (x86_64), and MacOS.&lt;br /&gt;
* [https://github.com/bouffalolab/bl_iot_sdk Bouffalo Lab GitHub Page]&lt;br /&gt;
* [https://github.com/renzenicolai/bl602-docs/ BL602 Developer organize documentation GitHub Page]&lt;br /&gt;
* [https://github.com/renzenicolai/bl602tool BL602 Developer organize tool GitHub Page]&lt;br /&gt;
* [https://github.com/stschake/bl60x-flash Programming tool for Bouffalo Labs BL602/BL604 chips]&lt;br /&gt;
* [https://github.com/pine64/bl602-re BL602 reverse engineering working group]&lt;br /&gt;
* [https://github.com/pine64/bl602-sdio-linux Linux kernel module]&lt;br /&gt;
* [https://github.com/tchebb/bl602-docs BL602 Documentation]&lt;br /&gt;
* [https://github.com/spacemeowx2/blflash BL602 serial flasher]&lt;br /&gt;
* [https://github.com/mkroman/awesome-bouffalo#feature-matrix Awesome Bouffalo]&lt;br /&gt;
&lt;br /&gt;
== Articles and Blogs ==&lt;br /&gt;
* [https://lupyuen.github.io/articles/pinecone Quick Peek of PineCone BL602 RISC-V Evaluation Board by Lup Yuen]&lt;br /&gt;
* [https://maero.dk/bl602-firmware-image-format/ Documenting the BouffaloLab BL602 firmware image format by MK]&lt;br /&gt;
* [https://lupyuen.github.io/articles/openocd Connect PineCone BL602 to OpenOCD by Lup Yuen]&lt;br /&gt;
* [https://lupyuen.github.io/articles/debug Debug Rust on PineCone BL602 with VSCode and GDB by Lup Yuen]&lt;br /&gt;
* [https://lupyuen.github.io/articles/mynewt Porting Mynewt to PineCone BL602 by Lup Yuen]&lt;br /&gt;
* [https://lupyuen.github.io/articles/flash Flashing Firmware to PineCone BL602 by Lup Yuen]&lt;br /&gt;
* [https://lupyuen.github.io/articles/led Control PineCone BL602 RGB LED with GPIO and PWM by Lup Yuen]&lt;br /&gt;
* [https://lupyuen.github.io/articles/gpio Mynewt GPIO ported to PineCone BL602 RISC-V Board by Lup Yuen]&lt;br /&gt;
* [https://lupyuen.github.io/articles/i2c PineCone BL602 talks to I2C Sensors by Lup Yuen]&lt;br /&gt;
* [https://lupyuen.github.io/articles/spi PineCone BL602 talks SPI too! by Lup Yuen]&lt;br /&gt;
* [https://lupyuen.github.io/articles/display PineCone BL602 Blasting Pixels to ST7789 Display with LVGL Library by Lup Yuen]&lt;br /&gt;
* [https://lupyuen.github.io/articles/uart PineCone BL602 Talks UART to Grove E-Ink Display by Lup Yuen]&lt;br /&gt;
* [https://lupyuen.github.io/articles/book The RISC-V BL602 Book by Lup Yuen]&lt;br /&gt;
* [https://lupyuen.github.io/articles/lora Connect PineCone BL602 to LoRa Transceiver by Lup Yuen]&lt;br /&gt;
* [https://lupyuen.github.io/articles/wisblock RAKwireless WisBlock talks LoRa with PineCone BL602 RISC-V Board by Lup Yuen]&lt;br /&gt;
&lt;br /&gt;
[[Category:Nutcracker]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=8287</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=8287"/>
		<updated>2020-11-26T17:18:39Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* X-Windows &amp;amp; trackpad settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= User Guide =&lt;br /&gt;
== Introducing PineBook Pro == &lt;br /&gt;
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
It's compact and slim dimensions are 329mm x 220mm x 12mm (WxDxH).&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
The keyboard and trackpad both use the USB 2.0 protocol.  The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects.  These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation; e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [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.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook Pro_Software_Release|Pinebook Pro images]] ===&lt;br /&gt;
Under [[Pinebook Pro Software Release|'Pinebook Pro Software Release/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. &lt;br /&gt;
&lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#elementary OS|'''elementary OS 6 (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#Manjaro ARM|'''Manjaro ARM (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#Debian Desktop|'''Debian Desktop (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#Bionic LXDE|'''Bionic LXDE (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#Bionic Mate|'''Bionic Mate (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#Fedora|'''Fedora (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#OpenSUSE|'''OpenSUSE (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#Armbian|'''Armbian (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#NetBSD|'''NetBSD (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[Pinebook_Pro_Software_Release#OpenBSD|'''OpenBSD release for ARM64''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#Arch_Linux|'''Arch Linux ARM installer (microSD and USB boot)''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#Android_7.1_microSD|'''Android 7.1 (microSD Boot)''']] &lt;br /&gt;
&lt;br /&gt;
[[File:Android_7.png|125px]]] [[PinebookPro_Software_Release#Android_7.1_eMMC|'''Android 7.1 (eMMC)''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#Daniel_Thompson.27s_Debian_Installer_for_the_Pinebook_Pro|'''Debian Installer for Pinebook Pro''']]&lt;br /&gt;
&lt;br /&gt;
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]&lt;br /&gt;
&lt;br /&gt;
[[PinebookPro_Software_Release#Kali_Linux_for_Pinebook_Pro|'''Kali Script for Pinebook Pro (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
=== Quick Links to OS Images Build Sources===&lt;br /&gt;
'''Some of the provided OS images are still in &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;beta or nightly build&amp;lt;/span&amp;gt; and only fit for testing purposes. These images ought to be avoided for normal usage - use them at &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;your own risk&amp;lt;/span&amp;gt;'''&lt;br /&gt;
* [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) &lt;br /&gt;
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]&lt;br /&gt;
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and 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.   &lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility. &lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. &lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
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. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = WiFi enabled / killswitch disabled, 3 blinks = WiFi disabled / killswitch enabled.&lt;br /&gt;
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)'''&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware 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.&lt;br /&gt;
&lt;br /&gt;
== Trackpad ==&lt;br /&gt;
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. &lt;br /&gt;
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The trackpad controller is connected to the keyboard controller. All trackpad events go through the keyboard controller and it's software, then to the keyboard controller's USB port. Note that the trackpad does have separate firmware, (which has to be written through the keyboard controller).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' &lt;br /&gt;
&lt;br /&gt;
Before you start:&lt;br /&gt;
&lt;br /&gt;
Please refer to original documentation for details.&lt;br /&gt;
&lt;br /&gt;
Your Pinebook Pro should be either fully charged or, preferably, running off 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO and ANSI. You need to know which model you have prior to running the updater. &lt;br /&gt;
Firmware update steps for both models are listed below.  &lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
*Your Pinebook Pro fully charged or running off of mains power&lt;br /&gt;
*Connection to WiFi&lt;br /&gt;
*An external USB keyboard &amp;amp; mouse (or access to the Pinebook Pro via SSH)&lt;br /&gt;
&lt;br /&gt;
'''ISO Model''' &lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''ANSI Model''' &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; Running step 1 on the ANSI keyboard model will make the keyboard and trackpad inaccessible until step 2 is ran, so an external keyboard must be connected to complete the update on this model!&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS shipped with English UK as the default language. You can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
=== X-Windows &amp;amp; trackpad settings ===&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&amp;lt;/pre&amp;gt;&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To make the change persist across reboots, change the file &amp;lt;code&amp;gt;/etc/X11/xorg.conf&amp;lt;/code&amp;gt; similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;    Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&lt;br /&gt;
    EndSection&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line &amp;lt;code&amp;gt;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;lt;/code&amp;gt; is the change.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&lt;br /&gt;
synclient TapButton1=1&lt;br /&gt;
synclient TapButton2=3&lt;br /&gt;
synclient TapButton3=2&lt;br /&gt;
synclient FingerLow=30&lt;br /&gt;
synclient PalmDetect=1&lt;br /&gt;
synclient VertScrollDelta=64&lt;br /&gt;
synclient HorizScrollDelta=64&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FingerLow&amp;lt;/code&amp;gt; has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;TabButton&amp;lt;/code&amp;gt; allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;right mouse click&amp;lt;/code&amp;gt; is emulated by tapping with two fingers on the trackpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&amp;lt;pre&amp;gt; synclient MaxTapTime=250 &amp;lt;/pre&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC @ 3A&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 15W PD quickcharge&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total there are four LEDs on the Pinebook Pro, three of which are placed in the top left side of the keyboard, and one near the barrel-port: &lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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). &lt;br /&gt;
&lt;br /&gt;
:3. The Num lock, green LED.&lt;br /&gt;
&lt;br /&gt;
:4. The Caps lock, green LED.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
* Streaming video resolutions supported, (un-compressed):&lt;br /&gt;
** 320 x 240 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Some people test with the application Cheese&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration; units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
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]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run alsamixer from the command line &amp;gt; hit F6 and select the es8316 &amp;gt; hit F4 to get to the capture screen &amp;gt; select the bar labeled ADC &amp;gt;&lt;br /&gt;
&amp;gt; increase the gain to 0dB &amp;gt; change the audio profile in pavucontrol to another with input&lt;br /&gt;
&lt;br /&gt;
Additionally:&lt;br /&gt;
you may want to modify ADC PGA to get the levels to where you want them&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna. &lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilites are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth once&lt;br /&gt;
sudo rfkill block bluetooth &amp;amp;&amp;amp; &lt;br /&gt;
&lt;br /&gt;
#confirm&lt;br /&gt;
rfkill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth on boot**&lt;br /&gt;
sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**This does not do what one might want on certain distros, Manjaro XFCE for example. Try the below.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
right click on the bluetooth panel icon &amp;gt; select 'plugins' &amp;gt; PowerManager &amp;gt; configuration &amp;gt; deselect the auto power on option&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60hz refresh rate&lt;br /&gt;
* IPS&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250nt brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6 bit colour&lt;br /&gt;
* 30 pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following;&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PBPUART.jpeg|400px|thumb|right|Headphone jack UART wiring reference.&lt;br /&gt;
&amp;lt;br&amp;gt; Swapping the tx and rx around from this also works and is more traditional.&lt;br /&gt;
&amp;lt;br&amp;gt; See [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf this] official Pine64 .pdf.]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [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.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.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. &lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ lsusb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.&lt;br /&gt;
&lt;br /&gt;
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook_Pro_Hardware_Accessory_Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with trackpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability at lower battery levels. And to reduce power used, to maintain battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown);&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
NVME Identify Controller:&lt;br /&gt;
...&lt;br /&gt;
ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
         rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
         rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
         rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
         rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
         rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
&lt;br /&gt;
$ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
set-feature:02 (Power Management), value:0x000002&amp;lt;/pre&amp;gt;&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme get-feature -f 0x0c -H /dev/nvme0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
*MicroSD&lt;br /&gt;
*eMMC&lt;br /&gt;
*NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card.  (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].  &lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
WARNING: Do not connect the bypass cables with the battery connected.  Using the bypass cables with the battery connected can permanently damage the computer.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Placeholder for Pinebook Pro specific guides&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process on Pinebook Pro similar to 14&amp;quot; Pinebook'''&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process is the reverse order of removal guide'''&lt;br /&gt;
&lt;br /&gt;
* 14″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
* 14″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
* 14″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook_Pro_SPI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/dev/mtd0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* The Linux package below, will need to be available:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;mtd-utils&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* You can then use this program from the package to write the SPI device:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;flashcp &amp;amp;lt;filename&amp;amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
What cool software works out of the box? [[Pinebook Pro OTB Experience]]&lt;br /&gt;
&lt;br /&gt;
= Software tuning guide =&lt;br /&gt;
Details on how to get the most out of a Pinebook Pro &amp;amp; its RK3399 SoC.&lt;br /&gt;
&lt;br /&gt;
== Customizing the Pinebook Pro's default Manjaro KDE system ==&lt;br /&gt;
=== Watching DRM content (Netflix, etc.) ===&lt;br /&gt;
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 &amp;quot;chromium-docker&amp;quot; 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:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pacman -Sy chromium-docker&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Checking GPU capabilities ===&lt;br /&gt;
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 &amp;quot;mesa-demos&amp;quot; package with:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pacman -Sy mesa-demos&amp;lt;/pre&amp;gt;&lt;br /&gt;
And then run:&lt;br /&gt;
&amp;lt;pre&amp;gt;glxinfo | grep OpenGL&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will give detailed information about your graphics card and driver, useful for debugging.&lt;br /&gt;
&lt;br /&gt;
=== Better GPU compatibility and performance ===&lt;br /&gt;
For better graphics performance, you may install the &amp;quot;mesa-git&amp;quot; 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:&lt;br /&gt;
&amp;lt;pre&amp;gt;pacman -Sy mesa-git&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then you may reboot to load the newer driver.&lt;br /&gt;
&lt;br /&gt;
With Mesa 20.2 there is no longer much reason to use this over the standard mesa package, and applications may occasionally break with mesa-git.&lt;br /&gt;
&lt;br /&gt;
[https://docs.mesa3d.org/bugs.html Reporting bugs] to the Mesa project will help make sure any problems are quickly fixed.&lt;br /&gt;
&lt;br /&gt;
=== OpenGL 3.3 support ===&lt;br /&gt;
By default, with the current state of the Panfrost GPU driver, the Pinebook Pro supports OpenGL 2.1 and OpenGL ES 3.0. If you want to use OpenGL 3.3, you need to set the system-wide environment variable, open the '''/etc/environment''' file with:&lt;br /&gt;
&amp;lt;pre&amp;gt;kate /etc/environment&amp;lt;/pre&amp;gt;&lt;br /&gt;
And then at the bottom of the file, on a new line, add:&lt;br /&gt;
&amp;lt;pre&amp;gt;PAN_MESA_DEBUG=&amp;quot;gl3&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then save the file, entering your password when prompted, and reboot the system. When you check your GPU capabilities, it should report OpenGL 3.3 and applications that rely on it should function properly. Note that GL 3.3 support is incomplete and some rendering features do not work yet, notably geometry shaders.&lt;br /&gt;
== Customizing the Pinebook Pro's previously-default Debian system ==&lt;br /&gt;
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])&lt;br /&gt;
&lt;br /&gt;
=== Initial user changes, password, name, etc ===&lt;br /&gt;
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.&lt;br /&gt;
&lt;br /&gt;
* 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)&lt;br /&gt;
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal&lt;br /&gt;
* Login as root (login: root, password: root)&lt;br /&gt;
* Set a strong password for the root user using the following command and it's prompts:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd (and follow prompts)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock user to your prefered username (replace myself with whatever you like):&lt;br /&gt;
&amp;lt;pre&amp;gt;# usermod -l myself -d /home/myself -m rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock group to match your preferred username:&lt;br /&gt;
&amp;lt;pre&amp;gt;# groupmod -n myself rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Put your name in the account, (replace &amp;quot;John A Doe&amp;quot; with your name):&lt;br /&gt;
&amp;lt;pre&amp;gt;# chfn -f &amp;quot;John A Doe&amp;quot; myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set a strong password for the normal user:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Log out of the text terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;# logout&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user&lt;br /&gt;
* Open text terminal to fix login error: &amp;quot;Configured directory for incoming files does not exist&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ blueman-services&amp;lt;/pre&amp;gt;&lt;br /&gt;
Select &amp;quot;Transfer&amp;quot; tab and set &amp;quot;Incoming Folder&amp;quot; to myself&lt;br /&gt;
OR&lt;br /&gt;
If adduser is in distro, this is MUCH easier&lt;br /&gt;
sudo adduser $USER ,, fill out requested data&lt;br /&gt;
Then,, sudo adduser $USER $GROUP,,, 1 group at a time&lt;br /&gt;
To see which groups to add,,, id $USER,  id rock&lt;br /&gt;
&lt;br /&gt;
=== Changing the default hostname ===&lt;br /&gt;
Debian 9 has a command to allow you to change the hostname. You can see the current settings using;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl&lt;br /&gt;
   Static hostname: Debian-Desktop&lt;br /&gt;
         Icon name: computer&lt;br /&gt;
        Machine ID: dccbddccbdccbdccbdccbdccbdccbccb&lt;br /&gt;
           Boot ID: ea99ea99ea99ea99ea99ea99ea99ea99&lt;br /&gt;
  Operating System: Debian GNU/Linux 9 (stretch)&lt;br /&gt;
            Kernel: Linux 4.4.210&lt;br /&gt;
      Architecture: arm64&amp;lt;/pre&amp;gt;&lt;br /&gt;
To change, use this, (with &amp;quot;My_Hostname&amp;quot; used as the example);&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl set-hostname My_Hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
Whence done, you can re-verify using the first example.&lt;br /&gt;
&lt;br /&gt;
Then you should backup and edit your &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; entry's name;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`&lt;br /&gt;
&amp;gt; sudo vi /etc/hosts&lt;br /&gt;
127.0.0.1	localhost&lt;br /&gt;
127.0.0.1	My_Hostname&lt;br /&gt;
::1		localhost ip6-localhost ip6-loopback&lt;br /&gt;
fe00::0		ip6-localnet&lt;br /&gt;
ff00::0		ip6-mcastprefix&lt;br /&gt;
ff02::1		ip6-allnodes&lt;br /&gt;
ff02::2		ip6-allrouters&lt;br /&gt;
127.0.1.1       linaro-alip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Chromium browser's prompt for passphrase &amp;amp; password storage ===&lt;br /&gt;
&lt;br /&gt;
Perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* On the tool bar, hover over the Chromium icon&lt;br /&gt;
* Using the right mouse button, select '''Properties'''&lt;br /&gt;
* In the '''Command:''' line section, add &amp;lt;code&amp;gt;--password-store=basic&amp;lt;/code&amp;gt; before the &amp;lt;code&amp;gt;%U&amp;lt;/code&amp;gt;&lt;br /&gt;
* Use the '''x Close''' button to save the change&lt;br /&gt;
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.&lt;br /&gt;
&lt;br /&gt;
=== Changing the boot splash picture ===&lt;br /&gt;
&lt;br /&gt;
The default boot splash picture can be replaced using the following instructions:&lt;br /&gt;
&lt;br /&gt;
* Install '''ImageMagick''' which will do the conversion&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo apt-get install imagemagick&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).&lt;br /&gt;
* From the directory in which your new image is stored run the following commands&lt;br /&gt;
* Convert your image to the bootsplash raw format using imagemagick convert.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a backup copy of your current splash screen&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Copy your new splash screen into place&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp splash.fb /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set the correct permissions on the splash.fb file&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo chmod 644 /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed&lt;br /&gt;
&lt;br /&gt;
=== Watching Amazon Prime videos with Chromium ===&lt;br /&gt;
When you create a new user, it will be necessary to launch the Chromium browswer with a specific user agent like below;&lt;br /&gt;
&amp;lt;pre&amp;gt;chromium-browser --user-agent=&amp;quot;Mozilla/5.0 (X11; CrOS armv7l 6946.63.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
There may be more tweaks needed.&lt;br /&gt;
&lt;br /&gt;
=== Enabling text boot time messages ===&lt;br /&gt;
&lt;br /&gt;
By default, most Linux distros have a boot screen with a picture. To see all the boot time messages, use one of the following;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;Default Debian&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
chmod a-w /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
vi /etc/default/u-boot&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.&lt;br /&gt;
* Update the U-Boot configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;u-boot-update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;Manjaro&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -p /boot/extlinux/extlinux.conf /boot/extlinux/extlinux.conf.`date +%Y%m%d`&lt;br /&gt;
chmod a-w /boot/extlinux/extlinux.conf.`date +%Y%m%d`&lt;br /&gt;
vi /boot/extlinux/extlinux.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
Change '''console=ttyS2,1500000''' to '''console=tty1'''&amp;lt;br&amp;gt; &lt;br /&gt;
Remove the '''bootsplash.bootfile''' option and it's parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
You can add verbose logging by appending '''ignore_loglevel''' to the line where boot splash was.&amp;lt;br&amp;gt;&lt;br /&gt;
Leave everything else alone.&amp;lt;br&amp;gt;&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
== Improving readability ==&lt;br /&gt;
&lt;br /&gt;
Some people find that a 14&amp;quot; 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 and read.&amp;lt;br&amp;gt;&lt;br /&gt;
* Increase the font size&lt;br /&gt;
* Use a font with more pronounced features&lt;br /&gt;
* Increase the various window manager sizes (e.g. increase the height of the tool bar)&lt;br /&gt;
* Change the color scheme to be easier on the eyes. Higher contrast can help usability.&lt;br /&gt;
* Change the window manager's decorations (e.g. use larger icons)&lt;br /&gt;
* Use a workspace manager, with one application per workspace&lt;br /&gt;
* When at home or office, use an external monitor&lt;br /&gt;
* Change the X-Windows DPI&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 troubleshooting section for the fix:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Pinebook_Pro#After_changing_builtin_LCD_resolution.2C_blank_screen|Blank screen after changing builtin LCD resolution]]&lt;br /&gt;
&lt;br /&gt;
== Chromium tweaks ==&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--disable-low-res-tiling \&lt;br /&gt;
--num-raster-threads=6 \&lt;br /&gt;
--profiler-timing=0 \&lt;br /&gt;
--disable-composited-antialiasing \&lt;br /&gt;
--test-type \&lt;br /&gt;
--show-component-extension-options \&lt;br /&gt;
--ignore-gpu-blacklist \&lt;br /&gt;
--use-gl=egl \&lt;br /&gt;
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \&lt;br /&gt;
--ppapi-flash-version=32.0.0.255 \&lt;br /&gt;
--enable-pinch \&lt;br /&gt;
--flag-switches-begin \&lt;br /&gt;
--enable-gpu-rasterization \&lt;br /&gt;
--enable-oop-rasterization \&lt;br /&gt;
--flag-switches-end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== gVim has performance issue ==&lt;br /&gt;
It appears that using GTK3 can cause very slow scrolling, while Vim in a terminal window works fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply revert back to using GTK2, (how to do so is somewhat Linux distro-specific).&lt;br /&gt;
&lt;br /&gt;
Another solution may be to run gVim with &lt;br /&gt;
&lt;br /&gt;
 GDK_RENDERING=image&lt;br /&gt;
&lt;br /&gt;
environment variable set. It seems that this improves the performance by reverting back to software-only rendering.&lt;br /&gt;
&lt;br /&gt;
== Kernel options ==&lt;br /&gt;
Here are some Pinebook Pro &amp;amp; its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.&lt;br /&gt;
&lt;br /&gt;
To see if a specific feature is enabled in the current kernel, you can use something like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep -i rockchip_pcie /proc/config.gz&lt;br /&gt;
# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set&lt;br /&gt;
CONFIG_PHY_ROCKCHIP_PCIE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If it's listed as &amp;lt;code&amp;gt;=m&amp;lt;/code&amp;gt;, then it's a module. You can see if the module is loaded with;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep -i rockchip_pcie&lt;br /&gt;
phy_rockchip_pcie      16384  0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Hardware video decoding ===&lt;br /&gt;
Here is a method to check for hardware video decoding by the VPU. There are special Linux kernel modules that perform this function.&amp;lt;br&amp;gt;&lt;br /&gt;
Older systems, such as the previously-default Debian desktop, use the Rockchip-supplied kernel module &amp;lt;code&amp;gt;rk-vcodec&amp;lt;/code&amp;gt;. To check, something like this can be used:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep rk-vcodec&lt;br /&gt;
    or&lt;br /&gt;
$ zgrep RK_VCODEC /proc/config.gz&lt;br /&gt;
CONFIG_RK_VCODEC=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Newer systems may use a different option as in the configuration below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep HANTRO /proc/config.gz&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting guide =&lt;br /&gt;
&lt;br /&gt;
The important thing is not to panic and if something goes wrong, to stop and consider carefully how to undo something, or, to redo it. This particularly applies when flashing a new operating system or new firmware to the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[Pinebook_Pro_Troubleshooting_Guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Pinebook_Pro_Hardware_Accessory_Compatibility|PineBookPro Hardware Compatibility]] =&lt;br /&gt;
&lt;br /&gt;
Please contribute to the hardware compatibility page, which lists hardware which has been tested with the PBP, whether successful or not!&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
== Accessing the Internals - Disassembly and Reassembly  == &lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
'''WARNING:''' When removing the back cover plate, use care to avoid damaging the speakers. They are stuck to the back cover with double-sided tape, and the thin wires are very delicate.&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Internal Layout ==&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. &lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode; this mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools). &lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe 4X socket for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Trackpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Trackpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable.&amp;lt;br&amp;gt;&lt;br /&gt;
[[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C.  The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG. &lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ uboot] on the eMMC.  Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other 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.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo fe330000.sdhci &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
echo fe330000.sdhci &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Dimensions ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1,  Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72 &lt;br /&gt;
** L2 cache 1024KB for big cluster &lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions &lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 	650MHz &lt;br /&gt;
* Throughput 	1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory: &lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAH)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 2.x, 5GT/s per lane&lt;br /&gt;
* 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5W continuous, 8.25W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
* Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]&lt;br /&gt;
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]&lt;br /&gt;
* Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
* Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
* Serial Console Earphone Jack Pinout:&lt;br /&gt;
** [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]&lt;br /&gt;
* Pinebook Pro Case:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
* Pinebook Pro Certifications:&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Rockchip RK3399 SoC information:&lt;br /&gt;
** [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
** [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet V2.1]&lt;br /&gt;
** [https://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]&lt;br /&gt;
* LPDDR4 (366 Balls) SDRAM:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]&lt;br /&gt;
* Wireless related info:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
* Audio Codec (ES8316)&lt;br /&gt;
** [https://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
* Internal USB 2 hub:&lt;br /&gt;
** [https://wiki.pine64.org/images/3/39/GL850G_USB_Hub_1.07.pdf GL850G USB Hub 1.07.pdf]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]&lt;br /&gt;
* Keyboard information:&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b0/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]&lt;br /&gt;
** US ANSI: XK-HS002 MB27716023&lt;br /&gt;
* Full HD Camera sensor:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]&lt;br /&gt;
* Lithium Battery information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14&amp;quot; model]&lt;br /&gt;
* Power path device:&lt;br /&gt;
** [https://wiki.pine64.org/images/9/99/Sis412dn.pdf N-MOS / MOSFET]&lt;br /&gt;
* NVMe adapter:&lt;br /&gt;
** [https://wiki.pine64.org/images/d/d0/Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf Compatible, not OEM! Use FH26-35S-0.3SHW flat flex connector]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111] &lt;br /&gt;
&lt;br /&gt;
=Skinning and Case Customization=&lt;br /&gt;
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.&lt;br /&gt;
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [[RockPro64 Guides]]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* IRC Server: irc.pine64.org Channel: PineBook&lt;br /&gt;
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:PineBook Pro]] [[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=5961</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=5961"/>
		<updated>2020-06-22T18:27:11Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Introducing PineBook Pro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= User Guide =&lt;br /&gt;
== Introducing PineBook Pro == &lt;br /&gt;
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
The keyboard and trackpad both use the USB 2.0 protocol.  The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects.  These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up.&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [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.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook Pro_Software_Release|Pinebook Pro images]] ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Manjaro_ARM}} [[File:Manjaro.png|125px]]] [[PinebookPro_Software_Release#Manjaro ARM|'''Manjaro ARM (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Debian_Desktop}} [[File:Debian.png|125px]]] [[PinebookPro_Software_Release#Debian Desktop|'''Debian Desktop (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Bionic_LXDE}} [[File:Lxde.png|125px]]] [[PinebookPro_Software_Release#Bionic LXDE|'''Bionic LXDE (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Bionic_Mate}} [[File:Mate.png|125px]]] [[PinebookPro_Software_Release#Bionic Mate|'''Bionic Mate (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Fedora}} [[File:Fedora1.png|125px]]] [[PinebookPro_Software_Release#Fedora|'''Fedora (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#OpenSUSE}} [[File:Opensuse1.png|125px]]] [[PinebookPro_Software_Release#OpenSUSE|'''OpenSUSE (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Q4OS}} [[File:Q4os.png|125px]]] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Armbian}} [[File:Armbian.png|125px]]] [[PinebookPro_Software_Release#Armbian|'''Armbian (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#NetBSD}} [[File:Netbsd.png|125px]]] [[PinebookPro_Software_Release#NetBSD|'''NetBSD (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:Pinebook_Pro_Software_Release#OpenBSD}} [[File:Puffy_mascot_openbsd.png|125px]]] [[Pinebook_Pro_Software_Release#OpenBSD|'''OpenBSD release for ARM64''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Chromium}} [[File:Chromium.jpg|125px]]] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Arch_Linux}} [[File:Archlinux-logo.png|125px]]] [[PinebookPro_Software_Release#Arch_Linux|'''Arch Linux ARM installer (microSD and USB boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']] &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro}} [[File:Gentoo.png|125px]]]&lt;br /&gt;
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
=== Quick Links to OS Images Build Sources===&lt;br /&gt;
'''Some of the provided OS images are still in &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;beta or nightly build&amp;lt;/span&amp;gt; and only fit for testing purposes. These images ought to be avoided for normal usage - use them at &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;your own risk&amp;lt;/span&amp;gt;'''&lt;br /&gt;
* [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) &lt;br /&gt;
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]&lt;br /&gt;
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and 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.   &lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility. &lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. &lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
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. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = WiFi enabled / killswitch disabled, 3 blinks = WiFi disabled / killswitch enabled.&lt;br /&gt;
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)'''&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware 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.&lt;br /&gt;
&lt;br /&gt;
== Trackpad ==&lt;br /&gt;
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. &lt;br /&gt;
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' &lt;br /&gt;
&lt;br /&gt;
Before you start:&lt;br /&gt;
&lt;br /&gt;
Please refer to original documentation for details.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro, ISO and ANSI. You need to know which model you have prior to running the updater. &lt;br /&gt;
FW update steps for both models are listed below.  &lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
*Your Pinebook Pro fully charged or running off of mains power&lt;br /&gt;
*Connection to WiFi&lt;br /&gt;
*An external USB keyboard &amp;amp; mouse. Or access to the Pinebebook Pro via SSH&lt;br /&gt;
&lt;br /&gt;
'''ISO Model''' &lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''ANSI Model''' &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; 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!&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== X-Windows &amp;amp; trackpad settings ===&lt;br /&gt;
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;&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&amp;lt;/pre&amp;gt;&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticably.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To make the change persist across reboots, change the file &amp;lt;code&amp;gt;/etc/X11/xorg.conf&amp;lt;/code&amp;gt; similar to below;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&lt;br /&gt;
    EndSection&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line &amp;lt;code&amp;gt;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;lt;/code&amp;gt; is the change.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&lt;br /&gt;
synclient FingerLow=30&lt;br /&gt;
synclient PalmDetect=1&lt;br /&gt;
synclient VertScrollDelta=64&lt;br /&gt;
synclient HorizScrollDelta=64&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FingerLow&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;right mouse click&amp;lt;/code&amp;gt; is emulated by tapping with two fingers on the trackpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&amp;lt;pre&amp;gt; synclient MaxTapTime=250 &amp;lt;/pre&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC @ 3A&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 15W PD quickcharge&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total there are four LEDs on the Pinebook Pro, three of which are placed in the top left side of the keyboard, and one near the barrel-port: &lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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). &lt;br /&gt;
&lt;br /&gt;
:3. The Num lock, green LED.&lt;br /&gt;
&lt;br /&gt;
:4. The Caps lock, green LED.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
* Streaming video resolutions supported, (un-compressed):&lt;br /&gt;
** 320 x 240 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Some people test with the application Cheese&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration; units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
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]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run alsamixer from the command line &amp;gt; hit F6 and select the es8316 &amp;gt; hit F4 to get to the capture screen &amp;gt; select the bar labeled ADC &amp;gt;&lt;br /&gt;
&amp;gt; increase the gain to 0dB &amp;gt; change the audio profile in pavucontrol to another with input&lt;br /&gt;
&lt;br /&gt;
Additionally:&lt;br /&gt;
you may want to modify ADC PGA to get the levels to where you want them&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna. &lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilites are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth once&lt;br /&gt;
sudo rfkill block bluetooth &amp;amp;&amp;amp; &lt;br /&gt;
&lt;br /&gt;
#confirm&lt;br /&gt;
rfkill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth on boot**&lt;br /&gt;
sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**This does not do what one might want on certain distros, Manjaro XFCE for example. Try the below.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
right click on the bluetooth panel icon &amp;gt; select 'plugins' &amp;gt; PowerManager &amp;gt; configuration &amp;gt; deselect the auto power on option&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60hz refresh rate&lt;br /&gt;
* IPS&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250nt brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6 bit colour&lt;br /&gt;
* 30 pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following;&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PBPUART.jpeg|400px|thumb|right|Headphone jack UART wiring reference.&lt;br /&gt;
&amp;lt;br&amp;gt; Swapping the tx and rx around from this also works and is more traditional.&lt;br /&gt;
&amp;lt;br&amp;gt; See [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf this] official Pine64 .pdf.]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [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.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.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. &lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ lsusb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.&lt;br /&gt;
&lt;br /&gt;
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook_Pro_Hardware_Accessory_Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with trackpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability at lower battery levels. And to reduce power used, to maintain battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown);&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
NVME Identify Controller:&lt;br /&gt;
...&lt;br /&gt;
ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
         rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
         rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
         rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
         rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
         rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
&lt;br /&gt;
$ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
set-feature:02 (Power Management), value:0x000002&amp;lt;/pre&amp;gt;&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme get-feature -f 0x0c -H /dev/nvme0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
*MicroSD&lt;br /&gt;
*eMMC&lt;br /&gt;
*NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card.  (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].  &lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
WARNING: Do not connect the bypass cables with the battery connected.  Using the bypass cables with the battery connected can permanently damage the computer.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Placeholder for Pinebook Pro specific guides&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process on Pinebook Pro similar to 14&amp;quot; Pinebook'''&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process is the reverse order of removal guide'''&lt;br /&gt;
&lt;br /&gt;
* 14″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
* 14″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
* 14″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/dev/mtd0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* The Linux package below, will need to be available:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;mtd-utils&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* You can then use this program from the package to write the SPI device:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;flashcp &amp;amp;lt;filename&amp;amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
What cool software works out of the box? [[Pinebook Pro OTB Experience]]&lt;br /&gt;
&lt;br /&gt;
= Software tuning guide =&lt;br /&gt;
Details on how to get the most out of a Pinebook Pro &amp;amp; its RK3399 SoC.&lt;br /&gt;
&lt;br /&gt;
== Customizing the Pinebook Pro's default Manjaro KDE system ==&lt;br /&gt;
=== Watching DRM content (Netflix, etc.) ===&lt;br /&gt;
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 &amp;quot;chromium-docker&amp;quot; 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:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pacman -Sy chromium-docker&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Checking GPU capabilities ===&lt;br /&gt;
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 &amp;quot;mesa-demos&amp;quot; package with:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pacman -Sy mesa-demos&amp;lt;/pre&amp;gt;&lt;br /&gt;
And then run:&lt;br /&gt;
&amp;lt;pre&amp;gt;glxinfo | grep OpenGL&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will give detailed information about your graphics card and driver, useful for debugging.&lt;br /&gt;
&lt;br /&gt;
=== Better GPU compatibility and performance ===&lt;br /&gt;
For better graphics performance, you may install the &amp;quot;mesa-git&amp;quot; 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:&lt;br /&gt;
&amp;lt;pre&amp;gt;pacman -Sy mesa-git&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then you may reboot to load the newer driver.&lt;br /&gt;
&lt;br /&gt;
=== OpenGL ES 3.0 support ===&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;kate /etc/environment&amp;lt;/pre&amp;gt;&lt;br /&gt;
And then at the bottom of the file, on a new line, add:&lt;br /&gt;
&amp;lt;pre&amp;gt;PAN_MESA_DEBUG=&amp;quot;gles3&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
== Customizing the Pinebook Pro's previously-default Debian system ==&lt;br /&gt;
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])&lt;br /&gt;
&lt;br /&gt;
=== Initial user changes, password, name, etc ===&lt;br /&gt;
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.&lt;br /&gt;
&lt;br /&gt;
* 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)&lt;br /&gt;
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal&lt;br /&gt;
* Login as root (login: root, password: root)&lt;br /&gt;
* Set a strong password for the root user using the following command and it's prompts:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd (and follow prompts)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock user to your prefered username (replace myself with whatever you like):&lt;br /&gt;
&amp;lt;pre&amp;gt;# usermod -l myself -d /home/myself -m rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock group to match your preferred username:&lt;br /&gt;
&amp;lt;pre&amp;gt;# groupmod -n myself rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Put your name in the account, (replace &amp;quot;John A Doe&amp;quot; with your name):&lt;br /&gt;
&amp;lt;pre&amp;gt;# chfn -f &amp;quot;John A Doe&amp;quot; myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set a strong password for the normal user:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Log out of the text terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;# logout&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user&lt;br /&gt;
* Open text terminal to fix login error: &amp;quot;Configured directory for incoming files does not exist&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ blueman-services&amp;lt;/pre&amp;gt;&lt;br /&gt;
Select &amp;quot;Transfer&amp;quot; tab and set &amp;quot;Incoming Folder&amp;quot; to myself&lt;br /&gt;
OR&lt;br /&gt;
If adduser is in distro, this is MUCH easier&lt;br /&gt;
sudo adduser $USER ,, fill out requested data&lt;br /&gt;
Then,, sudo adduser $USER $GROUP,,, 1 group at a time&lt;br /&gt;
To see which groups to add,,, id $USER,  id rock&lt;br /&gt;
&lt;br /&gt;
=== Changing the default hostname ===&lt;br /&gt;
Debian 9 has a command to allow you to change the hostname. You can see the current settings using;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl&lt;br /&gt;
   Static hostname: Debian-Desktop&lt;br /&gt;
         Icon name: computer&lt;br /&gt;
        Machine ID: dccbddccbdccbdccbdccbdccbdccbccb&lt;br /&gt;
           Boot ID: ea99ea99ea99ea99ea99ea99ea99ea99&lt;br /&gt;
  Operating System: Debian GNU/Linux 9 (stretch)&lt;br /&gt;
            Kernel: Linux 4.4.210&lt;br /&gt;
      Architecture: arm64&amp;lt;/pre&amp;gt;&lt;br /&gt;
To change, use this, (with &amp;quot;My_Hostname&amp;quot; used as the example);&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl set-hostname My_Hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
Whence done, you can re-verify using the first example.&lt;br /&gt;
&lt;br /&gt;
Then you should backup and edit your &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; entry's name;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`&lt;br /&gt;
&amp;gt; sudo vi /etc/hosts&lt;br /&gt;
127.0.0.1	localhost&lt;br /&gt;
127.0.0.1	My_Hostname&lt;br /&gt;
::1		localhost ip6-localhost ip6-loopback&lt;br /&gt;
fe00::0		ip6-localnet&lt;br /&gt;
ff00::0		ip6-mcastprefix&lt;br /&gt;
ff02::1		ip6-allnodes&lt;br /&gt;
ff02::2		ip6-allrouters&lt;br /&gt;
127.0.1.1       linaro-alip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Chromium browser's prompt for passphrase &amp;amp; password storage ===&lt;br /&gt;
&lt;br /&gt;
Perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* On the tool bar, hover over the Chromium icon&lt;br /&gt;
* Using the right mouse button, select '''Properties'''&lt;br /&gt;
* In the '''Command:''' line section, add &amp;lt;code&amp;gt;--password-store=basic&amp;lt;/code&amp;gt; before the &amp;lt;code&amp;gt;%U&amp;lt;/code&amp;gt;&lt;br /&gt;
* Use the '''x Close''' button to save the change&lt;br /&gt;
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.&lt;br /&gt;
&lt;br /&gt;
=== Changing the boot splash picture ===&lt;br /&gt;
&lt;br /&gt;
The default boot splash picture can be replaced using the following instructions:&lt;br /&gt;
&lt;br /&gt;
* Install '''ImageMagick''' which will do the conversion&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo apt-get install imagemagick&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).&lt;br /&gt;
* From the directory in which your new image is stored run the following commands&lt;br /&gt;
* Convert your image to the bootsplash raw format using imagemagick convert.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a backup copy of your current splash screen&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Copy your new splash screen into place&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp splash.fb /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set the correct permissions on the splash.fb file&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo chmod 644 /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed&lt;br /&gt;
&lt;br /&gt;
=== Watching Amazon Prime videos with Chromium ===&lt;br /&gt;
When you create a new user, it will be necessary to launch the Chromium browswer with a specific user agent like below;&lt;br /&gt;
&amp;lt;pre&amp;gt;chromium-browser --user-agent=&amp;quot;Mozilla/5.0 (X11; CrOS armv7l 6946.63.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
There may be more tweaks needed.&lt;br /&gt;
&lt;br /&gt;
=== Enabling text boot time messages ===&lt;br /&gt;
&lt;br /&gt;
By default, most Linux distros have a boot screen with a picture. To see all the boot time messages, use one of the following;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;Default Debian&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
chmod a-w /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
vi /etc/default/u-boot&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.&lt;br /&gt;
* Update the U-Boot configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;u-boot-update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;Manjaro&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -p /boot/extlinux/extlinux.conf /boot/extlinux/extlinux.conf.`date +%Y%m%d`&lt;br /&gt;
chmod a-w /boot/extlinux/extlinux.conf.`date +%Y%m%d`&lt;br /&gt;
vi /boot/extlinux/extlinux.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove the '''bootsplash.bootfile''' option and it's parameter. Leave everything else alone.&amp;lt;br&amp;gt;&lt;br /&gt;
You can add verbose logging by appending '''ignore_loglevel''' to the line where boot splash was.&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
== Improving readability ==&lt;br /&gt;
&lt;br /&gt;
Some people find that a 14&amp;quot; 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 &amp;amp; read.&amp;lt;br&amp;gt;&lt;br /&gt;
* Increase the font size&lt;br /&gt;
* Use a font with more pronounce features&lt;br /&gt;
* Increase the various window manager sizes, (like increase the height of the tool bar)&lt;br /&gt;
* Change the color scheme to be easier on the eyes, (even though it may not be bigger, proper contrast can help usability)&lt;br /&gt;
* Change the window manager's decorations, (like using larger icons)&lt;br /&gt;
* Use a workspace manager, (so one application per workspace)&lt;br /&gt;
* When at home or office, use an external monitor&lt;br /&gt;
* Changing the X-Window's DPI, (Dot's Per Inch), can help too&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Pinebook_Pro#After_changing_builtin_LCD_resolution.2C_blank_screen|Blank screen after changing builtin LCD resolution]]&lt;br /&gt;
&lt;br /&gt;
== Chromium tweaks ==&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--disable-low-res-tiling \&lt;br /&gt;
--num-raster-threads=6 \&lt;br /&gt;
--profiler-timing=0 \&lt;br /&gt;
--disable-composited-antialiasing \&lt;br /&gt;
--test-type \&lt;br /&gt;
--show-component-extension-options \&lt;br /&gt;
--ignore-gpu-blacklist \&lt;br /&gt;
--use-gl=egl \&lt;br /&gt;
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \&lt;br /&gt;
--ppapi-flash-version=32.0.0.255 \&lt;br /&gt;
--enable-pinch \&lt;br /&gt;
--flag-switches-begin \&lt;br /&gt;
--enable-gpu-rasterization \&lt;br /&gt;
--enable-oop-rasterization \&lt;br /&gt;
--flag-switches-end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== GVIM has performance issue ==&lt;br /&gt;
It appears that using GTK3 can cause very slow scolling, while VIM in a terminal window works fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply revert back to using GTK2, (how to do so, is somewhat Linux distro specific).&lt;br /&gt;
&lt;br /&gt;
== Kernel options ==&lt;br /&gt;
Here are some Pinebook Pro &amp;amp; its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.&lt;br /&gt;
&lt;br /&gt;
To see if a specific feature is enabled in the current kernel, you can use something like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep -i rockchip_pcie /proc/config.gz&lt;br /&gt;
# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set&lt;br /&gt;
CONFIG_PHY_ROCKCHIP_PCIE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If it's listed as &amp;lt;code&amp;gt;=m&amp;lt;/code&amp;gt;, then it's a module. You can see if the module is loaded with;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep -i rockchip_pcie&lt;br /&gt;
phy_rockchip_pcie      16384  0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Hardware video decoding ===&lt;br /&gt;
Here is a method to check for hardware video decoding by the VPU. There are special Linux kernel modules that perform this function.&amp;lt;br&amp;gt;&lt;br /&gt;
Older systems, such as the previously-default Debian desktop, use the Rockchip-supplied kernel module &amp;lt;code&amp;gt;rk-vcodec&amp;lt;/code&amp;gt;. To check, something like this can be used:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep rk-vcodec&lt;br /&gt;
    or&lt;br /&gt;
$ zgrep RK_VCODEC /proc/config.gz&lt;br /&gt;
CONFIG_RK_VCODEC=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Newer systems may use a different option as in the configuration below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep HANTRO /proc/config.gz&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting guide =&lt;br /&gt;
Tips, tricks and other information for troubleshooting your Pinebook Pro&lt;br /&gt;
=== New from the factory - Pinebook Pro won't boot / power on ===&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===&lt;br /&gt;
* 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).&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro won't boot when using UART console cable ===&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== WiFi issues ===&lt;br /&gt;
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]&lt;br /&gt;
* Next, you may have to modify the &amp;lt;code&amp;gt;/etc/NetworkManager/NetworkManager.conf&amp;lt;/code&amp;gt; as root user, and replace &amp;lt;code&amp;gt;managed=false&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;managed=true&amp;lt;/code&amp;gt;. Then reboot.&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;iw dev wlan0 set power_save off&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt;, although it is not persistent through re-boot.)&lt;br /&gt;
* For connections that drop under load on the default Debian, remove &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt; in the file &amp;lt;code&amp;gt;/etc/rc.local&amp;lt;/code&amp;gt;.&lt;br /&gt;
* 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]&lt;br /&gt;
* 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);&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;code&amp;gt;sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/{un,}bind &amp;lt;&amp;lt;&amp;lt; 'fe310000.dwmmc'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth issues ===&lt;br /&gt;
* 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.&lt;br /&gt;
* Bluetooth-attached speakers or headset require the &amp;lt;b&amp;gt;pulseaudio-module-bluetooth&amp;lt;/b&amp;gt; package. If not already installed, it can be installed with a package manager or with:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install pulseaudio-module-bluetooth&amp;lt;/pre&amp;gt;&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
=== Sound issues ===&lt;br /&gt;
* 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.) &lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Serveral users have reported that one internal speaker had reversed polarity. Thus, sound from the speakers is like an echo effect.&lt;br /&gt;
** Their is a software fix using alsamixer and then enable either &amp;quot;R invert&amp;quot; or &amp;quot;L invert&amp;quot;, however, now the headphones have incorrect audio.&lt;br /&gt;
** The permanent fix is to re-wire one speaker, though this requires soldering small wires.&lt;br /&gt;
&lt;br /&gt;
=== USB docks &amp;amp; USB C alternate mode video ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Here are some selection criteria for successfully using the USB C alternate mode for video:&lt;br /&gt;
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.&lt;br /&gt;
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.&lt;br /&gt;
* 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.&lt;br /&gt;
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).&lt;br /&gt;
&lt;br /&gt;
=== Keys not registering / missing keys when typing ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.&lt;br /&gt;
&lt;br /&gt;
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.&lt;br /&gt;
&lt;br /&gt;
=== Key Mapping ===&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===&lt;br /&gt;
This refers to the firmware update shown here:&lt;br /&gt;
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
* 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. &lt;br /&gt;
* System restore https://forum.pine64.org/showthread.php?tid=8229&lt;br /&gt;
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
&lt;br /&gt;
=== ANSI Fn + F keys wrong for F9, F10, F11 and F12 ===&lt;br /&gt;
There appears to be a minor firmware issue for ANSI keyboard models of the Pinebook Pro. Some discussion and fixes have been proposed;&lt;br /&gt;
&lt;br /&gt;
* Discussion thread [https://forum.pine64.org/showthread.php?tid=8744&amp;amp;pid=57678#pid57678  Fn + F keys screwy for F9, F10, F11 and F12]&lt;br /&gt;
* 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]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== After changing builtin LCD resolution, blank screen ===&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
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). &lt;br /&gt;
&amp;lt;pre&amp;gt;export DISPLAY=:0.0&lt;br /&gt;
xrandr -q&lt;br /&gt;
xrandr -s [resolution]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Once your resolution is restored, try using the Tweak app to set scaling, instead.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If the above fix did not work, you can try this:&lt;br /&gt;
* Using a text console, (Control-Alt-F1), login with your normal user ID&lt;br /&gt;
* Edit the file &amp;lt;code&amp;gt;nano ~/.config/monitors.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change the &amp;quot;width&amp;quot; value to &amp;quot;1920&amp;quot;&lt;br /&gt;
* Change the &amp;quot;height&amp;quot; value to &amp;quot;1080&amp;quot;&lt;br /&gt;
* If there is more than one monitor configuration listed, edit that one too.&amp;lt;br&amp;gt;Be careful to make no other changes. If needed, exit without saving and re-edit.&lt;br /&gt;
* Save the file and exit.&lt;br /&gt;
* Login using the GUI and test&lt;br /&gt;
* If you are still loggied in via the GUI, you will have to reboot using &amp;lt;code&amp;gt;sudo shutdown -r now&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;After the reboot, you should be able to login to the GUI login and have the resolution back to normal.&lt;br /&gt;
When you have restored usability to your Pinebook Pro's graphical screen, see this section on improving readability and usability:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Pinebook_Pro#Improving_readability|Improving readability]]&lt;br /&gt;
&lt;br /&gt;
=== Cracks in the plastic ===&lt;br /&gt;
There have been multiple reports of cracks in the plastic keyboard &amp;amp; trackpad part of the case. These are generally near here;&lt;br /&gt;
* Hinges&lt;br /&gt;
* USB ports&lt;br /&gt;
* Top side, around the corners&lt;br /&gt;
This seems to apply to the first batches in 2019. Later versions of the keyboard &amp;amp; trackpad have used better plastic. With replacements now in the Pine64 Store, it's possible to simply order a replacement.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= [[Pinebook_Pro_Hardware_Accessory_Compatibility|PineBookPro Hardware Compatibility]] =&lt;br /&gt;
&lt;br /&gt;
Please contribute to the hardware compatibility page, which lists hardware which has been tested with the PBP, whether successful or not!&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
== Accessing the Internals - Disassembly and Reassembly  == &lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Internal Layout ==&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. &lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode; this mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools). &lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe 4X socket for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Trackpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Male power bridge connector &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Female power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Trackpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C.  The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG. &lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ uboot] on the eMMC.  Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other 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.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo fe330000.sdhci &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
echo fe330000.sdhci &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable.&amp;lt;br&amp;gt;&lt;br /&gt;
[[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Dimensions ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1,  Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72 &lt;br /&gt;
** L2 cache 1024KB for big cluster &lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions &lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 	650MHz &lt;br /&gt;
* Throughput 	1300Mtri/s, 10.4Gpix/s &lt;br /&gt;
* 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™.&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory: &lt;br /&gt;
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAH)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 2.x, 5GT/s per lane&lt;br /&gt;
* 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5W continuous, 8.25W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
* Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]&lt;br /&gt;
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]&lt;br /&gt;
* Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
* Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
* Serial Console Earphone Jack Pinout:&lt;br /&gt;
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]&lt;br /&gt;
* Pinebook Pro Case:&lt;br /&gt;
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]&lt;br /&gt;
* Pinebook Pro Certifications:&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Rockchip RK3399 SoC information:&lt;br /&gt;
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet V2.1]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]&lt;br /&gt;
* LPDDR4 (366 Balls) SDRAM:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]&lt;br /&gt;
* Wireless related info:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
* Audio Codec (ES8316)&lt;br /&gt;
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
* Internal USB 2 hub:&lt;br /&gt;
** [https://wiki.pine64.org/images/3/39/GL850G_USB_Hub_1.07.pdf GL850G USB Hub 1.07.pdf]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]&lt;br /&gt;
* Keyboard information:&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b0/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]&lt;br /&gt;
** US ANSI: XK-HS002 MB27716023&lt;br /&gt;
* Full HD Camera sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]&lt;br /&gt;
* Lithium Battery information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14&amp;quot; model]&lt;br /&gt;
* NVMe adapter:&lt;br /&gt;
** [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]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111] &lt;br /&gt;
&lt;br /&gt;
=Skinning and Case Customization=&lt;br /&gt;
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.&lt;br /&gt;
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [[RockPro64 Guides]]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* IRC Server: irc.pine64.org Channel: PineBook&lt;br /&gt;
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=5519</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=5519"/>
		<updated>2020-04-30T13:23:18Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* X-Windows &amp;amp; trackpad settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= User Guide =&lt;br /&gt;
== Introducing PineBook Pro == &lt;br /&gt;
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
The keyboard and trackpad both use the USB 2.0 protocol.  The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects.  These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD. &lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Default Debian MATE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
The newest release of the build can downloaded directly from [https://github.com/mrfixit2001/debian_desktop/releases MrFixIt2001's GitHub]. &lt;br /&gt;
&lt;br /&gt;
'''The default username and password is:'''&lt;br /&gt;
* Username: rock &lt;br /&gt;
* Password: rock&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:UpdateScript.png|350px|thumb|right|Location of update script applet icon on stock Debian with MATE]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usermod -l NewUser -d /home/NewUser -m rock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you log back into your new user, Bluetooth will complain about no transfer folder location. To fix this open terminal and type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
blueman-services&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From here, select incoming folder under the 'transfer' tab.&lt;br /&gt;
&lt;br /&gt;
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.     &lt;br /&gt;
&lt;br /&gt;
You can run the script from the terminal using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /usr/bin/mrfixit_update.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook Pro_Software_Release|Pinebook Pro images]] ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
note: When upgrading from a prior release of Manjaro to version 20.1, you may need to increase the backlight as the number of steps for the backlight exposed by the kernel was changed from 256 to 4096&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Q4OS}} http://files.pine64.org/sw/pine64_installer/json/q4os.png] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Armbian}} http://files.pine64.org/sw/pine64_installer/json/armbian.png] [[PinebookPro_Software_Release#Armbian|'''Armbian (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#NetBSD}} http://files.pine64.org/sw/pine64_installer/json/netbsd.png] [[PinebookPro_Software_Release#NetBSD|'''NetBSD (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Chropmium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']] &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/gentoo.png]&lt;br /&gt;
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Kali}} [[File:Kali.jpeg|125px]]] [[PinebookPro_Software_Release#Kali|'''Kali Script for Pinebook Pro (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
=== Quick Links to OS Images Build Sources===&lt;br /&gt;
'''Some of the provided OS images are still in &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;beta or nightly build&amp;lt;/span&amp;gt; and only fit for testing purposes. These images ought to be avoided for normal usage - use them at &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;your own risk&amp;lt;/span&amp;gt;'''&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]&lt;br /&gt;
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]&lt;br /&gt;
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and 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.   &lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility. &lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. &lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
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. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled.&lt;br /&gt;
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Trackpad ==&lt;br /&gt;
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. &lt;br /&gt;
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].&lt;br /&gt;
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).&lt;br /&gt;
&lt;br /&gt;
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' &lt;br /&gt;
&lt;br /&gt;
Before you start:&lt;br /&gt;
&lt;br /&gt;
Please refer to original documentation for details.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro, ISO and ANSI. You need to know which model you have prior to running the updater. &lt;br /&gt;
FW update steps for both models are listed below.  &lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
*Your Pinebook Pro fully charged or running off of mains power&lt;br /&gt;
*Connection to WiFi&lt;br /&gt;
*An external USB keyboard &amp;amp; mouse. Or access to the Pinebebook Pro via SSH&lt;br /&gt;
&lt;br /&gt;
'''ISO Model''' &lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''ANSI Model''' &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; 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!&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== X-Windows &amp;amp; trackpad settings ===&lt;br /&gt;
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;&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&amp;lt;/pre&amp;gt;&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticably.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To make the change persist across reboots, change the file &amp;lt;code&amp;gt;/etc/X11/xorg.conf&amp;lt;/code&amp;gt; similar to below;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&lt;br /&gt;
    EndSection&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line &amp;lt;code&amp;gt;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;lt;/code&amp;gt; is the change.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&lt;br /&gt;
synclient FingerLow=30&lt;br /&gt;
synclient PalmDetect=1&lt;br /&gt;
synclient VertScrollDelta=64&lt;br /&gt;
synclient HorizScrollDelta=64&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FingerLow&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;right mouse click&amp;lt;/code&amp;gt; is emulated by tapping with two fingers on the trackpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&amp;lt;pre&amp;gt; synclient MaxTapTime=250 &amp;lt;/pre&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC @ 3A&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 15W PD quickcharge&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total there are four LEDs on the Pinebook Pro, three of which are placed in the top left side of the keyboard, and one near the barrel-port: &lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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). &lt;br /&gt;
&lt;br /&gt;
:3. The Num lock, green LED.&lt;br /&gt;
&lt;br /&gt;
:4. The Caps lock, green LED.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
* Streaming video resolutions supported, (un-compressed):&lt;br /&gt;
** 320 x 240 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Some people test with the application Cheese&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration; units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard withd a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
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]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run alsamixer from the command line &amp;gt; hit F6 and select the es8316 &amp;gt; hit F4 to get to the capture screen &amp;gt; select the bar labeled ADC &amp;gt;&lt;br /&gt;
&amp;gt; increase the gain to 0dB &amp;gt; change the audio profile in pavucontrol to another with input&lt;br /&gt;
&lt;br /&gt;
Additionally:&lt;br /&gt;
you may want to modify ADC PGA to get the levels to where you want them&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna. &lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilites are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth once&lt;br /&gt;
sudo rfkill block bluetooth &amp;amp;&amp;amp; &lt;br /&gt;
&lt;br /&gt;
#confirm&lt;br /&gt;
rfkill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth on boot**&lt;br /&gt;
sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**This does not do what one might want on certain distros, Manjaro XFCE for example. Try the below.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
right click on the bluetooth panel icon &amp;gt; select 'plugins' &amp;gt; PowerManager &amp;gt; configuration &amp;gt; deselect the auto power on option&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60hz refresh rate&lt;br /&gt;
* IPS&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250nt brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6 bit colour&lt;br /&gt;
* 30 pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following;&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PBPUART.jpeg|400px|thumb|right|Headphone jack UART wiring reference.&lt;br /&gt;
&amp;lt;br&amp;gt; Swapping the tx and rx around from this also works and is more traditional.&lt;br /&gt;
&amp;lt;br&amp;gt; See [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf this] official Pine64 .pdf.]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [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.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.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. &lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ lsusb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.&lt;br /&gt;
&lt;br /&gt;
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook_Pro_Hardware_Accessory_Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with trackpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability at lower battery levels. And to reduce power used, to maintain battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown);&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
NVME Identify Controller:&lt;br /&gt;
...&lt;br /&gt;
ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
         rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
         rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
         rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
         rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
         rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
&lt;br /&gt;
$ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
set-feature:02 (Power Management), value:0x000002&amp;lt;/pre&amp;gt;&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme get-feature -f 0x0c -H /dev/nvme0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
*MicroSD&lt;br /&gt;
*eMMC&lt;br /&gt;
*NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card.  (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].  &lt;br /&gt;
&lt;br /&gt;
WARNING: Do not connect the bypass cables with the battery connected.  Using the bypass cables with the battery connected can permanently damage the computer.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Placeholder for Pinebook Pro specific guides&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process on Pinebook Pro similar to 14&amp;quot; Pinebook'''&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process is the reverse order of removal guide'''&lt;br /&gt;
&lt;br /&gt;
* 14″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
* 14″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
* 14″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/dev/mtd0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* The Linux package below, will need to be available:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;mtd-utils&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* You can then use this program from the package to write the SPI device:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;flashcp &amp;amp;lt;filename&amp;amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
What cool software works out of the box? [[Pinebook Pro OTB Experience]]&lt;br /&gt;
&lt;br /&gt;
= Software tuning guide =&lt;br /&gt;
Details on how to get the most out of a Pinebook Pro &amp;amp; its RK3399 SoC.&lt;br /&gt;
&lt;br /&gt;
== Customizing Pinebook Pro's factory OS ==&lt;br /&gt;
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])&lt;br /&gt;
&lt;br /&gt;
=== Initial user changes, password, name, etc ===&lt;br /&gt;
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.&lt;br /&gt;
&lt;br /&gt;
* 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)&lt;br /&gt;
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal&lt;br /&gt;
* Login as root (login: root, password: root)&lt;br /&gt;
* Set a strong password for the root user using the following command and it's prompts:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd (and follow prompts)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock user to your prefered username (replace myself with whatever you like):&lt;br /&gt;
&amp;lt;pre&amp;gt;# usermod -l myself -d /home/myself -m rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock group to match your preferred username:&lt;br /&gt;
&amp;lt;pre&amp;gt;# groupmod -n myself rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Put your name in the account, (replace &amp;quot;John A Doe&amp;quot; with your name):&lt;br /&gt;
&amp;lt;pre&amp;gt;# chfn -f &amp;quot;John A Doe&amp;quot; myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set a strong password for the normal user:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Log out of the text terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;# logout&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user&lt;br /&gt;
* Open text terminal to fix login error: &amp;quot;Configured directory for incoming files does not exist&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ blueman-services&amp;lt;/pre&amp;gt;&lt;br /&gt;
Select &amp;quot;Transfer&amp;quot; tab and set &amp;quot;Incoming Folder&amp;quot; to myself&lt;br /&gt;
OR&lt;br /&gt;
If adduser is in distro, this is MUCH easier&lt;br /&gt;
sudo adduser $USER ,, fill out requested data&lt;br /&gt;
Then,, sudo adduser $USER $GROUP,,, 1 group at a time&lt;br /&gt;
To see which groups to add,,, id $USER,  id rock&lt;br /&gt;
&lt;br /&gt;
=== Changing the default hostname ===&lt;br /&gt;
Debian 9 has a command to allow you to change the hostname. You can see the current settings using;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl&lt;br /&gt;
   Static hostname: Debian-Desktop&lt;br /&gt;
         Icon name: computer&lt;br /&gt;
        Machine ID: dccbddccbdccbdccbdccbdccbdccbccb&lt;br /&gt;
           Boot ID: ea99ea99ea99ea99ea99ea99ea99ea99&lt;br /&gt;
  Operating System: Debian GNU/Linux 9 (stretch)&lt;br /&gt;
            Kernel: Linux 4.4.210&lt;br /&gt;
      Architecture: arm64&amp;lt;/pre&amp;gt;&lt;br /&gt;
To change, use this, (with &amp;quot;My_Hostname&amp;quot; used as the example);&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl set-hostname My_Hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
Whence done, you can re-verify using the first example.&lt;br /&gt;
&lt;br /&gt;
Then you should backup and edit your &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; entry's name;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`&lt;br /&gt;
&amp;gt; sudo vi /etc/hosts&lt;br /&gt;
127.0.0.1	localhost&lt;br /&gt;
127.0.0.1	My_Hostname&lt;br /&gt;
::1		localhost ip6-localhost ip6-loopback&lt;br /&gt;
fe00::0		ip6-localnet&lt;br /&gt;
ff00::0		ip6-mcastprefix&lt;br /&gt;
ff02::1		ip6-allnodes&lt;br /&gt;
ff02::2		ip6-allrouters&lt;br /&gt;
127.0.1.1       linaro-alip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Chromium browser's prompt for passphrase &amp;amp; password storage ===&lt;br /&gt;
&lt;br /&gt;
Perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* On the tool bar, hover over the Chromium icon&lt;br /&gt;
* Using the right mouse button, select '''Properties'''&lt;br /&gt;
* In the '''Command:''' line section, add &amp;lt;code&amp;gt;--password-store=basic&amp;lt;/code&amp;gt; before the &amp;lt;code&amp;gt;%U&amp;lt;/code&amp;gt;&lt;br /&gt;
* Use the '''x Close''' button to save the change&lt;br /&gt;
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.&lt;br /&gt;
&lt;br /&gt;
=== Changing the boot splash picture ===&lt;br /&gt;
&lt;br /&gt;
The default boot splash picture can be replaced using the following instructions:&lt;br /&gt;
&lt;br /&gt;
* Install '''ImageMagick''' which will do the conversion&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo apt-get install imagemagick&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).&lt;br /&gt;
* From the directory in which your new image is stored run the following commands&lt;br /&gt;
* Convert your image to the bootsplash raw format using imagemagick convert.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a backup copy of your current splash screen&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Copy your new splash screen into place&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp splash.fb /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set the correct permissions on the splash.fb file&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo chmod 644 /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed&lt;br /&gt;
&lt;br /&gt;
=== Enabling text boot time messages ===&lt;br /&gt;
&lt;br /&gt;
By default most Linux distros have a boot screen with a picture. To see all the messages, use the following;&lt;br /&gt;
&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
chmod a-w /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
vi /etc/default/u-boot&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.&lt;br /&gt;
* Update the U-Boot configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;u-boot-update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
== Chromium tweaks ==&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--disable-low-res-tiling \&lt;br /&gt;
--num-raster-threads=6 \&lt;br /&gt;
--profiler-timing=0 \&lt;br /&gt;
--disable-composited-antialiasing \&lt;br /&gt;
--test-type \&lt;br /&gt;
--show-component-extension-options \&lt;br /&gt;
--ignore-gpu-blacklist \&lt;br /&gt;
--use-gl=egl \&lt;br /&gt;
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \&lt;br /&gt;
--ppapi-flash-version=32.0.0.255 \&lt;br /&gt;
--enable-pinch \&lt;br /&gt;
--flag-switches-begin \&lt;br /&gt;
--enable-gpu-rasterization \&lt;br /&gt;
--enable-oop-rasterization \&lt;br /&gt;
--flag-switches-end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GVIM has performance issue ==&lt;br /&gt;
It appears that using GTK3 can cause very slow scolling, while VIM in a terminal window works fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply revert back to using GTK2, (how to do so, is somewhat Linux distro specific).&lt;br /&gt;
&lt;br /&gt;
== Kernel options ==&lt;br /&gt;
Here are some Pinebook Pro &amp;amp; its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.&lt;br /&gt;
&lt;br /&gt;
To see if a specific feature is enabled in the current kernel, you can use something like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep -i rockchip_pcie /proc/config.gz&lt;br /&gt;
# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set&lt;br /&gt;
CONFIG_PHY_ROCKCHIP_PCIE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If it's listed as &amp;lt;code&amp;gt;=m&amp;lt;/code&amp;gt;, then it's a module. You can see if the module is loaded with;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep -i rockchip_pcie&lt;br /&gt;
phy_rockchip_pcie      16384  0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Hardware video decoding ===&lt;br /&gt;
Here is a method to check for hardware video decoding by the VPU. There are special Linux kernel modules that perform this function.&amp;lt;br&amp;gt;&lt;br /&gt;
The default Debian uses Rockchip supplied kernel module &amp;lt;code&amp;gt;rk-vcodec&amp;lt;/code&amp;gt;. To check, something like this can be used;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep rk-vcodec&lt;br /&gt;
    or&lt;br /&gt;
$ zgrep RK_VCODEC /proc/config.gz&lt;br /&gt;
CONFIG_RK_VCODEC=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Later kernels may use a different option in the configuration as below;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep HANTRO /proc/config.gz&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting guide =&lt;br /&gt;
Tips, tricks and other information for troubleshooting your Pinebook Pro&lt;br /&gt;
=== New from the factory - Pinebook Pro won't boot / power on ===&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===&lt;br /&gt;
* 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).&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro won't boot when using UART console cable ===&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== WiFi issues ===&lt;br /&gt;
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]&lt;br /&gt;
* Next, you may have to modify the &amp;lt;code&amp;gt;/etc/NetworkManager/NetworkManager.conf&amp;lt;/code&amp;gt; as root user, and replace &amp;lt;code&amp;gt;managed=false&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;managed=true&amp;lt;/code&amp;gt;. Then reboot.&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;iw dev wlan0 set power_save off&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt;, although it is not persistent through re-boot.)&lt;br /&gt;
* For connections that drop under load on the default Debian, remove &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt; in the file &amp;lt;code&amp;gt;/etc/rc.local&amp;lt;/code&amp;gt;.&lt;br /&gt;
* 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]&lt;br /&gt;
* 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);&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;code&amp;gt;sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/{un,}bind &amp;lt;&amp;lt;&amp;lt; 'fe310000.dwmmc'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth issues ===&lt;br /&gt;
* 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.&lt;br /&gt;
* Bluetooth-attached speakers or headset require the &amp;lt;b&amp;gt;pulseaudio-module-bluetooth&amp;lt;/b&amp;gt; package. If not already installed, it can be installed with a package manager or with:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install pulseaudio-module-bluetooth&amp;lt;/pre&amp;gt;&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
=== Sound issues ===&lt;br /&gt;
* 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.) &lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Serveral users have reported that one internal speaker had reversed polarity. Thus, sound from the speakers is like an echo effect.&lt;br /&gt;
** Their is a software fix using alsamixer and then enable either &amp;quot;R invert&amp;quot; or &amp;quot;L invert&amp;quot;, however, now the headphones have incorrect audio.&lt;br /&gt;
** The permanent fix is to re-wire one speaker, though this requires soldering small wires.&lt;br /&gt;
&lt;br /&gt;
=== USB docks &amp;amp; USB C alternate mode video ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Here are some selection criteria for successfully using the USB C alternate mode for video:&lt;br /&gt;
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.&lt;br /&gt;
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.&lt;br /&gt;
* 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.&lt;br /&gt;
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).&lt;br /&gt;
&lt;br /&gt;
=== Keys not registering / missing keys when typing ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.&lt;br /&gt;
&lt;br /&gt;
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.&lt;br /&gt;
&lt;br /&gt;
=== Key Mapping ===&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===&lt;br /&gt;
This refers to the firmware update shown here:&lt;br /&gt;
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
* 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. &lt;br /&gt;
* System restore https://forum.pine64.org/showthread.php?tid=8229&lt;br /&gt;
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
&lt;br /&gt;
=== ANSI Fn + F keys wrong for F9, F10, F11 and F12 ===&lt;br /&gt;
There appears to be a minor firmware issue for ANSI keyboard models of the Pinebook Pro. Some discussion and fixes have been proposed;&lt;br /&gt;
&lt;br /&gt;
* Discussion thread [https://forum.pine64.org/showthread.php?tid=8744&amp;amp;pid=57678#pid57678  Fn + F keys screwy for F9, F10, F11 and F12]&lt;br /&gt;
* 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]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== After changing builtin LCD resolution, blank screen ===&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
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). &lt;br /&gt;
&amp;lt;pre&amp;gt;export DISPLAY=:0.0&lt;br /&gt;
xrandr -q&lt;br /&gt;
xrandr -s [resolution]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Once your resolution is restored, try using the Tweak app to set scaling, instead.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If the above fix did not work, you can try this:&lt;br /&gt;
* Using a text console, (Control-Alt-F1), login with your normal user ID&lt;br /&gt;
* Edit the file &amp;lt;code&amp;gt;nano ~/.config/monitors.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change the &amp;quot;width&amp;quot; value to &amp;quot;1920&amp;quot;&lt;br /&gt;
* Change the &amp;quot;height&amp;quot; value to &amp;quot;1080&amp;quot;&lt;br /&gt;
* If there is more than one monitor configuration listed, edit that one too.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Be careful to make no other changes. If needed exit without saving and re-edit.&lt;br /&gt;
* Save the file and exit.&lt;br /&gt;
* Login using the GUI and test&lt;br /&gt;
* If you are still loggied in via the GUI, you will have to reboot using &amp;lt;code&amp;gt;sudo shutdown -r now&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;After the reboot, you should be able to login to the GUI login and have the resolution back to normal.&lt;br /&gt;
&lt;br /&gt;
= [[Pinebook_Pro_Hardware_Accessory_Compatibility|PineBookPro Hardware Compatibility]] =&lt;br /&gt;
&lt;br /&gt;
Please contribute to the hardware compatibility page, which lists hardware which has been tested with the PBP, whether successful or not!&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
== Accessing the Internals - Disassembly and Reassembly  == &lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Screw measurements in mm;&lt;br /&gt;
&lt;br /&gt;
Small screw&lt;br /&gt;
&lt;br /&gt;
Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1,  Overall length - 3.05&lt;br /&gt;
&lt;br /&gt;
Long screw&lt;br /&gt;
&lt;br /&gt;
Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Internal Layout ==&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. &lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode; this mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools). &lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe 4X socket for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Trackpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Male power bridge connector &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Female power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Trackpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C.  The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG. &lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a 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.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo 'fe330000.sdhci' | tee /sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
echo 'fe330000.sdhci' | tee /sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable.&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Dimensions ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws, estimated dimensions, (until we can get confirmation)&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws&lt;br /&gt;
** 6 x 6mm in length&lt;br /&gt;
** 4 x 4mm in length, (used along the front edge)&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72 &lt;br /&gt;
** L2 cache 1024KB for big cluster &lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions &lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 	650MHz &lt;br /&gt;
* Throughput 	1300Mtri/s, 10.4Gpix/s &lt;br /&gt;
* 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™.&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory: &lt;br /&gt;
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAH)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 2.x, 5GT/s per lane&lt;br /&gt;
* 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5W continuous, 8.25W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
* Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]&lt;br /&gt;
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]&lt;br /&gt;
* Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
* Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
* Serial Console Earphone Jack Pinout:&lt;br /&gt;
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]&lt;br /&gt;
* Pinebook Pro Case:&lt;br /&gt;
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]&lt;br /&gt;
* Pinebook Pro Certifications:&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Rockchip RK3399 SoC information:&lt;br /&gt;
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]&lt;br /&gt;
* LPDDR4 (366 Balls) SDRAM:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]&lt;br /&gt;
* Wireless related info:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
* Audio Codec (ES8316)&lt;br /&gt;
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
* Internal USB 2 hub:&lt;br /&gt;
** [https://wiki.pine64.org/images/3/39/GL850G_USB_Hub_1.07.pdf GL850G USB Hub 1.07.pdf]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]&lt;br /&gt;
* Keyboard information:&lt;br /&gt;
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]&lt;br /&gt;
** US ANSI: XK-HS002 MB27716023&lt;br /&gt;
* Full HD Camera sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]&lt;br /&gt;
* Lithium Battery information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14&amp;quot; model]&lt;br /&gt;
* NVMe adapter:&lt;br /&gt;
** [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]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111] &lt;br /&gt;
&lt;br /&gt;
=Skinning and Case Customization=&lt;br /&gt;
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.&lt;br /&gt;
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [[RockPro64 Guides]]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]&lt;br /&gt;
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=5518</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=5518"/>
		<updated>2020-04-30T13:21:11Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* X-Windows &amp;amp; trackpad settings */  right click&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= User Guide =&lt;br /&gt;
== Introducing PineBook Pro == &lt;br /&gt;
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
The keyboard and trackpad both use the USB 2.0 protocol.  The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects.  These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD. &lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Default Debian MATE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
The newest release of the build can downloaded directly from [https://github.com/mrfixit2001/debian_desktop/releases MrFixIt2001's GitHub]. &lt;br /&gt;
&lt;br /&gt;
'''The default username and password is:'''&lt;br /&gt;
* Username: rock &lt;br /&gt;
* Password: rock&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:UpdateScript.png|350px|thumb|right|Location of update script applet icon on stock Debian with MATE]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usermod -l NewUser -d /home/NewUser -m rock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you log back into your new user, Bluetooth will complain about no transfer folder location. To fix this open terminal and type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
blueman-services&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From here, select incoming folder under the 'transfer' tab.&lt;br /&gt;
&lt;br /&gt;
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.     &lt;br /&gt;
&lt;br /&gt;
You can run the script from the terminal using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /usr/bin/mrfixit_update.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook Pro_Software_Release|Pinebook Pro images]] ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
note: When upgrading from a prior release of Manjaro to version 20.1, you may need to increase the backlight as the number of steps for the backlight exposed by the kernel was changed from 256 to 4096&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Q4OS}} http://files.pine64.org/sw/pine64_installer/json/q4os.png] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Armbian}} http://files.pine64.org/sw/pine64_installer/json/armbian.png] [[PinebookPro_Software_Release#Armbian|'''Armbian (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#NetBSD}} http://files.pine64.org/sw/pine64_installer/json/netbsd.png] [[PinebookPro_Software_Release#NetBSD|'''NetBSD (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Chropmium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']] &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/gentoo.png]&lt;br /&gt;
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Kali}} [[File:Kali.jpeg|125px]]] [[PinebookPro_Software_Release#Kali|'''Kali Script for Pinebook Pro (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
=== Quick Links to OS Images Build Sources===&lt;br /&gt;
'''Some of the provided OS images are still in &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;beta or nightly build&amp;lt;/span&amp;gt; and only fit for testing purposes. These images ought to be avoided for normal usage - use them at &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;your own risk&amp;lt;/span&amp;gt;'''&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]&lt;br /&gt;
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]&lt;br /&gt;
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and 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.   &lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility. &lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. &lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
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. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled.&lt;br /&gt;
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Trackpad ==&lt;br /&gt;
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. &lt;br /&gt;
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].&lt;br /&gt;
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).&lt;br /&gt;
&lt;br /&gt;
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' &lt;br /&gt;
&lt;br /&gt;
Before you start:&lt;br /&gt;
&lt;br /&gt;
Please refer to original documentation for details.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro, ISO and ANSI. You need to know which model you have prior to running the updater. &lt;br /&gt;
FW update steps for both models are listed below.  &lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
*Your Pinebook Pro fully charged or running off of mains power&lt;br /&gt;
*Connection to WiFi&lt;br /&gt;
*An external USB keyboard &amp;amp; mouse. Or access to the Pinebebook Pro via SSH&lt;br /&gt;
&lt;br /&gt;
'''ISO Model''' &lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''ANSI Model''' &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; 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!&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== X-Windows &amp;amp; trackpad settings ===&lt;br /&gt;
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;&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&amp;lt;/pre&amp;gt;&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticably.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To make the change persist across reboots, change the file &amp;lt;code&amp;gt;/etc/X11/xorg.conf&amp;lt;/code&amp;gt; similar to below;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&lt;br /&gt;
    EndSection&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line &amp;lt;code&amp;gt;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;lt;/code&amp;gt; is the change.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&lt;br /&gt;
synclient FingerLow=30&lt;br /&gt;
synclient PalmDetect=1&lt;br /&gt;
synclient VertScrollDelta=64&lt;br /&gt;
synclient HorizScrollDelta=64&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FingerLow&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;right mouse click&amp;lt;/code&amp;gt; is emulated by tapping with two fingers on the trackpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&amp;lt;pre&amp;gt; synclient MaxTapTime=250 &amp;lt;/pre&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC @ 3A&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 15W PD quickcharge&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total there are four LEDs on the Pinebook Pro, three of which are placed in the top left side of the keyboard, and one near the barrel-port: &lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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). &lt;br /&gt;
&lt;br /&gt;
:3. The Num lock, green LED.&lt;br /&gt;
&lt;br /&gt;
:4. The Caps lock, green LED.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
* Streaming video resolutions supported, (un-compressed):&lt;br /&gt;
** 320 x 240 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Some people test with the application Cheese&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration; units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard withd a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
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]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run alsamixer from the command line &amp;gt; hit F6 and select the es8316 &amp;gt; hit F4 to get to the capture screen &amp;gt; select the bar labeled ADC &amp;gt;&lt;br /&gt;
&amp;gt; increase the gain to 0dB &amp;gt; change the audio profile in pavucontrol to another with input&lt;br /&gt;
&lt;br /&gt;
Additionally:&lt;br /&gt;
you may want to modify ADC PGA to get the levels to where you want them&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna. &lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilites are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth once&lt;br /&gt;
sudo rfkill block bluetooth &amp;amp;&amp;amp; &lt;br /&gt;
&lt;br /&gt;
#confirm&lt;br /&gt;
rfkill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth on boot**&lt;br /&gt;
sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**This does not do what one might want on certain distros, Manjaro XFCE for example. Try the below.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
right click on the bluetooth panel icon &amp;gt; select 'plugins' &amp;gt; PowerManager &amp;gt; configuration &amp;gt; deselect the auto power on option&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60hz refresh rate&lt;br /&gt;
* IPS&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250nt brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6 bit colour&lt;br /&gt;
* 30 pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following;&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PBPUART.jpeg|400px|thumb|right|Headphone jack UART wiring reference.&lt;br /&gt;
&amp;lt;br&amp;gt; Swapping the tx and rx around from this also works and is more traditional.&lt;br /&gt;
&amp;lt;br&amp;gt; See [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf this] official Pine64 .pdf.]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [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.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.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. &lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ lsusb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.&lt;br /&gt;
&lt;br /&gt;
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook_Pro_Hardware_Accessory_Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with trackpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability at lower battery levels. And to reduce power used, to maintain battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown);&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
NVME Identify Controller:&lt;br /&gt;
...&lt;br /&gt;
ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
         rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
         rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
         rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
         rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
         rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
&lt;br /&gt;
$ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
set-feature:02 (Power Management), value:0x000002&amp;lt;/pre&amp;gt;&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme get-feature -f 0x0c -H /dev/nvme0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
*MicroSD&lt;br /&gt;
*eMMC&lt;br /&gt;
*NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card.  (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].  &lt;br /&gt;
&lt;br /&gt;
WARNING: Do not connect the bypass cables with the battery connected.  Using the bypass cables with the battery connected can permanently damage the computer.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Placeholder for Pinebook Pro specific guides&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process on Pinebook Pro similar to 14&amp;quot; Pinebook'''&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process is the reverse order of removal guide'''&lt;br /&gt;
&lt;br /&gt;
* 14″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
* 14″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
* 14″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/dev/mtd0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* The Linux package below, will need to be available:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;mtd-utils&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* You can then use this program from the package to write the SPI device:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;flashcp &amp;amp;lt;filename&amp;amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
What cool software works out of the box? [[Pinebook Pro OTB Experience]]&lt;br /&gt;
&lt;br /&gt;
= Software tuning guide =&lt;br /&gt;
Details on how to get the most out of a Pinebook Pro &amp;amp; its RK3399 SoC.&lt;br /&gt;
&lt;br /&gt;
== Customizing Pinebook Pro's factory OS ==&lt;br /&gt;
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])&lt;br /&gt;
&lt;br /&gt;
=== Initial user changes, password, name, etc ===&lt;br /&gt;
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.&lt;br /&gt;
&lt;br /&gt;
* 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)&lt;br /&gt;
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal&lt;br /&gt;
* Login as root (login: root, password: root)&lt;br /&gt;
* Set a strong password for the root user using the following command and it's prompts:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd (and follow prompts)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock user to your prefered username (replace myself with whatever you like):&lt;br /&gt;
&amp;lt;pre&amp;gt;# usermod -l myself -d /home/myself -m rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock group to match your preferred username:&lt;br /&gt;
&amp;lt;pre&amp;gt;# groupmod -n myself rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Put your name in the account, (replace &amp;quot;John A Doe&amp;quot; with your name):&lt;br /&gt;
&amp;lt;pre&amp;gt;# chfn -f &amp;quot;John A Doe&amp;quot; myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set a strong password for the normal user:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Log out of the text terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;# logout&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user&lt;br /&gt;
* Open text terminal to fix login error: &amp;quot;Configured directory for incoming files does not exist&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ blueman-services&amp;lt;/pre&amp;gt;&lt;br /&gt;
Select &amp;quot;Transfer&amp;quot; tab and set &amp;quot;Incoming Folder&amp;quot; to myself&lt;br /&gt;
OR&lt;br /&gt;
If adduser is in distro, this is MUCH easier&lt;br /&gt;
sudo adduser $USER ,, fill out requested data&lt;br /&gt;
Then,, sudo adduser $USER $GROUP,,, 1 group at a time&lt;br /&gt;
To see which groups to add,,, id $USER,  id rock&lt;br /&gt;
&lt;br /&gt;
=== Changing the default hostname ===&lt;br /&gt;
Debian 9 has a command to allow you to change the hostname. You can see the current settings using;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl&lt;br /&gt;
   Static hostname: Debian-Desktop&lt;br /&gt;
         Icon name: computer&lt;br /&gt;
        Machine ID: dccbddccbdccbdccbdccbdccbdccbccb&lt;br /&gt;
           Boot ID: ea99ea99ea99ea99ea99ea99ea99ea99&lt;br /&gt;
  Operating System: Debian GNU/Linux 9 (stretch)&lt;br /&gt;
            Kernel: Linux 4.4.210&lt;br /&gt;
      Architecture: arm64&amp;lt;/pre&amp;gt;&lt;br /&gt;
To change, use this, (with &amp;quot;My_Hostname&amp;quot; used as the example);&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl set-hostname My_Hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
Whence done, you can re-verify using the first example.&lt;br /&gt;
&lt;br /&gt;
Then you should backup and edit your &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; entry's name;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`&lt;br /&gt;
&amp;gt; sudo vi /etc/hosts&lt;br /&gt;
127.0.0.1	localhost&lt;br /&gt;
127.0.0.1	My_Hostname&lt;br /&gt;
::1		localhost ip6-localhost ip6-loopback&lt;br /&gt;
fe00::0		ip6-localnet&lt;br /&gt;
ff00::0		ip6-mcastprefix&lt;br /&gt;
ff02::1		ip6-allnodes&lt;br /&gt;
ff02::2		ip6-allrouters&lt;br /&gt;
127.0.1.1       linaro-alip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Chromium browser's prompt for passphrase &amp;amp; password storage ===&lt;br /&gt;
&lt;br /&gt;
Perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* On the tool bar, hover over the Chromium icon&lt;br /&gt;
* Using the right mouse button, select '''Properties'''&lt;br /&gt;
* In the '''Command:''' line section, add &amp;lt;code&amp;gt;--password-store=basic&amp;lt;/code&amp;gt; before the &amp;lt;code&amp;gt;%U&amp;lt;/code&amp;gt;&lt;br /&gt;
* Use the '''x Close''' button to save the change&lt;br /&gt;
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.&lt;br /&gt;
&lt;br /&gt;
=== Changing the boot splash picture ===&lt;br /&gt;
&lt;br /&gt;
The default boot splash picture can be replaced using the following instructions:&lt;br /&gt;
&lt;br /&gt;
* Install '''ImageMagick''' which will do the conversion&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo apt-get install imagemagick&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).&lt;br /&gt;
* From the directory in which your new image is stored run the following commands&lt;br /&gt;
* Convert your image to the bootsplash raw format using imagemagick convert.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a backup copy of your current splash screen&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Copy your new splash screen into place&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp splash.fb /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set the correct permissions on the splash.fb file&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo chmod 644 /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed&lt;br /&gt;
&lt;br /&gt;
=== Enabling text boot time messages ===&lt;br /&gt;
&lt;br /&gt;
By default most Linux distros have a boot screen with a picture. To see all the messages, use the following;&lt;br /&gt;
&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
chmod a-w /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
vi /etc/default/u-boot&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.&lt;br /&gt;
* Update the U-Boot configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;u-boot-update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
== Chromium tweaks ==&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--disable-low-res-tiling \&lt;br /&gt;
--num-raster-threads=6 \&lt;br /&gt;
--profiler-timing=0 \&lt;br /&gt;
--disable-composited-antialiasing \&lt;br /&gt;
--test-type \&lt;br /&gt;
--show-component-extension-options \&lt;br /&gt;
--ignore-gpu-blacklist \&lt;br /&gt;
--use-gl=egl \&lt;br /&gt;
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \&lt;br /&gt;
--ppapi-flash-version=32.0.0.255 \&lt;br /&gt;
--enable-pinch \&lt;br /&gt;
--flag-switches-begin \&lt;br /&gt;
--enable-gpu-rasterization \&lt;br /&gt;
--enable-oop-rasterization \&lt;br /&gt;
--flag-switches-end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GVIM has performance issue ==&lt;br /&gt;
It appears that using GTK3 can cause very slow scolling, while VIM in a terminal window works fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply revert back to using GTK2, (how to do so, is somewhat Linux distro specific).&lt;br /&gt;
&lt;br /&gt;
== Kernel options ==&lt;br /&gt;
Here are some Pinebook Pro &amp;amp; its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.&lt;br /&gt;
&lt;br /&gt;
To see if a specific feature is enabled in the current kernel, you can use something like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep -i rockchip_pcie /proc/config.gz&lt;br /&gt;
# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set&lt;br /&gt;
CONFIG_PHY_ROCKCHIP_PCIE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If it's listed as &amp;lt;code&amp;gt;=m&amp;lt;/code&amp;gt;, then it's a module. You can see if the module is loaded with;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep -i rockchip_pcie&lt;br /&gt;
phy_rockchip_pcie      16384  0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Hardware video decoding ===&lt;br /&gt;
Here is a method to check for hardware video decoding by the VPU. There are special Linux kernel modules that perform this function.&amp;lt;br&amp;gt;&lt;br /&gt;
The default Debian uses Rockchip supplied kernel module &amp;lt;code&amp;gt;rk-vcodec&amp;lt;/code&amp;gt;. To check, something like this can be used;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep rk-vcodec&lt;br /&gt;
    or&lt;br /&gt;
$ zgrep RK_VCODEC /proc/config.gz&lt;br /&gt;
CONFIG_RK_VCODEC=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Later kernels may use a different option in the configuration as below;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep HANTRO /proc/config.gz&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting guide =&lt;br /&gt;
Tips, tricks and other information for troubleshooting your Pinebook Pro&lt;br /&gt;
=== New from the factory - Pinebook Pro won't boot / power on ===&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===&lt;br /&gt;
* 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).&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro won't boot when using UART console cable ===&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== WiFi issues ===&lt;br /&gt;
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]&lt;br /&gt;
* Next, you may have to modify the &amp;lt;code&amp;gt;/etc/NetworkManager/NetworkManager.conf&amp;lt;/code&amp;gt; as root user, and replace &amp;lt;code&amp;gt;managed=false&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;managed=true&amp;lt;/code&amp;gt;. Then reboot.&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;iw dev wlan0 set power_save off&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt;, although it is not persistent through re-boot.)&lt;br /&gt;
* For connections that drop under load on the default Debian, remove &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt; in the file &amp;lt;code&amp;gt;/etc/rc.local&amp;lt;/code&amp;gt;.&lt;br /&gt;
* 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]&lt;br /&gt;
* 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);&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;code&amp;gt;sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/{un,}bind &amp;lt;&amp;lt;&amp;lt; 'fe310000.dwmmc'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth issues ===&lt;br /&gt;
* 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.&lt;br /&gt;
* Bluetooth-attached speakers or headset require the &amp;lt;b&amp;gt;pulseaudio-module-bluetooth&amp;lt;/b&amp;gt; package. If not already installed, it can be installed with a package manager or with:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install pulseaudio-module-bluetooth&amp;lt;/pre&amp;gt;&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
=== Sound issues ===&lt;br /&gt;
* 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.) &lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Serveral users have reported that one internal speaker had reversed polarity. Thus, sound from the speakers is like an echo effect.&lt;br /&gt;
** Their is a software fix using alsamixer and then enable either &amp;quot;R invert&amp;quot; or &amp;quot;L invert&amp;quot;, however, now the headphones have incorrect audio.&lt;br /&gt;
** The permanent fix is to re-wire one speaker, though this requires soldering small wires.&lt;br /&gt;
&lt;br /&gt;
=== USB docks &amp;amp; USB C alternate mode video ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Here are some selection criteria for successfully using the USB C alternate mode for video:&lt;br /&gt;
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.&lt;br /&gt;
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.&lt;br /&gt;
* 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.&lt;br /&gt;
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).&lt;br /&gt;
&lt;br /&gt;
=== Keys not registering / missing keys when typing ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.&lt;br /&gt;
&lt;br /&gt;
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.&lt;br /&gt;
&lt;br /&gt;
=== Key Mapping ===&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===&lt;br /&gt;
This refers to the firmware update shown here:&lt;br /&gt;
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
* 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. &lt;br /&gt;
* System restore https://forum.pine64.org/showthread.php?tid=8229&lt;br /&gt;
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
&lt;br /&gt;
=== ANSI Fn + F keys wrong for F9, F10, F11 and F12 ===&lt;br /&gt;
There appears to be a minor firmware issue for ANSI keyboard models of the Pinebook Pro. Some discussion and fixes have been proposed;&lt;br /&gt;
&lt;br /&gt;
* Discussion thread [https://forum.pine64.org/showthread.php?tid=8744&amp;amp;pid=57678#pid57678  Fn + F keys screwy for F9, F10, F11 and F12]&lt;br /&gt;
* 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]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== After changing builtin LCD resolution, blank screen ===&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
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). &lt;br /&gt;
&amp;lt;pre&amp;gt;export DISPLAY=:0.0&lt;br /&gt;
xrandr -q&lt;br /&gt;
xrandr -s [resolution]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Once your resolution is restored, try using the Tweak app to set scaling, instead.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If the above fix did not work, you can try this:&lt;br /&gt;
* Using a text console, (Control-Alt-F1), login with your normal user ID&lt;br /&gt;
* Edit the file &amp;lt;code&amp;gt;nano ~/.config/monitors.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change the &amp;quot;width&amp;quot; value to &amp;quot;1920&amp;quot;&lt;br /&gt;
* Change the &amp;quot;height&amp;quot; value to &amp;quot;1080&amp;quot;&lt;br /&gt;
* If there is more than one monitor configuration listed, edit that one too.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Be careful to make no other changes. If needed exit without saving and re-edit.&lt;br /&gt;
* Save the file and exit.&lt;br /&gt;
* Login using the GUI and test&lt;br /&gt;
* If you are still loggied in via the GUI, you will have to reboot using &amp;lt;code&amp;gt;sudo shutdown -r now&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;After the reboot, you should be able to login to the GUI login and have the resolution back to normal.&lt;br /&gt;
&lt;br /&gt;
= [[Pinebook_Pro_Hardware_Accessory_Compatibility|PineBookPro Hardware Compatibility]] =&lt;br /&gt;
&lt;br /&gt;
Please contribute to the hardware compatibility page, which lists hardware which has been tested with the PBP, whether successful or not!&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
== Accessing the Internals - Disassembly and Reassembly  == &lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Screw measurements in mm;&lt;br /&gt;
&lt;br /&gt;
Small screw&lt;br /&gt;
&lt;br /&gt;
Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1,  Overall length - 3.05&lt;br /&gt;
&lt;br /&gt;
Long screw&lt;br /&gt;
&lt;br /&gt;
Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Internal Layout ==&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. &lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode; this mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools). &lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe 4X socket for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Trackpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Male power bridge connector &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Female power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Trackpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C.  The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG. &lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a 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.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo 'fe330000.sdhci' | tee /sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
echo 'fe330000.sdhci' | tee /sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable.&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Dimensions ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws, estimated dimensions, (until we can get confirmation)&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws&lt;br /&gt;
** 6 x 6mm in length&lt;br /&gt;
** 4 x 4mm in length, (used along the front edge)&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72 &lt;br /&gt;
** L2 cache 1024KB for big cluster &lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions &lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 	650MHz &lt;br /&gt;
* Throughput 	1300Mtri/s, 10.4Gpix/s &lt;br /&gt;
* 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™.&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory: &lt;br /&gt;
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAH)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 2.x, 5GT/s per lane&lt;br /&gt;
* 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5W continuous, 8.25W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
* Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]&lt;br /&gt;
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]&lt;br /&gt;
* Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
* Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
* Serial Console Earphone Jack Pinout:&lt;br /&gt;
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]&lt;br /&gt;
* Pinebook Pro Case:&lt;br /&gt;
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]&lt;br /&gt;
* Pinebook Pro Certifications:&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Rockchip RK3399 SoC information:&lt;br /&gt;
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]&lt;br /&gt;
* LPDDR4 (366 Balls) SDRAM:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]&lt;br /&gt;
* Wireless related info:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
* Audio Codec (ES8316)&lt;br /&gt;
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
* Internal USB 2 hub:&lt;br /&gt;
** [https://wiki.pine64.org/images/3/39/GL850G_USB_Hub_1.07.pdf GL850G USB Hub 1.07.pdf]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]&lt;br /&gt;
* Keyboard information:&lt;br /&gt;
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]&lt;br /&gt;
** US ANSI: XK-HS002 MB27716023&lt;br /&gt;
* Full HD Camera sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]&lt;br /&gt;
* Lithium Battery information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14&amp;quot; model]&lt;br /&gt;
* NVMe adapter:&lt;br /&gt;
** [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]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111] &lt;br /&gt;
&lt;br /&gt;
=Skinning and Case Customization=&lt;br /&gt;
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.&lt;br /&gt;
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [[RockPro64 Guides]]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]&lt;br /&gt;
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=5504</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=5504"/>
		<updated>2020-04-24T16:16:50Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Pinebook Pro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= User Guide =&lt;br /&gt;
== Introducing PineBook Pro == &lt;br /&gt;
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
The keyboard and trackpad both use the USB 2.0 protocol.  The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects.  These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD. &lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Default Debian MATE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
The newest release of the build can downloaded directly from [https://github.com/mrfixit2001/debian_desktop/releases MrFixIt2001's GitHub]. &lt;br /&gt;
&lt;br /&gt;
'''The default username and password is:'''&lt;br /&gt;
* Username: rock &lt;br /&gt;
* Password: rock&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:UpdateScript.png|350px|thumb|right|Location of update script applet icon on stock Debian with MATE]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usermod -l NewUser -d /home/NewUser -m rock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you log back into your new user, Bluetooth will complain about no transfer folder location. To fix this open terminal and type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
blueman-services&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From here, select incoming folder under the 'transfer' tab.&lt;br /&gt;
&lt;br /&gt;
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.     &lt;br /&gt;
&lt;br /&gt;
You can run the script from the terminal using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /usr/bin/mrfixit_update.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook Pro_Software_Release|Pinebook Pro images]] ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
note: When upgrading from a prior release of Manjaro to version 20.1, you may need to increase the backlight as the number of steps for the backlight exposed by the kernel was changed from 256 to 4096&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Q4OS}} http://files.pine64.org/sw/pine64_installer/json/q4os.png] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Armbian}} http://files.pine64.org/sw/pine64_installer/json/armbian.png] [[PinebookPro_Software_Release#Armbian|'''Armbian (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#NetBSD}} http://files.pine64.org/sw/pine64_installer/json/netbsd.png] [[PinebookPro_Software_Release#NetBSD|'''NetBSD (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Chropmium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']] &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/gentoo.png]&lt;br /&gt;
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Kali}} [[File:Kali.jpeg|125px]]] [[PinebookPro_Software_Release#Kali|'''Kali Script for Pinebook Pro (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
=== Quick Links to OS Images Build Sources===&lt;br /&gt;
'''Some of the provided OS images are still in &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;beta or nightly build&amp;lt;/span&amp;gt; and only fit for testing purposes. These images ought to be avoided for normal usage - use them at &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;your own risk&amp;lt;/span&amp;gt;'''&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]&lt;br /&gt;
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]&lt;br /&gt;
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and 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.   &lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility. &lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. &lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
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. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled.&lt;br /&gt;
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Trackpad ==&lt;br /&gt;
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. &lt;br /&gt;
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].&lt;br /&gt;
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).&lt;br /&gt;
&lt;br /&gt;
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' &lt;br /&gt;
&lt;br /&gt;
Before you start:&lt;br /&gt;
&lt;br /&gt;
Please refer to original documentation for details.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro, ISO and ANSI. You need to know which model you have prior to running the updater. &lt;br /&gt;
FW update steps for both models are listed below.  &lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
*Your Pinebook Pro fully charged or running off of mains power&lt;br /&gt;
*Connection to WiFi&lt;br /&gt;
*An external USB keyboard &amp;amp; mouse. Or access to the Pinebebook Pro via SSH&lt;br /&gt;
&lt;br /&gt;
'''ISO Model''' &lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''ANSI Model''' &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; 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!&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== X-Windows &amp;amp; trackpad settings ===&lt;br /&gt;
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;&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&amp;lt;/pre&amp;gt;&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticably.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To make the change persist across reboots, change the file &amp;lt;code&amp;gt;/etc/X11/xorg.conf&amp;lt;/code&amp;gt; similar to below;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&lt;br /&gt;
    EndSection&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line &amp;lt;code&amp;gt;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;lt;/code&amp;gt; is the change.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&lt;br /&gt;
synclient FingerLow=30&lt;br /&gt;
synclient PalmDetect=1&lt;br /&gt;
synclient VertScrollDelta=64&lt;br /&gt;
synclient HorizScrollDelta=64&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FingerLow&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC @ 3A&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 15W PD quickcharge&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total there are four LEDs on the Pinebook Pro, three of which are placed in the top left side of the keyboard, and one near the barrel-port: &lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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). &lt;br /&gt;
&lt;br /&gt;
:3. The Num lock, green LED.&lt;br /&gt;
&lt;br /&gt;
:4. The Caps lock, green LED.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
* Streaming video resolutions supported, (un-compressed):&lt;br /&gt;
** 320 x 240 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Some people test with the application Cheese&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration; units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard withd a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
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]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run alsamixer from the command line &amp;gt; hit F6 and select the es8316 &amp;gt; hit F4 to get to the capture screen &amp;gt; select the bar labeled ADC &amp;gt;&lt;br /&gt;
&amp;gt; increase the gain to 0dB &amp;gt; change the audio profile in pavucontrol to another with input&lt;br /&gt;
&lt;br /&gt;
Additionally:&lt;br /&gt;
you may want to modify ADC PGA to get the levels to where you want them&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna. &lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilites are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth once&lt;br /&gt;
sudo rfkill block bluetooth &amp;amp;&amp;amp; &lt;br /&gt;
&lt;br /&gt;
#confirm&lt;br /&gt;
rfkill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth on boot**&lt;br /&gt;
sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**This does not do what one might want on certain distros, Manjaro XFCE for example. Try the below.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
right click on the bluetooth panel icon &amp;gt; select 'plugins' &amp;gt; PowerManager &amp;gt; configuration &amp;gt; deselect the auto power on option&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60hz refresh rate&lt;br /&gt;
* IPS&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250nt brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6 bit colour&lt;br /&gt;
* 30 pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following;&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PBPUART.jpeg|400px|thumb|right|Headphone jack UART wiring reference.&lt;br /&gt;
&amp;lt;br&amp;gt; Swapping the tx and rx around from this also works and is more traditional.&lt;br /&gt;
&amp;lt;br&amp;gt; See [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf this] official Pine64 .pdf.]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [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.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.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. &lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ lsusb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.&lt;br /&gt;
&lt;br /&gt;
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook_Pro_Hardware_Accessory_Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with trackpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability at lower battery levels. And to reduce power used, to maintain battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown);&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
NVME Identify Controller:&lt;br /&gt;
...&lt;br /&gt;
ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
         rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
         rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
         rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
         rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
         rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
&lt;br /&gt;
$ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
set-feature:02 (Power Management), value:0x000002&amp;lt;/pre&amp;gt;&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme get-feature -f 0x0c -H /dev/nvme0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
*MicroSD&lt;br /&gt;
*eMMC&lt;br /&gt;
*NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card.  (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].  &lt;br /&gt;
&lt;br /&gt;
WARNING: Do not connect the bypass cables with the battery connected.  Using the bypass cables with the battery connected can permanently damage the computer.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Placeholder for Pinebook Pro specific guides&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process on Pinebook Pro similar to 14&amp;quot; Pinebook'''&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process is the reverse order of removal guide'''&lt;br /&gt;
&lt;br /&gt;
* 14″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
* 14″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
* 14″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/dev/mtd0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* The Linux package below, will need to be available:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;mtd-utils&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* You can then use this program from the package to write the SPI device:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;flashcp &amp;amp;lt;filename&amp;amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
What cool software works out of the box? [[Pinebook Pro OTB Experience]]&lt;br /&gt;
&lt;br /&gt;
= Software tuning guide =&lt;br /&gt;
Details on how to get the most out of a Pinebook Pro &amp;amp; its RK3399 SoC.&lt;br /&gt;
&lt;br /&gt;
== Customizing Pinebook Pro's factory OS ==&lt;br /&gt;
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])&lt;br /&gt;
&lt;br /&gt;
=== Initial user changes, password, name, etc ===&lt;br /&gt;
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.&lt;br /&gt;
&lt;br /&gt;
* 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)&lt;br /&gt;
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal&lt;br /&gt;
* Login as root (login: root, password: root)&lt;br /&gt;
* Set a strong password for the root user using the following command and it's prompts:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd (and follow prompts)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock user to your prefered username (replace myself with whatever you like):&lt;br /&gt;
&amp;lt;pre&amp;gt;# usermod -l myself -d /home/myself -m rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock group to match your preferred username:&lt;br /&gt;
&amp;lt;pre&amp;gt;# groupmod -n myself rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Put your name in the account, (replace &amp;quot;John A Doe&amp;quot; with your name):&lt;br /&gt;
&amp;lt;pre&amp;gt;# chfn -f &amp;quot;John A Doe&amp;quot; myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set a strong password for the normal user:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Log out of the text terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;# logout&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user&lt;br /&gt;
* Open text terminal to fix login error: &amp;quot;Configured directory for incoming files does not exist&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ blueman-services&amp;lt;/pre&amp;gt;&lt;br /&gt;
Select &amp;quot;Transfer&amp;quot; tab and set &amp;quot;Incoming Folder&amp;quot; to myself&lt;br /&gt;
OR&lt;br /&gt;
If adduser is in distro, this is MUCH easier&lt;br /&gt;
sudo adduser $USER ,, fill out requested data&lt;br /&gt;
Then,, sudo adduser $USER $GROUP,,, 1 group at a time&lt;br /&gt;
To see which groups to add,,, id $USER,  id rock&lt;br /&gt;
&lt;br /&gt;
=== Changing the default hostname ===&lt;br /&gt;
Debian 9 has a command to allow you to change the hostname. You can see the current settings using;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl&lt;br /&gt;
   Static hostname: Debian-Desktop&lt;br /&gt;
         Icon name: computer&lt;br /&gt;
        Machine ID: dccbddccbdccbdccbdccbdccbdccbccb&lt;br /&gt;
           Boot ID: ea99ea99ea99ea99ea99ea99ea99ea99&lt;br /&gt;
  Operating System: Debian GNU/Linux 9 (stretch)&lt;br /&gt;
            Kernel: Linux 4.4.210&lt;br /&gt;
      Architecture: arm64&amp;lt;/pre&amp;gt;&lt;br /&gt;
To change, use this, (with &amp;quot;My_Hostname&amp;quot; used as the example);&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl set-hostname My_Hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
Whence done, you can re-verify using the first example.&lt;br /&gt;
&lt;br /&gt;
Then you should backup and edit your &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; entry's name;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`&lt;br /&gt;
&amp;gt; sudo vi /etc/hosts&lt;br /&gt;
127.0.0.1	localhost&lt;br /&gt;
127.0.0.1	My_Hostname&lt;br /&gt;
::1		localhost ip6-localhost ip6-loopback&lt;br /&gt;
fe00::0		ip6-localnet&lt;br /&gt;
ff00::0		ip6-mcastprefix&lt;br /&gt;
ff02::1		ip6-allnodes&lt;br /&gt;
ff02::2		ip6-allrouters&lt;br /&gt;
127.0.1.1       linaro-alip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Chromium browser's prompt for passphrase &amp;amp; password storage ===&lt;br /&gt;
&lt;br /&gt;
Perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* On the tool bar, hover over the Chromium icon&lt;br /&gt;
* Using the right mouse button, select '''Properties'''&lt;br /&gt;
* In the '''Command:''' line section, add &amp;lt;code&amp;gt;--password-store=basic&amp;lt;/code&amp;gt; before the &amp;lt;code&amp;gt;%U&amp;lt;/code&amp;gt;&lt;br /&gt;
* Use the '''x Close''' button to save the change&lt;br /&gt;
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.&lt;br /&gt;
&lt;br /&gt;
=== Changing the boot splash picture ===&lt;br /&gt;
&lt;br /&gt;
The default boot splash picture can be replaced using the following instructions:&lt;br /&gt;
&lt;br /&gt;
* Install '''ImageMagick''' which will do the conversion&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo apt-get install imagemagick&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).&lt;br /&gt;
* From the directory in which your new image is stored run the following commands&lt;br /&gt;
* Convert your image to the bootsplash raw format using imagemagick convert.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a backup copy of your current splash screen&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Copy your new splash screen into place&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp splash.fb /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set the correct permissions on the splash.fb file&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo chmod 644 /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed&lt;br /&gt;
&lt;br /&gt;
=== Enabling text boot time messages ===&lt;br /&gt;
&lt;br /&gt;
By default most Linux distros have a boot screen with a picture. To see all the messages, use the following;&lt;br /&gt;
&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
chmod a-w /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
vi /etc/default/u-boot&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.&lt;br /&gt;
* Update the U-Boot configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;u-boot-update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
== Chromium tweaks ==&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--disable-low-res-tiling \&lt;br /&gt;
--num-raster-threads=6 \&lt;br /&gt;
--profiler-timing=0 \&lt;br /&gt;
--disable-composited-antialiasing \&lt;br /&gt;
--test-type \&lt;br /&gt;
--show-component-extension-options \&lt;br /&gt;
--ignore-gpu-blacklist \&lt;br /&gt;
--use-gl=egl \&lt;br /&gt;
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \&lt;br /&gt;
--ppapi-flash-version=32.0.0.255 \&lt;br /&gt;
--enable-pinch \&lt;br /&gt;
--flag-switches-begin \&lt;br /&gt;
--enable-gpu-rasterization \&lt;br /&gt;
--enable-oop-rasterization \&lt;br /&gt;
--flag-switches-end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GVIM has performance issue ==&lt;br /&gt;
It appears that using GTK3 can cause very slow scolling, while VIM in a terminal window works fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply revert back to using GTK2, (how to do so, is somewhat Linux distro specific).&lt;br /&gt;
&lt;br /&gt;
== Kernel options ==&lt;br /&gt;
Here are some Pinebook Pro &amp;amp; its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.&lt;br /&gt;
&lt;br /&gt;
To see if a specific feature is enabled in the current kernel, you can use something like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep -i rockchip_pcie /proc/config.gz&lt;br /&gt;
# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set&lt;br /&gt;
CONFIG_PHY_ROCKCHIP_PCIE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If it's listed as &amp;lt;code&amp;gt;=m&amp;lt;/code&amp;gt;, then it's a module. You can see if the module is loaded with;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep -i rockchip_pcie&lt;br /&gt;
phy_rockchip_pcie      16384  0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Hardware video decoding ===&lt;br /&gt;
Here is a method to check for hardware video decoding by the VPU. There are special Linux kernel modules that perform this function.&amp;lt;br&amp;gt;&lt;br /&gt;
The default Debian uses Rockchip supplied kernel module &amp;lt;code&amp;gt;rk-vcodec&amp;lt;/code&amp;gt;. To check, something like this can be used;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep rk-vcodec&lt;br /&gt;
    or&lt;br /&gt;
$ zgrep RK_VCODEC /proc/config.gz&lt;br /&gt;
CONFIG_RK_VCODEC=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Later kernels may use a different option in the configuration as below;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep HANTRO /proc/config.gz&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting guide =&lt;br /&gt;
Tips, tricks and other information for troubleshooting your Pinebook Pro&lt;br /&gt;
=== New from the factory - Pinebook Pro won't boot / power on ===&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===&lt;br /&gt;
* 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).&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro won't boot when using UART console cable ===&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== WiFi issues ===&lt;br /&gt;
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]&lt;br /&gt;
* Next, you may have to modify the &amp;lt;code&amp;gt;/etc/NetworkManager/NetworkManager.conf&amp;lt;/code&amp;gt; as root user, and replace &amp;lt;code&amp;gt;managed=false&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;managed=true&amp;lt;/code&amp;gt;. Then reboot.&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;iw dev wlan0 set power_save off&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt;, although it is not persistent through re-boot.)&lt;br /&gt;
* For connections that drop under load on the default Debian, remove &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt; in the file &amp;lt;code&amp;gt;/etc/rc.local&amp;lt;/code&amp;gt;.&lt;br /&gt;
* 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]&lt;br /&gt;
* 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);&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;code&amp;gt;sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/{un,}bind &amp;lt;&amp;lt;&amp;lt; 'fe310000.dwmmc'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth issues ===&lt;br /&gt;
* 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.&lt;br /&gt;
* Bluetooth-attached speakers or headset require the &amp;lt;b&amp;gt;pulseaudio-module-bluetooth&amp;lt;/b&amp;gt; package. If not already installed, it can be installed with a package manager or with:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install pulseaudio-module-bluetooth&amp;lt;/pre&amp;gt;&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
=== Sound issues ===&lt;br /&gt;
* 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.) &lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&lt;br /&gt;
* Serveral users have reported that one internal speaker had reversed polarity. Thus, sound from the speakers is like an echo effect.&lt;br /&gt;
** Their is a software fix using alsamixer and then enable either &amp;quot;R invert&amp;quot; or &amp;quot;L invert&amp;quot;, however, now the headphones have incorrect audio.&lt;br /&gt;
** The permanent fix is to re-wire one speaker, though this requires soldering small wires.&lt;br /&gt;
&lt;br /&gt;
=== USB docks &amp;amp; USB C alternate mode video ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Here are some selection criteria for successfully using the USB C alternate mode for video:&lt;br /&gt;
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.&lt;br /&gt;
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.&lt;br /&gt;
* 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.&lt;br /&gt;
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).&lt;br /&gt;
&lt;br /&gt;
=== Keys not registering / missing keys when typing ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.&lt;br /&gt;
&lt;br /&gt;
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.&lt;br /&gt;
&lt;br /&gt;
=== Key Mapping ===&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===&lt;br /&gt;
This refers to the firmware update shown here:&lt;br /&gt;
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
* 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. &lt;br /&gt;
* System restore https://forum.pine64.org/showthread.php?tid=8229&lt;br /&gt;
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
&lt;br /&gt;
=== ANSI Fn + F keys wrong for F9, F10, F11 and F12 ===&lt;br /&gt;
There appears to be a minor firmware issue for ANSI keyboard models of the Pinebook Pro. Some discussion and fixes have been proposed;&lt;br /&gt;
&lt;br /&gt;
* Discussion thread [https://forum.pine64.org/showthread.php?tid=8744&amp;amp;pid=57678#pid57678  Fn + F keys screwy for F9, F10, F11 and F12]&lt;br /&gt;
* 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]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== After changing builtin LCD resolution, blank screen ===&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
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). &lt;br /&gt;
&amp;lt;pre&amp;gt;export DISPLAY=:0.0&lt;br /&gt;
xrandr -q&lt;br /&gt;
xrandr -s [resolution]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Once your resolution is restored, try using the Tweak app to set scaling, instead.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If the above fix did not work, you can try this:&lt;br /&gt;
* Using a text console, (Control-Alt-F1), login with your normal user ID&lt;br /&gt;
* Edit the file &amp;lt;code&amp;gt;nano ~/.config/monitors.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change the &amp;quot;width&amp;quot; value to &amp;quot;1920&amp;quot;&lt;br /&gt;
* Change the &amp;quot;height&amp;quot; value to &amp;quot;1080&amp;quot;&lt;br /&gt;
* If there is more than one monitor configuration listed, edit that one too.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Be careful to make no other changes. If needed exit without saving and re-edit.&lt;br /&gt;
* Save the file and exit.&lt;br /&gt;
* Login using the GUI and test&lt;br /&gt;
* If you are still loggied in via the GUI, you will have to reboot using &amp;lt;code&amp;gt;sudo shutdown -r now&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;After the reboot, you should be able to login to the GUI login and have the resolution back to normal.&lt;br /&gt;
&lt;br /&gt;
= [[Pinebook_Pro_Hardware_Accessory_Compatibility|PineBookPro Hardware Compatibility]] =&lt;br /&gt;
&lt;br /&gt;
Please contribute to the hardware compatibility page, which lists hardware which has been tested with the PBP, whether successful or not!&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
== Accessing the Internals - Disassembly and Reassembly  == &lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Screw measurements in mm;&lt;br /&gt;
&lt;br /&gt;
Small screw&lt;br /&gt;
&lt;br /&gt;
Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1,  Overall length - 3.05&lt;br /&gt;
&lt;br /&gt;
Long screw&lt;br /&gt;
&lt;br /&gt;
Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Internal Layout ==&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. &lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode; this mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools). &lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe 4X socket for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Trackpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Male power bridge connector &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Female power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Trackpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C.  The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG. &lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a 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.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo 'fe330000.sdhci' | tee /sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
echo 'fe330000.sdhci' | tee /sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable.&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Dimensions ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws, estimated dimensions, (until we can get confirmation)&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws&lt;br /&gt;
** 6 x 6mm in length&lt;br /&gt;
** 4 x 4mm in length, (used along the front edge)&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72 &lt;br /&gt;
** L2 cache 1024KB for big cluster &lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions &lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 	650MHz &lt;br /&gt;
* Throughput 	1300Mtri/s, 10.4Gpix/s &lt;br /&gt;
* 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™.&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory: &lt;br /&gt;
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAH)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 2.x, 5GT/s per lane&lt;br /&gt;
* 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5W continuous, 8.25W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
* Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]&lt;br /&gt;
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]&lt;br /&gt;
* Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
* Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
* Serial Console Earphone Jack Pinout:&lt;br /&gt;
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]&lt;br /&gt;
* Pinebook Pro Case:&lt;br /&gt;
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]&lt;br /&gt;
* Pinebook Pro Certifications:&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Rockchip RK3399 SoC information:&lt;br /&gt;
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]&lt;br /&gt;
* LPDDR4 (366 Balls) SDRAM:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]&lt;br /&gt;
* Wireless related info:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
* Audio Codec (ES8316)&lt;br /&gt;
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
* Internal USB 2 hub:&lt;br /&gt;
** [https://wiki.pine64.org/images/3/39/GL850G_USB_Hub_1.07.pdf GL850G USB Hub 1.07.pdf]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]&lt;br /&gt;
* Keyboard information:&lt;br /&gt;
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]&lt;br /&gt;
** US ANSI: XK-HS002 MB27716023&lt;br /&gt;
* Full HD Camera sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]&lt;br /&gt;
* Lithium Battery information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14&amp;quot; model]&lt;br /&gt;
* NVMe adapter:&lt;br /&gt;
** [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]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111] &lt;br /&gt;
&lt;br /&gt;
=Skinning and Case Customization=&lt;br /&gt;
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.&lt;br /&gt;
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [[RockPro64 Guides]]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]&lt;br /&gt;
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=5481</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=5481"/>
		<updated>2020-04-17T16:34:13Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* X-Windows &amp;amp; trackpad tuning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= User Guide =&lt;br /&gt;
== Introducing PineBook Pro == &lt;br /&gt;
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
The keyboard and trackpad both use the USB 2.0 protocol.  The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects.  These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD. &lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Default Debian MATE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
The newest release of the build can downloaded directly from [https://github.com/mrfixit2001/debian_desktop/releases MrFixIt2001's GitHub]. &lt;br /&gt;
&lt;br /&gt;
'''The default username and password is:'''&lt;br /&gt;
* Username: rock &lt;br /&gt;
* Password: rock&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:UpdateScript.png|350px|thumb|right|Location of update script applet icon on stock Debian with MATE]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usermod -l NewUser -d /home/NewUser -m rock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you log back into your new user, Bluetooth will complain about no transfer folder location. To fix this open terminal and type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
blueman-services&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From here, select incoming folder under the 'transfer' tab.&lt;br /&gt;
&lt;br /&gt;
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.     &lt;br /&gt;
&lt;br /&gt;
You can run the script from the terminal using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /usr/bin/mrfixit_update.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook Pro_Software_Release|Pinebook Pro]] ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
note: When upgrading from a prior release of Manjaro to version 20.1, you may need to increase the backlight as the number of steps for the backlight exposed by the kernel was changed from 256 to 4096&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Q4OS}} http://files.pine64.org/sw/pine64_installer/json/q4os.png] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Armbian}} http://files.pine64.org/sw/pine64_installer/json/armbian.png] [[PinebookPro_Software_Release#Armbian|'''Armbian (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#NetBSD}} http://files.pine64.org/sw/pine64_installer/json/netbsd.png] [[PinebookPro_Software_Release#NetBSD|'''NetBSD (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Chropmium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']] &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/gentoo.png]&lt;br /&gt;
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Kali}} [[File:Kali.jpeg|125px]]] [[PinebookPro_Software_Release#Kali|'''Kali Script for Pinebook Pro (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
=== Quick Links to OS Images Build Sources===&lt;br /&gt;
'''Some of the provided OS images are still in &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;beta or nightly build&amp;lt;/span&amp;gt; and only fit for testing purposes. These images ought to be avoided for normal usage - use them at &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;your own risk&amp;lt;/span&amp;gt;'''&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]&lt;br /&gt;
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]&lt;br /&gt;
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and 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.   &lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility. &lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. &lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
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. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled.&lt;br /&gt;
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Trackpad ==&lt;br /&gt;
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. &lt;br /&gt;
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].&lt;br /&gt;
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).&lt;br /&gt;
&lt;br /&gt;
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' &lt;br /&gt;
&lt;br /&gt;
Before you start:&lt;br /&gt;
&lt;br /&gt;
Please refer to original documentation for details.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro, ISO and ANSI. You need to know which model you have prior to running the updater. &lt;br /&gt;
FW update steps for both models are listed below.  &lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
*Your Pinebook Pro fully charged or running off of mains power&lt;br /&gt;
*Connection to WiFi&lt;br /&gt;
*An external USB keyboard &amp;amp; mouse. Or access to the Pinebebook Pro via SSH&lt;br /&gt;
&lt;br /&gt;
'''ISO Model''' &lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''ANSI Model''' &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; 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!&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== X-Windows &amp;amp; trackpad settings ===&lt;br /&gt;
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;&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&amp;lt;/pre&amp;gt;&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticably.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To make the change persist across reboots, change the file &amp;lt;code&amp;gt;/etc/X11/xorg.conf&amp;lt;/code&amp;gt; similar to below;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&lt;br /&gt;
    EndSection&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line &amp;lt;code&amp;gt;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;lt;/code&amp;gt; is the change.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&lt;br /&gt;
synclient FingerLow=30&lt;br /&gt;
synclient PalmDetect=1&lt;br /&gt;
synclient VertScrollDelta=64&lt;br /&gt;
synclient HorizScrollDelta=64&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FingerLow&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC @ 3A&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 15W PD quickcharge&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total there are four LEDs on the Pinebook Pro, three of which are placed in the top left side of the keyboard, and one near the barrel-port: &lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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). &lt;br /&gt;
&lt;br /&gt;
:3. The Num lock, green LED.&lt;br /&gt;
&lt;br /&gt;
:4. The Caps lock, green LED.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
* Streaming video resolutions supported, (un-compressed):&lt;br /&gt;
** 320 x 240 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Some people test with the application Cheese&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration; units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard withd a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
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]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run alsamixer from the command line &amp;gt; hit F6 and select the es8316 &amp;gt; hit F4 to get to the capture screen &amp;gt; select the bar labeled ADC &amp;gt;&lt;br /&gt;
&amp;gt; increase the gain to 0dB &amp;gt; change the audio profile in pavucontrol to another with input&lt;br /&gt;
&lt;br /&gt;
Additionally:&lt;br /&gt;
you may want to modify ADC PGA to get the levels to where you want them&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna. &lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilites are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth once&lt;br /&gt;
sudo rfkill block bluetooth &amp;amp;&amp;amp; &lt;br /&gt;
&lt;br /&gt;
#confirm&lt;br /&gt;
rfkill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth on boot**&lt;br /&gt;
sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**This does not do what one might want on certain distros, Manjaro XFCE for example. Try the below.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
right click on the bluetooth panel icon &amp;gt; select 'plugins' &amp;gt; PowerManager &amp;gt; configuration &amp;gt; deselect the auto power on option&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60hz refresh rate&lt;br /&gt;
* IPS&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250nt brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6 bit colour&lt;br /&gt;
* 30 pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following;&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PBPUART.jpeg|400px|thumb|right|Headphone jack UART wiring reference.&lt;br /&gt;
&amp;lt;br&amp;gt; Swapping the tx and rx around from this also works and is more traditional.&lt;br /&gt;
&amp;lt;br&amp;gt; See [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf this] official Pine64 .pdf.]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [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.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.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. &lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ lsusb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.&lt;br /&gt;
&lt;br /&gt;
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook_Pro_Hardware_Accessory_Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with trackpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability at lower battery levels. And to reduce power used, to maintain battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown);&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
NVME Identify Controller:&lt;br /&gt;
...&lt;br /&gt;
ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
         rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
         rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
         rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
         rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
         rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
&lt;br /&gt;
$ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
set-feature:02 (Power Management), value:0x000002&amp;lt;/pre&amp;gt;&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme get-feature -f 0x0c -H /dev/nvme0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
*MicroSD&lt;br /&gt;
*eMMC&lt;br /&gt;
*NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card.  (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].  &lt;br /&gt;
&lt;br /&gt;
WARNING: Do not connect the bypass cables with the battery connected.  Using the bypass cables with the battery connected can permanently damage the computer.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Placeholder for Pinebook Pro specific guides&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process on Pinebook Pro similar to 14&amp;quot; Pinebook'''&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process is the reverse order of removal guide'''&lt;br /&gt;
&lt;br /&gt;
* 14″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
* 14″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
* 14″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
What cool software works out of the box? [[Pinebook Pro OTB Experience]]&lt;br /&gt;
&lt;br /&gt;
= Software tuning guide =&lt;br /&gt;
Details on how to get the most out of a Pinebook Pro &amp;amp; its RK3399 SoC.&lt;br /&gt;
&lt;br /&gt;
== Customizing Pinebook Pro's factory OS ==&lt;br /&gt;
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])&lt;br /&gt;
&lt;br /&gt;
=== Initial user changes, password, name, etc ===&lt;br /&gt;
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.&lt;br /&gt;
&lt;br /&gt;
* 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)&lt;br /&gt;
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal&lt;br /&gt;
* Login as root (login: root, password: root)&lt;br /&gt;
* Set a strong password for the root user using the following command and it's prompts:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd (and follow prompts)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock user to your prefered username (replace myself with whatever you like):&lt;br /&gt;
&amp;lt;pre&amp;gt;# usermod -l myself -d /home/myself -m rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock group to match your preferred username:&lt;br /&gt;
&amp;lt;pre&amp;gt;# groupmod -n myself rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Put your name in the account, (replace &amp;quot;John A Doe&amp;quot; with your name):&lt;br /&gt;
&amp;lt;pre&amp;gt;# chfn -f &amp;quot;John A Doe&amp;quot; myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set a strong password for the normal user:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Log out of the text terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;# logout&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user&lt;br /&gt;
* Open text terminal to fix login error: &amp;quot;Configured directory for incoming files does not exist&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ blueman-services&amp;lt;/pre&amp;gt;&lt;br /&gt;
Select &amp;quot;Transfer&amp;quot; tab and set &amp;quot;Incoming Folder&amp;quot; to myself&lt;br /&gt;
OR&lt;br /&gt;
If adduser is in distro, this is MUCH easier&lt;br /&gt;
sudo adduser $USER ,, fill out requested data&lt;br /&gt;
Then,, sudo adduser $USER $GROUP,,, 1 group at a time&lt;br /&gt;
To see which groups to add,,, id $USER,  id rock&lt;br /&gt;
&lt;br /&gt;
=== Changing the default hostname ===&lt;br /&gt;
Debian 9 has a command to allow you to change the hostname. You can see the current settings using;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl&lt;br /&gt;
   Static hostname: Debian-Desktop&lt;br /&gt;
         Icon name: computer&lt;br /&gt;
        Machine ID: dccbddccbdccbdccbdccbdccbdccbccb&lt;br /&gt;
           Boot ID: ea99ea99ea99ea99ea99ea99ea99ea99&lt;br /&gt;
  Operating System: Debian GNU/Linux 9 (stretch)&lt;br /&gt;
            Kernel: Linux 4.4.210&lt;br /&gt;
      Architecture: arm64&amp;lt;/pre&amp;gt;&lt;br /&gt;
To change, use this, (with &amp;quot;My_Hostname&amp;quot; used as the example);&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl set-hostname My_Hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
Whence done, you can re-verify using the first example.&lt;br /&gt;
&lt;br /&gt;
Then you should backup and edit your &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; entry's name;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`&lt;br /&gt;
&amp;gt; sudo vi /etc/hosts&lt;br /&gt;
127.0.0.1	localhost&lt;br /&gt;
127.0.0.1	My_Hostname&lt;br /&gt;
::1		localhost ip6-localhost ip6-loopback&lt;br /&gt;
fe00::0		ip6-localnet&lt;br /&gt;
ff00::0		ip6-mcastprefix&lt;br /&gt;
ff02::1		ip6-allnodes&lt;br /&gt;
ff02::2		ip6-allrouters&lt;br /&gt;
127.0.1.1       linaro-alip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Chromium browser's prompt for passphrase &amp;amp; password storage ===&lt;br /&gt;
&lt;br /&gt;
Perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* On the tool bar, hover over the Chromium icon&lt;br /&gt;
* Using the right mouse button, select '''Properties'''&lt;br /&gt;
* In the '''Command:''' line section, add &amp;lt;code&amp;gt;--password-store=basic&amp;lt;/code&amp;gt; before the &amp;lt;code&amp;gt;%U&amp;lt;/code&amp;gt;&lt;br /&gt;
* Use the '''x Close''' button to save the change&lt;br /&gt;
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.&lt;br /&gt;
&lt;br /&gt;
=== Changing the boot splash picture ===&lt;br /&gt;
&lt;br /&gt;
The default boot splash picture can be replaced using the following instructions:&lt;br /&gt;
&lt;br /&gt;
* Install '''ImageMagick''' which will do the conversion&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo apt-get install imagemagick&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).&lt;br /&gt;
* From the directory in which your new image is stored run the following commands&lt;br /&gt;
* Convert your image to the bootsplash raw format using imagemagick convert.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a backup copy of your current splash screen&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Copy your new splash screen into place&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp splash.fb /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set the correct permissions on the splash.fb file&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo chmod 644 /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed&lt;br /&gt;
&lt;br /&gt;
=== Enabling text boot time messages ===&lt;br /&gt;
&lt;br /&gt;
By default most Linux distros have a boot screen with a picture. To see all the messages, use the following;&lt;br /&gt;
&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
chmod a-w /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
vi /etc/default/u-boot&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.&lt;br /&gt;
* Update the U-Boot configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;u-boot-update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
== Chromium tweaks ==&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--disable-low-res-tiling \&lt;br /&gt;
--num-raster-threads=6 \&lt;br /&gt;
--profiler-timing=0 \&lt;br /&gt;
--disable-composited-antialiasing \&lt;br /&gt;
--test-type \&lt;br /&gt;
--show-component-extension-options \&lt;br /&gt;
--ignore-gpu-blacklist \&lt;br /&gt;
--use-gl=egl \&lt;br /&gt;
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \&lt;br /&gt;
--ppapi-flash-version=32.0.0.255 \&lt;br /&gt;
--enable-pinch \&lt;br /&gt;
--flag-switches-begin \&lt;br /&gt;
--enable-gpu-rasterization \&lt;br /&gt;
--enable-oop-rasterization \&lt;br /&gt;
--flag-switches-end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GVIM has performance issue ==&lt;br /&gt;
It appears that using GTK3 can cause very slow scolling, while VIM in a terminal window works fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply revert back to using GTK2, (how to do so, is somewhat Linux distro specific).&lt;br /&gt;
&lt;br /&gt;
== Kernel options ==&lt;br /&gt;
Here are some Pinebook Pro &amp;amp; its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.&lt;br /&gt;
&lt;br /&gt;
To see if a specific feature is enabled in the current kernel, you can use something like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep -i rockchip_pcie /proc/config.gz&lt;br /&gt;
# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set&lt;br /&gt;
CONFIG_PHY_ROCKCHIP_PCIE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If it's listed as &amp;lt;code&amp;gt;=m&amp;lt;/code&amp;gt;, then it's a module. You can see if the module is loaded with;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep -i rockchip_pcie&lt;br /&gt;
phy_rockchip_pcie      16384  0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Hardware video decoding ===&lt;br /&gt;
Here is a method to check for hardware video decoding by the VPU. There are special Linux kernel modules that perform this function.&amp;lt;br&amp;gt;&lt;br /&gt;
The default Debian uses Rockchip supplied kernel module &amp;lt;code&amp;gt;rk-vcodec&amp;lt;/code&amp;gt;. To check, something like this can be used;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep rk-vcodec&lt;br /&gt;
    or&lt;br /&gt;
$ zgrep RK_VCODEC /proc/config.gz&lt;br /&gt;
CONFIG_RK_VCODEC=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Later kernels may use a different option in the configuration as below;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep HANTRO /proc/config.gz&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting guide =&lt;br /&gt;
Tips, tricks and other information for troubleshooting your Pinebook Pro&lt;br /&gt;
=== New from the factory - Pinebook Pro won't boot / power on ===&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===&lt;br /&gt;
* 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).&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro won't boot when using UART console cable ===&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== WiFi issues ===&lt;br /&gt;
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]&lt;br /&gt;
* Next, you may have to modify the &amp;lt;code&amp;gt;/etc/NetworkManager/NetworkManager.conf&amp;lt;/code&amp;gt; as root user, and replace &amp;lt;code&amp;gt;managed=false&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;managed=true&amp;lt;/code&amp;gt;. Then reboot.&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;iw dev wlan0 set power_save off&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt;, although it is not persistent through re-boot.)&lt;br /&gt;
* For connections that drop under load on the default Debian, remove &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt; in the file &amp;lt;code&amp;gt;/etc/rc.local&amp;lt;/code&amp;gt;.&lt;br /&gt;
* 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]&lt;br /&gt;
* 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);&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;code&amp;gt;sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/{un,}bind &amp;lt;&amp;lt;&amp;lt; 'fe310000.dwmmc'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth issues ===&lt;br /&gt;
* 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.&lt;br /&gt;
* Bluetooth-attached speakers or headset require the &amp;lt;b&amp;gt;pulseaudio-module-bluetooth&amp;lt;/b&amp;gt; package. If not already installed, it can be installed with a package manager or with:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install pulseaudio-module-bluetooth&amp;lt;/pre&amp;gt;&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
=== Sound issues ===&lt;br /&gt;
* 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.) &lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&lt;br /&gt;
* Serveral users have reported that one internal speaker had reversed polarity. Thus, sound from the speakers is like an echo effect.&lt;br /&gt;
** Their is a software fix using alsamixer and then enable either &amp;quot;R invert&amp;quot; or &amp;quot;L invert&amp;quot;, however, now the headphones have incorrect audio.&lt;br /&gt;
** The permanent fix is to re-wire one speaker, though this requires soldering small wires.&lt;br /&gt;
&lt;br /&gt;
=== USB docks &amp;amp; USB C alternate mode video ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Here are some selection criteria for successfully using the USB C alternate mode for video:&lt;br /&gt;
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.&lt;br /&gt;
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.&lt;br /&gt;
* 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.&lt;br /&gt;
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).&lt;br /&gt;
&lt;br /&gt;
=== Keys not registering / missing keys when typing ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.&lt;br /&gt;
&lt;br /&gt;
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.&lt;br /&gt;
&lt;br /&gt;
=== Key Mapping ===&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===&lt;br /&gt;
This refers to the firmware update shown here:&lt;br /&gt;
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
* 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. &lt;br /&gt;
* System restore https://forum.pine64.org/showthread.php?tid=8229&lt;br /&gt;
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
&lt;br /&gt;
=== ANSI Fn + F keys wrong for F9, F10, F11 and F12 ===&lt;br /&gt;
There appears to be a minor firmware issue for ANSI keyboard models of the Pinebook Pro. Some discussion and fixes have been proposed;&lt;br /&gt;
&lt;br /&gt;
* Discussion thread [https://forum.pine64.org/showthread.php?tid=8744&amp;amp;pid=57678#pid57678  Fn + F keys screwy for F9, F10, F11 and F12]&lt;br /&gt;
* 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]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== After changing builtin LCD resolution, blank screen ===&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
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). &lt;br /&gt;
&amp;lt;pre&amp;gt;export DISPLAY=:0.0&lt;br /&gt;
xrandr -q&lt;br /&gt;
xrandr -s [resolution]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Once your resolution is restored, try using the Tweak app to set scaling, instead.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If the above fix did not work, you can try this:&lt;br /&gt;
* Using a text console, (Control-Alt-F1), login with your normal user ID&lt;br /&gt;
* Edit the file &amp;lt;code&amp;gt;nano ~/.config/monitors.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change the &amp;quot;width&amp;quot; value to &amp;quot;1920&amp;quot;&lt;br /&gt;
* Change the &amp;quot;height&amp;quot; value to &amp;quot;1080&amp;quot;&lt;br /&gt;
* If there is more than one monitor configuration listed, edit that one too.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Be careful to make no other changes. If needed exit without saving and re-edit.&lt;br /&gt;
* Save the file and exit.&lt;br /&gt;
* Login using the GUI and test&lt;br /&gt;
* If you are still loggied in via the GUI, you will have to reboot using &amp;lt;code&amp;gt;sudo shutdown -r now&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;After the reboot, you should be able to login to the GUI login and have the resolution back to normal.&lt;br /&gt;
&lt;br /&gt;
= [[Pinebook_Pro_Hardware_Accessory_Compatibility|PineBookPro Hardware Compatibility]] =&lt;br /&gt;
&lt;br /&gt;
Please contribute to the hardware compatibility page, which lists hardware which has been tested with the PBP, whether successful or not!&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
== Accessing the Internals - Disassembly and Reassembly  == &lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Screw measurements in mm;&lt;br /&gt;
&lt;br /&gt;
Small screw&lt;br /&gt;
&lt;br /&gt;
Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1,  Overall length - 3.05&lt;br /&gt;
&lt;br /&gt;
Long screw&lt;br /&gt;
&lt;br /&gt;
Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Internal Layout ==&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. &lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode; this mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools). &lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe 4X socket for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Trackpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Male power bridge connector &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Female power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Trackpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C.  The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG. &lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a 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.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo 'fe330000.sdhci' | tee /sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
echo 'fe330000.sdhci' | tee /sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable.&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Dimensions ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws, estimated dimensions, (until we can get confirmation)&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws&lt;br /&gt;
** 6 x 6mm in length&lt;br /&gt;
** 4 x 4mm in length, (used along the front edge)&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72 &lt;br /&gt;
** L2 cache 1024KB for big cluster &lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions &lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 	650MHz &lt;br /&gt;
* Throughput 	1300Mtri/s, 10.4Gpix/s &lt;br /&gt;
* 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™.&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory: &lt;br /&gt;
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAH)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 2.x, 5GT/s per lane&lt;br /&gt;
* 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5W continuous, 8.25W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
* Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]&lt;br /&gt;
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]&lt;br /&gt;
* Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
* Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
* Serial Console Earphone Jack Pinout:&lt;br /&gt;
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]&lt;br /&gt;
* Pinebook Pro Case:&lt;br /&gt;
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]&lt;br /&gt;
* Pinebook Pro Certifications:&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Rockchip RK3399 SoC information:&lt;br /&gt;
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]&lt;br /&gt;
* LPDDR4 (366 Balls) SDRAM:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]&lt;br /&gt;
* Wireless related info:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
* Audio Codec (ES8316)&lt;br /&gt;
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
* Internal USB 2 hub:&lt;br /&gt;
** [https://wiki.pine64.org/images/3/39/GL850G_USB_Hub_1.07.pdf GL850G USB Hub 1.07.pdf]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]&lt;br /&gt;
* Keyboard information:&lt;br /&gt;
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]&lt;br /&gt;
** US ANSI: XK-HS002 MB27716023&lt;br /&gt;
* Full HD Camera sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]&lt;br /&gt;
* Lithium Battery information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14&amp;quot; model]&lt;br /&gt;
* NVMe adapter:&lt;br /&gt;
** [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]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111] &lt;br /&gt;
&lt;br /&gt;
=Skinning and Case Customization=&lt;br /&gt;
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.&lt;br /&gt;
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [[RockPro64 Guides]]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]&lt;br /&gt;
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=5480</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=5480"/>
		<updated>2020-04-17T16:33:07Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Trackpad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= User Guide =&lt;br /&gt;
== Introducing PineBook Pro == &lt;br /&gt;
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
The keyboard and trackpad both use the USB 2.0 protocol.  The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects.  These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD. &lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Default Debian MATE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
The newest release of the build can downloaded directly from [https://github.com/mrfixit2001/debian_desktop/releases MrFixIt2001's GitHub]. &lt;br /&gt;
&lt;br /&gt;
'''The default username and password is:'''&lt;br /&gt;
* Username: rock &lt;br /&gt;
* Password: rock&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:UpdateScript.png|350px|thumb|right|Location of update script applet icon on stock Debian with MATE]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usermod -l NewUser -d /home/NewUser -m rock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you log back into your new user, Bluetooth will complain about no transfer folder location. To fix this open terminal and type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
blueman-services&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From here, select incoming folder under the 'transfer' tab.&lt;br /&gt;
&lt;br /&gt;
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.     &lt;br /&gt;
&lt;br /&gt;
You can run the script from the terminal using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /usr/bin/mrfixit_update.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook Pro_Software_Release|Pinebook Pro]] ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
note: When upgrading from a prior release of Manjaro to version 20.1, you may need to increase the backlight as the number of steps for the backlight exposed by the kernel was changed from 256 to 4096&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Q4OS}} http://files.pine64.org/sw/pine64_installer/json/q4os.png] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Armbian}} http://files.pine64.org/sw/pine64_installer/json/armbian.png] [[PinebookPro_Software_Release#Armbian|'''Armbian (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#NetBSD}} http://files.pine64.org/sw/pine64_installer/json/netbsd.png] [[PinebookPro_Software_Release#NetBSD|'''NetBSD (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Chropmium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']] &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/gentoo.png]&lt;br /&gt;
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Kali}} [[File:Kali.jpeg|125px]]] [[PinebookPro_Software_Release#Kali|'''Kali Script for Pinebook Pro (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
=== Quick Links to OS Images Build Sources===&lt;br /&gt;
'''Some of the provided OS images are still in &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;beta or nightly build&amp;lt;/span&amp;gt; and only fit for testing purposes. These images ought to be avoided for normal usage - use them at &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;your own risk&amp;lt;/span&amp;gt;'''&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]&lt;br /&gt;
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]&lt;br /&gt;
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and 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.   &lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility. &lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. &lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
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. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled.&lt;br /&gt;
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Trackpad ==&lt;br /&gt;
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. &lt;br /&gt;
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].&lt;br /&gt;
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).&lt;br /&gt;
&lt;br /&gt;
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' &lt;br /&gt;
&lt;br /&gt;
Before you start:&lt;br /&gt;
&lt;br /&gt;
Please refer to original documentation for details.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro, ISO and ANSI. You need to know which model you have prior to running the updater. &lt;br /&gt;
FW update steps for both models are listed below.  &lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
*Your Pinebook Pro fully charged or running off of mains power&lt;br /&gt;
*Connection to WiFi&lt;br /&gt;
*An external USB keyboard &amp;amp; mouse. Or access to the Pinebebook Pro via SSH&lt;br /&gt;
&lt;br /&gt;
'''ISO Model''' &lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''ANSI Model''' &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; 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!&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== X-Windows &amp;amp; trackpad settings ===&lt;br /&gt;
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;&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&amp;lt;/pre&amp;gt;&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticably.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To make the change persist across reboots, change the file &amp;lt;code&amp;gt;/etc/X11/xorg.conf&amp;lt;/code&amp;gt; similar to below;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&lt;br /&gt;
    EndSection&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line &amp;lt;code&amp;gt;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;lt;/code&amp;gt; is the change.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&lt;br /&gt;
synclient FingerLow=30&lt;br /&gt;
synclient PalmDetect=1&lt;br /&gt;
synclient VertScrollDelta=64&lt;br /&gt;
synclient HorizScrollDelta=64&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FingerLow&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC @ 3A&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 15W PD quickcharge&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total there are four LEDs on the Pinebook Pro, three of which are placed in the top left side of the keyboard, and one near the barrel-port: &lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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). &lt;br /&gt;
&lt;br /&gt;
:3. The Num lock, green LED.&lt;br /&gt;
&lt;br /&gt;
:4. The Caps lock, green LED.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
* Streaming video resolutions supported, (un-compressed):&lt;br /&gt;
** 320 x 240 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Some people test with the application Cheese&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration; units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard withd a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
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]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run alsamixer from the command line &amp;gt; hit F6 and select the es8316 &amp;gt; hit F4 to get to the capture screen &amp;gt; select the bar labeled ADC &amp;gt;&lt;br /&gt;
&amp;gt; increase the gain to 0dB &amp;gt; change the audio profile in pavucontrol to another with input&lt;br /&gt;
&lt;br /&gt;
Additionally:&lt;br /&gt;
you may want to modify ADC PGA to get the levels to where you want them&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna. &lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilites are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth once&lt;br /&gt;
sudo rfkill block bluetooth &amp;amp;&amp;amp; &lt;br /&gt;
&lt;br /&gt;
#confirm&lt;br /&gt;
rfkill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable bluetooth on boot**&lt;br /&gt;
sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**This does not do what one might want on certain distros, Manjaro XFCE for example. Try the below.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
right click on the bluetooth panel icon &amp;gt; select 'plugins' &amp;gt; PowerManager &amp;gt; configuration &amp;gt; deselect the auto power on option&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60hz refresh rate&lt;br /&gt;
* IPS&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250nt brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6 bit colour&lt;br /&gt;
* 30 pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following;&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PBPUART.jpeg|400px|thumb|right|Headphone jack UART wiring reference.&lt;br /&gt;
&amp;lt;br&amp;gt; Swapping the tx and rx around from this also works and is more traditional.&lt;br /&gt;
&amp;lt;br&amp;gt; See [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf this] official Pine64 .pdf.]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [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.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.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. &lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ lsusb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.&lt;br /&gt;
&lt;br /&gt;
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook_Pro_Hardware_Accessory_Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with trackpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability at lower battery levels. And to reduce power used, to maintain battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown);&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
NVME Identify Controller:&lt;br /&gt;
...&lt;br /&gt;
ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
         rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
         rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
         rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
         rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
         rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
&lt;br /&gt;
$ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
set-feature:02 (Power Management), value:0x000002&amp;lt;/pre&amp;gt;&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme get-feature -f 0x0c -H /dev/nvme0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
*MicroSD&lt;br /&gt;
*eMMC&lt;br /&gt;
*NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card.  (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].  &lt;br /&gt;
&lt;br /&gt;
WARNING: Do not connect the bypass cables with the battery connected.  Using the bypass cables with the battery connected can permanently damage the computer.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Placeholder for Pinebook Pro specific guides&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process on Pinebook Pro similar to 14&amp;quot; Pinebook'''&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process is the reverse order of removal guide'''&lt;br /&gt;
&lt;br /&gt;
* 14″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
* 14″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
* 14″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
What cool software works out of the box? [[Pinebook Pro OTB Experience]]&lt;br /&gt;
&lt;br /&gt;
= Software tuning guide =&lt;br /&gt;
Details on how to get the most out of a Pinebook Pro &amp;amp; its RK3399 SoC.&lt;br /&gt;
&lt;br /&gt;
== Customizing Pinebook Pro's factory OS ==&lt;br /&gt;
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])&lt;br /&gt;
&lt;br /&gt;
=== Initial user changes, password, name, etc ===&lt;br /&gt;
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.&lt;br /&gt;
&lt;br /&gt;
* 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)&lt;br /&gt;
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal&lt;br /&gt;
* Login as root (login: root, password: root)&lt;br /&gt;
* Set a strong password for the root user using the following command and it's prompts:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd (and follow prompts)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock user to your prefered username (replace myself with whatever you like):&lt;br /&gt;
&amp;lt;pre&amp;gt;# usermod -l myself -d /home/myself -m rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock group to match your preferred username:&lt;br /&gt;
&amp;lt;pre&amp;gt;# groupmod -n myself rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Put your name in the account, (replace &amp;quot;John A Doe&amp;quot; with your name):&lt;br /&gt;
&amp;lt;pre&amp;gt;# chfn -f &amp;quot;John A Doe&amp;quot; myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set a strong password for the normal user:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Log out of the text terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;# logout&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user&lt;br /&gt;
* Open text terminal to fix login error: &amp;quot;Configured directory for incoming files does not exist&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ blueman-services&amp;lt;/pre&amp;gt;&lt;br /&gt;
Select &amp;quot;Transfer&amp;quot; tab and set &amp;quot;Incoming Folder&amp;quot; to myself&lt;br /&gt;
OR&lt;br /&gt;
If adduser is in distro, this is MUCH easier&lt;br /&gt;
sudo adduser $USER ,, fill out requested data&lt;br /&gt;
Then,, sudo adduser $USER $GROUP,,, 1 group at a time&lt;br /&gt;
To see which groups to add,,, id $USER,  id rock&lt;br /&gt;
&lt;br /&gt;
=== Changing the default hostname ===&lt;br /&gt;
Debian 9 has a command to allow you to change the hostname. You can see the current settings using;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl&lt;br /&gt;
   Static hostname: Debian-Desktop&lt;br /&gt;
         Icon name: computer&lt;br /&gt;
        Machine ID: dccbddccbdccbdccbdccbdccbdccbccb&lt;br /&gt;
           Boot ID: ea99ea99ea99ea99ea99ea99ea99ea99&lt;br /&gt;
  Operating System: Debian GNU/Linux 9 (stretch)&lt;br /&gt;
            Kernel: Linux 4.4.210&lt;br /&gt;
      Architecture: arm64&amp;lt;/pre&amp;gt;&lt;br /&gt;
To change, use this, (with &amp;quot;My_Hostname&amp;quot; used as the example);&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo hostnamectl set-hostname My_Hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
Whence done, you can re-verify using the first example.&lt;br /&gt;
&lt;br /&gt;
Then you should backup and edit your &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; entry's name;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; sudo cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`&lt;br /&gt;
&amp;gt; sudo vi /etc/hosts&lt;br /&gt;
127.0.0.1	localhost&lt;br /&gt;
127.0.0.1	My_Hostname&lt;br /&gt;
::1		localhost ip6-localhost ip6-loopback&lt;br /&gt;
fe00::0		ip6-localnet&lt;br /&gt;
ff00::0		ip6-mcastprefix&lt;br /&gt;
ff02::1		ip6-allnodes&lt;br /&gt;
ff02::2		ip6-allrouters&lt;br /&gt;
127.0.1.1       linaro-alip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Chromium browser's prompt for passphrase &amp;amp; password storage ===&lt;br /&gt;
&lt;br /&gt;
Perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* On the tool bar, hover over the Chromium icon&lt;br /&gt;
* Using the right mouse button, select '''Properties'''&lt;br /&gt;
* In the '''Command:''' line section, add &amp;lt;code&amp;gt;--password-store=basic&amp;lt;/code&amp;gt; before the &amp;lt;code&amp;gt;%U&amp;lt;/code&amp;gt;&lt;br /&gt;
* Use the '''x Close''' button to save the change&lt;br /&gt;
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.&lt;br /&gt;
&lt;br /&gt;
=== Changing the boot splash picture ===&lt;br /&gt;
&lt;br /&gt;
The default boot splash picture can be replaced using the following instructions:&lt;br /&gt;
&lt;br /&gt;
* Install '''ImageMagick''' which will do the conversion&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo apt-get install imagemagick&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).&lt;br /&gt;
* From the directory in which your new image is stored run the following commands&lt;br /&gt;
* Convert your image to the bootsplash raw format using imagemagick convert.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a backup copy of your current splash screen&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Copy your new splash screen into place&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp splash.fb /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set the correct permissions on the splash.fb file&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo chmod 644 /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed&lt;br /&gt;
&lt;br /&gt;
=== Enabling text boot time messages ===&lt;br /&gt;
&lt;br /&gt;
By default most Linux distros have a boot screen with a picture. To see all the messages, use the following;&lt;br /&gt;
&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
chmod a-w /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
vi /etc/default/u-boot&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.&lt;br /&gt;
* Update the U-Boot configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;u-boot-update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
== Chromium tweaks ==&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--disable-low-res-tiling \&lt;br /&gt;
--num-raster-threads=6 \&lt;br /&gt;
--profiler-timing=0 \&lt;br /&gt;
--disable-composited-antialiasing \&lt;br /&gt;
--test-type \&lt;br /&gt;
--show-component-extension-options \&lt;br /&gt;
--ignore-gpu-blacklist \&lt;br /&gt;
--use-gl=egl \&lt;br /&gt;
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \&lt;br /&gt;
--ppapi-flash-version=32.0.0.255 \&lt;br /&gt;
--enable-pinch \&lt;br /&gt;
--flag-switches-begin \&lt;br /&gt;
--enable-gpu-rasterization \&lt;br /&gt;
--enable-oop-rasterization \&lt;br /&gt;
--flag-switches-end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== X-Windows &amp;amp; trackpad tuning ==&lt;br /&gt;
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;&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&amp;lt;/pre&amp;gt;&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticably.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To make the change persist across reboots, change the file &amp;lt;code&amp;gt;/etc/X11/xorg.conf&amp;lt;/code&amp;gt; similar to below;&lt;br /&gt;
&amp;lt;pre&amp;gt;    Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&lt;br /&gt;
    EndSection&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line &amp;lt;code&amp;gt;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;lt;/code&amp;gt; is the change.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&lt;br /&gt;
synclient FingerLow=30&lt;br /&gt;
synclient PalmDetect=1&lt;br /&gt;
synclient VertScrollDelta=64&lt;br /&gt;
synclient HorizScrollDelta=64&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FingerLow&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GVIM has performance issue ==&lt;br /&gt;
It appears that using GTK3 can cause very slow scolling, while VIM in a terminal window works fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply revert back to using GTK2, (how to do so, is somewhat Linux distro specific).&lt;br /&gt;
&lt;br /&gt;
== Kernel options ==&lt;br /&gt;
Here are some Pinebook Pro &amp;amp; its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.&lt;br /&gt;
&lt;br /&gt;
To see if a specific feature is enabled in the current kernel, you can use something like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep -i rockchip_pcie /proc/config.gz&lt;br /&gt;
# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set&lt;br /&gt;
CONFIG_PHY_ROCKCHIP_PCIE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If it's listed as &amp;lt;code&amp;gt;=m&amp;lt;/code&amp;gt;, then it's a module. You can see if the module is loaded with;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep -i rockchip_pcie&lt;br /&gt;
phy_rockchip_pcie      16384  0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Hardware video decoding ===&lt;br /&gt;
Here is a method to check for hardware video decoding by the VPU. There are special Linux kernel modules that perform this function.&amp;lt;br&amp;gt;&lt;br /&gt;
The default Debian uses Rockchip supplied kernel module &amp;lt;code&amp;gt;rk-vcodec&amp;lt;/code&amp;gt;. To check, something like this can be used;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep rk-vcodec&lt;br /&gt;
    or&lt;br /&gt;
$ zgrep RK_VCODEC /proc/config.gz&lt;br /&gt;
CONFIG_RK_VCODEC=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Later kernels may use a different option in the configuration as below;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep HANTRO /proc/config.gz&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting guide =&lt;br /&gt;
Tips, tricks and other information for troubleshooting your Pinebook Pro&lt;br /&gt;
=== New from the factory - Pinebook Pro won't boot / power on ===&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===&lt;br /&gt;
* 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).&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro won't boot when using UART console cable ===&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== WiFi issues ===&lt;br /&gt;
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]&lt;br /&gt;
* Next, you may have to modify the &amp;lt;code&amp;gt;/etc/NetworkManager/NetworkManager.conf&amp;lt;/code&amp;gt; as root user, and replace &amp;lt;code&amp;gt;managed=false&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;managed=true&amp;lt;/code&amp;gt;. Then reboot.&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;iw dev wlan0 set power_save off&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt;, although it is not persistent through re-boot.)&lt;br /&gt;
* For connections that drop under load on the default Debian, remove &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt; in the file &amp;lt;code&amp;gt;/etc/rc.local&amp;lt;/code&amp;gt;.&lt;br /&gt;
* 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]&lt;br /&gt;
* 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);&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;code&amp;gt;sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/{un,}bind &amp;lt;&amp;lt;&amp;lt; 'fe310000.dwmmc'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth issues ===&lt;br /&gt;
* 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.&lt;br /&gt;
* Bluetooth-attached speakers or headset require the &amp;lt;b&amp;gt;pulseaudio-module-bluetooth&amp;lt;/b&amp;gt; package. If not already installed, it can be installed with a package manager or with:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install pulseaudio-module-bluetooth&amp;lt;/pre&amp;gt;&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
=== Sound issues ===&lt;br /&gt;
* 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.) &lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&lt;br /&gt;
* Serveral users have reported that one internal speaker had reversed polarity. Thus, sound from the speakers is like an echo effect.&lt;br /&gt;
** Their is a software fix using alsamixer and then enable either &amp;quot;R invert&amp;quot; or &amp;quot;L invert&amp;quot;, however, now the headphones have incorrect audio.&lt;br /&gt;
** The permanent fix is to re-wire one speaker, though this requires soldering small wires.&lt;br /&gt;
&lt;br /&gt;
=== USB docks &amp;amp; USB C alternate mode video ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Here are some selection criteria for successfully using the USB C alternate mode for video:&lt;br /&gt;
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.&lt;br /&gt;
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.&lt;br /&gt;
* 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.&lt;br /&gt;
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).&lt;br /&gt;
&lt;br /&gt;
=== Keys not registering / missing keys when typing ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.&lt;br /&gt;
&lt;br /&gt;
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.&lt;br /&gt;
&lt;br /&gt;
=== Key Mapping ===&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===&lt;br /&gt;
This refers to the firmware update shown here:&lt;br /&gt;
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
* 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. &lt;br /&gt;
* System restore https://forum.pine64.org/showthread.php?tid=8229&lt;br /&gt;
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
&lt;br /&gt;
=== ANSI Fn + F keys wrong for F9, F10, F11 and F12 ===&lt;br /&gt;
There appears to be a minor firmware issue for ANSI keyboard models of the Pinebook Pro. Some discussion and fixes have been proposed;&lt;br /&gt;
&lt;br /&gt;
* Discussion thread [https://forum.pine64.org/showthread.php?tid=8744&amp;amp;pid=57678#pid57678  Fn + F keys screwy for F9, F10, F11 and F12]&lt;br /&gt;
* 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]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== After changing builtin LCD resolution, blank screen ===&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
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). &lt;br /&gt;
&amp;lt;pre&amp;gt;export DISPLAY=:0.0&lt;br /&gt;
xrandr -q&lt;br /&gt;
xrandr -s [resolution]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Once your resolution is restored, try using the Tweak app to set scaling, instead.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If the above fix did not work, you can try this:&lt;br /&gt;
* Using a text console, (Control-Alt-F1), login with your normal user ID&lt;br /&gt;
* Edit the file &amp;lt;code&amp;gt;nano ~/.config/monitors.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change the &amp;quot;width&amp;quot; value to &amp;quot;1920&amp;quot;&lt;br /&gt;
* Change the &amp;quot;height&amp;quot; value to &amp;quot;1080&amp;quot;&lt;br /&gt;
* If there is more than one monitor configuration listed, edit that one too.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Be careful to make no other changes. If needed exit without saving and re-edit.&lt;br /&gt;
* Save the file and exit.&lt;br /&gt;
* Login using the GUI and test&lt;br /&gt;
* If you are still loggied in via the GUI, you will have to reboot using &amp;lt;code&amp;gt;sudo shutdown -r now&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;After the reboot, you should be able to login to the GUI login and have the resolution back to normal.&lt;br /&gt;
&lt;br /&gt;
= [[Pinebook_Pro_Hardware_Accessory_Compatibility|PineBookPro Hardware Compatibility]] =&lt;br /&gt;
&lt;br /&gt;
Please contribute to the hardware compatibility page, which lists hardware which has been tested with the PBP, whether successful or not!&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
== Accessing the Internals - Disassembly and Reassembly  == &lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Screw measurements in mm;&lt;br /&gt;
&lt;br /&gt;
Small screw&lt;br /&gt;
&lt;br /&gt;
Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1,  Overall length - 3.05&lt;br /&gt;
&lt;br /&gt;
Long screw&lt;br /&gt;
&lt;br /&gt;
Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Internal Layout ==&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. &lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode; this mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools). &lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe 4X socket for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Trackpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Male power bridge connector &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Female power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Trackpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C.  The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG. &lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a 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.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo 'fe330000.sdhci' | tee /sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
echo 'fe330000.sdhci' | tee /sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable.&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Dimensions ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws, estimated dimensions, (until we can get confirmation)&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws&lt;br /&gt;
** 6 x 6mm in length&lt;br /&gt;
** 4 x 4mm in length, (used along the front edge)&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72 &lt;br /&gt;
** L2 cache 1024KB for big cluster &lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions &lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 	650MHz &lt;br /&gt;
* Throughput 	1300Mtri/s, 10.4Gpix/s &lt;br /&gt;
* 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™.&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory: &lt;br /&gt;
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAH)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 2.x, 5GT/s per lane&lt;br /&gt;
* 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5W continuous, 8.25W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
* Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]&lt;br /&gt;
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]&lt;br /&gt;
* Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
* Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
* Serial Console Earphone Jack Pinout:&lt;br /&gt;
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]&lt;br /&gt;
* Pinebook Pro Case:&lt;br /&gt;
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]&lt;br /&gt;
* Pinebook Pro Certifications:&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
** [http://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Rockchip RK3399 SoC information:&lt;br /&gt;
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]&lt;br /&gt;
* LPDDR4 (366 Balls) SDRAM:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]&lt;br /&gt;
* Wireless related info:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
* Audio Codec (ES8316)&lt;br /&gt;
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
* Internal USB 2 hub:&lt;br /&gt;
** [https://wiki.pine64.org/images/3/39/GL850G_USB_Hub_1.07.pdf GL850G USB Hub 1.07.pdf]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]&lt;br /&gt;
* Keyboard information:&lt;br /&gt;
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]&lt;br /&gt;
** US ANSI: XK-HS002 MB27716023&lt;br /&gt;
* Full HD Camera sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]&lt;br /&gt;
* Lithium Battery information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14&amp;quot; model]&lt;br /&gt;
* NVMe adapter:&lt;br /&gt;
** [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]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111] &lt;br /&gt;
&lt;br /&gt;
=Skinning and Case Customization=&lt;br /&gt;
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.&lt;br /&gt;
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [[RockPro64 Guides]]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]&lt;br /&gt;
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro_Software_Releases&amp;diff=5172</id>
		<title>Pinebook Pro Software Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro_Software_Releases&amp;diff=5172"/>
		<updated>2020-02-24T12:13:20Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* OpenSUSE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OS Image Releases =&lt;br /&gt;
== Debian Desktop ==&lt;br /&gt;
[[File:debian.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Debian Desktop Community Build Image [microSD to eMMC] by mrfixit2001 ===&lt;br /&gt;
* This is the default OS comes with Pinebook Pro&lt;br /&gt;
* Included Desktop, Firefox Browser, and LibreOffice Suite&lt;br /&gt;
* DD image (for 8GB microSD card / 16GB eMMC module and above):&lt;br /&gt;
** [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]&lt;br /&gt;
*** MD5 (img file): BF67F3A0229769A7472D418AD45F8AB0&lt;br /&gt;
*** File Size: 1.19GB&lt;br /&gt;
* Login with&lt;br /&gt;
** username: rock&lt;br /&gt;
** password: rock&lt;br /&gt;
&lt;br /&gt;
== Bionic LXDE ==&lt;br /&gt;
[[File:lxde.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Bionic LXDE Community Build Image by ayufan [microSD and eMMC Boot] ===&lt;br /&gt;
* Included LXDE Desktop, Firefox Browser, and LibreOffice Suite&lt;br /&gt;
* DD image (for 8GB micoSD card /16GB eMMC module and above):&lt;br /&gt;
** [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]&lt;br /&gt;
** MD5 (XZ file): B74E8366615DAE89AEB5CC878F2B316B&lt;br /&gt;
** size: 763MB&lt;br /&gt;
* Login with&lt;br /&gt;
** username: rock64&lt;br /&gt;
** password: rock64&lt;br /&gt;
&lt;br /&gt;
== Bionic Mate ==&lt;br /&gt;
[[File:mate.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Bionic Mate Community Build Image [microSD Boot] by ayufan ===&lt;br /&gt;
* Included Mate Desktop, Firefox Browser, and LibreOffice Suite&lt;br /&gt;
* DD image (for 8GB micoSD card /16GB eMMC module and above):&lt;br /&gt;
** [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]&lt;br /&gt;
** MD5 (XZ file): 5F60494B9248570FAF5853860A26B489&lt;br /&gt;
** size: 1.06GB&lt;br /&gt;
* Login with&lt;br /&gt;
** username: rock64&lt;br /&gt;
** password: rock64&lt;br /&gt;
&lt;br /&gt;
== Manjaro ARM ==&lt;br /&gt;
[[File:Manjaro.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
* 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).&lt;br /&gt;
* To learn more about Manjaro please visit [https://forum.manjaro.org/tags/manjaroarm Manjaro Forum] &lt;br /&gt;
&lt;br /&gt;
=== Manjaro ARM with KDE (Plasma) desktop [microSD / eMMC Boot] ===&lt;br /&gt;
&lt;br /&gt;
* [https://manjaro.org/download/arm/pinebook-pro/arm8-pinebook-pro-kde-plasma/ Direct download from Manjaro]&lt;br /&gt;
* [https://osdn.net/projects/manjaro-arm/storage/pbpro/kde-plasma/ Direct download from osdn.net]&lt;br /&gt;
&lt;br /&gt;
=== Manjaro ARM with GTK (XFCE) desktop [microSD / eMMC Boot] ===&lt;br /&gt;
&lt;br /&gt;
* [https://manjaro.org/download/arm/pinebook-pro/arm8-pinebook-pro-xfce/ Direct download from Manjaro]&lt;br /&gt;
* [https://osdn.net/projects/manjaro-arm/storage/pbpro/xfce/ Direct download from osdn.net]&lt;br /&gt;
&lt;br /&gt;
=== Manjaro ARM Test Build Image with GTK (Gnome) desktop [microSD Boot] ===&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1_nJXc5rlUKwNJJYRFqYDAwpeGitljTCz/view?usp=sharing/ Direct download from Google Drive]&lt;br /&gt;
&lt;br /&gt;
== Q4OS ==&lt;br /&gt;
[[File:q4os.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Q4OS Test Build Image [microSD / eMMC Boot] ===&lt;br /&gt;
* Q4OS is advertised as a 'fast and powerful operating system based on the latest technologies while offering highly productive desktop environment'&lt;br /&gt;
* 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]&lt;br /&gt;
* DD image (for 8GB micoSD card / eMMC module and above)&lt;br /&gt;
** [https://sourceforge.net/projects/q4os/files/testing/ Direct download latest release build from SourceForge]&lt;br /&gt;
* login with:&lt;br /&gt;
** username: rock&lt;br /&gt;
** password: rock&lt;br /&gt;
&lt;br /&gt;
== OpenSUSE ==&lt;br /&gt;
[[File:Opensuse1.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== OpenSUSE XFCE OS Image [microSD / eMMC Boot] ===&lt;br /&gt;
* This image contains an install openSUSE tumbleweed with XFCE desktop environment.&lt;br /&gt;
* To learn more about OpenSUSE please visit the [https://www.opensuse.org/ official website].&lt;br /&gt;
* Pinebook Pro build instructions can be found [https://github.com/smithmcgriff/opensuse-on-pinebookpro-gnome here]&lt;br /&gt;
* DD image (for 16GB micoSD card / eMMC module and above)&lt;br /&gt;
** [https://sourceforge.net/projects/opensuse-on-pinebookpro/files/Rel_1/ Direct download latest release build from SourceForge]&lt;br /&gt;
* login with:&lt;br /&gt;
** username: root&lt;br /&gt;
** password: linux&lt;br /&gt;
&lt;br /&gt;
=== OpenSUSE GNOME 3 OS Image [microSD / eMMC Boot] ===&lt;br /&gt;
* This image contains an install of openSUSE tumbleweed with GNOME 3 desktop environment.&lt;br /&gt;
* To learn more about OpenSUSE please visit the [https://www.opensuse.org/ official website].&lt;br /&gt;
* Pinebook Pro build instructions can be found [https://github.com/smithmcgriff/opensuse-on-pinebookpro-gnome here]&lt;br /&gt;
* DD image (for 16GB micoSD card / eMMC module and above)&lt;br /&gt;
** [https://sourceforge.net/projects/opensuse-on-pinebookpro/files/Rel_1/ Direct download latest release build from SourceForge]&lt;br /&gt;
* login with:&lt;br /&gt;
** username: tux&lt;br /&gt;
** password: susepassword&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
[[File:fedora1.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Fedora GNOME3 OS Image [microSD / eMMC Boot] ===&lt;br /&gt;
* This image contains an install of Fedora with GNOME3 desktop environment. &lt;br /&gt;
* To learn more about Fedora please visit the [https://getfedora.org/ official website].&lt;br /&gt;
* Pinebook Pro build instructions can be found [https://github.com/smithmcgriff/opensuse-on-pinebookpro-gnome here]&lt;br /&gt;
* DD image (for 8GB micoSD card / eMMC module and above)&lt;br /&gt;
** [https://sourceforge.net/projects/opensuse-on-pinebookpro/files/Rel_2/ Direct download latest release build from SourceForge]&lt;br /&gt;
* login with:&lt;br /&gt;
** username: tux&lt;br /&gt;
** password: susepassword&lt;br /&gt;
&lt;br /&gt;
== Armbian ==&lt;br /&gt;
[[File:armbian.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Armbian [microSD / eMMC Boot] ===&lt;br /&gt;
* Armbian provides well maintained Debian and Ubuntu OS images tailored to ARM devices &lt;br /&gt;
* To learn more please visit the [https://www.armbian.com/ Armbian's website]&lt;br /&gt;
* DD image (for 8GB micoSD card / eMMC module and above)&lt;br /&gt;
** [https://www.armbian.com/pinebook-pro/ Direct download latest release from Armbian]&lt;br /&gt;
* login with:&lt;br /&gt;
** username: root&lt;br /&gt;
** password: 1234&lt;br /&gt;
&lt;br /&gt;
=== Armbian [microSD / eMMC Boot] ===&lt;br /&gt;
* Armbian provides well maintained Debian and Ubuntu OS images tailored to ARM devices &lt;br /&gt;
* To learn more please visit the [https://www.armbian.com/ Armbian's website]&lt;br /&gt;
* DD image (for 8GB micoSD card / eMMC module and above)&lt;br /&gt;
** [https://www.armbian.com/pinebook-pro/ Direct download latest release from Armbian]&lt;br /&gt;
* login with:&lt;br /&gt;
** username: root&lt;br /&gt;
** password: 1234&lt;br /&gt;
&lt;br /&gt;
==NetBSD==&lt;br /&gt;
[[File:netbsd.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== NetBSD [microSD /eMMC Boot] ===&lt;br /&gt;
* To learn more about NetBSD please visit [https://www.netbsd.org/ NetBSD main page] &lt;br /&gt;
* DD image to microSD card or eMMC module. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** [http://www.armbsd.org/arm/ Direct download from NetBSD]&lt;br /&gt;
* Console and SSH default login:&lt;br /&gt;
** username: root&lt;br /&gt;
** password: [none]&lt;br /&gt;
* Instructions concerning enabling SSH can be found [https://www.netbsd.org/docs/guide/en/chap-boot.html#chap-boot-ssh here]&lt;br /&gt;
&lt;br /&gt;
== Chromium ==&lt;br /&gt;
[[File:chromium.jpg|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Chromium Community Build Image by ayufan [microSD and eMMC Boot] ===&lt;br /&gt;
* DD image (for 8GB micoSD card/16GB eMMC module and above)&lt;br /&gt;
** [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]&lt;br /&gt;
** MD5 (XZ file): 7B747B6D2B041C5C0C6434DDB524DB66&lt;br /&gt;
** size: 387MB&lt;br /&gt;
&lt;br /&gt;
== openSUSE Tumbleweed [microSD /eMMC Boot]==&lt;br /&gt;
* Included Xfce Desktop, Firefox Browser, and LibreOffice Suite&lt;br /&gt;
** DD image (for 32GB microSD card /32GB eMMC module and above):&lt;br /&gt;
&lt;br /&gt;
https://github.com/smithmcgriff/openSUSE-on-pinebookpro&lt;br /&gt;
&lt;br /&gt;
== Fedora Workstation with Gnome Desktop [microSD /eMMC Boot]==&lt;br /&gt;
* Included Gnome Desktop, Firefox Browser, and LibreOffice Suite&lt;br /&gt;
** DD image (for 32GB microSD card /32GB eMMC module and above):&lt;br /&gt;
&lt;br /&gt;
https://github.com/smithmcgriff/Fedora-on-pinebookpro&lt;br /&gt;
&lt;br /&gt;
= Android Image Releases =&lt;br /&gt;
== Android 7.1 microSD ==&lt;br /&gt;
[[File:android_7.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Stock Android for DD method [micro SD Boot] [20190918] ===&lt;br /&gt;
* Production floor testing image &lt;br /&gt;
* DD image to microSD card and boot. &lt;br /&gt;
* Highly recommend using [https://etcher.io/ Etcher] or [https://github.com/pine64dev/PINE64-Installer/blob/master/README.md#download PINE64 Installer]&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* DD image for 8GB microSD card&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-8GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 207BCBFFF59C1AB29F8ADC63D426EACB&lt;br /&gt;
*** File Size: 562MB&lt;br /&gt;
* DD image for 16GB microSD card&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-16GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): B1FC25A2F896F5C6B4B85EA6D1E75CDA&lt;br /&gt;
*** File Size: 571MB&lt;br /&gt;
* DD image for 32GB microSD card&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-32GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): A07E2C2A2798A77375268E423A30048A&lt;br /&gt;
*** File Size: 589MB&lt;br /&gt;
* DD image for 64GB microSD card&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-64GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): D7626BD50443A88AEB9254C88C575284&lt;br /&gt;
*** File Size: 627MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for RK Flash tool [SD Boot] [20190427] ===&lt;br /&gt;
* 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 &amp;quot;SD boot&amp;quot; option.&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_20190918_stock_android_7.1_sdboot.img.gz Direct download from pine64.org]&lt;br /&gt;
** MD5 (GZip file): DBA2109C393F514132EC8D5FB6E8EBE2&lt;br /&gt;
** File Size: 555MB&lt;br /&gt;
&lt;br /&gt;
== Android 7.1 eMMC ==&lt;br /&gt;
=== Stock Android for DD method [eMMC Boot] [20190807] ===&lt;br /&gt;
* Production floor testing image &lt;br /&gt;
* Please allows some time (around 5 minutes) for the initialization process on 1st boot&lt;br /&gt;
* DD image for 64GB eMMC Module&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190807_stock_android_7.1_emmcboot-64GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 314583B550AFF0F424D9997D237D7046&lt;br /&gt;
*** File Size: 634MB&lt;br /&gt;
* DD image for 128GB eMMC Module&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190807_stock_android_7.1_emmcboot-128GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 16942B8F9EEE79B81FADDB09AF7E2E80&lt;br /&gt;
*** File Size: 700MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for RK Flash tool [eMMC Boot] [20190807] ===&lt;br /&gt;
* 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&lt;br /&gt;
* The OTG port located at USB type-C connector, needs USB type A to type C cable.&lt;br /&gt;
* [http://wiki.pine64.org/index.php/NOOB#Flashing_to_eMMC_using_Rockchip_Tools_.28Rock64_Only.29 Guide to flashing eMMC using Rockchip Tools]&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_20190807_stock_android_7.1_emmcboot.img.gz Direct download from pine64.org]&lt;br /&gt;
** MD5 (GZip file): DC4C330787E57FC05F9D7D740F741620&lt;br /&gt;
** File Size: 555MB&lt;br /&gt;
&lt;br /&gt;
= Linux Installer Releases =&lt;br /&gt;
== Debian Installer ==&lt;br /&gt;
[[File:debian.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Debian Installer for Pinebook Pro ===&lt;br /&gt;
* This is an image creator and Debian installer that runs from an existing Linux OS and installs Debian Bullseye&lt;br /&gt;
** Installer can configure an encrypted rootfs and provides a choice of desktops, including the default Debian desktop based on Gnome 3&lt;br /&gt;
** Strict adoption of upstream Debian packages (with exception of kernel and bootloaders) in order to provide a clean upgrade path as Bullseye matures&lt;br /&gt;
* Download at: https://github.com/daniel-thompson/pinebook-pro-debian-installer/&lt;br /&gt;
* Pull requests welcome but for discussion and support please use [https://forum.pine64.org/showthread.php?tid=8487 the forum topic].&lt;br /&gt;
&lt;br /&gt;
For more information, see the [[Pinebook_Pro_Debian_Installer]] wiki page&lt;br /&gt;
&lt;br /&gt;
== Gentoo Script ==&lt;br /&gt;
[[File:gentoo.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Gentoo Script for Pinebook Pro ===&lt;br /&gt;
* This is a script that prepares a Gentoo arm64 stage 3 tarball for the Pinebook Pro&lt;br /&gt;
** 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&lt;br /&gt;
* The usual tarball setup as per [https://wiki.gentoo.org/wiki/Handbook:AMD64 Gentoo Handbook] is left to the user.&lt;br /&gt;
* Forum thread with instructions at https://forum.pine64.org/showthread.php?tid=8765&lt;br /&gt;
&lt;br /&gt;
==Kali Script==&lt;br /&gt;
[[File:Kali.jpeg|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Kali Linux for Pinebook Pro ===&lt;br /&gt;
* This is a script to create official Kali Linux OS images for the Pinebook Pro&lt;br /&gt;
** The script carries out the build process in entirety and is Pinebook Pro specific&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro_Software_Releases&amp;diff=5148</id>
		<title>Pinebook Pro Software Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro_Software_Releases&amp;diff=5148"/>
		<updated>2020-02-20T16:26:19Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* OpenSUSE XFCE OS Image [microSD / eMMC Boot] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OS Image Releases =&lt;br /&gt;
== Debian Desktop ==&lt;br /&gt;
[[File:debian.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Debian Desktop Community Build Image [microSD to eMMC] by mrfixit2001 ===&lt;br /&gt;
* This is the default OS comes with Pinebook Pro&lt;br /&gt;
* Included Desktop, Firefox Browser, and LibreOffice Suite&lt;br /&gt;
* DD image (for 8GB microSD card / 16GB eMMC module and above):&lt;br /&gt;
** [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]&lt;br /&gt;
*** MD5 (img file): BF67F3A0229769A7472D418AD45F8AB0&lt;br /&gt;
*** File Size: 1.19GB&lt;br /&gt;
* Login with&lt;br /&gt;
** username: rock&lt;br /&gt;
** password: rock&lt;br /&gt;
&lt;br /&gt;
== Bionic LXDE ==&lt;br /&gt;
[[File:lxde.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Bionic LXDE Community Build Image by ayufan [microSD and eMMC Boot] ===&lt;br /&gt;
* Included LXDE Desktop, Firefox Browser, and LibreOffice Suite&lt;br /&gt;
* DD image (for 8GB micoSD card /16GB eMMC module and above):&lt;br /&gt;
** [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]&lt;br /&gt;
** MD5 (XZ file): B74E8366615DAE89AEB5CC878F2B316B&lt;br /&gt;
** size: 763MB&lt;br /&gt;
* Login with&lt;br /&gt;
** username: rock64&lt;br /&gt;
** password: rock64&lt;br /&gt;
&lt;br /&gt;
== Bionic Mate ==&lt;br /&gt;
[[File:mate.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Bionic Mate Community Build Image [microSD Boot] by ayufan ===&lt;br /&gt;
* Included Mate Desktop, Firefox Browser, and LibreOffice Suite&lt;br /&gt;
* DD image (for 8GB micoSD card /16GB eMMC module and above):&lt;br /&gt;
** [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]&lt;br /&gt;
** MD5 (XZ file): 5F60494B9248570FAF5853860A26B489&lt;br /&gt;
** size: 1.06GB&lt;br /&gt;
* Login with&lt;br /&gt;
** username: rock64&lt;br /&gt;
** password: rock64&lt;br /&gt;
&lt;br /&gt;
== Manjaro ARM ==&lt;br /&gt;
[[File:Manjaro.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
* 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).&lt;br /&gt;
* To learn more about Manjaro please visit [https://forum.manjaro.org/tags/manjaroarm Manjaro Forum] &lt;br /&gt;
&lt;br /&gt;
=== Manjaro ARM with KDE (Plasma) desktop [microSD / eMMC Boot] ===&lt;br /&gt;
&lt;br /&gt;
* [https://manjaro.org/download/arm/pinebook-pro/arm8-pinebook-pro-kde-plasma/ Direct download from Manjaro]&lt;br /&gt;
* [https://osdn.net/projects/manjaro-arm/storage/pbpro/kde-plasma/ Direct download from osdn.net]&lt;br /&gt;
&lt;br /&gt;
=== Manjaro ARM with GTK (XFCE) desktop [microSD / eMMC Boot] ===&lt;br /&gt;
&lt;br /&gt;
* [https://manjaro.org/download/arm/pinebook-pro/arm8-pinebook-pro-xfce/ Direct download from Manjaro]&lt;br /&gt;
* [https://osdn.net/projects/manjaro-arm/storage/pbpro/xfce/ Direct download from osdn.net]&lt;br /&gt;
&lt;br /&gt;
=== Manjaro ARM Test Build Image with GTK (Gnome) desktop [microSD Boot] ===&lt;br /&gt;
&lt;br /&gt;
* [https://drive.google.com/file/d/1_nJXc5rlUKwNJJYRFqYDAwpeGitljTCz/view?usp=sharing/ Direct download from Google Drive]&lt;br /&gt;
&lt;br /&gt;
== Q4OS ==&lt;br /&gt;
[[File:q4os.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Q4OS Test Build Image [microSD / eMMC Boot] ===&lt;br /&gt;
* Q4OS is advertised as a 'fast and powerful operating system based on the latest technologies while offering highly productive desktop environment'&lt;br /&gt;
* 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]&lt;br /&gt;
* DD image (for 8GB micoSD card / eMMC module and above)&lt;br /&gt;
** [https://sourceforge.net/projects/q4os/files/testing/ Direct download latest release build from SourceForge]&lt;br /&gt;
* login with:&lt;br /&gt;
** username: rock&lt;br /&gt;
** password: rock&lt;br /&gt;
&lt;br /&gt;
== OpenSUSE ==&lt;br /&gt;
[[File:Opensuse1.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== OpenSUSE XFCE OS Image [microSD / eMMC Boot] ===&lt;br /&gt;
* This image contains an install openSUSE tumbleweed with XFCE desktop environment.&lt;br /&gt;
* To learn more about OpenSUSE please visit the [https://www.opensuse.org/ official website].&lt;br /&gt;
* Pinebook Pro build instructions can be found [https://github.com/smithmcgriff/opensuse-on-pinebookpro-gnome here]&lt;br /&gt;
* DD image (for 8GB micoSD card / eMMC module and above)&lt;br /&gt;
** [https://sourceforge.net/projects/opensuse-on-pinebookpro/files/Rel_1/ Direct download latest release build from SourceForge]&lt;br /&gt;
* login with:&lt;br /&gt;
** username: root&lt;br /&gt;
** password: linux&lt;br /&gt;
&lt;br /&gt;
=== OpenSUSE GNOME 3 OS Image [microSD / eMMC Boot] ===&lt;br /&gt;
* This image contains an install of openSUSE tumbleweed with GNOME 3 desktop environment.&lt;br /&gt;
* To learn more about OpenSUSE please visit the [https://www.opensuse.org/ official website].&lt;br /&gt;
* Pinebook Pro build instructions can be found [https://github.com/smithmcgriff/opensuse-on-pinebookpro-gnome here]&lt;br /&gt;
* DD image (for 8GB micoSD card / eMMC module and above)&lt;br /&gt;
** [https://sourceforge.net/projects/opensuse-on-pinebookpro/files/Rel_1/ Direct download latest release build from SourceForge]&lt;br /&gt;
* login with:&lt;br /&gt;
** username: tux&lt;br /&gt;
** password: susepassword&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
[[File:fedora1.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Fedora GNOME3 OS Image [microSD / eMMC Boot] ===&lt;br /&gt;
* This image contains an install of Fedora with GNOME3 desktop environment. &lt;br /&gt;
* To learn more about Fedora please visit the [https://getfedora.org/ official website].&lt;br /&gt;
* Pinebook Pro build instructions can be found [https://github.com/smithmcgriff/opensuse-on-pinebookpro-gnome here]&lt;br /&gt;
* DD image (for 8GB micoSD card / eMMC module and above)&lt;br /&gt;
** [https://sourceforge.net/projects/opensuse-on-pinebookpro/files/Rel_2/ Direct download latest release build from SourceForge]&lt;br /&gt;
* login with:&lt;br /&gt;
** username: tux&lt;br /&gt;
** password: susepassword&lt;br /&gt;
&lt;br /&gt;
== Armbian ==&lt;br /&gt;
[[File:armbian.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Armbian [microSD / eMMC Boot] ===&lt;br /&gt;
* Armbian provides well maintained Debian and Ubuntu OS images tailored to ARM devices &lt;br /&gt;
* To learn more please visit the [https://www.armbian.com/ Armbian's website]&lt;br /&gt;
* DD image (for 8GB micoSD card / eMMC module and above)&lt;br /&gt;
** [https://www.armbian.com/pinebook-pro/ Direct download latest release from Armbian]&lt;br /&gt;
* login with:&lt;br /&gt;
** username: root&lt;br /&gt;
** password: 1234&lt;br /&gt;
&lt;br /&gt;
=== Armbian [microSD / eMMC Boot] ===&lt;br /&gt;
* Armbian provides well maintained Debian and Ubuntu OS images tailored to ARM devices &lt;br /&gt;
* To learn more please visit the [https://www.armbian.com/ Armbian's website]&lt;br /&gt;
* DD image (for 8GB micoSD card / eMMC module and above)&lt;br /&gt;
** [https://www.armbian.com/pinebook-pro/ Direct download latest release from Armbian]&lt;br /&gt;
* login with:&lt;br /&gt;
** username: root&lt;br /&gt;
** password: 1234&lt;br /&gt;
&lt;br /&gt;
==NetBSD==&lt;br /&gt;
[[File:netbsd.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== NetBSD [microSD /eMMC Boot] ===&lt;br /&gt;
* To learn more about NetBSD please visit [https://www.netbsd.org/ NetBSD main page] &lt;br /&gt;
* DD image to microSD card or eMMC module. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** [http://www.armbsd.org/arm/ Direct download from NetBSD]&lt;br /&gt;
* Console and SSH default login:&lt;br /&gt;
** username: root&lt;br /&gt;
** password: [none]&lt;br /&gt;
* Instructions concerning enabling SSH can be found [https://www.netbsd.org/docs/guide/en/chap-boot.html#chap-boot-ssh here]&lt;br /&gt;
&lt;br /&gt;
== Chromium ==&lt;br /&gt;
[[File:chromium.jpg|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Chromium Community Build Image by ayufan [microSD and eMMC Boot] ===&lt;br /&gt;
* DD image (for 8GB micoSD card/16GB eMMC module and above)&lt;br /&gt;
** [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]&lt;br /&gt;
** MD5 (XZ file): 7B747B6D2B041C5C0C6434DDB524DB66&lt;br /&gt;
** size: 387MB&lt;br /&gt;
&lt;br /&gt;
== openSUSE Tumbleweed [microSD /eMMC Boot]==&lt;br /&gt;
* Included Xfce Desktop, Firefox Browser, and LibreOffice Suite&lt;br /&gt;
** DD image (for 32GB microSD card /32GB eMMC module and above):&lt;br /&gt;
&lt;br /&gt;
https://github.com/smithmcgriff/openSUSE-on-pinebookpro&lt;br /&gt;
&lt;br /&gt;
== Fedora Workstation with Gnome Desktop [microSD /eMMC Boot]==&lt;br /&gt;
* Included Gnome Desktop, Firefox Browser, and LibreOffice Suite&lt;br /&gt;
** DD image (for 32GB microSD card /32GB eMMC module and above):&lt;br /&gt;
&lt;br /&gt;
https://github.com/smithmcgriff/Fedora-on-pinebookpro&lt;br /&gt;
&lt;br /&gt;
= Android Image Releases =&lt;br /&gt;
== Android 7.1 microSD ==&lt;br /&gt;
[[File:android_7.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Stock Android for DD method [micro SD Boot] [20190918] ===&lt;br /&gt;
* Production floor testing image &lt;br /&gt;
* DD image to microSD card and boot. &lt;br /&gt;
* Highly recommend using [https://etcher.io/ Etcher] or [https://github.com/pine64dev/PINE64-Installer/blob/master/README.md#download PINE64 Installer]&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* DD image for 8GB microSD card&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-8GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 207BCBFFF59C1AB29F8ADC63D426EACB&lt;br /&gt;
*** File Size: 562MB&lt;br /&gt;
* DD image for 16GB microSD card&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-16GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): B1FC25A2F896F5C6B4B85EA6D1E75CDA&lt;br /&gt;
*** File Size: 571MB&lt;br /&gt;
* DD image for 32GB microSD card&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-32GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): A07E2C2A2798A77375268E423A30048A&lt;br /&gt;
*** File Size: 589MB&lt;br /&gt;
* DD image for 64GB microSD card&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190918_stock_android_7.1_sdboot-64GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): D7626BD50443A88AEB9254C88C575284&lt;br /&gt;
*** File Size: 627MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for RK Flash tool [SD Boot] [20190427] ===&lt;br /&gt;
* 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 &amp;quot;SD boot&amp;quot; option.&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_20190918_stock_android_7.1_sdboot.img.gz Direct download from pine64.org]&lt;br /&gt;
** MD5 (GZip file): DBA2109C393F514132EC8D5FB6E8EBE2&lt;br /&gt;
** File Size: 555MB&lt;br /&gt;
&lt;br /&gt;
== Android 7.1 eMMC ==&lt;br /&gt;
=== Stock Android for DD method [eMMC Boot] [20190807] ===&lt;br /&gt;
* Production floor testing image &lt;br /&gt;
* Please allows some time (around 5 minutes) for the initialization process on 1st boot&lt;br /&gt;
* DD image for 64GB eMMC Module&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190807_stock_android_7.1_emmcboot-64GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 314583B550AFF0F424D9997D237D7046&lt;br /&gt;
*** File Size: 634MB&lt;br /&gt;
* DD image for 128GB eMMC Module&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_dd_20190807_stock_android_7.1_emmcboot-128GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 16942B8F9EEE79B81FADDB09AF7E2E80&lt;br /&gt;
*** File Size: 700MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for RK Flash tool [eMMC Boot] [20190807] ===&lt;br /&gt;
* 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&lt;br /&gt;
* The OTG port located at USB type-C connector, needs USB type A to type C cable.&lt;br /&gt;
* [http://wiki.pine64.org/index.php/NOOB#Flashing_to_eMMC_using_Rockchip_Tools_.28Rock64_Only.29 Guide to flashing eMMC using Rockchip Tools]&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
** [http://files.pine64.org/os/PinebookPro/Android/PinebookPro_20190807_stock_android_7.1_emmcboot.img.gz Direct download from pine64.org]&lt;br /&gt;
** MD5 (GZip file): DC4C330787E57FC05F9D7D740F741620&lt;br /&gt;
** File Size: 555MB&lt;br /&gt;
&lt;br /&gt;
= Linux Installer Releases =&lt;br /&gt;
== Debian Installer ==&lt;br /&gt;
[[File:debian.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Debian Installer for Pinebook Pro ===&lt;br /&gt;
* This is an image creator and Debian installer that runs from an existing Linux OS and installs Debian Bullseye&lt;br /&gt;
** Installer can configure an encrypted rootfs and provides a choice of desktops, including the default Debian desktop based on Gnome 3&lt;br /&gt;
** Strict adoption of upstream Debian packages (with exception of kernel and bootloaders) in order to provide a clean upgrade path as Bullseye matures&lt;br /&gt;
* Download at: https://github.com/daniel-thompson/pinebook-pro-debian-installer/&lt;br /&gt;
* Pull requests welcome but for discussion and support please use [https://forum.pine64.org/showthread.php?tid=8487 the forum topic].&lt;br /&gt;
&lt;br /&gt;
For more information, see the [[Pinebook_Pro_Debian_Installer]] wiki page&lt;br /&gt;
&lt;br /&gt;
== Gentoo Script ==&lt;br /&gt;
[[File:gentoo.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Gentoo Script for Pinebook Pro ===&lt;br /&gt;
* This is a script that prepares a Gentoo arm64 stage 3 tarball for the Pinebook Pro&lt;br /&gt;
** 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&lt;br /&gt;
* The usual tarball setup as per [https://wiki.gentoo.org/wiki/Handbook:AMD64 Gentoo Handbook] is left to the user.&lt;br /&gt;
* Forum thread with instructions at https://forum.pine64.org/showthread.php?tid=8765&lt;br /&gt;
&lt;br /&gt;
==Kali Script==&lt;br /&gt;
[[File:Kali.jpeg|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Kali Linux for Pinebook Pro ===&lt;br /&gt;
* This is a script to create official Kali Linux OS images for the Pinebook Pro&lt;br /&gt;
** The script carries out the build process in entirety and is Pinebook Pro specific&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4956</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4956"/>
		<updated>2020-02-08T17:49:31Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Display */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
'''Read these first!'''&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Frequently asked questions about the devkit]&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Reprogramming_the_PineTime Programming the PineTime]&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Lup_Yuen_Lee_Q%26A_about_PineTime Q&amp;amp;A about Rust and MyNewt for PineTime by Lup Yuen Lee]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
'''References''':&lt;br /&gt;
&lt;br /&gt;
[https://github.com/adafruit/Adafruit-ST7735-Library/ Adafruit ST7789 driver in cpp]&lt;br /&gt;
&lt;br /&gt;
=== Battery measurement ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
=== How to write battery friendly software? === &lt;br /&gt;
&lt;br /&gt;
The key to save battery is to enable only what you need when you need it. NRF52832 has a lot of functionalities allowing you to draw as little current as possible. Here are some tips and tricks:&lt;br /&gt;
&lt;br /&gt;
* Disable / shutdown / put in sleep mode '''all devices around the MCU''' (display controller, touch controller, external memory,...). &lt;br /&gt;
* Disable all '''peripheral inside the MCU''' when you don't need them (SPI, TWI(I²C),...). The power management of the NRF52832 is very smart and will completely shut down (power off and disable the clock) the peripheral when the software disables it.&lt;br /&gt;
* Put the MCU to sleep as soon and as often as possible. If you are not using a RTOS, this is done by calling ''WFE'' (wait for event) instruction. Most of the time, RTOS implement this functionality. For example, FreeRTOS calls it the ''tickless mode'' : it puts the CPU in sleep mode when no task is planned for execution for more than a specified time, and wakes up as soon as an event is detected or when a task is ready to run.&lt;br /&gt;
* Do not use logging (JLink RTT, SWO, semihosting,...), it uses a lot of power.&lt;br /&gt;
* Ensure that the debug circuitry of the MCU is not enabled when you measuring the battery life. The debug peripheral is enabled as soon as you connect a debugger to the device, and '''is not automatically disabled''', even if you disconnect the debugger. The software running in the NRF52832 cannot disable the debug peripheral. How to disable the debug circuitry:&lt;br /&gt;
  - using ''nrfjprog --reset''&lt;br /&gt;
  - using JLinkExe : issue the command ''writeDP 1 0''&lt;br /&gt;
* Read [https://infocenter.nordicsemi.com/pdf/nRF52832_Rev_2_Errata_v1.1.pdf the errata sheet of the MCU] and apply workarounds if they apply to you soft.&lt;br /&gt;
&lt;br /&gt;
=== Button ===&lt;br /&gt;
&lt;br /&gt;
The button on the side of the PineTime is disabled by default. To enable it, drive the button out pin (P0.15) high.&lt;br /&gt;
&lt;br /&gt;
While enabled, the button in pin (P0.13) will be high when the button is pressed, and low when it is not pressed.&lt;br /&gt;
&lt;br /&gt;
=== Touch panel ===&lt;br /&gt;
&lt;br /&gt;
The touch panel is controlled by a Hynitron CST816S chips. Unfortunately, there is not much information about this chip on the internet apart from the datasheet below and a [https://github.com/lupyuen/hynitron_i2c_cst0xxse/ reference driver]. This is enough to implement a basic driver, but crucial information needed to implement advanced functionalities are missing (I²C protocol and registers, timings, power modes,...).&lt;br /&gt;
&lt;br /&gt;
==== Pins ====&lt;br /&gt;
&lt;br /&gt;
* P0.10 : Reset&lt;br /&gt;
* P0.28 : Interrupt (signal to the CPU when a touch event is detected)&lt;br /&gt;
* P0.06 : I²C SDA&lt;br /&gt;
* P0.07 : I²C SCL&lt;br /&gt;
&lt;br /&gt;
==== I²C ====&lt;br /&gt;
&lt;br /&gt;
* Device address : 0x15&lt;br /&gt;
* Frequency : from 10Khz to 400Khz&lt;br /&gt;
&lt;br /&gt;
'''NOTE : ''' The controller go to sleep when no event is detected. In sleep mode, the controller does not communicate on the I²C bus (it appears disconnected). So, for the communication to work, you need to tap on the screen so that the chip wakes-up.&lt;br /&gt;
&lt;br /&gt;
==== Touch events ====&lt;br /&gt;
&lt;br /&gt;
Touch informations are available in the 63 first registers of the controller. Remember : the device is in sleep mode when no touch event is detected. It means that you can read the register only when the touch controller detected an event. You can use the ''Interrupt'' pin to detect such event in the software. &lt;br /&gt;
&lt;br /&gt;
These 63 bytes contain up to 10 touch point (X, Y, event type, pressure,...) : &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Byte&lt;br /&gt;
! Bit7&lt;br /&gt;
! Bit6&lt;br /&gt;
! Bit5&lt;br /&gt;
! Bit4&lt;br /&gt;
! Bit3&lt;br /&gt;
! Bit2&lt;br /&gt;
! Bit1&lt;br /&gt;
! Bit0&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|GestureID : (Gesture code ,&lt;br /&gt;
&lt;br /&gt;
0x00: no gesture,&lt;br /&gt;
&lt;br /&gt;
0x01: Slide down,&lt;br /&gt;
&lt;br /&gt;
0x02: Slide up,&lt;br /&gt;
&lt;br /&gt;
0x03: Slide left,&lt;br /&gt;
&lt;br /&gt;
0x04: Slide right,&lt;br /&gt;
&lt;br /&gt;
0x05: Single click,&lt;br /&gt;
&lt;br /&gt;
0x0B: Double click,&lt;br /&gt;
&lt;br /&gt;
0x0C: Long press) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|? &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Number of touch points &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Event (0 = Down, 1 = Up, 2 = Contact)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|X (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|X (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Touch ID&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Y (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Y (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Pressure (?)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Miscellaneous (?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bytes 3 to 8 are repeated 10 times (10*6 + 3 = 63 bytes).&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
* The touch controller seems to report only 1 touch point&lt;br /&gt;
* Fields X, Y, Number of touch points and touch ID are updated. The others are always 0.&lt;br /&gt;
&lt;br /&gt;
==== Registers ====&lt;br /&gt;
&lt;br /&gt;
The reference driver specifies some registers and value, but there is no information about them: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!Register&lt;br /&gt;
!Address&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_INT_CNT&lt;br /&gt;
|0x8F&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FLOW_WORK_CNT&lt;br /&gt;
|0x91&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_WORKMODE &lt;br /&gt;
|0x00&lt;br /&gt;
|0 = WORK, 0x40 = FACTORY&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID&lt;br /&gt;
|0xA3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID2&lt;br /&gt;
|0x9F&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_POWER_MODE&lt;br /&gt;
|0xA5&lt;br /&gt;
|0x05 = SLEEP&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FW_VER&lt;br /&gt;
|0xA6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_VENDOR_ID&lt;br /&gt;
|0xA8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_LCD_BUSY_NUM&lt;br /&gt;
|0xAB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FACE_DEC_MODE_EN&lt;br /&gt;
|0xB0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GLOVE_MODE_EN&lt;br /&gt;
|0xC0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_COVER_MODE_EN&lt;br /&gt;
|0xC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHARGER_MODE_EN&lt;br /&gt;
|0x8B&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_EN&lt;br /&gt;
|0xD0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_OUTPUT_ADDRESS&lt;br /&gt;
|0xD3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_ESD_SATURATE 0xED&lt;br /&gt;
|0xED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''WARNING : ''' Writing the SLEEP command (write 0x05 in HYN_REG_POWER_MODE) seems to freeze the controller (it returns only static values) until the battery is totally drained and the whole system reset. Analysis and debugging is more than welcome!&lt;br /&gt;
&lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Building a Rust Driver for PineTime’s Touch Controller]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a Porting (druid) Rust Widgets to PineTime Smart Watch]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c Optimising PineTime’s Display Driver with Rust and Mynewt]&lt;br /&gt;
&lt;br /&gt;
* [https://www.zephyrproject.org/getting-started-with-zephyr-rtos-on-nordic-nrf52832-hackable/ Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE]&lt;br /&gt;
&lt;br /&gt;
* [https://blog.aegrel.ee/absniffer-cmsis-dap-sniffer.html Removing the lock and installing another firmware on the nRF52832 using CMSIS-DAP dongle on Linux]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/JF002/nrf52-baseproject/wiki/Build,-program-and-debug-NRF52-project-with-JLink,-CMake-and-CLion Build, program and debug NRF52 project with JLink, CMake and CLion]&lt;br /&gt;
&lt;br /&gt;
* [https://www.nrbtech.io/blog/2020/1/4/using-clion-for-nordic-nrf52-projects Using CLion for Nordic nRF52 projects]&lt;br /&gt;
&lt;br /&gt;
* [https://dev.to/aaronc81/flashing-your-pinetime-using-an-st-link-and-openocd-54dd Flashing your PineTime using an ST-Link and OpenOCD]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
|- &lt;br /&gt;
|[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/Dejvino/pinetime-hermes-firmware Dejvino/pinetime-hermes-firmware]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/pinetime-rust-mynewt lupyuen/pinetime-rust-mynewt]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! RIOT&lt;br /&gt;
| http://riot-os.org/&lt;br /&gt;
| https://github.com/RIOT-OS/RIOT/&lt;br /&gt;
| [https://github.com/bosmoment/PineTime-apps bosmoment/PineTime-apps]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MicroPython&lt;br /&gt;
| https://micropython.org/&lt;br /&gt;
| https://github.com/micropython/micropython&lt;br /&gt;
| [https://github.com/daniel-thompson/wasp-os daniel-thompson/wasp-os]&lt;br /&gt;
|-&lt;br /&gt;
! AdaFruit bootloader&lt;br /&gt;
|&lt;br /&gt;
| https://github.com/adafruit/Adafruit_nRF52_Bootloader&lt;br /&gt;
| [https://github.com/daniel-thompson/wasp-bootloader daniel-thompson/wasp-bootloader]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! UI concepts and drawings&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [https://gitlab.com/arteeh/pinetimeos arteeh/pinetimeos]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [https://wiki.pine64.org/images/c/cc/Bst-bma400-ds000.pdf BOSCH BMA400 datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=134 PineTime forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinetime64:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* IRC: Server us.pine64.xyz. Type /list to see all channels&lt;br /&gt;
* [https://t.me/pinetime Telegram group]&lt;br /&gt;
* [https://discordapp.com/invite/DgB7kzr Discord server invite link]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4845</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4845"/>
		<updated>2020-01-29T20:12:33Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Frequently asked questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
'''Read this first!'''&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Click here to see frequently asked questions about the dev kit]&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Lup_Yuen_Lee_Q%26A_about_PineTime Lup Yuen Lee Q&amp;amp;A about PineTime]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
=== Battery measurement ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
=== How to write battery friendly software? === &lt;br /&gt;
&lt;br /&gt;
The key to save battery is to enable only what you need when you need it. NRF52832 has a lot of functionalities allowing you to draw as little current as possible. Here are some tips and tricks:&lt;br /&gt;
&lt;br /&gt;
* Disable / shutdown / put in sleep mode '''all devices around the MCU''' (display controller, touch controller, external memory,...). &lt;br /&gt;
* Disable all '''peripheral inside the MCU''' when you don't need them (SPI, TWI(I²C),...). The power management of the NRF52832 is very smart and will completely shut down (power off and disable the clock) the peripheral when the software disables it.&lt;br /&gt;
* Put the MCU to sleep as soon and as often as possible. If you are not using a RTOS, this is done by calling ''WFE'' (wait for event) instruction. Most of the time, RTOS implement this functionality. For example, FreeRTOS calls it the ''tickless mode'' : it puts the CPU in sleep mode when no task is planned for execution for more than a specified time, and wakes up as soon as an event is detected or when a task is ready to run.&lt;br /&gt;
* Do not use logging (JLink RTT, SWO, semihosting,...), it uses a lot of power.&lt;br /&gt;
* Ensure that the debug circuitry of the MCU is not enabled when you measuring the battery life. The debug peripheral is enabled as soon as you connect a debugger to the device, and '''is not automatically disabled''', even if you disconnect the debugger. The software running in the NRF52832 cannot disable the debug peripheral. How to disable the debug circuitry:&lt;br /&gt;
  - using ''nrfjprog --reset''&lt;br /&gt;
  - using JLinkExe : issue the command ''writeDP 1 0''&lt;br /&gt;
* Read [https://infocenter.nordicsemi.com/pdf/nRF52832_Rev_2_Errata_v1.1.pdf the errata sheet of the MCU] and apply workarounds if they apply to you soft.&lt;br /&gt;
&lt;br /&gt;
=== Button ===&lt;br /&gt;
&lt;br /&gt;
The button on the side of the PineTime is disabled by default. To enable it, drive the button out pin (P0.15) high.&lt;br /&gt;
&lt;br /&gt;
While enabled, the button in pin (P0.13) will be high when the button is pressed, and low when it is not pressed.&lt;br /&gt;
&lt;br /&gt;
=== Touch panel ===&lt;br /&gt;
&lt;br /&gt;
The touch panel is controlled by a Hynitron CST816S chips. Unfortunately, there is not much information about this chip on the internet apart from the datasheet below and a [https://github.com/lupyuen/hynitron_i2c_cst0xxse/ reference driver]. This is enough to implement a basic driver, but crucial information needed to implement advanced functionalities are missing (I²C protocol and registers, timings, power modes,...).&lt;br /&gt;
&lt;br /&gt;
==== Pins ====&lt;br /&gt;
&lt;br /&gt;
* P0.10 : Reset&lt;br /&gt;
* P0.28 : Interrupt (signal to the CPU when a touch event is detected)&lt;br /&gt;
* P0.06 : I²C SDA&lt;br /&gt;
* P0.07 : I²C SCL&lt;br /&gt;
&lt;br /&gt;
==== I²C ====&lt;br /&gt;
&lt;br /&gt;
* Device address : 0x15&lt;br /&gt;
* Frequency : from 10Khz to 400Khz&lt;br /&gt;
&lt;br /&gt;
'''NOTE : ''' The controller go to sleep when no event is detected. In sleep mode, the controller does not communicate on the I²C bus (it appears disconnected). So, for the communication to work, you need to tap on the screen so that the chip wakes-up.&lt;br /&gt;
&lt;br /&gt;
==== Touch events ====&lt;br /&gt;
&lt;br /&gt;
Touch informations are available in the 63 first registers of the controller. Remember : the device is in sleep mode when no touch event is detected. It means that you can read the register only when the touch controller detected an event. You can use the ''Interrupt'' pin to detect such event in the software. &lt;br /&gt;
&lt;br /&gt;
These 63 bytes contain up to 10 touch point (X, Y, event type, pressure,...) : &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Byte&lt;br /&gt;
! Bit7&lt;br /&gt;
! Bit6&lt;br /&gt;
! Bit5&lt;br /&gt;
! Bit4&lt;br /&gt;
! Bit3&lt;br /&gt;
! Bit2&lt;br /&gt;
! Bit1&lt;br /&gt;
! Bit0&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|GestureID : (Gesture code ,&lt;br /&gt;
&lt;br /&gt;
0x00: no gesture,&lt;br /&gt;
&lt;br /&gt;
0x01: Slide down,&lt;br /&gt;
&lt;br /&gt;
0x02: Slide up,&lt;br /&gt;
&lt;br /&gt;
0x03: Slide left,&lt;br /&gt;
&lt;br /&gt;
0x04: Slide right,&lt;br /&gt;
&lt;br /&gt;
0x05: Single click,&lt;br /&gt;
&lt;br /&gt;
0x0B: Double click,&lt;br /&gt;
&lt;br /&gt;
0x0C: Long press) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|? &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Number of touch points &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Event (0 = Down, 1 = Up, 2 = Contact)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|X (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|X (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Touch ID&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Y (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Y (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Pressure (?)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Miscellaneous (?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bytes 3 to 8 are repeated 10 times (10*6 + 3 = 63 bytes).&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
* The touch controller seems to report only 1 touch point&lt;br /&gt;
* Fields X, Y, Number of touch points and touch ID are updated. The others are always 0.&lt;br /&gt;
&lt;br /&gt;
==== Registers ====&lt;br /&gt;
&lt;br /&gt;
The reference driver specifies some registers and value, but there is no information about them: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!Register&lt;br /&gt;
!Address&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_INT_CNT&lt;br /&gt;
|0x8F&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FLOW_WORK_CNT&lt;br /&gt;
|0x91&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_WORKMODE &lt;br /&gt;
|0x00&lt;br /&gt;
|0 = WORK, 0x40 = FACTORY&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID&lt;br /&gt;
|0xA3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID2&lt;br /&gt;
|0x9F&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_POWER_MODE&lt;br /&gt;
|0xA5&lt;br /&gt;
|0x05 = SLEEP&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FW_VER&lt;br /&gt;
|0xA6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_VENDOR_ID&lt;br /&gt;
|0xA8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_LCD_BUSY_NUM&lt;br /&gt;
|0xAB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FACE_DEC_MODE_EN&lt;br /&gt;
|0xB0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GLOVE_MODE_EN&lt;br /&gt;
|0xC0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_COVER_MODE_EN&lt;br /&gt;
|0xC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHARGER_MODE_EN&lt;br /&gt;
|0x8B&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_EN&lt;br /&gt;
|0xD0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_OUTPUT_ADDRESS&lt;br /&gt;
|0xD3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_ESD_SATURATE 0xED&lt;br /&gt;
|0xED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''WARNING : ''' Writing the SLEEP command (write 0x05 in HYN_REG_POWER_MODE) seems to freeze the controller (it returns only static values) until the battery is totally drained and the whole system reset. Analysis and debugging is more than welcome!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Using JLink programmer and nrfjprog tools ===&lt;br /&gt;
&lt;br /&gt;
The following steps have been tested with the Segger JLink embedded in the [https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK NRF52-DK development board].&lt;br /&gt;
&lt;br /&gt;
1. Connect the Pinetime SWD pins to the debugger (P20 on NRF52-DK)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Pintime&lt;br /&gt;
!JLink&lt;br /&gt;
|-&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|-&lt;br /&gt;
|SWDIO&lt;br /&gt;
|SWDIO&lt;br /&gt;
|-&lt;br /&gt;
|VCC (3.3V)&lt;br /&gt;
|VTG (target detect)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2. Unlock the device and erase the memory. '''You need to execute this step only once, to remove the read protection on the memory. Note that it will erase the whole flash memory of the MCU!''' :&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --recover&lt;br /&gt;
&lt;br /&gt;
3. Program the BLE softdevice (if needed by the firmware). Replace PATH_TO_NRF_SDK by the path where you unzipped the [https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK NRF52 SDK] :&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program /PATH_TO_NRF_SDK/components/softdevice/s132/hex/s132_nrf52_6.1.1_softdevice.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
4. Program the firmware (replace firmware.hex by the actual filename of the firmware):&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program firmware.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
5. Reset and run the new firmware:&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --reset&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://medium.com/@ly.lee/build-and-flash-rust-mynewt-firmware-for-pinetime-smart-watch-5e14259c55 Medium post], subsequently [https://medium.com/@ly.lee/openocd-on-raspberry-pi-better-with-swd-on-spi-7dea9caeb590 updated] with a more reliable method under development, so may be a bit of a moving target.&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a JLink ===&lt;br /&gt;
&lt;br /&gt;
Start OpenOCD:&lt;br /&gt;
&lt;br /&gt;
 openocd \&lt;br /&gt;
    -c 'interface jlink; transport select swd; source [find target/nrf52.cfg]' \&lt;br /&gt;
    -c 'init'&lt;br /&gt;
&lt;br /&gt;
Now you can connect to `127.0.0.1` port `4444` using telnet to invoke OpenOCD commands. GDB should be available on port `3333`.&lt;br /&gt;
&lt;br /&gt;
=== Using STM32 bluepill as blackmagic probe ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://forum.pine64.org/showthread.php?tid=8816&amp;amp;pid=57095#pid57095 forum post] or [https://gist.github.com/darnel/dac1370d057e176386ca4026418abc2b gist] (mac os)&lt;br /&gt;
&lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Building a Rust Driver for PineTime’s Touch Controller]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a Porting (druid) Rust Widgets to PineTime Smart Watch]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c Optimising PineTime’s Display Driver with Rust and Mynewt]&lt;br /&gt;
&lt;br /&gt;
* [https://www.zephyrproject.org/getting-started-with-zephyr-rtos-on-nordic-nrf52832-hackable/ Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE]&lt;br /&gt;
&lt;br /&gt;
* [https://blog.aegrel.ee/absniffer-cmsis-dap-sniffer.html Removing the lock and installing another firmware on the nRF52832 using CMSIS-DAP dongle on Linux]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/JF002/nrf52-baseproject/wiki/Build,-program-and-debug-NRF52-project-with-JLink,-CMake-and-CLion Build, program and debug NRF52 project with JLink, CMake and CLion]&lt;br /&gt;
&lt;br /&gt;
* [https://www.nrbtech.io/blog/2020/1/4/using-clion-for-nordic-nrf52-projects Using CLion for Nordic nRF52 projects]&lt;br /&gt;
&lt;br /&gt;
* [https://dev.to/aaronc81/flashing-your-pinetime-using-an-st-link-and-openocd-54dd Flashing your PineTime using an ST-Link and OpenOCD]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
|- &lt;br /&gt;
|[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/Dejvino/pinetime-hermes-firmware Dejvino/pinetime-hermes-firmware]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/pinetime-rust-mynewt lupyuen/pinetime-rust-mynewt]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! RIOT&lt;br /&gt;
| http://riot-os.org/&lt;br /&gt;
| https://github.com/RIOT-OS/RIOT/&lt;br /&gt;
| [https://github.com/bosmoment/PineTime-apps bosmoment/PineTime-apps]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MicroPython&lt;br /&gt;
| https://micropython.org/&lt;br /&gt;
| https://github.com/micropython/micropython&lt;br /&gt;
| [https://github.com/daniel-thompson/wasp-os daniel-thompson/wasp-os]&lt;br /&gt;
|-&lt;br /&gt;
! AdaFruit bootloader&lt;br /&gt;
|&lt;br /&gt;
| https://github.com/adafruit/Adafruit_nRF52_Bootloader&lt;br /&gt;
| [https://github.com/daniel-thompson/wasp-bootloader daniel-thompson/wasp-bootloader]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! UI concepts and drawings&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [https://gitlab.com/arteeh/pinetimeos arteeh/pinetimeos]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=134 PineTime forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinetime64:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* IRC: Server us.pine64.xyz. Type /list to see all channels&lt;br /&gt;
* [https://t.me/pinetime Telegram group]&lt;br /&gt;
* [https://discordapp.com/invite/DgB7kzr Discord server invite link]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4844</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4844"/>
		<updated>2020-01-29T19:54:40Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Frequently asked questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
'''Read this first!'''&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Click here to see frequently asked questions about the dev kit]&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Lup_Yuen_Lee_Q%26A_about_PineTime Lup Yuen Lee Q&amp;amp;A about PineTime]&lt;br /&gt;
* [[Beginners guide to the PineTime DevKit]]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
=== Battery measurement ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
=== How to write battery friendly software? === &lt;br /&gt;
&lt;br /&gt;
The key to save battery is to enable only what you need when you need it. NRF52832 has a lot of functionalities allowing you to draw as little current as possible. Here are some tips and tricks:&lt;br /&gt;
&lt;br /&gt;
* Disable / shutdown / put in sleep mode '''all devices around the MCU''' (display controller, touch controller, external memory,...). &lt;br /&gt;
* Disable all '''peripheral inside the MCU''' when you don't need them (SPI, TWI(I²C),...). The power management of the NRF52832 is very smart and will completely shut down (power off and disable the clock) the peripheral when the software disables it.&lt;br /&gt;
* Put the MCU to sleep as soon and as often as possible. If you are not using a RTOS, this is done by calling ''WFE'' (wait for event) instruction. Most of the time, RTOS implement this functionality. For example, FreeRTOS calls it the ''tickless mode'' : it puts the CPU in sleep mode when no task is planned for execution for more than a specified time, and wakes up as soon as an event is detected or when a task is ready to run.&lt;br /&gt;
* Do not use logging (JLink RTT, SWO, semihosting,...), it uses a lot of power.&lt;br /&gt;
* Ensure that the debug circuitry of the MCU is not enabled when you measuring the battery life. The debug peripheral is enabled as soon as you connect a debugger to the device, and '''is not automatically disabled''', even if you disconnect the debugger. The software running in the NRF52832 cannot disable the debug peripheral. How to disable the debug circuitry:&lt;br /&gt;
  - using ''nrfjprog --reset''&lt;br /&gt;
  - using JLinkExe : issue the command ''writeDP 1 0''&lt;br /&gt;
* Read [https://infocenter.nordicsemi.com/pdf/nRF52832_Rev_2_Errata_v1.1.pdf the errata sheet of the MCU] and apply workarounds if they apply to you soft.&lt;br /&gt;
&lt;br /&gt;
=== Button ===&lt;br /&gt;
&lt;br /&gt;
The button on the side of the PineTime is disabled by default. To enable it, drive the button out pin (P0.15) high.&lt;br /&gt;
&lt;br /&gt;
While enabled, the button in pin (P0.13) will be high when the button is pressed, and low when it is not pressed.&lt;br /&gt;
&lt;br /&gt;
=== Touch panel ===&lt;br /&gt;
&lt;br /&gt;
The touch panel is controlled by a Hynitron CST816S chips. Unfortunately, there is not much information about this chip on the internet apart from the datasheet below and a [https://github.com/lupyuen/hynitron_i2c_cst0xxse/ reference driver]. This is enough to implement a basic driver, but crucial information needed to implement advanced functionalities are missing (I²C protocol and registers, timings, power modes,...).&lt;br /&gt;
&lt;br /&gt;
==== Pins ====&lt;br /&gt;
&lt;br /&gt;
* P0.10 : Reset&lt;br /&gt;
* P0.28 : Interrupt (signal to the CPU when a touch event is detected)&lt;br /&gt;
* P0.06 : I²C SDA&lt;br /&gt;
* P0.07 : I²C SCL&lt;br /&gt;
&lt;br /&gt;
==== I²C ====&lt;br /&gt;
&lt;br /&gt;
* Device address : 0x15&lt;br /&gt;
* Frequency : from 10Khz to 400Khz&lt;br /&gt;
&lt;br /&gt;
'''NOTE : ''' The controller go to sleep when no event is detected. In sleep mode, the controller does not communicate on the I²C bus (it appears disconnected). So, for the communication to work, you need to tap on the screen so that the chip wakes-up.&lt;br /&gt;
&lt;br /&gt;
==== Touch events ====&lt;br /&gt;
&lt;br /&gt;
Touch informations are available in the 63 first registers of the controller. Remember : the device is in sleep mode when no touch event is detected. It means that you can read the register only when the touch controller detected an event. You can use the ''Interrupt'' pin to detect such event in the software. &lt;br /&gt;
&lt;br /&gt;
These 63 bytes contain up to 10 touch point (X, Y, event type, pressure,...) : &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Byte&lt;br /&gt;
! Bit7&lt;br /&gt;
! Bit6&lt;br /&gt;
! Bit5&lt;br /&gt;
! Bit4&lt;br /&gt;
! Bit3&lt;br /&gt;
! Bit2&lt;br /&gt;
! Bit1&lt;br /&gt;
! Bit0&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|GestureID : (Gesture code ,&lt;br /&gt;
&lt;br /&gt;
0x00: no gesture,&lt;br /&gt;
&lt;br /&gt;
0x01: Slide down,&lt;br /&gt;
&lt;br /&gt;
0x02: Slide up,&lt;br /&gt;
&lt;br /&gt;
0x03: Slide left,&lt;br /&gt;
&lt;br /&gt;
0x04: Slide right,&lt;br /&gt;
&lt;br /&gt;
0x05: Single click,&lt;br /&gt;
&lt;br /&gt;
0x0B: Double click,&lt;br /&gt;
&lt;br /&gt;
0x0C: Long press) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|? &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Number of touch points &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Event (0 = Down, 1 = Up, 2 = Contact)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|X (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|X (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Touch ID&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Y (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Y (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Pressure (?)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Miscellaneous (?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bytes 3 to 8 are repeated 10 times (10*6 + 3 = 63 bytes).&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
* The touch controller seems to report only 1 touch point&lt;br /&gt;
* Fields X, Y, Number of touch points and touch ID are updated. The others are always 0.&lt;br /&gt;
&lt;br /&gt;
==== Registers ====&lt;br /&gt;
&lt;br /&gt;
The reference driver specifies some registers and value, but there is no information about them: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!Register&lt;br /&gt;
!Address&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_INT_CNT&lt;br /&gt;
|0x8F&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FLOW_WORK_CNT&lt;br /&gt;
|0x91&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_WORKMODE &lt;br /&gt;
|0x00&lt;br /&gt;
|0 = WORK, 0x40 = FACTORY&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID&lt;br /&gt;
|0xA3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID2&lt;br /&gt;
|0x9F&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_POWER_MODE&lt;br /&gt;
|0xA5&lt;br /&gt;
|0x05 = SLEEP&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FW_VER&lt;br /&gt;
|0xA6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_VENDOR_ID&lt;br /&gt;
|0xA8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_LCD_BUSY_NUM&lt;br /&gt;
|0xAB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FACE_DEC_MODE_EN&lt;br /&gt;
|0xB0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GLOVE_MODE_EN&lt;br /&gt;
|0xC0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_COVER_MODE_EN&lt;br /&gt;
|0xC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHARGER_MODE_EN&lt;br /&gt;
|0x8B&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_EN&lt;br /&gt;
|0xD0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_OUTPUT_ADDRESS&lt;br /&gt;
|0xD3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_ESD_SATURATE 0xED&lt;br /&gt;
|0xED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''WARNING : ''' Writing the SLEEP command (write 0x05 in HYN_REG_POWER_MODE) seems to freeze the controller (it returns only static values) until the battery is totally drained and the whole system reset. Analysis and debugging is more than welcome!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Using JLink programmer and nrfjprog tools ===&lt;br /&gt;
&lt;br /&gt;
The following steps have been tested with the Segger JLink embedded in the [https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK NRF52-DK development board].&lt;br /&gt;
&lt;br /&gt;
1. Connect the Pinetime SWD pins to the debugger (P20 on NRF52-DK)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Pintime&lt;br /&gt;
!JLink&lt;br /&gt;
|-&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|-&lt;br /&gt;
|SWDIO&lt;br /&gt;
|SWDIO&lt;br /&gt;
|-&lt;br /&gt;
|VCC (3.3V)&lt;br /&gt;
|VTG (target detect)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2. Unlock the device and erase the memory. '''You need to execute this step only once, to remove the read protection on the memory. Note that it will erase the whole flash memory of the MCU!''' :&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --recover&lt;br /&gt;
&lt;br /&gt;
3. Program the BLE softdevice (if needed by the firmware). Replace PATH_TO_NRF_SDK by the path where you unzipped the [https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK NRF52 SDK] :&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program /PATH_TO_NRF_SDK/components/softdevice/s132/hex/s132_nrf52_6.1.1_softdevice.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
4. Program the firmware (replace firmware.hex by the actual filename of the firmware):&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program firmware.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
5. Reset and run the new firmware:&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --reset&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://medium.com/@ly.lee/build-and-flash-rust-mynewt-firmware-for-pinetime-smart-watch-5e14259c55 Medium post], subsequently [https://medium.com/@ly.lee/openocd-on-raspberry-pi-better-with-swd-on-spi-7dea9caeb590 updated] with a more reliable method under development, so may be a bit of a moving target.&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a JLink ===&lt;br /&gt;
&lt;br /&gt;
Start OpenOCD:&lt;br /&gt;
&lt;br /&gt;
 openocd \&lt;br /&gt;
    -c 'interface jlink; transport select swd; source [find target/nrf52.cfg]' \&lt;br /&gt;
    -c 'init'&lt;br /&gt;
&lt;br /&gt;
Now you can connect to `127.0.0.1` port `4444` using telnet to invoke OpenOCD commands. GDB should be available on port `3333`.&lt;br /&gt;
&lt;br /&gt;
=== Using STM32 bluepill as blackmagic probe ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://forum.pine64.org/showthread.php?tid=8816&amp;amp;pid=57095#pid57095 forum post] or [https://gist.github.com/darnel/dac1370d057e176386ca4026418abc2b gist] (mac os)&lt;br /&gt;
&lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Building a Rust Driver for PineTime’s Touch Controller]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a Porting (druid) Rust Widgets to PineTime Smart Watch]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c Optimising PineTime’s Display Driver with Rust and Mynewt]&lt;br /&gt;
&lt;br /&gt;
* [https://www.zephyrproject.org/getting-started-with-zephyr-rtos-on-nordic-nrf52832-hackable/ Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE]&lt;br /&gt;
&lt;br /&gt;
* [https://blog.aegrel.ee/absniffer-cmsis-dap-sniffer.html Removing the lock and installing another firmware on the nRF52832 using CMSIS-DAP dongle on Linux]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/JF002/nrf52-baseproject/wiki/Build,-program-and-debug-NRF52-project-with-JLink,-CMake-and-CLion Build, program and debug NRF52 project with JLink, CMake and CLion]&lt;br /&gt;
&lt;br /&gt;
* [https://www.nrbtech.io/blog/2020/1/4/using-clion-for-nordic-nrf52-projects Using CLion for Nordic nRF52 projects]&lt;br /&gt;
&lt;br /&gt;
* [https://dev.to/aaronc81/flashing-your-pinetime-using-an-st-link-and-openocd-54dd Flashing your PineTime using an ST-Link and OpenOCD]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|[https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
|- &lt;br /&gt;
|[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/Dejvino/pinetime-hermes-firmware Dejvino/pinetime-hermes-firmware]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/pinetime-rust-mynewt lupyuen/pinetime-rust-mynewt]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! RIOT&lt;br /&gt;
| http://riot-os.org/&lt;br /&gt;
| https://github.com/RIOT-OS/RIOT/&lt;br /&gt;
| [https://github.com/bosmoment/PineTime-apps bosmoment/PineTime-apps]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MicroPython&lt;br /&gt;
| https://micropython.org/&lt;br /&gt;
| https://github.com/micropython/micropython&lt;br /&gt;
| [https://github.com/daniel-thompson/wasp-os daniel-thompson/wasp-os]&lt;br /&gt;
|-&lt;br /&gt;
! AdaFruit bootloader&lt;br /&gt;
|&lt;br /&gt;
| https://github.com/adafruit/Adafruit_nRF52_Bootloader&lt;br /&gt;
| [https://github.com/daniel-thompson/wasp-bootloader daniel-thompson/wasp-bootloader]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! UI concepts and drawings&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [https://gitlab.com/arteeh/pinetimeos arteeh/pinetimeos]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=134 PineTime forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinetime64:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* IRC: Server us.pine64.xyz. Type /list to see all channels&lt;br /&gt;
* [https://t.me/pinetime Telegram group]&lt;br /&gt;
* [https://discordapp.com/invite/DgB7kzr Discord server invite link]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4763</id>
		<title>Getting started</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4763"/>
		<updated>2020-01-22T16:29:23Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Imaging microSD on Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:NOOB.png]]&lt;br /&gt;
&lt;br /&gt;
== Setting Up Your device - What You’ll Need to Get Started ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get started with using your PINE A64(+), SOPine/PINE A64-LTS, Pinebook or ROCK64 board:&lt;br /&gt;
* Windows / Linux PC or MAC with a SD Card Reader connected to the Internet.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* MicroSD card (8GB or higher capacity) rated 'class 10' or better.&lt;br /&gt;
* 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].&lt;br /&gt;
* Input device(s) such as: keyboard, mouse, remote, pointer, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A One-Step Solution to Flashing Your MicroSD Card ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You can also flash an OS image manually; please follow the instructions below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step-by-Step Instructions to Flashing MicroSD Cards ==&lt;br /&gt;
&lt;br /&gt;
'''Caution!'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Begin by imaging the OS of your choice'''&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
Please refer to the relevant section below for instructions on how to image your microSD card:&lt;br /&gt;
* [[#Imaging microSD on Windows 7/8/8.1/10|Imaging microSD on Windows 7/8/8.1/10]]&lt;br /&gt;
* [[#Imaging microSD on Apple OSX|Imaging microSD on Apple OSX]]&lt;br /&gt;
* [[#Imaging microSD on Linux|Imaging microSD on Linux]]&lt;br /&gt;
&lt;br /&gt;
Having successfully imaged your microSD card, insert it into the microSD slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Plug in the HDMI Cable, Ethernet Cable and Peripherals to your PINE64 SBC'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Apply Power to Your Board'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Windows 7/8/8.1/10 ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
'''Optional for Allwinner A64 SoC based boards'''&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
Images designated ‘DD’ need to be flashed using Etcher or Win32imager, whilst images labelled ‘Phoenix Card Image’ require the Phoenix Card utility.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (DD)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging using Phoenix Card (applicable only to Allwinner A64 SoC based boards)'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Apple OSX ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Apple OSX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image.&lt;br /&gt;
&lt;br /&gt;
* 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):&lt;br /&gt;
&lt;br /&gt;
''diskutil unmountDisk /dev/diskX&lt;br /&gt;
sudo dd if=pine64-image-name.img of=/dev/disk2 bs=1M''&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your Mac.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Linux ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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]).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image. e.g. &amp;lt;code&amp;gt; cd Download&amp;lt;/code&amp;gt;&lt;br /&gt;
* Before you start writing to the card, you will have to identify your microSD card.&lt;br /&gt;
&lt;br /&gt;
* Type: &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; and pay attention to the listed disks. Disks will appear as ''/dev/mmcblk0 /dev/mmcblk1'' etc. &lt;br /&gt;
* '''Hint''': the drive you currently have booted from has the &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; at the end of the line. This is the wrong drive. Look at the drive that matches your microSD card’s size.&lt;br /&gt;
* Having located the microSD card use the following command to flash the .img of choice to the microSD card (/dev/sdb used as example): &amp;lt;code&amp;gt;sudo unmount /dev/mmcblk0&amp;lt;/code&amp;gt;&lt;br /&gt;
* Now you are ready to write the image to the microSD card using this command: (replace the pine.img file with your image and mmcblkX with the correct device for the microSD card)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dd if=pine.img of=/dev/mmcblkX bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete.&lt;br /&gt;
* use the command &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; to ensure everything is written to the microSD card.&lt;br /&gt;
* The card is ready to boot &lt;br /&gt;
&lt;br /&gt;
(sometimes this process fails and your microSD card can't boot, one way of fixing this is just to repeat the same thing, you can also try a different microSD card)&lt;br /&gt;
&lt;br /&gt;
== Instructions to Flashing eMMC Modules ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The available modules come in three different capacities: 16Gb, 32Gb and 64Gb. &lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using Pine64 Installer (Micro SD-to-eMMC) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
To flash the OS image to your eMMC using this process you will need the following: &lt;br /&gt;
&lt;br /&gt;
* An SD card of at least 8Gb capacity &lt;br /&gt;
* 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.&lt;br /&gt;
* A SD card reader &lt;br /&gt;
* Your PINE64 device with the eMMC module installed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The SD-to-eMMC Flashing Process'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using the USB-to-eMMC Adaptor (Preferred Way) ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
For this method you will need the following: &lt;br /&gt;
&lt;br /&gt;
*A Windows, Linux or Mac OS computer&lt;br /&gt;
*A PINE64 eMMC module&lt;br /&gt;
*The PINE64 USB-to-eMMC adaptor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Flashing eMMC using the adaptor'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
*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. &lt;br /&gt;
*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.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC from a SD Boot ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
There are '''two ways''' in which an OS image can be flashed from within a micro SD boot: &lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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]. &lt;br /&gt;
&lt;br /&gt;
For the latter of the two methods here is a summary of the process: &lt;br /&gt;
*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] &lt;br /&gt;
*Insert both the micro SD and eMMC module into your device and power it on.&lt;br /&gt;
*Once the PINE64 device boots from micro SD, open the web browser and download the desired OS image for your device. &lt;br /&gt;
*Once the OS image downloads check in terminal or in Disks utility the eMMC's mounting location.&lt;br /&gt;
*Use the DD command or Disks utility to flash the downloaded image to the eMMC module. &lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using FEL (Allwinner A64 Devices Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The process of flashing via FEL is more complex than utilising a micro SD and is therefore '''better suited for proficient and advanced users'''.  &lt;br /&gt;
&lt;br /&gt;
For the process of flashing an image to the eMMC on a device in FEL mode you will need: &lt;br /&gt;
*A computer running Mac OS or Linux&lt;br /&gt;
*An OTG USB A-to-A cable &lt;br /&gt;
&lt;br /&gt;
To enter FEL you will need to: &lt;br /&gt;
*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. &lt;br /&gt;
*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].&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*''git clone https://github.com/ayufan-pine64/boot-tools.git&lt;br /&gt;
*''cd boot-tools''&lt;br /&gt;
*''make pinebook_ums''&lt;br /&gt;
or&lt;br /&gt;
*''make pine64_ums''&lt;br /&gt;
&lt;br /&gt;
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''.  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using Rockchip Tools (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using these tools you will need the following: &lt;br /&gt;
*A Windows, Mac OS or Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Windows 7/8.1/10 ''' &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Having installed the driver and flashing utility, follow these steps:&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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.&lt;br /&gt;
*Insert one end of the A-to-A cable into your Windows PC and the other into your Rock64 OTG USB port (top)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*Start AndroidTool; make sure that it reports 'Found One Maskrom Device' (if it does not recognise your device, please repeat previous steps)&lt;br /&gt;
*Select either the latest Stock Android build or ayufan's Android TV build with the suffic -update. Download and the extract the chosen image.  &lt;br /&gt;
*In AndroidTool press the firmware tab and navigate to where you extracted the OS image and select it. &lt;br /&gt;
*Press the upgrade tab. You will be prompted when the flashing process is completed. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Linux or Mac OS'''&lt;br /&gt;
&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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. &lt;br /&gt;
*In terminal, download rkflashtool following instructions on [https://github.com/ayufan-rock64/android-7.1/blob/master/README.md ayufan's github]&lt;br /&gt;
*Extract the folder containing partitions of the OS image and place the script listed on ayufan's github in the folder&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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 &lt;br /&gt;
*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. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC Android 'Update' OS Images on Linux (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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.   &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using this method you will need the following: &lt;br /&gt;
*A Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*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'''.&lt;br /&gt;
*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. &lt;br /&gt;
*Extract the archived update Android OS image somewhere where you will remember its path&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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''&lt;br /&gt;
*Wait as the utility installs Android to eMMC on your Rock64. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
== Flashing u-boot to SPI Flash ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To find out more about which images can used in conjunction for SPI booting please see [https://github.com/ayufan-rock64/ ayufan's github].&lt;br /&gt;
&lt;br /&gt;
Writing u-boot to SPI Flash can be achieved in two ways:&lt;br /&gt;
&lt;br /&gt;
=== Using a Stand-Alone Image to Write u-boot to SPI ===&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
'''Having flashed the image follow these steps''': &lt;br /&gt;
&lt;br /&gt;
*Insert the SD into the ROCK64&lt;br /&gt;
*Remove all other peripherals from the board &lt;br /&gt;
*'''Make sure that the eMMC module is disconnected from the board'''&lt;br /&gt;
*Apply power to the ROCK64&lt;br /&gt;
*Wait (few seconds) until the the LEDs on the board will blink continually&lt;br /&gt;
*Power off the board.&lt;br /&gt;
&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Using a Script on Linux OS Images ===&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
''sudo ./rock64_write_spi_flash.sh''&lt;br /&gt;
&lt;br /&gt;
Once the script finishes its operation, power off your board and remove the micro SD card.&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Erasing and Rewriting SPI === &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''N.B. You can also erase SPI manually&amp;quot;. &lt;br /&gt;
To do so, you need to download mtd-utils. on Debian or Ubuntu follow these instructions:&lt;br /&gt;
&lt;br /&gt;
''sudo apt-get install mtd-utils''&lt;br /&gt;
''sudo flash_eraseall /dev/mtd0''&lt;br /&gt;
&lt;br /&gt;
=== Booting an OS image from USB 2.0/3.0 Storage ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Once you have u-boot on your SPI, the process off booting is very similar to booting from micro SD or eMMC.&lt;br /&gt;
*Download one of the supported OS images for your PINE64 device&lt;br /&gt;
*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.) &lt;br /&gt;
*Insert the USB storage device with the flashed OS image into one of the USB ports on your PINE64 device&lt;br /&gt;
*Apply power&lt;br /&gt;
&lt;br /&gt;
If you have followed all the steps correctly, the board should boot from your USB 2.0/3.0 storage device.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Your Device ==&lt;br /&gt;
&lt;br /&gt;
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]):&lt;br /&gt;
&lt;br /&gt;
* Subpar or counterfeit microSD card&lt;br /&gt;
* Subpar Power Supply&lt;br /&gt;
* High resistance (thin) or a very long microUSB cable&lt;br /&gt;
* Failed imaging of the microSD card or eMMC module&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
* To navigate to the directory type (in terminal): ''cd /usr/local/sbin''&lt;br /&gt;
* You list all the available scripts by typing (in terminal): ''ls''&lt;br /&gt;
* To run the script required update script run the following command: ''sudo ./update_script.sh'' (substitute the relevant update script for update_script)&lt;br /&gt;
&lt;br /&gt;
'''Troubleshooting Step by Step'''&lt;br /&gt;
&lt;br /&gt;
Follow these steps to determine the cause of your problem:&lt;br /&gt;
&lt;br /&gt;
* Check your PSU and microUSB cable ratings&lt;br /&gt;
* Download and image a base image of Linux&lt;br /&gt;
* Plug in power and Ethernet into your PINE64 device&lt;br /&gt;
* Watch Ethernet port LED activity&lt;br /&gt;
* Check your router for your device's IP&lt;br /&gt;
* Attempt to ssh into your device's from your computer&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
If you cannot find a solution to your problem you can submit a ticket at: https://support.pine64.org/&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4762</id>
		<title>Getting started</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4762"/>
		<updated>2020-01-22T16:28:51Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Imaging microSD on Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:NOOB.png]]&lt;br /&gt;
&lt;br /&gt;
== Setting Up Your device - What You’ll Need to Get Started ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get started with using your PINE A64(+), SOPine/PINE A64-LTS, Pinebook or ROCK64 board:&lt;br /&gt;
* Windows / Linux PC or MAC with a SD Card Reader connected to the Internet.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* MicroSD card (8GB or higher capacity) rated 'class 10' or better.&lt;br /&gt;
* 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].&lt;br /&gt;
* Input device(s) such as: keyboard, mouse, remote, pointer, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A One-Step Solution to Flashing Your MicroSD Card ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You can also flash an OS image manually; please follow the instructions below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step-by-Step Instructions to Flashing MicroSD Cards ==&lt;br /&gt;
&lt;br /&gt;
'''Caution!'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Begin by imaging the OS of your choice'''&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
Please refer to the relevant section below for instructions on how to image your microSD card:&lt;br /&gt;
* [[#Imaging microSD on Windows 7/8/8.1/10|Imaging microSD on Windows 7/8/8.1/10]]&lt;br /&gt;
* [[#Imaging microSD on Apple OSX|Imaging microSD on Apple OSX]]&lt;br /&gt;
* [[#Imaging microSD on Linux|Imaging microSD on Linux]]&lt;br /&gt;
&lt;br /&gt;
Having successfully imaged your microSD card, insert it into the microSD slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Plug in the HDMI Cable, Ethernet Cable and Peripherals to your PINE64 SBC'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Apply Power to Your Board'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Windows 7/8/8.1/10 ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
'''Optional for Allwinner A64 SoC based boards'''&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
Images designated ‘DD’ need to be flashed using Etcher or Win32imager, whilst images labelled ‘Phoenix Card Image’ require the Phoenix Card utility.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (DD)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging using Phoenix Card (applicable only to Allwinner A64 SoC based boards)'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Apple OSX ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Apple OSX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image.&lt;br /&gt;
&lt;br /&gt;
* 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):&lt;br /&gt;
&lt;br /&gt;
''diskutil unmountDisk /dev/diskX&lt;br /&gt;
sudo dd if=pine64-image-name.img of=/dev/disk2 bs=1M''&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your Mac.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Linux ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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]).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image. e.g. &amp;lt;code&amp;gt; cd Download&amp;lt;/code&amp;gt;&lt;br /&gt;
* Before you start writing to the card, you will have to identify your microSD card.&lt;br /&gt;
&lt;br /&gt;
* Type: &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; and pay attention to the listed disks. Disks will appear as ''/dev/mmcblk0 /dev/mmcblk1'' etc. &lt;br /&gt;
* '''Hint''': the drive you currently have booted from has the &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; at the end of the line. This is the wrong drive. Look at the drive that matches your microSD card’s size.&lt;br /&gt;
* Having located the microSD card use the following command to flash the .img of choice to the microSD card (/dev/sdb used as example): &amp;lt;code&amp;gt;sudo unmount /dev/mmcblk0&amp;lt;/code&amp;gt;&lt;br /&gt;
* Now you are ready to write the image to the microSD card using this command: (replace the pine.img file with your image and mmcblkX with the correct device for the microSD card)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dd if=pine.img of=/dev/mmcblkX bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete.&lt;br /&gt;
* use the command &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; to ensure everything is written to the microSD card.&lt;br /&gt;
* The card is ready to use &lt;br /&gt;
&lt;br /&gt;
(sometimes this process fails and your microSD card can't boot, one way of fixing this is just to repeat the same thing, you can also try a different microSD card)&lt;br /&gt;
&lt;br /&gt;
== Instructions to Flashing eMMC Modules ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The available modules come in three different capacities: 16Gb, 32Gb and 64Gb. &lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using Pine64 Installer (Micro SD-to-eMMC) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
To flash the OS image to your eMMC using this process you will need the following: &lt;br /&gt;
&lt;br /&gt;
* An SD card of at least 8Gb capacity &lt;br /&gt;
* 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.&lt;br /&gt;
* A SD card reader &lt;br /&gt;
* Your PINE64 device with the eMMC module installed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The SD-to-eMMC Flashing Process'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using the USB-to-eMMC Adaptor (Preferred Way) ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
For this method you will need the following: &lt;br /&gt;
&lt;br /&gt;
*A Windows, Linux or Mac OS computer&lt;br /&gt;
*A PINE64 eMMC module&lt;br /&gt;
*The PINE64 USB-to-eMMC adaptor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Flashing eMMC using the adaptor'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
*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. &lt;br /&gt;
*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.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC from a SD Boot ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
There are '''two ways''' in which an OS image can be flashed from within a micro SD boot: &lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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]. &lt;br /&gt;
&lt;br /&gt;
For the latter of the two methods here is a summary of the process: &lt;br /&gt;
*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] &lt;br /&gt;
*Insert both the micro SD and eMMC module into your device and power it on.&lt;br /&gt;
*Once the PINE64 device boots from micro SD, open the web browser and download the desired OS image for your device. &lt;br /&gt;
*Once the OS image downloads check in terminal or in Disks utility the eMMC's mounting location.&lt;br /&gt;
*Use the DD command or Disks utility to flash the downloaded image to the eMMC module. &lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using FEL (Allwinner A64 Devices Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The process of flashing via FEL is more complex than utilising a micro SD and is therefore '''better suited for proficient and advanced users'''.  &lt;br /&gt;
&lt;br /&gt;
For the process of flashing an image to the eMMC on a device in FEL mode you will need: &lt;br /&gt;
*A computer running Mac OS or Linux&lt;br /&gt;
*An OTG USB A-to-A cable &lt;br /&gt;
&lt;br /&gt;
To enter FEL you will need to: &lt;br /&gt;
*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. &lt;br /&gt;
*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].&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*''git clone https://github.com/ayufan-pine64/boot-tools.git&lt;br /&gt;
*''cd boot-tools''&lt;br /&gt;
*''make pinebook_ums''&lt;br /&gt;
or&lt;br /&gt;
*''make pine64_ums''&lt;br /&gt;
&lt;br /&gt;
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''.  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using Rockchip Tools (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using these tools you will need the following: &lt;br /&gt;
*A Windows, Mac OS or Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Windows 7/8.1/10 ''' &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Having installed the driver and flashing utility, follow these steps:&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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.&lt;br /&gt;
*Insert one end of the A-to-A cable into your Windows PC and the other into your Rock64 OTG USB port (top)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*Start AndroidTool; make sure that it reports 'Found One Maskrom Device' (if it does not recognise your device, please repeat previous steps)&lt;br /&gt;
*Select either the latest Stock Android build or ayufan's Android TV build with the suffic -update. Download and the extract the chosen image.  &lt;br /&gt;
*In AndroidTool press the firmware tab and navigate to where you extracted the OS image and select it. &lt;br /&gt;
*Press the upgrade tab. You will be prompted when the flashing process is completed. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Linux or Mac OS'''&lt;br /&gt;
&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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. &lt;br /&gt;
*In terminal, download rkflashtool following instructions on [https://github.com/ayufan-rock64/android-7.1/blob/master/README.md ayufan's github]&lt;br /&gt;
*Extract the folder containing partitions of the OS image and place the script listed on ayufan's github in the folder&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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 &lt;br /&gt;
*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. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC Android 'Update' OS Images on Linux (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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.   &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using this method you will need the following: &lt;br /&gt;
*A Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*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'''.&lt;br /&gt;
*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. &lt;br /&gt;
*Extract the archived update Android OS image somewhere where you will remember its path&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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''&lt;br /&gt;
*Wait as the utility installs Android to eMMC on your Rock64. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
== Flashing u-boot to SPI Flash ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To find out more about which images can used in conjunction for SPI booting please see [https://github.com/ayufan-rock64/ ayufan's github].&lt;br /&gt;
&lt;br /&gt;
Writing u-boot to SPI Flash can be achieved in two ways:&lt;br /&gt;
&lt;br /&gt;
=== Using a Stand-Alone Image to Write u-boot to SPI ===&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
'''Having flashed the image follow these steps''': &lt;br /&gt;
&lt;br /&gt;
*Insert the SD into the ROCK64&lt;br /&gt;
*Remove all other peripherals from the board &lt;br /&gt;
*'''Make sure that the eMMC module is disconnected from the board'''&lt;br /&gt;
*Apply power to the ROCK64&lt;br /&gt;
*Wait (few seconds) until the the LEDs on the board will blink continually&lt;br /&gt;
*Power off the board.&lt;br /&gt;
&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Using a Script on Linux OS Images ===&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
''sudo ./rock64_write_spi_flash.sh''&lt;br /&gt;
&lt;br /&gt;
Once the script finishes its operation, power off your board and remove the micro SD card.&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Erasing and Rewriting SPI === &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''N.B. You can also erase SPI manually&amp;quot;. &lt;br /&gt;
To do so, you need to download mtd-utils. on Debian or Ubuntu follow these instructions:&lt;br /&gt;
&lt;br /&gt;
''sudo apt-get install mtd-utils''&lt;br /&gt;
''sudo flash_eraseall /dev/mtd0''&lt;br /&gt;
&lt;br /&gt;
=== Booting an OS image from USB 2.0/3.0 Storage ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Once you have u-boot on your SPI, the process off booting is very similar to booting from micro SD or eMMC.&lt;br /&gt;
*Download one of the supported OS images for your PINE64 device&lt;br /&gt;
*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.) &lt;br /&gt;
*Insert the USB storage device with the flashed OS image into one of the USB ports on your PINE64 device&lt;br /&gt;
*Apply power&lt;br /&gt;
&lt;br /&gt;
If you have followed all the steps correctly, the board should boot from your USB 2.0/3.0 storage device.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Your Device ==&lt;br /&gt;
&lt;br /&gt;
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]):&lt;br /&gt;
&lt;br /&gt;
* Subpar or counterfeit microSD card&lt;br /&gt;
* Subpar Power Supply&lt;br /&gt;
* High resistance (thin) or a very long microUSB cable&lt;br /&gt;
* Failed imaging of the microSD card or eMMC module&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
* To navigate to the directory type (in terminal): ''cd /usr/local/sbin''&lt;br /&gt;
* You list all the available scripts by typing (in terminal): ''ls''&lt;br /&gt;
* To run the script required update script run the following command: ''sudo ./update_script.sh'' (substitute the relevant update script for update_script)&lt;br /&gt;
&lt;br /&gt;
'''Troubleshooting Step by Step'''&lt;br /&gt;
&lt;br /&gt;
Follow these steps to determine the cause of your problem:&lt;br /&gt;
&lt;br /&gt;
* Check your PSU and microUSB cable ratings&lt;br /&gt;
* Download and image a base image of Linux&lt;br /&gt;
* Plug in power and Ethernet into your PINE64 device&lt;br /&gt;
* Watch Ethernet port LED activity&lt;br /&gt;
* Check your router for your device's IP&lt;br /&gt;
* Attempt to ssh into your device's from your computer&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
If you cannot find a solution to your problem you can submit a ticket at: https://support.pine64.org/&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4761</id>
		<title>Getting started</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4761"/>
		<updated>2020-01-22T16:24:52Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Imaging microSD on Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:NOOB.png]]&lt;br /&gt;
&lt;br /&gt;
== Setting Up Your device - What You’ll Need to Get Started ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get started with using your PINE A64(+), SOPine/PINE A64-LTS, Pinebook or ROCK64 board:&lt;br /&gt;
* Windows / Linux PC or MAC with a SD Card Reader connected to the Internet.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* MicroSD card (8GB or higher capacity) rated 'class 10' or better.&lt;br /&gt;
* 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].&lt;br /&gt;
* Input device(s) such as: keyboard, mouse, remote, pointer, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A One-Step Solution to Flashing Your MicroSD Card ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You can also flash an OS image manually; please follow the instructions below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step-by-Step Instructions to Flashing MicroSD Cards ==&lt;br /&gt;
&lt;br /&gt;
'''Caution!'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Begin by imaging the OS of your choice'''&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
Please refer to the relevant section below for instructions on how to image your microSD card:&lt;br /&gt;
* [[#Imaging microSD on Windows 7/8/8.1/10|Imaging microSD on Windows 7/8/8.1/10]]&lt;br /&gt;
* [[#Imaging microSD on Apple OSX|Imaging microSD on Apple OSX]]&lt;br /&gt;
* [[#Imaging microSD on Linux|Imaging microSD on Linux]]&lt;br /&gt;
&lt;br /&gt;
Having successfully imaged your microSD card, insert it into the microSD slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Plug in the HDMI Cable, Ethernet Cable and Peripherals to your PINE64 SBC'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Apply Power to Your Board'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Windows 7/8/8.1/10 ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
'''Optional for Allwinner A64 SoC based boards'''&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
Images designated ‘DD’ need to be flashed using Etcher or Win32imager, whilst images labelled ‘Phoenix Card Image’ require the Phoenix Card utility.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (DD)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging using Phoenix Card (applicable only to Allwinner A64 SoC based boards)'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Apple OSX ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Apple OSX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image.&lt;br /&gt;
&lt;br /&gt;
* 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):&lt;br /&gt;
&lt;br /&gt;
''diskutil unmountDisk /dev/diskX&lt;br /&gt;
sudo dd if=pine64-image-name.img of=/dev/disk2 bs=1M''&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your Mac.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Linux ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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]).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image. e.g. &amp;lt;code&amp;gt; cd Download&amp;lt;/code&amp;gt;&lt;br /&gt;
* Before you start writing to the card, you will have to identify your microSD card.&lt;br /&gt;
&lt;br /&gt;
* Type: &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; and pay attention to the listed disks. Disks will appear as ''/dev/mmcblk0 /dev/mmcblk1'' etc. &lt;br /&gt;
* '''Hint''': the drive you currently have booted from has the &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; at the end of the line. This is the wrong drive. Look at the drive that matches your microSD card’s size.&lt;br /&gt;
* Having located the microSD card use the following command to flash the .img of choice to the microSD card (/dev/sdb used as example): &amp;lt;code&amp;gt;sudo unmount /dev/mmcblk0&amp;lt;/code&amp;gt;&lt;br /&gt;
* Now you are ready to write the image to the microSD card using this command: (replace the pine.img file with your image and mmcblkX with the correct device for the microSD card)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dd if=pine.img of=/dev/mmcblkX bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your computer.&lt;br /&gt;
* use the command &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; to ensure everything is written to the microSD card.&lt;br /&gt;
&lt;br /&gt;
== Instructions to Flashing eMMC Modules ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The available modules come in three different capacities: 16Gb, 32Gb and 64Gb. &lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using Pine64 Installer (Micro SD-to-eMMC) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
To flash the OS image to your eMMC using this process you will need the following: &lt;br /&gt;
&lt;br /&gt;
* An SD card of at least 8Gb capacity &lt;br /&gt;
* 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.&lt;br /&gt;
* A SD card reader &lt;br /&gt;
* Your PINE64 device with the eMMC module installed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The SD-to-eMMC Flashing Process'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using the USB-to-eMMC Adaptor (Preferred Way) ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
For this method you will need the following: &lt;br /&gt;
&lt;br /&gt;
*A Windows, Linux or Mac OS computer&lt;br /&gt;
*A PINE64 eMMC module&lt;br /&gt;
*The PINE64 USB-to-eMMC adaptor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Flashing eMMC using the adaptor'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
*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. &lt;br /&gt;
*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.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC from a SD Boot ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
There are '''two ways''' in which an OS image can be flashed from within a micro SD boot: &lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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]. &lt;br /&gt;
&lt;br /&gt;
For the latter of the two methods here is a summary of the process: &lt;br /&gt;
*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] &lt;br /&gt;
*Insert both the micro SD and eMMC module into your device and power it on.&lt;br /&gt;
*Once the PINE64 device boots from micro SD, open the web browser and download the desired OS image for your device. &lt;br /&gt;
*Once the OS image downloads check in terminal or in Disks utility the eMMC's mounting location.&lt;br /&gt;
*Use the DD command or Disks utility to flash the downloaded image to the eMMC module. &lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using FEL (Allwinner A64 Devices Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The process of flashing via FEL is more complex than utilising a micro SD and is therefore '''better suited for proficient and advanced users'''.  &lt;br /&gt;
&lt;br /&gt;
For the process of flashing an image to the eMMC on a device in FEL mode you will need: &lt;br /&gt;
*A computer running Mac OS or Linux&lt;br /&gt;
*An OTG USB A-to-A cable &lt;br /&gt;
&lt;br /&gt;
To enter FEL you will need to: &lt;br /&gt;
*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. &lt;br /&gt;
*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].&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*''git clone https://github.com/ayufan-pine64/boot-tools.git&lt;br /&gt;
*''cd boot-tools''&lt;br /&gt;
*''make pinebook_ums''&lt;br /&gt;
or&lt;br /&gt;
*''make pine64_ums''&lt;br /&gt;
&lt;br /&gt;
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''.  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using Rockchip Tools (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using these tools you will need the following: &lt;br /&gt;
*A Windows, Mac OS or Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Windows 7/8.1/10 ''' &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Having installed the driver and flashing utility, follow these steps:&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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.&lt;br /&gt;
*Insert one end of the A-to-A cable into your Windows PC and the other into your Rock64 OTG USB port (top)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*Start AndroidTool; make sure that it reports 'Found One Maskrom Device' (if it does not recognise your device, please repeat previous steps)&lt;br /&gt;
*Select either the latest Stock Android build or ayufan's Android TV build with the suffic -update. Download and the extract the chosen image.  &lt;br /&gt;
*In AndroidTool press the firmware tab and navigate to where you extracted the OS image and select it. &lt;br /&gt;
*Press the upgrade tab. You will be prompted when the flashing process is completed. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Linux or Mac OS'''&lt;br /&gt;
&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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. &lt;br /&gt;
*In terminal, download rkflashtool following instructions on [https://github.com/ayufan-rock64/android-7.1/blob/master/README.md ayufan's github]&lt;br /&gt;
*Extract the folder containing partitions of the OS image and place the script listed on ayufan's github in the folder&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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 &lt;br /&gt;
*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. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC Android 'Update' OS Images on Linux (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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.   &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using this method you will need the following: &lt;br /&gt;
*A Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*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'''.&lt;br /&gt;
*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. &lt;br /&gt;
*Extract the archived update Android OS image somewhere where you will remember its path&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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''&lt;br /&gt;
*Wait as the utility installs Android to eMMC on your Rock64. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
== Flashing u-boot to SPI Flash ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To find out more about which images can used in conjunction for SPI booting please see [https://github.com/ayufan-rock64/ ayufan's github].&lt;br /&gt;
&lt;br /&gt;
Writing u-boot to SPI Flash can be achieved in two ways:&lt;br /&gt;
&lt;br /&gt;
=== Using a Stand-Alone Image to Write u-boot to SPI ===&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
'''Having flashed the image follow these steps''': &lt;br /&gt;
&lt;br /&gt;
*Insert the SD into the ROCK64&lt;br /&gt;
*Remove all other peripherals from the board &lt;br /&gt;
*'''Make sure that the eMMC module is disconnected from the board'''&lt;br /&gt;
*Apply power to the ROCK64&lt;br /&gt;
*Wait (few seconds) until the the LEDs on the board will blink continually&lt;br /&gt;
*Power off the board.&lt;br /&gt;
&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Using a Script on Linux OS Images ===&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
''sudo ./rock64_write_spi_flash.sh''&lt;br /&gt;
&lt;br /&gt;
Once the script finishes its operation, power off your board and remove the micro SD card.&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Erasing and Rewriting SPI === &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''N.B. You can also erase SPI manually&amp;quot;. &lt;br /&gt;
To do so, you need to download mtd-utils. on Debian or Ubuntu follow these instructions:&lt;br /&gt;
&lt;br /&gt;
''sudo apt-get install mtd-utils''&lt;br /&gt;
''sudo flash_eraseall /dev/mtd0''&lt;br /&gt;
&lt;br /&gt;
=== Booting an OS image from USB 2.0/3.0 Storage ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Once you have u-boot on your SPI, the process off booting is very similar to booting from micro SD or eMMC.&lt;br /&gt;
*Download one of the supported OS images for your PINE64 device&lt;br /&gt;
*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.) &lt;br /&gt;
*Insert the USB storage device with the flashed OS image into one of the USB ports on your PINE64 device&lt;br /&gt;
*Apply power&lt;br /&gt;
&lt;br /&gt;
If you have followed all the steps correctly, the board should boot from your USB 2.0/3.0 storage device.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Your Device ==&lt;br /&gt;
&lt;br /&gt;
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]):&lt;br /&gt;
&lt;br /&gt;
* Subpar or counterfeit microSD card&lt;br /&gt;
* Subpar Power Supply&lt;br /&gt;
* High resistance (thin) or a very long microUSB cable&lt;br /&gt;
* Failed imaging of the microSD card or eMMC module&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
* To navigate to the directory type (in terminal): ''cd /usr/local/sbin''&lt;br /&gt;
* You list all the available scripts by typing (in terminal): ''ls''&lt;br /&gt;
* To run the script required update script run the following command: ''sudo ./update_script.sh'' (substitute the relevant update script for update_script)&lt;br /&gt;
&lt;br /&gt;
'''Troubleshooting Step by Step'''&lt;br /&gt;
&lt;br /&gt;
Follow these steps to determine the cause of your problem:&lt;br /&gt;
&lt;br /&gt;
* Check your PSU and microUSB cable ratings&lt;br /&gt;
* Download and image a base image of Linux&lt;br /&gt;
* Plug in power and Ethernet into your PINE64 device&lt;br /&gt;
* Watch Ethernet port LED activity&lt;br /&gt;
* Check your router for your device's IP&lt;br /&gt;
* Attempt to ssh into your device's from your computer&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
If you cannot find a solution to your problem you can submit a ticket at: https://support.pine64.org/&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4760</id>
		<title>Getting started</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4760"/>
		<updated>2020-01-22T16:22:32Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Imaging microSD on Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:NOOB.png]]&lt;br /&gt;
&lt;br /&gt;
== Setting Up Your device - What You’ll Need to Get Started ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get started with using your PINE A64(+), SOPine/PINE A64-LTS, Pinebook or ROCK64 board:&lt;br /&gt;
* Windows / Linux PC or MAC with a SD Card Reader connected to the Internet.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* MicroSD card (8GB or higher capacity) rated 'class 10' or better.&lt;br /&gt;
* 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].&lt;br /&gt;
* Input device(s) such as: keyboard, mouse, remote, pointer, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A One-Step Solution to Flashing Your MicroSD Card ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You can also flash an OS image manually; please follow the instructions below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step-by-Step Instructions to Flashing MicroSD Cards ==&lt;br /&gt;
&lt;br /&gt;
'''Caution!'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Begin by imaging the OS of your choice'''&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
Please refer to the relevant section below for instructions on how to image your microSD card:&lt;br /&gt;
* [[#Imaging microSD on Windows 7/8/8.1/10|Imaging microSD on Windows 7/8/8.1/10]]&lt;br /&gt;
* [[#Imaging microSD on Apple OSX|Imaging microSD on Apple OSX]]&lt;br /&gt;
* [[#Imaging microSD on Linux|Imaging microSD on Linux]]&lt;br /&gt;
&lt;br /&gt;
Having successfully imaged your microSD card, insert it into the microSD slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Plug in the HDMI Cable, Ethernet Cable and Peripherals to your PINE64 SBC'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Apply Power to Your Board'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Windows 7/8/8.1/10 ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
'''Optional for Allwinner A64 SoC based boards'''&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
Images designated ‘DD’ need to be flashed using Etcher or Win32imager, whilst images labelled ‘Phoenix Card Image’ require the Phoenix Card utility.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (DD)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging using Phoenix Card (applicable only to Allwinner A64 SoC based boards)'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Apple OSX ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Apple OSX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image.&lt;br /&gt;
&lt;br /&gt;
* 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):&lt;br /&gt;
&lt;br /&gt;
''diskutil unmountDisk /dev/diskX&lt;br /&gt;
sudo dd if=pine64-image-name.img of=/dev/disk2 bs=1M''&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your Mac.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Linux ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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]).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image. e.g. &amp;lt;code&amp;gt; cd Download&amp;lt;/code&amp;gt;&lt;br /&gt;
* Before you start writing to the card, you will have to identify your microSD card.&lt;br /&gt;
&lt;br /&gt;
* Type: &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; and pay attention to the listed disks. Disks will appear as ''/dev/mmcblk0 /dev/mmcblk1'' etc. &lt;br /&gt;
* '''Hint''': the drive you currently have booted from has the &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; at the end of the line. This is the wrong drive. Look at the drive that matches your microSD card’s size.&lt;br /&gt;
* Having located the microSD card use the following command to flash the .img of choice to the microSD card (/dev/sdb used as example): &amp;lt;code&amp;gt;sudo unmount /dev/mmcblk0&amp;lt;/code&amp;gt;&lt;br /&gt;
* Now you are ready to write the image to the microSD card using this command: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dd if=pine.img of=/dev/mmcblkX bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your computer.&lt;br /&gt;
* use the command &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; to ensure everything is written to the microSD card.&lt;br /&gt;
&lt;br /&gt;
== Instructions to Flashing eMMC Modules ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The available modules come in three different capacities: 16Gb, 32Gb and 64Gb. &lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using Pine64 Installer (Micro SD-to-eMMC) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
To flash the OS image to your eMMC using this process you will need the following: &lt;br /&gt;
&lt;br /&gt;
* An SD card of at least 8Gb capacity &lt;br /&gt;
* 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.&lt;br /&gt;
* A SD card reader &lt;br /&gt;
* Your PINE64 device with the eMMC module installed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The SD-to-eMMC Flashing Process'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using the USB-to-eMMC Adaptor (Preferred Way) ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
For this method you will need the following: &lt;br /&gt;
&lt;br /&gt;
*A Windows, Linux or Mac OS computer&lt;br /&gt;
*A PINE64 eMMC module&lt;br /&gt;
*The PINE64 USB-to-eMMC adaptor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Flashing eMMC using the adaptor'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
*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. &lt;br /&gt;
*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.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC from a SD Boot ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
There are '''two ways''' in which an OS image can be flashed from within a micro SD boot: &lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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]. &lt;br /&gt;
&lt;br /&gt;
For the latter of the two methods here is a summary of the process: &lt;br /&gt;
*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] &lt;br /&gt;
*Insert both the micro SD and eMMC module into your device and power it on.&lt;br /&gt;
*Once the PINE64 device boots from micro SD, open the web browser and download the desired OS image for your device. &lt;br /&gt;
*Once the OS image downloads check in terminal or in Disks utility the eMMC's mounting location.&lt;br /&gt;
*Use the DD command or Disks utility to flash the downloaded image to the eMMC module. &lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using FEL (Allwinner A64 Devices Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The process of flashing via FEL is more complex than utilising a micro SD and is therefore '''better suited for proficient and advanced users'''.  &lt;br /&gt;
&lt;br /&gt;
For the process of flashing an image to the eMMC on a device in FEL mode you will need: &lt;br /&gt;
*A computer running Mac OS or Linux&lt;br /&gt;
*An OTG USB A-to-A cable &lt;br /&gt;
&lt;br /&gt;
To enter FEL you will need to: &lt;br /&gt;
*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. &lt;br /&gt;
*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].&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*''git clone https://github.com/ayufan-pine64/boot-tools.git&lt;br /&gt;
*''cd boot-tools''&lt;br /&gt;
*''make pinebook_ums''&lt;br /&gt;
or&lt;br /&gt;
*''make pine64_ums''&lt;br /&gt;
&lt;br /&gt;
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''.  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using Rockchip Tools (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using these tools you will need the following: &lt;br /&gt;
*A Windows, Mac OS or Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Windows 7/8.1/10 ''' &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Having installed the driver and flashing utility, follow these steps:&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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.&lt;br /&gt;
*Insert one end of the A-to-A cable into your Windows PC and the other into your Rock64 OTG USB port (top)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*Start AndroidTool; make sure that it reports 'Found One Maskrom Device' (if it does not recognise your device, please repeat previous steps)&lt;br /&gt;
*Select either the latest Stock Android build or ayufan's Android TV build with the suffic -update. Download and the extract the chosen image.  &lt;br /&gt;
*In AndroidTool press the firmware tab and navigate to where you extracted the OS image and select it. &lt;br /&gt;
*Press the upgrade tab. You will be prompted when the flashing process is completed. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Linux or Mac OS'''&lt;br /&gt;
&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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. &lt;br /&gt;
*In terminal, download rkflashtool following instructions on [https://github.com/ayufan-rock64/android-7.1/blob/master/README.md ayufan's github]&lt;br /&gt;
*Extract the folder containing partitions of the OS image and place the script listed on ayufan's github in the folder&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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 &lt;br /&gt;
*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. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC Android 'Update' OS Images on Linux (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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.   &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using this method you will need the following: &lt;br /&gt;
*A Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*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'''.&lt;br /&gt;
*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. &lt;br /&gt;
*Extract the archived update Android OS image somewhere where you will remember its path&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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''&lt;br /&gt;
*Wait as the utility installs Android to eMMC on your Rock64. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
== Flashing u-boot to SPI Flash ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To find out more about which images can used in conjunction for SPI booting please see [https://github.com/ayufan-rock64/ ayufan's github].&lt;br /&gt;
&lt;br /&gt;
Writing u-boot to SPI Flash can be achieved in two ways:&lt;br /&gt;
&lt;br /&gt;
=== Using a Stand-Alone Image to Write u-boot to SPI ===&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
'''Having flashed the image follow these steps''': &lt;br /&gt;
&lt;br /&gt;
*Insert the SD into the ROCK64&lt;br /&gt;
*Remove all other peripherals from the board &lt;br /&gt;
*'''Make sure that the eMMC module is disconnected from the board'''&lt;br /&gt;
*Apply power to the ROCK64&lt;br /&gt;
*Wait (few seconds) until the the LEDs on the board will blink continually&lt;br /&gt;
*Power off the board.&lt;br /&gt;
&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Using a Script on Linux OS Images ===&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
''sudo ./rock64_write_spi_flash.sh''&lt;br /&gt;
&lt;br /&gt;
Once the script finishes its operation, power off your board and remove the micro SD card.&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Erasing and Rewriting SPI === &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''N.B. You can also erase SPI manually&amp;quot;. &lt;br /&gt;
To do so, you need to download mtd-utils. on Debian or Ubuntu follow these instructions:&lt;br /&gt;
&lt;br /&gt;
''sudo apt-get install mtd-utils''&lt;br /&gt;
''sudo flash_eraseall /dev/mtd0''&lt;br /&gt;
&lt;br /&gt;
=== Booting an OS image from USB 2.0/3.0 Storage ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Once you have u-boot on your SPI, the process off booting is very similar to booting from micro SD or eMMC.&lt;br /&gt;
*Download one of the supported OS images for your PINE64 device&lt;br /&gt;
*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.) &lt;br /&gt;
*Insert the USB storage device with the flashed OS image into one of the USB ports on your PINE64 device&lt;br /&gt;
*Apply power&lt;br /&gt;
&lt;br /&gt;
If you have followed all the steps correctly, the board should boot from your USB 2.0/3.0 storage device.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Your Device ==&lt;br /&gt;
&lt;br /&gt;
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]):&lt;br /&gt;
&lt;br /&gt;
* Subpar or counterfeit microSD card&lt;br /&gt;
* Subpar Power Supply&lt;br /&gt;
* High resistance (thin) or a very long microUSB cable&lt;br /&gt;
* Failed imaging of the microSD card or eMMC module&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
* To navigate to the directory type (in terminal): ''cd /usr/local/sbin''&lt;br /&gt;
* You list all the available scripts by typing (in terminal): ''ls''&lt;br /&gt;
* To run the script required update script run the following command: ''sudo ./update_script.sh'' (substitute the relevant update script for update_script)&lt;br /&gt;
&lt;br /&gt;
'''Troubleshooting Step by Step'''&lt;br /&gt;
&lt;br /&gt;
Follow these steps to determine the cause of your problem:&lt;br /&gt;
&lt;br /&gt;
* Check your PSU and microUSB cable ratings&lt;br /&gt;
* Download and image a base image of Linux&lt;br /&gt;
* Plug in power and Ethernet into your PINE64 device&lt;br /&gt;
* Watch Ethernet port LED activity&lt;br /&gt;
* Check your router for your device's IP&lt;br /&gt;
* Attempt to ssh into your device's from your computer&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
If you cannot find a solution to your problem you can submit a ticket at: https://support.pine64.org/&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4709</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4709"/>
		<updated>2020-01-21T10:59:37Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Frequently asked questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Click here to see frequently asked questions]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Frequently asked questions about the dev kit]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
=== Button ===&lt;br /&gt;
&lt;br /&gt;
The button on the side of the PineTime is disabled by default. To enable it, drive the button out pin (P0.15) high.&lt;br /&gt;
&lt;br /&gt;
While enabled, the button in pin (P0.13) will be high when the button is pressed, and low when it is not pressed.&lt;br /&gt;
&lt;br /&gt;
=== Touch panel ===&lt;br /&gt;
&lt;br /&gt;
The touch panel is controlled by a Hynitron CST816S chips. Unfortunately, there is not much information about this chip on the internet apart from the datasheet below and a [https://github.com/lupyuen/hynitron_i2c_cst0xxse/ reference driver]. This is enough to implement a basic driver, but crucial information needed to implement advanced functionalities are missing (I²C protocol and registers, timings, power modes,...).&lt;br /&gt;
&lt;br /&gt;
==== Pins ====&lt;br /&gt;
&lt;br /&gt;
* P0.10 : Reset&lt;br /&gt;
* P0.28 : Interrupt (signal to the CPU when a touch event is detected)&lt;br /&gt;
* P0.06 : I²C SDA&lt;br /&gt;
* P0.07 : I²C SCL&lt;br /&gt;
&lt;br /&gt;
==== I²C ====&lt;br /&gt;
&lt;br /&gt;
* Device address : 0x15&lt;br /&gt;
* Frequency : from 10Khz to 400Khz&lt;br /&gt;
&lt;br /&gt;
'''NOTE : ''' The controller go to sleep when no event is detected. In sleep mode, the controller does not communicate on the I²C bus (it appears disconnected). So, for the communication to work, you need to tap on the screen so that the chip wakes-up.&lt;br /&gt;
&lt;br /&gt;
==== Touch events ====&lt;br /&gt;
&lt;br /&gt;
Touch informations are available in the 63 first registers of the controller. Remember : the device is in sleep mode when no touch event is detected. It means that you can read the register only when the touch controller detected an event. You can use the ''Interrupt'' pin to detect such event in the software. &lt;br /&gt;
&lt;br /&gt;
These 63 bytes contain up to 10 touch point (X, Y, event type, pressure,...) : &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Byte&lt;br /&gt;
! Bit7&lt;br /&gt;
! Bit6&lt;br /&gt;
! Bit5&lt;br /&gt;
! Bit4&lt;br /&gt;
! Bit3&lt;br /&gt;
! Bit2&lt;br /&gt;
! Bit1&lt;br /&gt;
! Bit0&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|GestureID : (Gesture code ,&lt;br /&gt;
&lt;br /&gt;
0x00: no gesture,&lt;br /&gt;
&lt;br /&gt;
0x01: on a slippery,&lt;br /&gt;
&lt;br /&gt;
0x02: decline,&lt;br /&gt;
&lt;br /&gt;
0x03: Left slip,&lt;br /&gt;
&lt;br /&gt;
0x04: Right slide,&lt;br /&gt;
&lt;br /&gt;
0x05: Click,&lt;br /&gt;
&lt;br /&gt;
0x0B: Double-click,&lt;br /&gt;
&lt;br /&gt;
0x0C: Press) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|? &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Number of touch points &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Event (0 = Down, 1 = Up, 2 = Contact)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|X (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|X (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Touch ID&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Y (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Y (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Pressure (?)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Miscellaneous (?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bytes 3 to 8 are repeated 10 times (10*6 + 3 = 63 bytes).&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
* The touch controller seems to report only 1 touch point&lt;br /&gt;
* Fields X, Y, Number of touch points and touch ID are updated. The others are always 0.&lt;br /&gt;
&lt;br /&gt;
==== Registers ====&lt;br /&gt;
&lt;br /&gt;
The reference driver specifies some registers and value, but there is no information about them: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!Register&lt;br /&gt;
!Address&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_INT_CNT&lt;br /&gt;
|0x8F&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FLOW_WORK_CNT&lt;br /&gt;
|0x91&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_WORKMODE &lt;br /&gt;
|0x00&lt;br /&gt;
|0 = WORK, 0x40 = FACTORY&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID&lt;br /&gt;
|0xA3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID2&lt;br /&gt;
|0x9F&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_POWER_MODE&lt;br /&gt;
|0xA5&lt;br /&gt;
|0x05 = SLEEP&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FW_VER&lt;br /&gt;
|0xA6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_VENDOR_ID&lt;br /&gt;
|0xA8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_LCD_BUSY_NUM&lt;br /&gt;
|0xAB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FACE_DEC_MODE_EN&lt;br /&gt;
|0xB0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GLOVE_MODE_EN&lt;br /&gt;
|0xC0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_COVER_MODE_EN&lt;br /&gt;
|0xC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHARGER_MODE_EN&lt;br /&gt;
|0x8B&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_EN&lt;br /&gt;
|0xD0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_OUTPUT_ADDRESS&lt;br /&gt;
|0xD3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_ESD_SATURATE 0xED&lt;br /&gt;
|0xED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''WARNING : ''' Writing the SLEEP command (write 0x05 in HYN_REG_POWER_MODE) seems to freeze the controller (it returns only static values) until the battery is totally drained and the whole system reset. Analysis and debugging is more than welcome!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Using JLink programmer and nrfjprog tools ===&lt;br /&gt;
&lt;br /&gt;
The following steps have been tested with the Segger JLink embedded in the [https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK NRF52-DK development board].&lt;br /&gt;
&lt;br /&gt;
1. Connect the Pinetime SWD pins to the debugger (P20 on NRF52-DK)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Pintime&lt;br /&gt;
!JLink&lt;br /&gt;
|-&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|-&lt;br /&gt;
|SWDIO&lt;br /&gt;
|SWDIO&lt;br /&gt;
|-&lt;br /&gt;
|VCC (3.3V)&lt;br /&gt;
|VTG (target detect)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2. Unlock the device and erase the memory. '''You need to execute this step only once, to remove the read protection on the memory. Note that it will erase the whole flash memory of the MCU!''' :&lt;br /&gt;
 &lt;br /&gt;
 nrfjporg -f NRF52 --recover&lt;br /&gt;
&lt;br /&gt;
3. Program the BLE softdevice (if needed by the firmware). Replace PATH_TO_NRF_SDK by the path where you unzipped the [https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK NRF52 SDK] :&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program /PATH_TO_NRF_SDK/components/softdevice/s132/hex/s132_nrf52_6.1.1_softdevice.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
4. Program the firmware (replace firmware.hex by the actual filename of the firmware):&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program firmware.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
5. Reset and run the new firmware:&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --reset&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://medium.com/@ly.lee/build-and-flash-rust-mynewt-firmware-for-pinetime-smart-watch-5e14259c55 Medium post]&lt;br /&gt;
&lt;br /&gt;
=== Using STM32 bluepill as blackmagic probe ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://forum.pine64.org/showthread.php?tid=8816&amp;amp;pid=57095#pid57095 forum post]&lt;br /&gt;
&lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Building a Rust Driver for PineTime’s Touch Controller]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a Porting (druid) Rust Widgets to PineTime Smart Watch]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c Optimising PineTime’s Display Driver with Rust and Mynewt]&lt;br /&gt;
&lt;br /&gt;
* [https://www.zephyrproject.org/getting-started-with-zephyr-rtos-on-nordic-nrf52832-hackable/ Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE]&lt;br /&gt;
&lt;br /&gt;
* [https://blog.aegrel.ee/absniffer-cmsis-dap-sniffer.html Removing the lock and installing another firmware on the nRF52832 using CMSIS-DAP dongle on Linux]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/JF002/nrf52-baseproject/wiki/Build,-program-and-debug-NRF52-project-with-JLink,-CMake-and-CLion Build, program and debug NRF52 project with JLink, CMake and CLion]&lt;br /&gt;
&lt;br /&gt;
* [https://www.nrbtech.io/blog/2020/1/4/using-clion-for-nordic-nrf52-projects Using CLion for Nordic nRF52 projects]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Frequently asked questions about the dev kit]&lt;br /&gt;
&lt;br /&gt;
* [https://dev.to/aaronc81/flashing-your-pinetime-using-an-st-link-and-openocd-54dd Flashing your PineTime using an ST-Link and OpenOCD]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
| [https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/pinetime-rust-mynewt lupyuen/pinetime-rust-mynewt]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! RIOT&lt;br /&gt;
| http://riot-os.org/&lt;br /&gt;
| https://github.com/RIOT-OS/RIOT/&lt;br /&gt;
| [https://github.com/bosmoment/PineTime-apps bosmoment/PineTime-apps]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=134 PineTime forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinetime64:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* IRC: Server us.pine64.xyz. Type /list to see all channels&lt;br /&gt;
* [https://t.me/pinetime Telegram group]&lt;br /&gt;
* [https://discordapp.com/invite/DgB7kzr Discord server invite link]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4677</id>
		<title>Getting started</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4677"/>
		<updated>2020-01-20T16:59:44Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Imaging microSD on Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:NOOB.png]]&lt;br /&gt;
&lt;br /&gt;
== Setting Up Your device - What You’ll Need to Get Started ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get started with using your PINE A64(+), SOPine/PINE A64-LTS, Pinebook or ROCK64 board:&lt;br /&gt;
* Windows / Linux PC or MAC with a SD Card Reader connected to the Internet.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* MicroSD card (8GB or higher capacity) rated 'class 10' or better.&lt;br /&gt;
* 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].&lt;br /&gt;
* Input device(s) such as: keyboard, mouse, remote, pointer, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A One-Step Solution to Flashing Your MicroSD Card ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You can also flash an OS image manually; please follow the instructions below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step-by-Step Instructions to Flashing MicroSD Cards ==&lt;br /&gt;
&lt;br /&gt;
'''Caution!'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Begin by imaging the OS of your choice'''&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
Please refer to the relevant section below for instructions on how to image your microSD card:&lt;br /&gt;
* [[#Imaging microSD on Windows 7/8/8.1/10|Imaging microSD on Windows 7/8/8.1/10]]&lt;br /&gt;
* [[#Imaging microSD on Apple OSX|Imaging microSD on Apple OSX]]&lt;br /&gt;
* [[#Imaging microSD on Linux|Imaging microSD on Linux]]&lt;br /&gt;
&lt;br /&gt;
Having successfully imaged your microSD card, insert it into the microSD slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Plug in the HDMI Cable, Ethernet Cable and Peripherals to your PINE64 SBC'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Apply Power to Your Board'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Windows 7/8/8.1/10 ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
'''Optional for Allwinner A64 SoC based boards'''&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
Images designated ‘DD’ need to be flashed using Etcher or Win32imager, whilst images labelled ‘Phoenix Card Image’ require the Phoenix Card utility.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (DD)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging using Phoenix Card (applicable only to Allwinner A64 SoC based boards)'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Apple OSX ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Apple OSX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image.&lt;br /&gt;
&lt;br /&gt;
* 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):&lt;br /&gt;
&lt;br /&gt;
''diskutil unmountDisk /dev/diskX&lt;br /&gt;
sudo dd if=pine64-image-name.img of=/dev/disk2 bs=1M''&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your Mac.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Linux ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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]).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image.&lt;br /&gt;
* Before you start writing to the card, you will have to identify your microSD card.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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''&lt;br /&gt;
* Now you are ready to write the image to the microSD card using this command: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dd if=pine.img of=/dev/mmcblkX bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your computer.&lt;br /&gt;
&lt;br /&gt;
== Instructions to Flashing eMMC Modules ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The available modules come in three different capacities: 16Gb, 32Gb and 64Gb. &lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using Pine64 Installer (Micro SD-to-eMMC) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
To flash the OS image to your eMMC using this process you will need the following: &lt;br /&gt;
&lt;br /&gt;
* An SD card of at least 8Gb capacity &lt;br /&gt;
* 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.&lt;br /&gt;
* A SD card reader &lt;br /&gt;
* Your PINE64 device with the eMMC module installed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The SD-to-eMMC Flashing Process'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using the USB-to-eMMC Adaptor (Preferred Way) ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
For this method you will need the following: &lt;br /&gt;
&lt;br /&gt;
*A Windows, Linux or Mac OS computer&lt;br /&gt;
*A PINE64 eMMC module&lt;br /&gt;
*The PINE64 USB-to-eMMC adaptor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Flashing eMMC using the adaptor'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
*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. &lt;br /&gt;
*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.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC from a SD Boot ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
There are '''two ways''' in which an OS image can be flashed from within a micro SD boot: &lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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]. &lt;br /&gt;
&lt;br /&gt;
For the latter of the two methods here is a summary of the process: &lt;br /&gt;
*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] &lt;br /&gt;
*Insert both the micro SD and eMMC module into your device and power it on.&lt;br /&gt;
*Once the PINE64 device boots from micro SD, open the web browser and download the desired OS image for your device. &lt;br /&gt;
*Once the OS image downloads check in terminal or in Disks utility the eMMC's mounting location.&lt;br /&gt;
*Use the DD command or Disks utility to flash the downloaded image to the eMMC module. &lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using FEL (Allwinner A64 Devices Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The process of flashing via FEL is more complex than utilising a micro SD and is therefore '''better suited for proficient and advanced users'''.  &lt;br /&gt;
&lt;br /&gt;
For the process of flashing an image to the eMMC on a device in FEL mode you will need: &lt;br /&gt;
*A computer running Mac OS or Linux&lt;br /&gt;
*An OTG USB A-to-A cable &lt;br /&gt;
&lt;br /&gt;
To enter FEL you will need to: &lt;br /&gt;
*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. &lt;br /&gt;
*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].&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*''git clone https://github.com/ayufan-pine64/boot-tools.git&lt;br /&gt;
*''cd boot-tools''&lt;br /&gt;
*''make pinebook_ums''&lt;br /&gt;
or&lt;br /&gt;
*''make pine64_ums''&lt;br /&gt;
&lt;br /&gt;
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''.  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using Rockchip Tools (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using these tools you will need the following: &lt;br /&gt;
*A Windows, Mac OS or Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Windows 7/8.1/10 ''' &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Having installed the driver and flashing utility, follow these steps:&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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.&lt;br /&gt;
*Insert one end of the A-to-A cable into your Windows PC and the other into your Rock64 OTG USB port (top)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*Start AndroidTool; make sure that it reports 'Found One Maskrom Device' (if it does not recognise your device, please repeat previous steps)&lt;br /&gt;
*Select either the latest Stock Android build or ayufan's Android TV build with the suffic -update. Download and the extract the chosen image.  &lt;br /&gt;
*In AndroidTool press the firmware tab and navigate to where you extracted the OS image and select it. &lt;br /&gt;
*Press the upgrade tab. You will be prompted when the flashing process is completed. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Linux or Mac OS'''&lt;br /&gt;
&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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. &lt;br /&gt;
*In terminal, download rkflashtool following instructions on [https://github.com/ayufan-rock64/android-7.1/blob/master/README.md ayufan's github]&lt;br /&gt;
*Extract the folder containing partitions of the OS image and place the script listed on ayufan's github in the folder&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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 &lt;br /&gt;
*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. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC Android 'Update' OS Images on Linux (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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.   &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using this method you will need the following: &lt;br /&gt;
*A Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*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'''.&lt;br /&gt;
*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. &lt;br /&gt;
*Extract the archived update Android OS image somewhere where you will remember its path&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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''&lt;br /&gt;
*Wait as the utility installs Android to eMMC on your Rock64. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
== Flashing u-boot to SPI Flash ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To find out more about which images can used in conjunction for SPI booting please see [https://github.com/ayufan-rock64/ ayufan's github].&lt;br /&gt;
&lt;br /&gt;
Writing u-boot to SPI Flash can be achieved in two ways:&lt;br /&gt;
&lt;br /&gt;
=== Using a Stand-Alone Image to Write u-boot to SPI ===&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
'''Having flashed the image follow these steps''': &lt;br /&gt;
&lt;br /&gt;
*Insert the SD into the ROCK64&lt;br /&gt;
*Remove all other peripherals from the board &lt;br /&gt;
*'''Make sure that the eMMC module is disconnected from the board'''&lt;br /&gt;
*Apply power to the ROCK64&lt;br /&gt;
*Wait (few seconds) until the the LEDs on the board will blink continually&lt;br /&gt;
*Power off the board.&lt;br /&gt;
&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Using a Script on Linux OS Images ===&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
''sudo ./rock64_write_spi_flash.sh''&lt;br /&gt;
&lt;br /&gt;
Once the script finishes its operation, power off your board and remove the micro SD card.&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Erasing and Rewriting SPI === &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''N.B. You can also erase SPI manually&amp;quot;. &lt;br /&gt;
To do so, you need to download mtd-utils. on Debian or Ubuntu follow these instructions:&lt;br /&gt;
&lt;br /&gt;
''sudo apt-get install mtd-utils''&lt;br /&gt;
''sudo flash_eraseall /dev/mtd0''&lt;br /&gt;
&lt;br /&gt;
=== Booting an OS image from USB 2.0/3.0 Storage ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Once you have u-boot on your SPI, the process off booting is very similar to booting from micro SD or eMMC.&lt;br /&gt;
*Download one of the supported OS images for your PINE64 device&lt;br /&gt;
*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.) &lt;br /&gt;
*Insert the USB storage device with the flashed OS image into one of the USB ports on your PINE64 device&lt;br /&gt;
*Apply power&lt;br /&gt;
&lt;br /&gt;
If you have followed all the steps correctly, the board should boot from your USB 2.0/3.0 storage device.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Your Device ==&lt;br /&gt;
&lt;br /&gt;
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]):&lt;br /&gt;
&lt;br /&gt;
* Subpar or counterfeit microSD card&lt;br /&gt;
* Subpar Power Supply&lt;br /&gt;
* High resistance (thin) or a very long microUSB cable&lt;br /&gt;
* Failed imaging of the microSD card or eMMC module&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
* To navigate to the directory type (in terminal): ''cd /usr/local/sbin''&lt;br /&gt;
* You list all the available scripts by typing (in terminal): ''ls''&lt;br /&gt;
* To run the script required update script run the following command: ''sudo ./update_script.sh'' (substitute the relevant update script for update_script)&lt;br /&gt;
&lt;br /&gt;
'''Troubleshooting Step by Step'''&lt;br /&gt;
&lt;br /&gt;
Follow these steps to determine the cause of your problem:&lt;br /&gt;
&lt;br /&gt;
* Check your PSU and microUSB cable ratings&lt;br /&gt;
* Download and image a base image of Linux&lt;br /&gt;
* Plug in power and Ethernet into your PINE64 device&lt;br /&gt;
* Watch Ethernet port LED activity&lt;br /&gt;
* Check your router for your device's IP&lt;br /&gt;
* Attempt to ssh into your device's from your computer&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
If you cannot find a solution to your problem you can submit a ticket at: https://support.pine64.org/&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4676</id>
		<title>Getting started</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4676"/>
		<updated>2020-01-20T16:57:10Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Imaging microSD on Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:NOOB.png]]&lt;br /&gt;
&lt;br /&gt;
== Setting Up Your device - What You’ll Need to Get Started ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get started with using your PINE A64(+), SOPine/PINE A64-LTS, Pinebook or ROCK64 board:&lt;br /&gt;
* Windows / Linux PC or MAC with a SD Card Reader connected to the Internet.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* MicroSD card (8GB or higher capacity) rated 'class 10' or better.&lt;br /&gt;
* 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].&lt;br /&gt;
* Input device(s) such as: keyboard, mouse, remote, pointer, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A One-Step Solution to Flashing Your MicroSD Card ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You can also flash an OS image manually; please follow the instructions below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step-by-Step Instructions to Flashing MicroSD Cards ==&lt;br /&gt;
&lt;br /&gt;
'''Caution!'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Begin by imaging the OS of your choice'''&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
Please refer to the relevant section below for instructions on how to image your microSD card:&lt;br /&gt;
* [[#Imaging microSD on Windows 7/8/8.1/10|Imaging microSD on Windows 7/8/8.1/10]]&lt;br /&gt;
* [[#Imaging microSD on Apple OSX|Imaging microSD on Apple OSX]]&lt;br /&gt;
* [[#Imaging microSD on Linux|Imaging microSD on Linux]]&lt;br /&gt;
&lt;br /&gt;
Having successfully imaged your microSD card, insert it into the microSD slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Plug in the HDMI Cable, Ethernet Cable and Peripherals to your PINE64 SBC'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Apply Power to Your Board'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Windows 7/8/8.1/10 ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
'''Optional for Allwinner A64 SoC based boards'''&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
Images designated ‘DD’ need to be flashed using Etcher or Win32imager, whilst images labelled ‘Phoenix Card Image’ require the Phoenix Card utility.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (DD)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging using Phoenix Card (applicable only to Allwinner A64 SoC based boards)'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Apple OSX ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Apple OSX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image.&lt;br /&gt;
&lt;br /&gt;
* 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):&lt;br /&gt;
&lt;br /&gt;
''diskutil unmountDisk /dev/diskX&lt;br /&gt;
sudo dd if=pine64-image-name.img of=/dev/disk2 bs=1M''&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your Mac.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Linux ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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]).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image.&lt;br /&gt;
* Before you start writing to the card, you will have to identify your microSD card.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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''&lt;br /&gt;
* Now you are ready to write the image to the microSD card using this command: &lt;br /&gt;
&lt;br /&gt;
sudo dd if=pine.img of=/dev/mmcblkX bs=1M status=progress conv=fsync &lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your computer.&lt;br /&gt;
&lt;br /&gt;
== Instructions to Flashing eMMC Modules ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The available modules come in three different capacities: 16Gb, 32Gb and 64Gb. &lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using Pine64 Installer (Micro SD-to-eMMC) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
To flash the OS image to your eMMC using this process you will need the following: &lt;br /&gt;
&lt;br /&gt;
* An SD card of at least 8Gb capacity &lt;br /&gt;
* 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.&lt;br /&gt;
* A SD card reader &lt;br /&gt;
* Your PINE64 device with the eMMC module installed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The SD-to-eMMC Flashing Process'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using the USB-to-eMMC Adaptor (Preferred Way) ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
For this method you will need the following: &lt;br /&gt;
&lt;br /&gt;
*A Windows, Linux or Mac OS computer&lt;br /&gt;
*A PINE64 eMMC module&lt;br /&gt;
*The PINE64 USB-to-eMMC adaptor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Flashing eMMC using the adaptor'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
*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. &lt;br /&gt;
*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.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC from a SD Boot ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
There are '''two ways''' in which an OS image can be flashed from within a micro SD boot: &lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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]. &lt;br /&gt;
&lt;br /&gt;
For the latter of the two methods here is a summary of the process: &lt;br /&gt;
*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] &lt;br /&gt;
*Insert both the micro SD and eMMC module into your device and power it on.&lt;br /&gt;
*Once the PINE64 device boots from micro SD, open the web browser and download the desired OS image for your device. &lt;br /&gt;
*Once the OS image downloads check in terminal or in Disks utility the eMMC's mounting location.&lt;br /&gt;
*Use the DD command or Disks utility to flash the downloaded image to the eMMC module. &lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using FEL (Allwinner A64 Devices Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The process of flashing via FEL is more complex than utilising a micro SD and is therefore '''better suited for proficient and advanced users'''.  &lt;br /&gt;
&lt;br /&gt;
For the process of flashing an image to the eMMC on a device in FEL mode you will need: &lt;br /&gt;
*A computer running Mac OS or Linux&lt;br /&gt;
*An OTG USB A-to-A cable &lt;br /&gt;
&lt;br /&gt;
To enter FEL you will need to: &lt;br /&gt;
*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. &lt;br /&gt;
*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].&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*''git clone https://github.com/ayufan-pine64/boot-tools.git&lt;br /&gt;
*''cd boot-tools''&lt;br /&gt;
*''make pinebook_ums''&lt;br /&gt;
or&lt;br /&gt;
*''make pine64_ums''&lt;br /&gt;
&lt;br /&gt;
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''.  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using Rockchip Tools (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using these tools you will need the following: &lt;br /&gt;
*A Windows, Mac OS or Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Windows 7/8.1/10 ''' &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Having installed the driver and flashing utility, follow these steps:&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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.&lt;br /&gt;
*Insert one end of the A-to-A cable into your Windows PC and the other into your Rock64 OTG USB port (top)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*Start AndroidTool; make sure that it reports 'Found One Maskrom Device' (if it does not recognise your device, please repeat previous steps)&lt;br /&gt;
*Select either the latest Stock Android build or ayufan's Android TV build with the suffic -update. Download and the extract the chosen image.  &lt;br /&gt;
*In AndroidTool press the firmware tab and navigate to where you extracted the OS image and select it. &lt;br /&gt;
*Press the upgrade tab. You will be prompted when the flashing process is completed. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Linux or Mac OS'''&lt;br /&gt;
&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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. &lt;br /&gt;
*In terminal, download rkflashtool following instructions on [https://github.com/ayufan-rock64/android-7.1/blob/master/README.md ayufan's github]&lt;br /&gt;
*Extract the folder containing partitions of the OS image and place the script listed on ayufan's github in the folder&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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 &lt;br /&gt;
*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. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC Android 'Update' OS Images on Linux (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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.   &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using this method you will need the following: &lt;br /&gt;
*A Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*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'''.&lt;br /&gt;
*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. &lt;br /&gt;
*Extract the archived update Android OS image somewhere where you will remember its path&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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''&lt;br /&gt;
*Wait as the utility installs Android to eMMC on your Rock64. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
== Flashing u-boot to SPI Flash ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To find out more about which images can used in conjunction for SPI booting please see [https://github.com/ayufan-rock64/ ayufan's github].&lt;br /&gt;
&lt;br /&gt;
Writing u-boot to SPI Flash can be achieved in two ways:&lt;br /&gt;
&lt;br /&gt;
=== Using a Stand-Alone Image to Write u-boot to SPI ===&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
'''Having flashed the image follow these steps''': &lt;br /&gt;
&lt;br /&gt;
*Insert the SD into the ROCK64&lt;br /&gt;
*Remove all other peripherals from the board &lt;br /&gt;
*'''Make sure that the eMMC module is disconnected from the board'''&lt;br /&gt;
*Apply power to the ROCK64&lt;br /&gt;
*Wait (few seconds) until the the LEDs on the board will blink continually&lt;br /&gt;
*Power off the board.&lt;br /&gt;
&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Using a Script on Linux OS Images ===&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
''sudo ./rock64_write_spi_flash.sh''&lt;br /&gt;
&lt;br /&gt;
Once the script finishes its operation, power off your board and remove the micro SD card.&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Erasing and Rewriting SPI === &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''N.B. You can also erase SPI manually&amp;quot;. &lt;br /&gt;
To do so, you need to download mtd-utils. on Debian or Ubuntu follow these instructions:&lt;br /&gt;
&lt;br /&gt;
''sudo apt-get install mtd-utils''&lt;br /&gt;
''sudo flash_eraseall /dev/mtd0''&lt;br /&gt;
&lt;br /&gt;
=== Booting an OS image from USB 2.0/3.0 Storage ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Once you have u-boot on your SPI, the process off booting is very similar to booting from micro SD or eMMC.&lt;br /&gt;
*Download one of the supported OS images for your PINE64 device&lt;br /&gt;
*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.) &lt;br /&gt;
*Insert the USB storage device with the flashed OS image into one of the USB ports on your PINE64 device&lt;br /&gt;
*Apply power&lt;br /&gt;
&lt;br /&gt;
If you have followed all the steps correctly, the board should boot from your USB 2.0/3.0 storage device.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Your Device ==&lt;br /&gt;
&lt;br /&gt;
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]):&lt;br /&gt;
&lt;br /&gt;
* Subpar or counterfeit microSD card&lt;br /&gt;
* Subpar Power Supply&lt;br /&gt;
* High resistance (thin) or a very long microUSB cable&lt;br /&gt;
* Failed imaging of the microSD card or eMMC module&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
* To navigate to the directory type (in terminal): ''cd /usr/local/sbin''&lt;br /&gt;
* You list all the available scripts by typing (in terminal): ''ls''&lt;br /&gt;
* To run the script required update script run the following command: ''sudo ./update_script.sh'' (substitute the relevant update script for update_script)&lt;br /&gt;
&lt;br /&gt;
'''Troubleshooting Step by Step'''&lt;br /&gt;
&lt;br /&gt;
Follow these steps to determine the cause of your problem:&lt;br /&gt;
&lt;br /&gt;
* Check your PSU and microUSB cable ratings&lt;br /&gt;
* Download and image a base image of Linux&lt;br /&gt;
* Plug in power and Ethernet into your PINE64 device&lt;br /&gt;
* Watch Ethernet port LED activity&lt;br /&gt;
* Check your router for your device's IP&lt;br /&gt;
* Attempt to ssh into your device's from your computer&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
If you cannot find a solution to your problem you can submit a ticket at: https://support.pine64.org/&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4674</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4674"/>
		<updated>2020-01-20T16:42:29Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Community */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Click here to see frequently asked questions]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
=== Button ===&lt;br /&gt;
&lt;br /&gt;
The button on the side of the PineTime is disabled by default. To enable it, drive the button out pin (P0.15) high.&lt;br /&gt;
&lt;br /&gt;
While enabled, the button in pin (P0.13) will be high when the button is pressed, and low when it is not pressed.&lt;br /&gt;
&lt;br /&gt;
=== Touch panel ===&lt;br /&gt;
&lt;br /&gt;
The touch panel is controlled by a Hynitron CST816S chips. Unfortunately, there is not much information about this chip on the internet apart from the datasheet below and a [https://github.com/lupyuen/hynitron_i2c_cst0xxse/ reference driver]. This is enough to implement a basic driver, but crucial information needed to implement advanced functionalities are missing (I²C protocol and registers, timings, power modes,...).&lt;br /&gt;
&lt;br /&gt;
==== Pins ====&lt;br /&gt;
&lt;br /&gt;
* P0.10 : Reset&lt;br /&gt;
* P0.28 : Interrupt (signal to the CPU when a touch event is detected)&lt;br /&gt;
* P0.06 : I²C SDA&lt;br /&gt;
* P0.07 : I²C SCL&lt;br /&gt;
&lt;br /&gt;
==== I²C ====&lt;br /&gt;
&lt;br /&gt;
* Device address : 0x15&lt;br /&gt;
* Frequency : from 10Khz to 400Khz&lt;br /&gt;
&lt;br /&gt;
'''NOTE : ''' The controller go to sleep when no event is detected. In sleep mode, the controller does not communicate on the I²C bus (it appears disconnected). So, for the communication to work, you need to tap on the screen so that the chip wakes-up.&lt;br /&gt;
&lt;br /&gt;
==== Touch events ====&lt;br /&gt;
&lt;br /&gt;
Touch informations are available in the 63 first registers of the controller. Remember : the device is in sleep mode when no touch event is detected. It means that you can read the register only when the touch controller detected an event. You can use the ''Interrupt'' pin to detect such event in the software. &lt;br /&gt;
&lt;br /&gt;
These 63 bytes contain up to 10 touch point (X, Y, event type, pressure,...) : &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Byte&lt;br /&gt;
! Bit7&lt;br /&gt;
! Bit6&lt;br /&gt;
! Bit5&lt;br /&gt;
! Bit4&lt;br /&gt;
! Bit3&lt;br /&gt;
! Bit2&lt;br /&gt;
! Bit1&lt;br /&gt;
! Bit0&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|GestureID : (Gesture code ,&lt;br /&gt;
&lt;br /&gt;
0x00: no gesture,&lt;br /&gt;
&lt;br /&gt;
0x01: on a slippery,&lt;br /&gt;
&lt;br /&gt;
0x02: decline,&lt;br /&gt;
&lt;br /&gt;
0x03: Left slip,&lt;br /&gt;
&lt;br /&gt;
0x04: Right slide,&lt;br /&gt;
&lt;br /&gt;
0x05: Click,&lt;br /&gt;
&lt;br /&gt;
0x0B: Double-click,&lt;br /&gt;
&lt;br /&gt;
0x0C: Press) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|? &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Number of touch points &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Event (0 = Down, 1 = Up, 2 = Contact)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|X (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|X (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Touch ID&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Y (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Y (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Pressure (?)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Miscellaneous (?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bytes 3 to 8 are repeated 10 times (10*6 + 3 = 63 bytes).&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
* The touch controller seems to report only 1 touch point&lt;br /&gt;
* Fields X, Y, Number of touch points and touch ID are updated. The others are always 0.&lt;br /&gt;
&lt;br /&gt;
==== Registers ====&lt;br /&gt;
&lt;br /&gt;
The reference driver specifies some registers and value, but there is no information about them: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!Register&lt;br /&gt;
!Address&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_INT_CNT&lt;br /&gt;
|0x8F&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FLOW_WORK_CNT&lt;br /&gt;
|0x91&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_WORKMODE &lt;br /&gt;
|0x00&lt;br /&gt;
|0 = WORK, 0x40 = FACTORY&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID&lt;br /&gt;
|0xA3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID2&lt;br /&gt;
|0x9F&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_POWER_MODE&lt;br /&gt;
|0xA5&lt;br /&gt;
|0x05 = SLEEP&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FW_VER&lt;br /&gt;
|0xA6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_VENDOR_ID&lt;br /&gt;
|0xA8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_LCD_BUSY_NUM&lt;br /&gt;
|0xAB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FACE_DEC_MODE_EN&lt;br /&gt;
|0xB0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GLOVE_MODE_EN&lt;br /&gt;
|0xC0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_COVER_MODE_EN&lt;br /&gt;
|0xC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHARGER_MODE_EN&lt;br /&gt;
|0x8B&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_EN&lt;br /&gt;
|0xD0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_OUTPUT_ADDRESS&lt;br /&gt;
|0xD3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_ESD_SATURATE 0xED&lt;br /&gt;
|0xED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''WARNING : ''' Writing the SLEEP command (write 0x05 in HYN_REG_POWER_MODE) seems to freeze the controller (it returns only static values) until the battery is totally drained and the whole system reset. Analysis and debugging is more than welcome!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Using JLink programmer and nrfjprog tools ===&lt;br /&gt;
&lt;br /&gt;
The following steps have been tested with the Segger JLink embedded in the [https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK NRF52-DK development board].&lt;br /&gt;
&lt;br /&gt;
1. Connect the Pinetime SWD pins to the debugger (P20 on NRF52-DK)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Pintime&lt;br /&gt;
!JLink&lt;br /&gt;
|-&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|-&lt;br /&gt;
|SWDIO&lt;br /&gt;
|SWDIO&lt;br /&gt;
|-&lt;br /&gt;
|VCC (3.3V)&lt;br /&gt;
|VTG (target detect)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2. Unlock the device and erase the memory. '''You need to execute this step only once, to remove the read protection on the memory. Note that it will erase the whole flash memory of the MCU!''' :&lt;br /&gt;
 &lt;br /&gt;
 nrfjporg -f NRF52 --recover&lt;br /&gt;
&lt;br /&gt;
3. Program the BLE softdevice (if needed by the firmware). Replace PATH_TO_NRF_SDK by the path where you unzipped the [https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK NRF52 SDK] :&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program /PATH_TO_NRF_SDK/components/softdevice/s132/hex/s132_nrf52_6.1.1_softdevice.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
4. Program the firmware (replace firmware.hex by the actual filename of the firmware):&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program firmware.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
5. Reset and run the new firmware:&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --reset&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://medium.com/@ly.lee/build-and-flash-rust-mynewt-firmware-for-pinetime-smart-watch-5e14259c55 Medium post]&lt;br /&gt;
&lt;br /&gt;
=== Using STM32 bluepill as blackmagic probe ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://forum.pine64.org/showthread.php?tid=8816&amp;amp;pid=57095#pid57095 forum post]&lt;br /&gt;
&lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Building a Rust Driver for PineTime’s Touch Controller]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a Porting (druid) Rust Widgets to PineTime Smart Watch]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c Optimising PineTime’s Display Driver with Rust and Mynewt]&lt;br /&gt;
&lt;br /&gt;
* [https://www.zephyrproject.org/getting-started-with-zephyr-rtos-on-nordic-nrf52832-hackable/ Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE]&lt;br /&gt;
&lt;br /&gt;
* [https://blog.aegrel.ee/absniffer-cmsis-dap-sniffer.html Removing the lock and installing another firmware on the nRF52832 using CMSIS-DAP dongle on Linux]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/JF002/nrf52-baseproject/wiki/Build,-program-and-debug-NRF52-project-with-JLink,-CMake-and-CLion Build, program and debug NRF52 project with JLink, CMake and CLion]&lt;br /&gt;
&lt;br /&gt;
* [https://www.nrbtech.io/blog/2020/1/4/using-clion-for-nordic-nrf52-projects Using CLion for Nordic nRF52 projects]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Frequently asked questions about the dev kit]&lt;br /&gt;
&lt;br /&gt;
* [https://dev.to/aaronc81/flashing-your-pinetime-using-an-st-link-and-openocd-54dd Flashing your PineTime using an ST-Link and OpenOCD]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
| [https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/pinetime-rust-mynewt lupyuen/pinetime-rust-mynewt]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! RIOT&lt;br /&gt;
| http://riot-os.org/&lt;br /&gt;
| https://github.com/RIOT-OS/RIOT/&lt;br /&gt;
| [https://github.com/bosmoment/PineTime-apps bosmoment/PineTime-apps]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=134 PineTime forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinetime64:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* IRC: Server us.pine64.xyz. Type /list to see all channels&lt;br /&gt;
* [https://t.me/pinetime Telegram group]&lt;br /&gt;
* [https://discordapp.com/invite/DgB7kzr Discord server invite link]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4673</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4673"/>
		<updated>2020-01-20T16:41:43Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Community */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Click here to see frequently asked questions]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
=== Button ===&lt;br /&gt;
&lt;br /&gt;
The button on the side of the PineTime is disabled by default. To enable it, drive the button out pin (P0.15) high.&lt;br /&gt;
&lt;br /&gt;
While enabled, the button in pin (P0.13) will be high when the button is pressed, and low when it is not pressed.&lt;br /&gt;
&lt;br /&gt;
=== Touch panel ===&lt;br /&gt;
&lt;br /&gt;
The touch panel is controlled by a Hynitron CST816S chips. Unfortunately, there is not much information about this chip on the internet apart from the datasheet below and a [https://github.com/lupyuen/hynitron_i2c_cst0xxse/ reference driver]. This is enough to implement a basic driver, but crucial information needed to implement advanced functionalities are missing (I²C protocol and registers, timings, power modes,...).&lt;br /&gt;
&lt;br /&gt;
==== Pins ====&lt;br /&gt;
&lt;br /&gt;
* P0.10 : Reset&lt;br /&gt;
* P0.28 : Interrupt (signal to the CPU when a touch event is detected)&lt;br /&gt;
* P0.06 : I²C SDA&lt;br /&gt;
* P0.07 : I²C SCL&lt;br /&gt;
&lt;br /&gt;
==== I²C ====&lt;br /&gt;
&lt;br /&gt;
* Device address : 0x15&lt;br /&gt;
* Frequency : from 10Khz to 400Khz&lt;br /&gt;
&lt;br /&gt;
'''NOTE : ''' The controller go to sleep when no event is detected. In sleep mode, the controller does not communicate on the I²C bus (it appears disconnected). So, for the communication to work, you need to tap on the screen so that the chip wakes-up.&lt;br /&gt;
&lt;br /&gt;
==== Touch events ====&lt;br /&gt;
&lt;br /&gt;
Touch informations are available in the 63 first registers of the controller. Remember : the device is in sleep mode when no touch event is detected. It means that you can read the register only when the touch controller detected an event. You can use the ''Interrupt'' pin to detect such event in the software. &lt;br /&gt;
&lt;br /&gt;
These 63 bytes contain up to 10 touch point (X, Y, event type, pressure,...) : &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Byte&lt;br /&gt;
! Bit7&lt;br /&gt;
! Bit6&lt;br /&gt;
! Bit5&lt;br /&gt;
! Bit4&lt;br /&gt;
! Bit3&lt;br /&gt;
! Bit2&lt;br /&gt;
! Bit1&lt;br /&gt;
! Bit0&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|GestureID : (Gesture code ,&lt;br /&gt;
&lt;br /&gt;
0x00: no gesture,&lt;br /&gt;
&lt;br /&gt;
0x01: on a slippery,&lt;br /&gt;
&lt;br /&gt;
0x02: decline,&lt;br /&gt;
&lt;br /&gt;
0x03: Left slip,&lt;br /&gt;
&lt;br /&gt;
0x04: Right slide,&lt;br /&gt;
&lt;br /&gt;
0x05: Click,&lt;br /&gt;
&lt;br /&gt;
0x0B: Double-click,&lt;br /&gt;
&lt;br /&gt;
0x0C: Press) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|? &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Number of touch points &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Event (0 = Down, 1 = Up, 2 = Contact)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|X (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|X (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Touch ID&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Y (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Y (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Pressure (?)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Miscellaneous (?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bytes 3 to 8 are repeated 10 times (10*6 + 3 = 63 bytes).&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
* The touch controller seems to report only 1 touch point&lt;br /&gt;
* Fields X, Y, Number of touch points and touch ID are updated. The others are always 0.&lt;br /&gt;
&lt;br /&gt;
==== Registers ====&lt;br /&gt;
&lt;br /&gt;
The reference driver specifies some registers and value, but there is no information about them: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!Register&lt;br /&gt;
!Address&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_INT_CNT&lt;br /&gt;
|0x8F&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FLOW_WORK_CNT&lt;br /&gt;
|0x91&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_WORKMODE &lt;br /&gt;
|0x00&lt;br /&gt;
|0 = WORK, 0x40 = FACTORY&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID&lt;br /&gt;
|0xA3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID2&lt;br /&gt;
|0x9F&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_POWER_MODE&lt;br /&gt;
|0xA5&lt;br /&gt;
|0x05 = SLEEP&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FW_VER&lt;br /&gt;
|0xA6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_VENDOR_ID&lt;br /&gt;
|0xA8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_LCD_BUSY_NUM&lt;br /&gt;
|0xAB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FACE_DEC_MODE_EN&lt;br /&gt;
|0xB0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GLOVE_MODE_EN&lt;br /&gt;
|0xC0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_COVER_MODE_EN&lt;br /&gt;
|0xC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHARGER_MODE_EN&lt;br /&gt;
|0x8B&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_EN&lt;br /&gt;
|0xD0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_OUTPUT_ADDRESS&lt;br /&gt;
|0xD3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_ESD_SATURATE 0xED&lt;br /&gt;
|0xED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''WARNING : ''' Writing the SLEEP command (write 0x05 in HYN_REG_POWER_MODE) seems to freeze the controller (it returns only static values) until the battery is totally drained and the whole system reset. Analysis and debugging is more than welcome!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Using JLink programmer and nrfjprog tools ===&lt;br /&gt;
&lt;br /&gt;
The following steps have been tested with the Segger JLink embedded in the [https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK NRF52-DK development board].&lt;br /&gt;
&lt;br /&gt;
1. Connect the Pinetime SWD pins to the debugger (P20 on NRF52-DK)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Pintime&lt;br /&gt;
!JLink&lt;br /&gt;
|-&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|-&lt;br /&gt;
|SWDIO&lt;br /&gt;
|SWDIO&lt;br /&gt;
|-&lt;br /&gt;
|VCC (3.3V)&lt;br /&gt;
|VTG (target detect)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2. Unlock the device and erase the memory. '''You need to execute this step only once, to remove the read protection on the memory. Note that it will erase the whole flash memory of the MCU!''' :&lt;br /&gt;
 &lt;br /&gt;
 nrfjporg -f NRF52 --recover&lt;br /&gt;
&lt;br /&gt;
3. Program the BLE softdevice (if needed by the firmware). Replace PATH_TO_NRF_SDK by the path where you unzipped the [https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK NRF52 SDK] :&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program /PATH_TO_NRF_SDK/components/softdevice/s132/hex/s132_nrf52_6.1.1_softdevice.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
4. Program the firmware (replace firmware.hex by the actual filename of the firmware):&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program firmware.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
5. Reset and run the new firmware:&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --reset&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://medium.com/@ly.lee/build-and-flash-rust-mynewt-firmware-for-pinetime-smart-watch-5e14259c55 Medium post]&lt;br /&gt;
&lt;br /&gt;
=== Using STM32 bluepill as blackmagic probe ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://forum.pine64.org/showthread.php?tid=8816&amp;amp;pid=57095#pid57095 forum post]&lt;br /&gt;
&lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Building a Rust Driver for PineTime’s Touch Controller]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a Porting (druid) Rust Widgets to PineTime Smart Watch]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c Optimising PineTime’s Display Driver with Rust and Mynewt]&lt;br /&gt;
&lt;br /&gt;
* [https://www.zephyrproject.org/getting-started-with-zephyr-rtos-on-nordic-nrf52832-hackable/ Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE]&lt;br /&gt;
&lt;br /&gt;
* [https://blog.aegrel.ee/absniffer-cmsis-dap-sniffer.html Removing the lock and installing another firmware on the nRF52832 using CMSIS-DAP dongle on Linux]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/JF002/nrf52-baseproject/wiki/Build,-program-and-debug-NRF52-project-with-JLink,-CMake-and-CLion Build, program and debug NRF52 project with JLink, CMake and CLion]&lt;br /&gt;
&lt;br /&gt;
* [https://www.nrbtech.io/blog/2020/1/4/using-clion-for-nordic-nrf52-projects Using CLion for Nordic nRF52 projects]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Frequently asked questions about the dev kit]&lt;br /&gt;
&lt;br /&gt;
* [https://dev.to/aaronc81/flashing-your-pinetime-using-an-st-link-and-openocd-54dd Flashing your PineTime using an ST-Link and OpenOCD]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
| [https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/pinetime-rust-mynewt lupyuen/pinetime-rust-mynewt]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! RIOT&lt;br /&gt;
| http://riot-os.org/&lt;br /&gt;
| https://github.com/RIOT-OS/RIOT/&lt;br /&gt;
| [https://github.com/bosmoment/PineTime-apps bosmoment/PineTime-apps]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=134 PineTime forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinetime64:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* IRC: Server us.pine64.xyz. Type /list to see all channels&lt;br /&gt;
* [https://t.me/pinetime PineTime group]&lt;br /&gt;
* [https://discordapp.com/invite/DgB7kzr server invite link]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4672</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4672"/>
		<updated>2020-01-20T16:41:27Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Community */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Click here to see frequently asked questions]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
=== Button ===&lt;br /&gt;
&lt;br /&gt;
The button on the side of the PineTime is disabled by default. To enable it, drive the button out pin (P0.15) high.&lt;br /&gt;
&lt;br /&gt;
While enabled, the button in pin (P0.13) will be high when the button is pressed, and low when it is not pressed.&lt;br /&gt;
&lt;br /&gt;
=== Touch panel ===&lt;br /&gt;
&lt;br /&gt;
The touch panel is controlled by a Hynitron CST816S chips. Unfortunately, there is not much information about this chip on the internet apart from the datasheet below and a [https://github.com/lupyuen/hynitron_i2c_cst0xxse/ reference driver]. This is enough to implement a basic driver, but crucial information needed to implement advanced functionalities are missing (I²C protocol and registers, timings, power modes,...).&lt;br /&gt;
&lt;br /&gt;
==== Pins ====&lt;br /&gt;
&lt;br /&gt;
* P0.10 : Reset&lt;br /&gt;
* P0.28 : Interrupt (signal to the CPU when a touch event is detected)&lt;br /&gt;
* P0.06 : I²C SDA&lt;br /&gt;
* P0.07 : I²C SCL&lt;br /&gt;
&lt;br /&gt;
==== I²C ====&lt;br /&gt;
&lt;br /&gt;
* Device address : 0x15&lt;br /&gt;
* Frequency : from 10Khz to 400Khz&lt;br /&gt;
&lt;br /&gt;
'''NOTE : ''' The controller go to sleep when no event is detected. In sleep mode, the controller does not communicate on the I²C bus (it appears disconnected). So, for the communication to work, you need to tap on the screen so that the chip wakes-up.&lt;br /&gt;
&lt;br /&gt;
==== Touch events ====&lt;br /&gt;
&lt;br /&gt;
Touch informations are available in the 63 first registers of the controller. Remember : the device is in sleep mode when no touch event is detected. It means that you can read the register only when the touch controller detected an event. You can use the ''Interrupt'' pin to detect such event in the software. &lt;br /&gt;
&lt;br /&gt;
These 63 bytes contain up to 10 touch point (X, Y, event type, pressure,...) : &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Byte&lt;br /&gt;
! Bit7&lt;br /&gt;
! Bit6&lt;br /&gt;
! Bit5&lt;br /&gt;
! Bit4&lt;br /&gt;
! Bit3&lt;br /&gt;
! Bit2&lt;br /&gt;
! Bit1&lt;br /&gt;
! Bit0&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|GestureID : (Gesture code ,&lt;br /&gt;
&lt;br /&gt;
0x00: no gesture,&lt;br /&gt;
&lt;br /&gt;
0x01: on a slippery,&lt;br /&gt;
&lt;br /&gt;
0x02: decline,&lt;br /&gt;
&lt;br /&gt;
0x03: Left slip,&lt;br /&gt;
&lt;br /&gt;
0x04: Right slide,&lt;br /&gt;
&lt;br /&gt;
0x05: Click,&lt;br /&gt;
&lt;br /&gt;
0x0B: Double-click,&lt;br /&gt;
&lt;br /&gt;
0x0C: Press) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|? &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Number of touch points &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Event (0 = Down, 1 = Up, 2 = Contact)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|X (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|X (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Touch ID&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Y (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Y (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Pressure (?)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Miscellaneous (?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bytes 3 to 8 are repeated 10 times (10*6 + 3 = 63 bytes).&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
* The touch controller seems to report only 1 touch point&lt;br /&gt;
* Fields X, Y, Number of touch points and touch ID are updated. The others are always 0.&lt;br /&gt;
&lt;br /&gt;
==== Registers ====&lt;br /&gt;
&lt;br /&gt;
The reference driver specifies some registers and value, but there is no information about them: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!Register&lt;br /&gt;
!Address&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_INT_CNT&lt;br /&gt;
|0x8F&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FLOW_WORK_CNT&lt;br /&gt;
|0x91&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_WORKMODE &lt;br /&gt;
|0x00&lt;br /&gt;
|0 = WORK, 0x40 = FACTORY&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID&lt;br /&gt;
|0xA3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID2&lt;br /&gt;
|0x9F&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_POWER_MODE&lt;br /&gt;
|0xA5&lt;br /&gt;
|0x05 = SLEEP&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FW_VER&lt;br /&gt;
|0xA6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_VENDOR_ID&lt;br /&gt;
|0xA8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_LCD_BUSY_NUM&lt;br /&gt;
|0xAB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FACE_DEC_MODE_EN&lt;br /&gt;
|0xB0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GLOVE_MODE_EN&lt;br /&gt;
|0xC0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_COVER_MODE_EN&lt;br /&gt;
|0xC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHARGER_MODE_EN&lt;br /&gt;
|0x8B&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_EN&lt;br /&gt;
|0xD0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_OUTPUT_ADDRESS&lt;br /&gt;
|0xD3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_ESD_SATURATE 0xED&lt;br /&gt;
|0xED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''WARNING : ''' Writing the SLEEP command (write 0x05 in HYN_REG_POWER_MODE) seems to freeze the controller (it returns only static values) until the battery is totally drained and the whole system reset. Analysis and debugging is more than welcome!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Using JLink programmer and nrfjprog tools ===&lt;br /&gt;
&lt;br /&gt;
The following steps have been tested with the Segger JLink embedded in the [https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK NRF52-DK development board].&lt;br /&gt;
&lt;br /&gt;
1. Connect the Pinetime SWD pins to the debugger (P20 on NRF52-DK)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Pintime&lt;br /&gt;
!JLink&lt;br /&gt;
|-&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|-&lt;br /&gt;
|SWDIO&lt;br /&gt;
|SWDIO&lt;br /&gt;
|-&lt;br /&gt;
|VCC (3.3V)&lt;br /&gt;
|VTG (target detect)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2. Unlock the device and erase the memory. '''You need to execute this step only once, to remove the read protection on the memory. Note that it will erase the whole flash memory of the MCU!''' :&lt;br /&gt;
 &lt;br /&gt;
 nrfjporg -f NRF52 --recover&lt;br /&gt;
&lt;br /&gt;
3. Program the BLE softdevice (if needed by the firmware). Replace PATH_TO_NRF_SDK by the path where you unzipped the [https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK NRF52 SDK] :&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program /PATH_TO_NRF_SDK/components/softdevice/s132/hex/s132_nrf52_6.1.1_softdevice.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
4. Program the firmware (replace firmware.hex by the actual filename of the firmware):&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program firmware.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
5. Reset and run the new firmware:&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --reset&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://medium.com/@ly.lee/build-and-flash-rust-mynewt-firmware-for-pinetime-smart-watch-5e14259c55 Medium post]&lt;br /&gt;
&lt;br /&gt;
=== Using STM32 bluepill as blackmagic probe ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://forum.pine64.org/showthread.php?tid=8816&amp;amp;pid=57095#pid57095 forum post]&lt;br /&gt;
&lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Building a Rust Driver for PineTime’s Touch Controller]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a Porting (druid) Rust Widgets to PineTime Smart Watch]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c Optimising PineTime’s Display Driver with Rust and Mynewt]&lt;br /&gt;
&lt;br /&gt;
* [https://www.zephyrproject.org/getting-started-with-zephyr-rtos-on-nordic-nrf52832-hackable/ Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE]&lt;br /&gt;
&lt;br /&gt;
* [https://blog.aegrel.ee/absniffer-cmsis-dap-sniffer.html Removing the lock and installing another firmware on the nRF52832 using CMSIS-DAP dongle on Linux]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/JF002/nrf52-baseproject/wiki/Build,-program-and-debug-NRF52-project-with-JLink,-CMake-and-CLion Build, program and debug NRF52 project with JLink, CMake and CLion]&lt;br /&gt;
&lt;br /&gt;
* [https://www.nrbtech.io/blog/2020/1/4/using-clion-for-nordic-nrf52-projects Using CLion for Nordic nRF52 projects]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Frequently asked questions about the dev kit]&lt;br /&gt;
&lt;br /&gt;
* [https://dev.to/aaronc81/flashing-your-pinetime-using-an-st-link-and-openocd-54dd Flashing your PineTime using an ST-Link and OpenOCD]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
| [https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/pinetime-rust-mynewt lupyuen/pinetime-rust-mynewt]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! RIOT&lt;br /&gt;
| http://riot-os.org/&lt;br /&gt;
| https://github.com/RIOT-OS/RIOT/&lt;br /&gt;
| [https://github.com/bosmoment/PineTime-apps bosmoment/PineTime-apps]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
- [https://forum.pine64.org/forumdisplay.php?fid=134 PineTime forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinetime64:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* IRC: Server us.pine64.xyz. Type /list to see all channels&lt;br /&gt;
* [https://t.me/pinetime PineTime group]&lt;br /&gt;
* [https://discordapp.com/invite/DgB7kzr server invite link]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4671</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4671"/>
		<updated>2020-01-20T16:36:44Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Frequently asked questions ==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Click here to see frequently asked questions]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
=== Button ===&lt;br /&gt;
&lt;br /&gt;
The button on the side of the PineTime is disabled by default. To enable it, drive the button out pin (P0.15) high.&lt;br /&gt;
&lt;br /&gt;
While enabled, the button in pin (P0.13) will be high when the button is pressed, and low when it is not pressed.&lt;br /&gt;
&lt;br /&gt;
=== Touch panel ===&lt;br /&gt;
&lt;br /&gt;
The touch panel is controlled by a Hynitron CST816S chips. Unfortunately, there is not much information about this chip on the internet apart from the datasheet below and a [https://github.com/lupyuen/hynitron_i2c_cst0xxse/ reference driver]. This is enough to implement a basic driver, but crucial information needed to implement advanced functionalities are missing (I²C protocol and registers, timings, power modes,...).&lt;br /&gt;
&lt;br /&gt;
==== Pins ====&lt;br /&gt;
&lt;br /&gt;
* P0.10 : Reset&lt;br /&gt;
* P0.28 : Interrupt (signal to the CPU when a touch event is detected)&lt;br /&gt;
* P0.06 : I²C SDA&lt;br /&gt;
* P0.07 : I²C SCL&lt;br /&gt;
&lt;br /&gt;
==== I²C ====&lt;br /&gt;
&lt;br /&gt;
* Device address : 0x15&lt;br /&gt;
* Frequency : from 10Khz to 400Khz&lt;br /&gt;
&lt;br /&gt;
'''NOTE : ''' The controller go to sleep when no event is detected. In sleep mode, the controller does not communicate on the I²C bus (it appears disconnected). So, for the communication to work, you need to tap on the screen so that the chip wakes-up.&lt;br /&gt;
&lt;br /&gt;
==== Touch events ====&lt;br /&gt;
&lt;br /&gt;
Touch informations are available in the 63 first registers of the controller. Remember : the device is in sleep mode when no touch event is detected. It means that you can read the register only when the touch controller detected an event. You can use the ''Interrupt'' pin to detect such event in the software. &lt;br /&gt;
&lt;br /&gt;
These 63 bytes contain up to 10 touch point (X, Y, event type, pressure,...) : &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Byte&lt;br /&gt;
! Bit7&lt;br /&gt;
! Bit6&lt;br /&gt;
! Bit5&lt;br /&gt;
! Bit4&lt;br /&gt;
! Bit3&lt;br /&gt;
! Bit2&lt;br /&gt;
! Bit1&lt;br /&gt;
! Bit0&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|?&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|GestureID : (Gesture code ,&lt;br /&gt;
&lt;br /&gt;
0x00: no gesture,&lt;br /&gt;
&lt;br /&gt;
0x01: on a slippery,&lt;br /&gt;
&lt;br /&gt;
0x02: decline,&lt;br /&gt;
&lt;br /&gt;
0x03: Left slip,&lt;br /&gt;
&lt;br /&gt;
0x04: Right slide,&lt;br /&gt;
&lt;br /&gt;
0x05: Click,&lt;br /&gt;
&lt;br /&gt;
0x0B: Double-click,&lt;br /&gt;
&lt;br /&gt;
0x0C: Press) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|? &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Number of touch points &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Event (0 = Down, 1 = Up, 2 = Contact)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|X (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|X (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|?&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Touch ID&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;|Y (MSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Y (LSB) coordinate&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Pressure (?)&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot;|Miscellaneous (?)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bytes 3 to 8 are repeated 10 times (10*6 + 3 = 63 bytes).&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
* The touch controller seems to report only 1 touch point&lt;br /&gt;
* Fields X, Y, Number of touch points and touch ID are updated. The others are always 0.&lt;br /&gt;
&lt;br /&gt;
==== Registers ====&lt;br /&gt;
&lt;br /&gt;
The reference driver specifies some registers and value, but there is no information about them: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!Register&lt;br /&gt;
!Address&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_INT_CNT&lt;br /&gt;
|0x8F&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FLOW_WORK_CNT&lt;br /&gt;
|0x91&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_WORKMODE &lt;br /&gt;
|0x00&lt;br /&gt;
|0 = WORK, 0x40 = FACTORY&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID&lt;br /&gt;
|0xA3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHIP_ID2&lt;br /&gt;
|0x9F&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_POWER_MODE&lt;br /&gt;
|0xA5&lt;br /&gt;
|0x05 = SLEEP&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FW_VER&lt;br /&gt;
|0xA6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_VENDOR_ID&lt;br /&gt;
|0xA8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_LCD_BUSY_NUM&lt;br /&gt;
|0xAB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_FACE_DEC_MODE_EN&lt;br /&gt;
|0xB0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GLOVE_MODE_EN&lt;br /&gt;
|0xC0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_COVER_MODE_EN&lt;br /&gt;
|0xC1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_CHARGER_MODE_EN&lt;br /&gt;
|0x8B&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_EN&lt;br /&gt;
|0xD0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_GESTURE_OUTPUT_ADDRESS&lt;br /&gt;
|0xD3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HYN_REG_ESD_SATURATE 0xED&lt;br /&gt;
|0xED&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''WARNING : ''' Writing the SLEEP command (write 0x05 in HYN_REG_POWER_MODE) seems to freeze the controller (it returns only static values) until the battery is totally drained and the whole system reset. Analysis and debugging is more than welcome!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming firmware ==&lt;br /&gt;
&lt;br /&gt;
=== Using JLink programmer and nrfjprog tools ===&lt;br /&gt;
&lt;br /&gt;
The following steps have been tested with the Segger JLink embedded in the [https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK NRF52-DK development board].&lt;br /&gt;
&lt;br /&gt;
1. Connect the Pinetime SWD pins to the debugger (P20 on NRF52-DK)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Pintime&lt;br /&gt;
!JLink&lt;br /&gt;
|-&lt;br /&gt;
|GND&lt;br /&gt;
|GND&lt;br /&gt;
|-&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|SWDCLK&lt;br /&gt;
|-&lt;br /&gt;
|SWDIO&lt;br /&gt;
|SWDIO&lt;br /&gt;
|-&lt;br /&gt;
|VCC (3.3V)&lt;br /&gt;
|VTG (target detect)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2. Unlock the device and erase the memory. '''You need to execute this step only once, to remove the read protection on the memory. Note that it will erase the whole flash memory of the MCU!''' :&lt;br /&gt;
 &lt;br /&gt;
 nrfjporg -f NRF52 --recover&lt;br /&gt;
&lt;br /&gt;
3. Program the BLE softdevice (if needed by the firmware). Replace PATH_TO_NRF_SDK by the path where you unzipped the [https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK NRF52 SDK] :&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program /PATH_TO_NRF_SDK/components/softdevice/s132/hex/s132_nrf52_6.1.1_softdevice.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
4. Program the firmware (replace firmware.hex by the actual filename of the firmware):&lt;br /&gt;
&lt;br /&gt;
 nrfjprog -f NRF52 --program firmware.hex --sectorerase&lt;br /&gt;
&lt;br /&gt;
5. Reset and run the new firmware:&lt;br /&gt;
 &lt;br /&gt;
 nrfjprog -f NRF52 --reset&lt;br /&gt;
&lt;br /&gt;
=== Using OpenOCD and a Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://medium.com/@ly.lee/build-and-flash-rust-mynewt-firmware-for-pinetime-smart-watch-5e14259c55 Medium post]&lt;br /&gt;
&lt;br /&gt;
=== Using STM32 bluepill as blackmagic probe ===&lt;br /&gt;
&lt;br /&gt;
Instructions in [https://forum.pine64.org/showthread.php?tid=8816&amp;amp;pid=57095#pid57095 forum post]&lt;br /&gt;
&lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/building-a-rust-driver-for-pinetimes-touch-controller-cbc1a5d5d3e9 Building a Rust Driver for PineTime’s Touch Controller]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/porting-druid-rust-widgets-to-pinetime-smart-watch-7e1d5a5d977a Porting (druid) Rust Widgets to PineTime Smart Watch]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/@ly.lee/optimising-pinetimes-display-driver-with-rust-and-mynewt-3ba269ea2f5c Optimising PineTime’s Display Driver with Rust and Mynewt]&lt;br /&gt;
&lt;br /&gt;
* [https://www.zephyrproject.org/getting-started-with-zephyr-rtos-on-nordic-nrf52832-hackable/ Getting Started with Zephyr RTOS on Nordic nRF52832 hackaBLE]&lt;br /&gt;
&lt;br /&gt;
* [https://blog.aegrel.ee/absniffer-cmsis-dap-sniffer.html Removing the lock and installing another firmware on the nRF52832 using CMSIS-DAP dongle on Linux]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/JF002/nrf52-baseproject/wiki/Build,-program-and-debug-NRF52-project-with-JLink,-CMake-and-CLion Build, program and debug NRF52 project with JLink, CMake and CLion]&lt;br /&gt;
&lt;br /&gt;
* [https://www.nrbtech.io/blog/2020/1/4/using-clion-for-nordic-nrf52-projects Using CLion for Nordic nRF52 projects]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Frequently_asked_questions_about_the_PineTime Frequently asked questions about the dev kit]&lt;br /&gt;
&lt;br /&gt;
* [https://dev.to/aaronc81/flashing-your-pinetime-using-an-st-link-and-openocd-54dd Flashing your PineTime using an ST-Link and OpenOCD]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
| [https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/pinetime-rust-mynewt lupyuen/pinetime-rust-mynewt]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! RIOT&lt;br /&gt;
| http://riot-os.org/&lt;br /&gt;
| https://github.com/RIOT-OS/RIOT/&lt;br /&gt;
| [https://github.com/bosmoment/PineTime-apps bosmoment/PineTime-apps]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
- [https://forum.pine64.org/forumdisplay.php?fid=134 PineTime forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinetime64:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* IRC, Telegram, Discord channel available&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=4670</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=4670"/>
		<updated>2020-01-20T16:31:46Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Other Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= User Guide =&lt;br /&gt;
== Introducing PineBook Pro == &lt;br /&gt;
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
The keyboard and trackpad both use the USB 2.0 protocol.  The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects.  These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD. &lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Default Debian MATE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
The newest release of the build can downloaded directly from [https://github.com/mrfixit2001/debian_desktop/releases MrFixIt2001's GitHub]. &lt;br /&gt;
&lt;br /&gt;
'''The default username and password is:'''&lt;br /&gt;
* Username: rock &lt;br /&gt;
* Password: rock&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:UpdateScript.png|350px|thumb|right|Location of update script applet icon on stock Debian with MATE]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usermod -l NewUser -d /home/NewUser -m rock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you log back into your new user, Bluetooth will complain about no transfer folder location. To fix this open terminal and type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
blueman-services&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From here, select incoming folder under the 'transfer' tab.&lt;br /&gt;
&lt;br /&gt;
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.     &lt;br /&gt;
&lt;br /&gt;
You can run the script from the terminal using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /usr/bin/mrfixit_update.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook Pro_Software_Release|Pinebook Pro]] ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Q4OS}} http://files.pine64.org/sw/pine64_installer/json/q4os.png] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Armbian}} http://files.pine64.org/sw/pine64_installer/json/armbian.png] [[PinebookPro_Software_Release#Armbian|'''Armbian (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Chropmium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']] &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/gentoo.png]&lt;br /&gt;
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Kali}} [[File:Kali.jpeg|125px]]] [[PinebookPro_Software_Release#Kali|'''Kali Script for Pinebook Pro (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
=== Quick Links to OS Images Build Sources===&lt;br /&gt;
'''Some of the provided OS images are still in &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;beta or nightly build&amp;lt;/span&amp;gt; and only fit for testing purposes. These images ought to be avoided for normal usage - use them at &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;your own risk&amp;lt;/span&amp;gt;'''&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]&lt;br /&gt;
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]&lt;br /&gt;
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and 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.   &lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility. &lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. &lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
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. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled.&lt;br /&gt;
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Trackpad ==&lt;br /&gt;
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. &lt;br /&gt;
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].&lt;br /&gt;
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).&lt;br /&gt;
&lt;br /&gt;
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' &lt;br /&gt;
&lt;br /&gt;
Before you start:&lt;br /&gt;
&lt;br /&gt;
Please refer to original documentation for details.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro, ISO and ANSI. You need to know which model you have prior to running the updater. &lt;br /&gt;
FW update steps for both models are listed below.  &lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
*Your Pinebook Pro fully charged or running off of mains power&lt;br /&gt;
*Connection to WiFi&lt;br /&gt;
*An external USB keyboard &amp;amp; mouse. Or access to the Pinebebook Pro via SSH&lt;br /&gt;
&lt;br /&gt;
'''ISO Model''' &lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''ANSI Model''' &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; 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!&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC @ 3A&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 15W PD quickcharge&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total there are four LEDs on the Pinebook Pro, three of which are placed in the top left side of the keyboard, and one near the barrel-port: &lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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). &lt;br /&gt;
&lt;br /&gt;
:3. The Num lock, green LED.&lt;br /&gt;
&lt;br /&gt;
:4. The Caps lock, green LED.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
* 1600 x 1200 maximum resolution&lt;br /&gt;
* Some people test with the application Cheese&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
Some Pinebook Pro chassis have 2 microphone labeled holes. Only the right hole is populated with a microphone.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60hz refresh rate&lt;br /&gt;
* IPS&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250nt brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6 bit colour&lt;br /&gt;
* 30 pin eDP connection&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PBPUART.jpeg|400px|thumb|right|Headphone Jack UART wiring reference]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [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.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.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. &lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ lsusb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.&lt;br /&gt;
&lt;br /&gt;
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports both 2242 &amp;amp; 2280 physical sizes, the most common ones available.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook_Pro_Hardware_Accessory_Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
(If necessary, they can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability at lower battery levels. And to reduce power used, to maintain battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown);&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
NVME Identify Controller:&lt;br /&gt;
...&lt;br /&gt;
ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
         rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
         rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
         rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
         rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
         rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
&lt;br /&gt;
$ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
set-feature:02 (Power Management), value:0x000002&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme get-feature -f 0x0c -H /dev/nvme0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh u-boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and SPI flash. This modified u-boot code has now also been added to Manjaro releases for the Pinebook Pro.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified u-boot is:&lt;br /&gt;
*microSD&lt;br /&gt;
*eMMC&lt;br /&gt;
*NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card.  (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].  &lt;br /&gt;
&lt;br /&gt;
WARNING: Do not connect the bypass cables with the battery connected.  Using the bypass cables with the battery connected can permanently damage the computer.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Placeholder for Pinebook Pro specific guides&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process on Pinebook Pro similar to 14&amp;quot; Pinebook'''&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process is the reverse order of removal guide'''&lt;br /&gt;
&lt;br /&gt;
* 14″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
* 14″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
* 14″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
What cool software works out of the box? [[Pinebook Pro OTB Experience]]&lt;br /&gt;
&lt;br /&gt;
= Software tuning guide =&lt;br /&gt;
Details on how to get the most out of a Pinebook Pro &amp;amp; its RK3399 SoC.&lt;br /&gt;
&lt;br /&gt;
== Customizing Pinebook Pro's factory OS ==&lt;br /&gt;
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])&lt;br /&gt;
&lt;br /&gt;
=== Initial user changes, password, name, etc ===&lt;br /&gt;
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.&lt;br /&gt;
&lt;br /&gt;
* 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)&lt;br /&gt;
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal&lt;br /&gt;
* Login as root (login: root, password: root)&lt;br /&gt;
* Set a strong password for the root user using the following command and it's prompts:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd (and follow prompts)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock user to your prefered username (replace myself with whatever you like):&lt;br /&gt;
&amp;lt;pre&amp;gt;# usermod -l myself -d /home/myself -m rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Put your name in the account, (replace &amp;quot;John A Doe&amp;quot; with your name):&lt;br /&gt;
&amp;lt;pre&amp;gt;# chfn -o &amp;quot;John A Doe&amp;quot; myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock group to match your preferred username:&lt;br /&gt;
&amp;lt;pre&amp;gt;# groupmod -n myself rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set a strong password for the normal user:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Log out of the text terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;# logout&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user&lt;br /&gt;
* Open text terminal to fix login error: &amp;quot;Configured directory for incoming files does not exist&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ blueman-services&amp;lt;/pre&amp;gt;&lt;br /&gt;
Select &amp;quot;Transfer&amp;quot; tab and set &amp;quot;Incoming Folder&amp;quot; to myself&lt;br /&gt;
&lt;br /&gt;
=== Disable Chromium browser's prompt for passphrase &amp;amp; password storage ===&lt;br /&gt;
&lt;br /&gt;
Perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* On the tool bar, hover over the Chromium icon&lt;br /&gt;
* Using the right mouse button, select '''Properties'''&lt;br /&gt;
* In the '''Command:''' line section, add &amp;lt;code&amp;gt;--password-store=basic&amp;lt;/code&amp;gt; before the &amp;lt;code&amp;gt;%U&amp;lt;/code&amp;gt;&lt;br /&gt;
* Use the '''x Close''' button to save the change&lt;br /&gt;
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.&lt;br /&gt;
&lt;br /&gt;
=== Changing the boot splash picture ===&lt;br /&gt;
&lt;br /&gt;
The default boot splash picture can be replaced using the following instructions:&lt;br /&gt;
&lt;br /&gt;
* Install '''ImageMagick''' which will do the conversion&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo apt-get install imagemagick&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).&lt;br /&gt;
* From the directory in which your new image is stored run the following commands&lt;br /&gt;
* Convert your image to the bootsplash raw format using imagemagick convert.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a backup copy of your current splash screen&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Copy your new splash screen into place&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp splash.fb /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set the correct permissions on the splash.fb file&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo chmod 644 /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed&lt;br /&gt;
&lt;br /&gt;
=== Enabling text boot time messages ===&lt;br /&gt;
&lt;br /&gt;
By default most Linux distros have a boot screen with a picture. To see all the messages, use the following;&lt;br /&gt;
&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
chmod a-w /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
vi /etc/default/u-boot&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.&lt;br /&gt;
* Update the U-Boot configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;u-boot-update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
== Chromium tweaks ==&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--disable-low-res-tiling \&lt;br /&gt;
--num-raster-threads=6 \&lt;br /&gt;
--profiler-timing=0 \&lt;br /&gt;
--disable-composited-antialiasing \&lt;br /&gt;
--test-type \&lt;br /&gt;
--show-component-extension-options \&lt;br /&gt;
--ignore-gpu-blacklist \&lt;br /&gt;
--use-gl=egl \&lt;br /&gt;
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \&lt;br /&gt;
--ppapi-flash-version=32.0.0.255 \&lt;br /&gt;
--enable-pinch \&lt;br /&gt;
--flag-switches-begin \&lt;br /&gt;
--enable-gpu-rasterization \&lt;br /&gt;
--enable-oop-rasterization \&lt;br /&gt;
--flag-switches-end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GVIM has performance issue ==&lt;br /&gt;
It appears that using GTK3 can cause very slow scolling, while VIM in a terminal window works fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply revert back to using GTK2, (how to do so, is somewhat Linux distro specific). &lt;br /&gt;
&lt;br /&gt;
== Kernel options ==&lt;br /&gt;
Here are some Pinebook Pro &amp;amp; its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.&lt;br /&gt;
&lt;br /&gt;
To see if a specific one is enabled, you can use something like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep HANTRO /proc/config.gz&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hardware video decoding ===&lt;br /&gt;
To enable hardware video decoding by the VPU, the kernel options should have this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting guide =&lt;br /&gt;
Tips, tricks and other information for troubleshooting your Pinebook Pro&lt;br /&gt;
=== New from the factory - Pinebook Pro won't boot / power on ===&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===&lt;br /&gt;
* 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).&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro won't boot when using UART console cable ===&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Keys not registering / missing keys when typing ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.&lt;br /&gt;
&lt;br /&gt;
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.&lt;br /&gt;
&lt;br /&gt;
=== WiFi issues ===&lt;br /&gt;
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]&lt;br /&gt;
* Next, you may have to modify the &amp;lt;code&amp;gt;/etc/NetworkManager/NetworkManager.conf&amp;lt;/code&amp;gt; as root user, and replace &amp;lt;code&amp;gt;managed=false&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;managed=true&amp;lt;/code&amp;gt;. Then reboot.&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;iw dev wlan0 set power_save off&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt;, although it is not persistent through re-boot.)&lt;br /&gt;
* 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]&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth issues ===&lt;br /&gt;
* 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.&lt;br /&gt;
* Bluetooth-attached speakers or headset require the &amp;lt;b&amp;gt;pulseaudio-module-bluetooth&amp;lt;/b&amp;gt; package. If not already installed, it can be installed with a package manager or with:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install pulseaudio-module-bluetooth&amp;lt;/pre&amp;gt;&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
=== Sound issues ===&lt;br /&gt;
* 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.) &lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
=== USB docks &amp;amp; USB C alternate mode video ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Here are some selection criteria for successfully using the USB C alternate mode for video:&lt;br /&gt;
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.&lt;br /&gt;
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.&lt;br /&gt;
* 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.&lt;br /&gt;
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).&lt;br /&gt;
&lt;br /&gt;
=== Key Mapping ===&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===&lt;br /&gt;
This refers to the firmware update shown here:&lt;br /&gt;
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
* 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. &lt;br /&gt;
* System restore https://forum.pine64.org/showthread.php?tid=8229&lt;br /&gt;
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Accessory Hardware Compatibility =&lt;br /&gt;
&lt;br /&gt;
Please contribute to the following page which lists hardware which has been tested with the PBP, whether successful or not!&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility|PineBookPro Hardware Compatibility]]&lt;br /&gt;
** [[Pinebook_Pro_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]&lt;br /&gt;
** [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]&lt;br /&gt;
** [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]&lt;br /&gt;
** [[Pinebook_Pro_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
== Accessing the Internals - Disassembly and Reassembly  == &lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Internal Layout ==&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. &lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode; this mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools). &lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe 4X socket for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Trackpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Male power bridge connector &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Female power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Trackpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C.  The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG. &lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a 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.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable.&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Dimensions ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72 &lt;br /&gt;
** L2 cache 1024KB for big cluster &lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions &lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 	650MHz &lt;br /&gt;
* Throughput 	1300Mtri/s, 10.4Gpix/s &lt;br /&gt;
* 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™.&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory: &lt;br /&gt;
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAH)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
* Optional NVMe adapter:&lt;br /&gt;
** PCIe 2.x, 5GT/s per lane&lt;br /&gt;
** 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)&lt;br /&gt;
** Maximum length for M.2 card is 80mm (M.2 2280)&lt;br /&gt;
** Power: 2.5W continuous, 8.25W peak momentary&lt;br /&gt;
** Does not support SATA M.2 cards&lt;br /&gt;
** Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
* Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]&lt;br /&gt;
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]&lt;br /&gt;
* Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
* Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
* Serial Console Earphone Jack Pinout:&lt;br /&gt;
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]&lt;br /&gt;
* Pinebook Pro Case:&lt;br /&gt;
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]&lt;br /&gt;
* Pinebook Pro Certifications:&lt;br /&gt;
** Not Yet Available&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Rockchip RK3399 SoC information:&lt;br /&gt;
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]&lt;br /&gt;
* LPDDR4 (366 Balls) SDRAM:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]&lt;br /&gt;
* Wireless related info:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
* Audio Codec (ES8316)&lt;br /&gt;
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]&lt;br /&gt;
* Keyboard information:&lt;br /&gt;
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]&lt;br /&gt;
** US ANSI: XK-HS002 MB27716023&lt;br /&gt;
* Full HD Camera sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]&lt;br /&gt;
* Lithium Battery information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14&amp;quot; model]&lt;br /&gt;
&lt;br /&gt;
=Skinning and Case Customization=&lt;br /&gt;
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.&lt;br /&gt;
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [[RockPro64 Guides]]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (No login required to read)&lt;br /&gt;
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]&lt;br /&gt;
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=4669</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=4669"/>
		<updated>2020-01-20T16:30:21Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Other Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= User Guide =&lt;br /&gt;
== Introducing PineBook Pro == &lt;br /&gt;
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running stock Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
The keyboard and trackpad both use the USB 2.0 protocol.  The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects.  These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD. &lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Default Debian MATE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
The newest release of the build can downloaded directly from [https://github.com/mrfixit2001/debian_desktop/releases MrFixIt2001's GitHub]. &lt;br /&gt;
&lt;br /&gt;
'''The default username and password is:'''&lt;br /&gt;
* Username: rock &lt;br /&gt;
* Password: rock&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
[[File:UpdateScript.png|350px|thumb|right|Location of update script applet icon on stock Debian with MATE]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usermod -l NewUser -d /home/NewUser -m rock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you log back into your new user, Bluetooth will complain about no transfer folder location. To fix this open terminal and type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
blueman-services&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From here, select incoming folder under the 'transfer' tab.&lt;br /&gt;
&lt;br /&gt;
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.     &lt;br /&gt;
&lt;br /&gt;
You can run the script from the terminal using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /usr/bin/mrfixit_update.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook Pro_Software_Release|Pinebook Pro]] ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Q4OS}} http://files.pine64.org/sw/pine64_installer/json/q4os.png] [[PinebookPro_Software_Release#Q4OS|'''Q4OS (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Armbian}} http://files.pine64.org/sw/pine64_installer/json/armbian.png] [[PinebookPro_Software_Release#Armbian|'''Armbian (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Chropmium}} http://files.pine64.org/sw/pine64_installer/json/chromium.jpg] [[PinebookPro_Software_Release#Chromium|'''Chromium (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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)''']] &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;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)''']]&lt;br /&gt;
&lt;br /&gt;
[{{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''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro}} http://files.pine64.org/sw/pine64_installer/json/gentoo.png]&lt;br /&gt;
[[Pinebook_Pro_Software_Release#Gentoo_Script_for_Pinebook_Pro|'''Gentoo Script for Pinebook Pro''']]&lt;br /&gt;
&lt;br /&gt;
[{{fullurl:PinebookPro_Software_Release#Kali}} [[File:Kali.jpeg|125px]]] [[PinebookPro_Software_Release#Kali|'''Kali Script for Pinebook Pro (microSD and eMMC Boot)''']]&lt;br /&gt;
&lt;br /&gt;
=== Quick Links to OS Images Build Sources===&lt;br /&gt;
'''Some of the provided OS images are still in &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;beta or nightly build&amp;lt;/span&amp;gt; and only fit for testing purposes. These images ought to be avoided for normal usage - use them at &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;your own risk&amp;lt;/span&amp;gt;'''&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/ ayufan's Linux build repo]&lt;br /&gt;
* [https://github.com/ayufan-rock64/chromiumos-build/releases ayufan's Chromium OS build repo]&lt;br /&gt;
* [https://github.com/mrfixit2001/debian_desktop/releases mrfixit2001's Linux debian desktop build repo]&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and 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.   &lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility. &lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. &lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
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. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch || CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch || NUM lock LED blinks. 2 blinks = enabled, 3 blinks = disabled.&lt;br /&gt;
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch || CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''(Press the PINE64 logo key plus Fn (10/11/12) for 3 seconds)'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Trackpad ==&lt;br /&gt;
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. &lt;br /&gt;
Documentation for the trackpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]].&lt;br /&gt;
The trackpad firmware binary can be flashed from userspace using the provided open source utility (https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater).&lt;br /&gt;
&lt;br /&gt;
'''Everyone with a Pinebook Pro produced in 2019 should update their keyboard and trackpad firmware.''' &lt;br /&gt;
&lt;br /&gt;
Before you start:&lt;br /&gt;
&lt;br /&gt;
Please refer to original documentation for details.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro, ISO and ANSI. You need to know which model you have prior to running the updater. &lt;br /&gt;
FW update steps for both models are listed below.  &lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
*Your Pinebook Pro fully charged or running off of mains power&lt;br /&gt;
*Connection to WiFi&lt;br /&gt;
*An external USB keyboard &amp;amp; mouse. Or access to the Pinebebook Pro via SSH&lt;br /&gt;
&lt;br /&gt;
'''ISO Model''' &lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 iso&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''ANSI Model''' &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; 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!&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after reboot)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 ansi&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC @ 3A&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 15W PD quickcharge&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total there are four LEDs on the Pinebook Pro, three of which are placed in the top left side of the keyboard, and one near the barrel-port: &lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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). &lt;br /&gt;
&lt;br /&gt;
:3. The Num lock, green LED.&lt;br /&gt;
&lt;br /&gt;
:4. The Caps lock, green LED.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
* 1600 x 1200 maximum resolution&lt;br /&gt;
* Some people test with the application Cheese&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
Some Pinebook Pro chassis have 2 microphone labeled holes. Only the right hole is populated with a microphone.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60hz refresh rate&lt;br /&gt;
* IPS&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250nt brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6 bit colour&lt;br /&gt;
* 30 pin eDP connection&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PBPUART.jpeg|400px|thumb|right|Headphone Jack UART wiring reference]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [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.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.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. &lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ lsusb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may have to clean the USB contacts of the Serial cable to get a good connection if you do not find that line.&lt;br /&gt;
&lt;br /&gt;
The audio jack of the Serial cable should be fully inserted into the Pinebook Pro audio port.&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports both 2242 &amp;amp; 2280 physical sizes, the most common ones available.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook_Pro_Hardware_Accessory_Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
(If necessary, they can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability at lower battery levels. And to reduce power used, to maintain battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown);&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
NVME Identify Controller:&lt;br /&gt;
...&lt;br /&gt;
ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
         rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
         rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
         rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
         rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
         rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
&lt;br /&gt;
$ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
set-feature:02 (Power Management), value:0x000002&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme get-feature -f 0x0c -H /dev/nvme0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh u-boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and SPI flash. This modified u-boot code has now also been added to Manjaro releases for the Pinebook Pro.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified u-boot is:&lt;br /&gt;
*microSD&lt;br /&gt;
*eMMC&lt;br /&gt;
*NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card.  (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [http://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].  &lt;br /&gt;
&lt;br /&gt;
WARNING: Do not connect the bypass cables with the battery connected.  Using the bypass cables with the battery connected can permanently damage the computer.&lt;br /&gt;
&lt;br /&gt;
=== [[Pinebook_Service_Step_by_Step_Guides|Pinebook Service Step-by-Step Guides]] ===&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Placeholder for Pinebook Pro specific guides&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under [[Pinebook_Service_Step_by_Step_Guides|'Service Guides for Pinebook']] you can find instructions guides concerning disassembly of:&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process on Pinebook Pro similar to 14&amp;quot; Pinebook'''&lt;br /&gt;
&lt;br /&gt;
'''Note: The installation process is the reverse order of removal guide'''&lt;br /&gt;
&lt;br /&gt;
* 14″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
* 14″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
* 14″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
What cool software works out of the box? [[Pinebook Pro OTB Experience]]&lt;br /&gt;
&lt;br /&gt;
= Software tuning guide =&lt;br /&gt;
Details on how to get the most out of a Pinebook Pro &amp;amp; its RK3399 SoC.&lt;br /&gt;
&lt;br /&gt;
== Customizing Pinebook Pro's factory OS ==&lt;br /&gt;
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])&lt;br /&gt;
&lt;br /&gt;
=== Initial user changes, password, name, etc ===&lt;br /&gt;
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.&lt;br /&gt;
&lt;br /&gt;
* 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)&lt;br /&gt;
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal&lt;br /&gt;
* Login as root (login: root, password: root)&lt;br /&gt;
* Set a strong password for the root user using the following command and it's prompts:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd (and follow prompts)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock user to your prefered username (replace myself with whatever you like):&lt;br /&gt;
&amp;lt;pre&amp;gt;# usermod -l myself -d /home/myself -m rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Put your name in the account, (replace &amp;quot;John A Doe&amp;quot; with your name):&lt;br /&gt;
&amp;lt;pre&amp;gt;# chfn -o &amp;quot;John A Doe&amp;quot; myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock group to match your preferred username:&lt;br /&gt;
&amp;lt;pre&amp;gt;# groupmod -n myself rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set a strong password for the normal user:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Log out of the text terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;# logout&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user&lt;br /&gt;
* Open text terminal to fix login error: &amp;quot;Configured directory for incoming files does not exist&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ blueman-services&amp;lt;/pre&amp;gt;&lt;br /&gt;
Select &amp;quot;Transfer&amp;quot; tab and set &amp;quot;Incoming Folder&amp;quot; to myself&lt;br /&gt;
&lt;br /&gt;
=== Disable Chromium browser's prompt for passphrase &amp;amp; password storage ===&lt;br /&gt;
&lt;br /&gt;
Perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* On the tool bar, hover over the Chromium icon&lt;br /&gt;
* Using the right mouse button, select '''Properties'''&lt;br /&gt;
* In the '''Command:''' line section, add &amp;lt;code&amp;gt;--password-store=basic&amp;lt;/code&amp;gt; before the &amp;lt;code&amp;gt;%U&amp;lt;/code&amp;gt;&lt;br /&gt;
* Use the '''x Close''' button to save the change&lt;br /&gt;
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.&lt;br /&gt;
&lt;br /&gt;
=== Changing the boot splash picture ===&lt;br /&gt;
&lt;br /&gt;
The default boot splash picture can be replaced using the following instructions:&lt;br /&gt;
&lt;br /&gt;
* Install '''ImageMagick''' which will do the conversion&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo apt-get install imagemagick&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).&lt;br /&gt;
* From the directory in which your new image is stored run the following commands&lt;br /&gt;
* Convert your image to the bootsplash raw format using imagemagick convert.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a backup copy of your current splash screen&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Copy your new splash screen into place&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp splash.fb /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set the correct permissions on the splash.fb file&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo chmod 644 /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed&lt;br /&gt;
&lt;br /&gt;
=== Enabling text boot time messages ===&lt;br /&gt;
&lt;br /&gt;
By default most Linux distros have a boot screen with a picture. To see all the messages, use the following;&lt;br /&gt;
&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
chmod a-w /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
vi /etc/default/u-boot&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.&lt;br /&gt;
* Update the U-Boot configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;u-boot-update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
== Chromium tweaks ==&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--disable-low-res-tiling \&lt;br /&gt;
--num-raster-threads=6 \&lt;br /&gt;
--profiler-timing=0 \&lt;br /&gt;
--disable-composited-antialiasing \&lt;br /&gt;
--test-type \&lt;br /&gt;
--show-component-extension-options \&lt;br /&gt;
--ignore-gpu-blacklist \&lt;br /&gt;
--use-gl=egl \&lt;br /&gt;
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \&lt;br /&gt;
--ppapi-flash-version=32.0.0.255 \&lt;br /&gt;
--enable-pinch \&lt;br /&gt;
--flag-switches-begin \&lt;br /&gt;
--enable-gpu-rasterization \&lt;br /&gt;
--enable-oop-rasterization \&lt;br /&gt;
--flag-switches-end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GVIM has performance issue ==&lt;br /&gt;
It appears that using GTK3 can cause very slow scolling, while VIM in a terminal window works fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply revert back to using GTK2, (how to do so, is somewhat Linux distro specific). &lt;br /&gt;
&lt;br /&gt;
== Kernel options ==&lt;br /&gt;
Here are some Pinebook Pro &amp;amp; its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.&lt;br /&gt;
&lt;br /&gt;
To see if a specific one is enabled, you can use something like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep HANTRO /proc/config.gz&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hardware video decoding ===&lt;br /&gt;
To enable hardware video decoding by the VPU, the kernel options should have this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting guide =&lt;br /&gt;
Tips, tricks and other information for troubleshooting your Pinebook Pro&lt;br /&gt;
=== New from the factory - Pinebook Pro won't boot / power on ===&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&amp;lt;br&amp;gt;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after toggling the eMMC enable/disable switch ===&lt;br /&gt;
* 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).&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro will not power on after removing and replacing EMI shielding ===&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro won't boot when using UART console cable ===&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
=== Keys not registering / missing keys when typing ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Using Fn+F7 to disable the touchpad will keep it from also disabling the keyboard.&lt;br /&gt;
&lt;br /&gt;
A [[Pinebook_Pro#Trackpad|firmware update]] has been released to address this.&lt;br /&gt;
&lt;br /&gt;
=== WiFi issues ===&lt;br /&gt;
* First, check the privacy switches to make sure your WiFi is enabled. They are persistant. See [[Pinebook_Pro_Main_Page#Privacy_Switches|Privacy Switches]]&lt;br /&gt;
* Next, you may have to modify the &amp;lt;code&amp;gt;/etc/NetworkManager/NetworkManager.conf&amp;lt;/code&amp;gt; as root user, and replace &amp;lt;code&amp;gt;managed=false&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;managed=true&amp;lt;/code&amp;gt;. Then reboot.&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;iw dev wlan0 set power_save off&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;iwconfig wlan0 power off&amp;lt;/code&amp;gt;, although it is not persistent through re-boot.)&lt;br /&gt;
* 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]&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth issues ===&lt;br /&gt;
* 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.&lt;br /&gt;
* Bluetooth-attached speakers or headset require the &amp;lt;b&amp;gt;pulseaudio-module-bluetooth&amp;lt;/b&amp;gt; package. If not already installed, it can be installed with a package manager or with:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install pulseaudio-module-bluetooth&amp;lt;/pre&amp;gt;&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
=== Sound issues ===&lt;br /&gt;
* 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.) &lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
=== USB docks &amp;amp; USB C alternate mode video ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Here are some selection criteria for successfully using the USB C alternate mode for video:&lt;br /&gt;
* The device must use USB C alternate mode DisplayPort. Not USB C alternate mode HDMI, or other.&lt;br /&gt;
* The device can have a HDMI, DVI, or VGA connector, if it uses an active translater.&lt;br /&gt;
* 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.&lt;br /&gt;
* USB docks that also use USB C alternate mode DisplayPort will always have USB 2 available, (480Mbps, half-duplex).&lt;br /&gt;
&lt;br /&gt;
=== Key Mapping ===&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro gets stuck after first reboot in Trackpad Firmware Update ===&lt;br /&gt;
This refers to the firmware update shown here:&lt;br /&gt;
https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
* 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. &lt;br /&gt;
* System restore https://forum.pine64.org/showthread.php?tid=8229&lt;br /&gt;
* Firmware update https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater#update-all-firmwares&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Accessory Hardware Compatibility =&lt;br /&gt;
&lt;br /&gt;
Please contribute to the following page which lists hardware which has been tested with the PBP, whether successful or not!&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook_Pro_Hardware_Accessory_Compatibility|PineBookPro Hardware Compatibility]]&lt;br /&gt;
** [[Pinebook_Pro_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]&lt;br /&gt;
** [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]&lt;br /&gt;
** [[Pinebook_Pro_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]&lt;br /&gt;
** [[Pinebook_Pro_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
== Accessing the Internals - Disassembly and Reassembly  == &lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Internal Layout ==&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. &lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode; this mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools). &lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe 4X socket for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Trackpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Male power bridge connector &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Female power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Trackpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C.  The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG. &lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a 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.&lt;br /&gt;
&lt;br /&gt;
(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.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable.&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Dimensions ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72 &lt;br /&gt;
** L2 cache 1024KB for big cluster &lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions &lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 	650MHz &lt;br /&gt;
* Throughput 	1300Mtri/s, 10.4Gpix/s &lt;br /&gt;
* 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™.&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory: &lt;br /&gt;
** 64GB eMMC module, can be upgraded to a 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAH)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
* Optional NVMe adapter:&lt;br /&gt;
** PCIe 2.x, 5GT/s per lane&lt;br /&gt;
** 4 PCIe lanes, can not be bifurcated, (however, can be used with 1 or 2 lane NVMe cards)&lt;br /&gt;
** Maximum length for M.2 card is 80mm (M.2 2280)&lt;br /&gt;
** Power: 2.5W continuous, 8.25W peak momentary&lt;br /&gt;
** Does not support SATA M.2 cards&lt;br /&gt;
** Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
* Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]&lt;br /&gt;
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]&lt;br /&gt;
* Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
* Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
** [http://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
* Serial Console Earphone Jack Pinout:&lt;br /&gt;
** [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinkbook Serial Console Earphone Jack Pinout]&lt;br /&gt;
* Pinebook Pro Case:&lt;br /&gt;
** [https://send.firefox.com/download/b34c14f3e0a3d66d/#15Cx1vBaGKmJr57y85U2qQ AutoCAD DWG File]&lt;br /&gt;
* Pinebook Pro Certifications:&lt;br /&gt;
** Not Yet Available&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Rockchip RK3399 SoC information:&lt;br /&gt;
** [http://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/2/28/Rockchip_RK3399_Datasheet_V1.8-20180529.pdf Rockchip RK3399 Datasheet V1.8]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]&lt;br /&gt;
* LPDDR4 (366 Balls) SDRAM:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [http://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (UPDATED)]&lt;br /&gt;
* Wireless related info:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
* Audio Codec (ES8316)&lt;br /&gt;
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf Touchpad Specification for Pinebook Pro model]&lt;br /&gt;
* Keyboard information:&lt;br /&gt;
** [http://www.sinowealth.com/ftp/ph/SH68F83/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]&lt;br /&gt;
** US ANSI: XK-HS002 MB27716023&lt;br /&gt;
* Full HD Camera sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification in Chinese]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Data Sheet]&lt;br /&gt;
* Lithium Battery information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification for 14&amp;quot; model]&lt;br /&gt;
&lt;br /&gt;
=Skinning and Case Customization=&lt;br /&gt;
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.&lt;br /&gt;
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [[RockPro64 Guides]]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel]&lt;br /&gt;
* [http://www.pine64.xyz:9090/?channels=ROCK64 ROCK64/ROCKPro64 IRC Channel]&lt;br /&gt;
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4324</id>
		<title>PineTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PineTime&amp;diff=4324"/>
		<updated>2019-12-28T17:50:53Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Specifications ==&lt;br /&gt;
'''Dimensions:''' 37.5 x 40 x 11mm &amp;lt;br&amp;gt;&lt;br /&gt;
'''Weight:''' 38 grams &amp;lt;br&amp;gt;&lt;br /&gt;
'''IP Rating:''' IP67 (waterproof to 1 meter) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Display:'''&lt;br /&gt;
: '''Size:''' 1.3 inches (33mm) diagonal&lt;br /&gt;
: '''Type:''' IPS capacitive touchscreen, RGB 65K colors&lt;br /&gt;
: '''Display Controller:''' ST7789&lt;br /&gt;
: '''Resolution:''' 240x240 pixels &amp;lt;br&amp;gt;&lt;br /&gt;
'''System on Chip:''' Nordic Semiconductor nRF52832 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Flash:''' 512KB with additional 4MB SPI NOR &amp;lt;br&amp;gt;&lt;br /&gt;
'''RAM:''' 64KB &amp;lt;br&amp;gt;&lt;br /&gt;
'''Bluetooth:''' 5.0 (including Bluetooth Low Energy) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Sensors:''' Accelerometer, Heart rate sensor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Feedback:''' Vibration motor &amp;lt;br&amp;gt;&lt;br /&gt;
'''Battery:''' 170-180mAh LiPo&lt;br /&gt;
&lt;br /&gt;
== SWD Pinout ==&lt;br /&gt;
The devkits have exposed SWD pins for flashing and debugging. The pinout is:&lt;br /&gt;
[[File:PineTime_SWD_location.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Driving the peripherals ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
Note: The factory-default software on the PineTime does not auto-detect the display being disconnected when it has already booted. That can cause garbled output, to fix it just restart the PineTime.&lt;br /&gt;
&lt;br /&gt;
The display is driven using the ST7789 display controller. Use the following pins to drive the screen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PineTime pin&lt;br /&gt;
! ST7789 pin&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SCK (P0.02)&lt;br /&gt;
| SPI clock&lt;br /&gt;
|-&lt;br /&gt;
| LCD_SDI (P0.03)&lt;br /&gt;
| SPI MOSI&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RS (P0.18)&lt;br /&gt;
| Clock/data pin (CD)&lt;br /&gt;
|-&lt;br /&gt;
| LCD_CS (P0.25)&lt;br /&gt;
| Chip select&lt;br /&gt;
|-&lt;br /&gt;
| LCD_RESET (P0.26)&lt;br /&gt;
| Display reset&lt;br /&gt;
|-&lt;br /&gt;
| LCD_BACKLIGHT_{LOW,MID,HIGH}&lt;br /&gt;
| Backlight (active low)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Chip select must be held low while driving the display. It must be high when using other SPI devices on the same bus (such as external flash storage) so that the display controller won't respond to the wrong commands.&lt;br /&gt;
* SPI must be used in mode 3. Mode 0 (the default) won't work.&lt;br /&gt;
* LCD_DISPLAY_* is used to enable the backlight. Set at least one to low to see anything on the screen.&lt;br /&gt;
* Use SPI at 8MHz (the fastest clock available on the nRF52832) because otherwise refreshing will be super slow.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
&lt;br /&gt;
Reading whether the PineTime has power attached is easy: simply read the charge indication pin (P0.12). When it is high it is running on battery, when it is low it is charging.&lt;br /&gt;
&lt;br /&gt;
Reading the battery voltage is a bit harder. For that you can use the battery voltage pin on P0.31 (AIN7). The returned value is 12 bits, which means it is 0..4095. You can get the measured voltage with the following formula, assuming a reference voltage of 3.3V (this is configurable in the ADC):&lt;br /&gt;
&lt;br /&gt;
 adcVoltage = adcValue / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
The measured voltage is actually half of the actual battery voltage, because the ADC is connected between a voltage divider where both resistors are 1MΩ. This can be corrected by multiplying the value:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2 / (4095 / 3.3)&lt;br /&gt;
&lt;br /&gt;
It's often better to avoid floating point values on embedded systems and in this case there is no reason to use float at all, we can just represent the value in millivolts. Therefore the formula can be simplified to:&lt;br /&gt;
&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / (4095 / 3.3)&lt;br /&gt;
 batteryVoltage = adcValue * 2000 / 1241&lt;br /&gt;
&lt;br /&gt;
Converting this voltage to an estimated capacity in percent requires a more complicated algorithm, because Lithium-ion batteries have a non-linear discharge curve.&lt;br /&gt;
&lt;br /&gt;
== Manual / Articles ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/najnesnaj/pinetime-zephyr Beginner manual explained how you to programs and install zephyr on PineTime Dev Kit, big thanks to najnesnaj :-)]&lt;br /&gt;
&lt;br /&gt;
* [https://medium.com/swlh/sneak-peek-of-pinetime-smart-watch-and-why-its-perfect-for-teaching-iot-81b74161c159 Sneak Peek of PineTime Smart Watch… And why it’s perfect for teaching IoT]&lt;br /&gt;
&lt;br /&gt;
== Development efforts ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! Project Homepage&lt;br /&gt;
! Project Source&lt;br /&gt;
! PineTime Implementations&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! FreeRTOS&lt;br /&gt;
|https://www.freertos.org&lt;br /&gt;
| https://sourceforge.net/projects/freertos/&lt;br /&gt;
| [https://github.com/JF002/Pinetime JF002/Pinetime]&lt;br /&gt;
[https://github.com/kaythe/pinetime-os kaythe/pinetime-os]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! Zephyr&lt;br /&gt;
| https://www.zephyrproject.org&lt;br /&gt;
| https://github.com/zephyrproject-rtos/zephyr&lt;br /&gt;
| [https://github.com/najnesnaj/pinetime-zephyr najnesnaj/pinetime-zephyr]&lt;br /&gt;
[https://github.com/SuperPrower/pinetime_zephyr_sample_fw SuperPrower/pinetime_zephyr_sample_fw]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! mynewt&lt;br /&gt;
| https://mynewt.apache.org/about/&lt;br /&gt;
| https://github.com/apache/mynewt-core&lt;br /&gt;
| [https://github.com/lupyuen/stm32bluepill-mynewt-sensor/tree/pinetime lupyuen/stm32bluepill-mynewt-sensor]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! MbedOS&lt;br /&gt;
| https://os.mbed.com&lt;br /&gt;
| https://github.com/ARMmbed/mbed-os&lt;br /&gt;
| [https://github.com/sethitow/awesome-pinetime sethitow/mbed-pinetime]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! TinyGo&lt;br /&gt;
| https://tinygo.org&lt;br /&gt;
| https://github.com/tinygo-org/tinygo&lt;br /&gt;
| [https://github.com/aykevl/go-smartwatch aykevl/go-smartwatch]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Datasheets and Schematics ==&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Schematic-V1.0a-20191103.pdf PineTime Schematic ver1.0a]&lt;br /&gt;
* [http://files.pine64.org/doc/PineTime/PineTime%20Port%20Assignment%20rev1.0.pdf PineTime GPIO Port Assignment ver1.0]&lt;br /&gt;
&lt;br /&gt;
=== Component Datasheets ===&lt;br /&gt;
* NORDIC SoC information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/nRF52832%20product%20brief.pdf NORDIC nRF52832 Product Brief]&lt;br /&gt;
* PMU (Power Management Unit) information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGM40561.pdf SGMicro SGM40561 Single Cell Charger Datasheet]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/SGMICRO-SGM2036.pdf SGMicro SGM2036 3.3V Low Power Low Dropout RF Linear Regulator Datasheet]&lt;br /&gt;
* SPI Flash information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L6433F,%203V,%2064Mb,%20v1.6.pdf Macronix 64Mb(8MB) SPI NOR Flash]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf Macronix 128Mb(16MB) SPI NOR Flash]&lt;br /&gt;
* LCD Panel:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20LCD%20Panel.jpg 1.3&amp;quot; 240x240 IPS LCD Panel Specification for PineTime]&lt;br /&gt;
** [https://wiki.pine64.org/images/5/54/ST7789V_v1.6.pdf 11.6&amp;quot; Sitronix LCD Driver/Controller Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/PineTime%20Touch%20Panel.jpg Touchpad Specification for PineTimel]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/CST816S数据手册V1.1.pdf 11.6&amp;quot; Hynitron CST816S Capacitive Touch Controller Datasheet in Chinese]&lt;br /&gt;
*** [https://wiki.pine64.org/images/5/51/CST816S%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8CV1.1.en.pdf English Translation]&lt;br /&gt;
* Sensor:&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/BST-BMA421-FL000.pdf BOSCH BMA421 Triaxial VAcceleration Sensor Product Brief]&lt;br /&gt;
** [http://files.pine64.org/doc/datasheet/pinetime/HRS3300%20Heart%20Rate%20Sensor.pdf TianYiHeXin HRS3300 PPG Heart Rate Sensor Data Sheet]&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4246</id>
		<title>Getting started</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Getting_started&amp;diff=4246"/>
		<updated>2019-12-10T19:48:54Z</updated>

		<summary type="html">&lt;p&gt;Surehand53: /* Imaging microSD on Linux */  break line for dd command&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:NOOB.png]]&lt;br /&gt;
&lt;br /&gt;
== Setting Up Your device - What You’ll Need to Get Started ==&lt;br /&gt;
&lt;br /&gt;
You will need the following to get started with using your PINE A64(+), SOPine/PINE A64-LTS, Pinebook or ROCK64 board:&lt;br /&gt;
* Windows / Linux PC or MAC with a SD Card Reader connected to the Internet.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
* MicroSD card (8GB or higher capacity) rated 'class 10' or better.&lt;br /&gt;
* 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].&lt;br /&gt;
* Input device(s) such as: keyboard, mouse, remote, pointer, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A One-Step Solution to Flashing Your MicroSD Card ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You can also flash an OS image manually; please follow the instructions below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step-by-Step Instructions to Flashing MicroSD Cards ==&lt;br /&gt;
&lt;br /&gt;
'''Caution!'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Begin by imaging the OS of your choice'''&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
Please refer to the relevant section below for instructions on how to image your microSD card:&lt;br /&gt;
* [[#Imaging microSD on Windows 7/8/8.1/10|Imaging microSD on Windows 7/8/8.1/10]]&lt;br /&gt;
* [[#Imaging microSD on Apple OSX|Imaging microSD on Apple OSX]]&lt;br /&gt;
* [[#Imaging microSD on Linux|Imaging microSD on Linux]]&lt;br /&gt;
&lt;br /&gt;
Having successfully imaged your microSD card, insert it into the microSD slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Plug in the HDMI Cable, Ethernet Cable and Peripherals to your PINE64 SBC'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Apply Power to Your Board'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Windows 7/8/8.1/10 ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
'''Optional for Allwinner A64 SoC based boards'''&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
Images designated ‘DD’ need to be flashed using Etcher or Win32imager, whilst images labelled ‘Phoenix Card Image’ require the Phoenix Card utility.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (DD)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging using Phoenix Card (applicable only to Allwinner A64 SoC based boards)'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Apple OSX ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Apple OSX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image.&lt;br /&gt;
&lt;br /&gt;
* 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):&lt;br /&gt;
&lt;br /&gt;
''diskutil unmountDisk /dev/diskX&lt;br /&gt;
sudo dd if=pine64-image-name.img of=/dev/disk2 bs=1M''&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your Mac.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Imaging microSD on Linux ===&lt;br /&gt;
&lt;br /&gt;
You will need the following utilities to get started with imaging the OS of your choice onto your microSD card:&lt;br /&gt;
* A compression Utility (used to unarchive the OS image). We recommend you use [http://www.7-zip.org/download.html 7Zip].&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' Phoenix Card utility and images are NOT available on Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Downloading and extracting OS image(s)'''&lt;br /&gt;
&lt;br /&gt;
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’.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging the microSD card (GUI)'''&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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]).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Imaging from Terminal'''&lt;br /&gt;
&lt;br /&gt;
'''N.B.''' If you are not comfortable using the terminal, please use the GUI method outlined above instead.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* Open up your terminal and navigate to the directory where you unarchived your OS image.&lt;br /&gt;
* Before you start writing to the card, you will have to identify your microSD card.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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''&lt;br /&gt;
* Now you are ready to write the image to the microSD card using this command: &lt;br /&gt;
&lt;br /&gt;
sudo dd if=pine64_image_name.img of=/dev/sdb bs=1M&lt;br /&gt;
&lt;br /&gt;
* Wait patiently for the process to complete. Be sure to eject/remove your SD card safely from your computer.&lt;br /&gt;
&lt;br /&gt;
== Instructions to Flashing eMMC Modules ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The available modules come in three different capacities: 16Gb, 32Gb and 64Gb. &lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using Pine64 Installer (Micro SD-to-eMMC) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
To flash the OS image to your eMMC using this process you will need the following: &lt;br /&gt;
&lt;br /&gt;
* An SD card of at least 8Gb capacity &lt;br /&gt;
* 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.&lt;br /&gt;
* A SD card reader &lt;br /&gt;
* Your PINE64 device with the eMMC module installed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The SD-to-eMMC Flashing Process'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing Using the USB-to-eMMC Adaptor (Preferred Way) ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''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. &lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
For this method you will need the following: &lt;br /&gt;
&lt;br /&gt;
*A Windows, Linux or Mac OS computer&lt;br /&gt;
*A PINE64 eMMC module&lt;br /&gt;
*The PINE64 USB-to-eMMC adaptor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Flashing eMMC using the adaptor'''&lt;br /&gt;
&lt;br /&gt;
*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. &lt;br /&gt;
*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. &lt;br /&gt;
*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.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC from a SD Boot ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
There are '''two ways''' in which an OS image can be flashed from within a micro SD boot: &lt;br /&gt;
*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. &lt;br /&gt;
&lt;br /&gt;
*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]. &lt;br /&gt;
&lt;br /&gt;
For the latter of the two methods here is a summary of the process: &lt;br /&gt;
*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] &lt;br /&gt;
*Insert both the micro SD and eMMC module into your device and power it on.&lt;br /&gt;
*Once the PINE64 device boots from micro SD, open the web browser and download the desired OS image for your device. &lt;br /&gt;
*Once the OS image downloads check in terminal or in Disks utility the eMMC's mounting location.&lt;br /&gt;
*Use the DD command or Disks utility to flash the downloaded image to the eMMC module. &lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using FEL (Allwinner A64 Devices Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The process of flashing via FEL is more complex than utilising a micro SD and is therefore '''better suited for proficient and advanced users'''.  &lt;br /&gt;
&lt;br /&gt;
For the process of flashing an image to the eMMC on a device in FEL mode you will need: &lt;br /&gt;
*A computer running Mac OS or Linux&lt;br /&gt;
*An OTG USB A-to-A cable &lt;br /&gt;
&lt;br /&gt;
To enter FEL you will need to: &lt;br /&gt;
*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. &lt;br /&gt;
*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].&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*''git clone https://github.com/ayufan-pine64/boot-tools.git&lt;br /&gt;
*''cd boot-tools''&lt;br /&gt;
*''make pinebook_ums''&lt;br /&gt;
or&lt;br /&gt;
*''make pine64_ums''&lt;br /&gt;
&lt;br /&gt;
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''.  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC using Rockchip Tools (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using these tools you will need the following: &lt;br /&gt;
*A Windows, Mac OS or Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Windows 7/8.1/10 ''' &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Having installed the driver and flashing utility, follow these steps:&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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.&lt;br /&gt;
*Insert one end of the A-to-A cable into your Windows PC and the other into your Rock64 OTG USB port (top)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*Start AndroidTool; make sure that it reports 'Found One Maskrom Device' (if it does not recognise your device, please repeat previous steps)&lt;br /&gt;
*Select either the latest Stock Android build or ayufan's Android TV build with the suffic -update. Download and the extract the chosen image.  &lt;br /&gt;
*In AndroidTool press the firmware tab and navigate to where you extracted the OS image and select it. &lt;br /&gt;
*Press the upgrade tab. You will be prompted when the flashing process is completed. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Using Linux or Mac OS'''&lt;br /&gt;
&lt;br /&gt;
*Make sure that eMMC is inserted into the slot on the Rock64&lt;br /&gt;
*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. &lt;br /&gt;
*In terminal, download rkflashtool following instructions on [https://github.com/ayufan-rock64/android-7.1/blob/master/README.md ayufan's github]&lt;br /&gt;
*Extract the folder containing partitions of the OS image and place the script listed on ayufan's github in the folder&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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 &lt;br /&gt;
*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. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Flashing to eMMC Android 'Update' OS Images on Linux (Rock64 Only) ===&lt;br /&gt;
&lt;br /&gt;
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.   &lt;br /&gt;
&lt;br /&gt;
To flash to the eMMC module using this method you will need the following: &lt;br /&gt;
*A Linux computer&lt;br /&gt;
*An A-to-A USB cable &lt;br /&gt;
*The Rock64 board with the eMMC module inserted into the socket&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
*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'''.&lt;br /&gt;
*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. &lt;br /&gt;
*Extract the archived update Android OS image somewhere where you will remember its path&lt;br /&gt;
*Hold down the recovery button on the board&lt;br /&gt;
*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)&lt;br /&gt;
*Inset the power cord into the Rock64&lt;br /&gt;
*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''&lt;br /&gt;
*Wait as the utility installs Android to eMMC on your Rock64. &lt;br /&gt;
*Remove the USB A-to-A cable, power off your board and power it on again to boot into eMMC.&lt;br /&gt;
&lt;br /&gt;
== Flashing u-boot to SPI Flash ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
To find out more about which images can used in conjunction for SPI booting please see [https://github.com/ayufan-rock64/ ayufan's github].&lt;br /&gt;
&lt;br /&gt;
Writing u-boot to SPI Flash can be achieved in two ways:&lt;br /&gt;
&lt;br /&gt;
=== Using a Stand-Alone Image to Write u-boot to SPI ===&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
'''Having flashed the image follow these steps''': &lt;br /&gt;
&lt;br /&gt;
*Insert the SD into the ROCK64&lt;br /&gt;
*Remove all other peripherals from the board &lt;br /&gt;
*'''Make sure that the eMMC module is disconnected from the board'''&lt;br /&gt;
*Apply power to the ROCK64&lt;br /&gt;
*Wait (few seconds) until the the LEDs on the board will blink continually&lt;br /&gt;
*Power off the board.&lt;br /&gt;
&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Using a Script on Linux OS Images ===&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
''sudo ./rock64_write_spi_flash.sh''&lt;br /&gt;
&lt;br /&gt;
Once the script finishes its operation, power off your board and remove the micro SD card.&lt;br /&gt;
The board is now ready to boot from USB 2.0/3.0 storage.&lt;br /&gt;
&lt;br /&gt;
=== Erasing and Rewriting SPI === &lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
'''N.B. You can also erase SPI manually&amp;quot;. &lt;br /&gt;
To do so, you need to download mtd-utils. on Debian or Ubuntu follow these instructions:&lt;br /&gt;
&lt;br /&gt;
''sudo apt-get install mtd-utils''&lt;br /&gt;
''sudo flash_eraseall /dev/mtd0''&lt;br /&gt;
&lt;br /&gt;
=== Booting an OS image from USB 2.0/3.0 Storage ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
Once you have u-boot on your SPI, the process off booting is very similar to booting from micro SD or eMMC.&lt;br /&gt;
*Download one of the supported OS images for your PINE64 device&lt;br /&gt;
*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.) &lt;br /&gt;
*Insert the USB storage device with the flashed OS image into one of the USB ports on your PINE64 device&lt;br /&gt;
*Apply power&lt;br /&gt;
&lt;br /&gt;
If you have followed all the steps correctly, the board should boot from your USB 2.0/3.0 storage device.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting Your Device ==&lt;br /&gt;
&lt;br /&gt;
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]):&lt;br /&gt;
&lt;br /&gt;
* Subpar or counterfeit microSD card&lt;br /&gt;
* Subpar Power Supply&lt;br /&gt;
* High resistance (thin) or a very long microUSB cable&lt;br /&gt;
* Failed imaging of the microSD card or eMMC module&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
* To navigate to the directory type (in terminal): ''cd /usr/local/sbin''&lt;br /&gt;
* You list all the available scripts by typing (in terminal): ''ls''&lt;br /&gt;
* To run the script required update script run the following command: ''sudo ./update_script.sh'' (substitute the relevant update script for update_script)&lt;br /&gt;
&lt;br /&gt;
'''Troubleshooting Step by Step'''&lt;br /&gt;
&lt;br /&gt;
Follow these steps to determine the cause of your problem:&lt;br /&gt;
&lt;br /&gt;
* Check your PSU and microUSB cable ratings&lt;br /&gt;
* Download and image a base image of Linux&lt;br /&gt;
* Plug in power and Ethernet into your PINE64 device&lt;br /&gt;
* Watch Ethernet port LED activity&lt;br /&gt;
* Check your router for your device's IP&lt;br /&gt;
* Attempt to ssh into your device's from your computer&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
If you cannot find a solution to your problem you can submit a ticket at: https://support.pine64.org/&lt;/div&gt;</summary>
		<author><name>Surehand53</name></author>
	</entry>
</feed>