<?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=PineCone</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=PineCone"/>
	<link rel="alternate" type="text/html" href="https://wiki.pine64.org/wiki/Special:Contributions/PineCone"/>
	<updated>2026-06-05T11:24:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=ROCKPro64&amp;diff=14712</id>
		<title>ROCKPro64</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=ROCKPro64&amp;diff=14712"/>
		<updated>2022-11-19T04:00:15Z</updated>

		<summary type="html">&lt;p&gt;PineCone: Nobody uses RJ-45S ports anymore.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; margin-left: 1ch; max-width: 24em;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [https://www.pine64.org/rockpro64/ '''ROCKPro64'''] is the most powerful Single Board Computer released by PINE64. It is powered by a Rockchip RK3399 Hexa-Core (dual ARM Cortex A72 and quad ARM Cortex A53) 64-Bit Processor with a Mali T-860 Quad-Core GPU.&lt;br /&gt;
&lt;br /&gt;
Key features include a PCIe x4 open ended slot, the use of LPDDR4 RAM, and industry standard heatsink mounting holes.&lt;br /&gt;
&lt;br /&gt;
The ROCKPro64 is equipped with 2GB or 4GB LPDDR4 system memory, and 128Mb SPI boot Flash. There is also an optional eMMC module (up to 128GB) and microSD slot for booting. The board is equipped with 1x USB 3.0 type C Host with DP 1.2, 1x USB 3.0 type A Host, 2x USB 2.0 Host, Gigabit Ethernet, PI-2 GPIO Bus, MiPi DSI interface, eDP interface, touch Panel interface, stereo MiPi CSI interface, as well as many other device interfaces such as UART, SPI, I2C, for makers to integrate with sensors and other peripherals. Many different Operating Systems (OS) are freely available from the open source community, such as Android, Linux (Ubuntu, Debian, Arch), and BSD.&lt;br /&gt;
&lt;br /&gt;
= Board Pictures =&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;400&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
Image:ROCKPro64v21FRONT.jpg|A hi-res picture of v2.1 front.|alt=&amp;quot;A hi-res picture of v2.1 front.&amp;quot;&lt;br /&gt;
Image:ROCKPro64v21REAR.jpg|A hi-res picture of v2.1 rear.|alt=&amp;quot;A hi-res picture of v2.1 rear.&amp;quot;&lt;br /&gt;
Image:FLIR 20220619 125451 686.jpg|A thermal image of v2.1 front (upside-down).|alt=&amp;quot;A thermal image of v2.1 front (upside-down).&amp;quot;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Board Layout =&lt;br /&gt;
[[File:ROCKPro64_annotated.jpg|An annotated ROCKPro64]]&lt;br /&gt;
&lt;br /&gt;
== Main Chips ==&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM 1 (18)&lt;br /&gt;
* LPDDR4 SDRAM 2 (3)&lt;br /&gt;
* SPI NOR flash memory (17)&lt;br /&gt;
* RK808 power management (near 19)&lt;br /&gt;
* RTL8211 ethernet transceiver (near 25)&lt;br /&gt;
* ES8316 Sound Codec (on rear of board)&lt;br /&gt;
* The heatsink mounting holes around the RK3399 are 59 mm apart&lt;br /&gt;
&lt;br /&gt;
== Switches ==&lt;br /&gt;
&lt;br /&gt;
The Power button (11, SW3): is the same as on your mobile phone - press and release after about 1 second to power on. Press and hold for about 3 seconds to power off.&lt;br /&gt;
&lt;br /&gt;
The Reset button (10, SW901): perfoms a reset.&lt;br /&gt;
&lt;br /&gt;
The Recover button (28, SW900): used to enter maskrom mode.&lt;br /&gt;
&lt;br /&gt;
== Connectors, Sockets and Headers ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;line-height: 1.4;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: .9em;&amp;quot;&lt;br /&gt;
! Diagram !! Schematic&amp;lt;br&amp;gt;designator !! Silkscreen&amp;lt;br&amp;gt;label !! Number&amp;lt;br&amp;gt;of pins !! Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2  || U39   || PI-2-bus || style=&amp;quot;text-align: center;&amp;quot; | 40 || Pi-2 bus &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4  || J8    || +FAN- || style=&amp;quot;text-align: center;&amp;quot; | 2 || PWM controlled fan header&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5  || J10   || SPDIF || style=&amp;quot;text-align: center;&amp;quot; | 3 || SPDIF header&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6  || U6    || +RTC- || style=&amp;quot;text-align: center;&amp;quot; | 2 || RTC battery backup header&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7  || U31   || Wifi-BT || style=&amp;quot;text-align: center;&amp;quot; | 16 || SDIO WIFI/BT module-MIMO 2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8  || USB3  ||  || style=&amp;quot;text-align: center;&amp;quot; | 9 || USB-3 and USB Type C&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9  || USB1  ||  || style=&amp;quot;text-align: center;&amp;quot; | 2×4 || Dual USB-2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 12 || IR1   || IR || style=&amp;quot;text-align: center;&amp;quot; | 3 || infrared receiver socket &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 13 || J16   || Headphone+mic || style=&amp;quot;text-align: center;&amp;quot; | 4 || Headphone + mic 3.5mm jack&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -  || CON16 || GND PWR RST GND || style=&amp;quot;text-align: center;&amp;quot; | 4 || Power &amp;amp; reset, unpopulated&amp;lt;br&amp;gt;header near Headphone jack&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 14 || U29   || EMMC || style=&amp;quot;text-align: center;&amp;quot; | 34 || eMMC connector&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 14* || J13  ||  || style=&amp;quot;text-align: center;&amp;quot; | 13 || TF-card, a.k.a. microSD&amp;lt;br&amp;gt;(* under 14 on the bottom side)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 15 || U30   ||  || style=&amp;quot;text-align: center;&amp;quot; | 14 || SDIO WIFI/BT module-MIMO 1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 16 || SW4   ||  || style=&amp;quot;text-align: center;&amp;quot; | 2 || Jumper to [[#Disable eMMC]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 19 || J15   || PCI || style=&amp;quot;text-align: center;&amp;quot; | 64 || PCI-express X4 socket&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20 || J21   || DSI || style=&amp;quot;text-align: center;&amp;quot; | 30 || DSI&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 21 || J22   || EDP || style=&amp;quot;text-align: center;&amp;quot; | 30 || LCD EDP&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22 || CON1  || TP || style=&amp;quot;text-align: center;&amp;quot; | 6 || touch panel connector&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 23 || CON15 ||  || style=&amp;quot;text-align: center;&amp;quot; | 4 || DC out for SATA disk cable&amp;lt;br&amp;gt;(direct connect from DC-IN)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 24 || J11   || DC-IN || style=&amp;quot;text-align: center;&amp;quot; | 2 || Power input, positive tip;&amp;lt;br&amp;gt;12V/3A (minimum) recommended&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 25 || U32   ||  || style=&amp;quot;text-align: center;&amp;quot; | 8 || 8P8C&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 26 || J14   ||  || style=&amp;quot;text-align: center;&amp;quot; | 19 || HDMI&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 27 || J17   || MIPI CAM || style=&amp;quot;text-align: center;&amp;quot; | 32 || MIPI-1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 29 || J19   || MIPI CAM || style=&amp;quot;text-align: center;&amp;quot; | 32 || MIPI-2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 30 || J18   || CIF || style=&amp;quot;text-align: center;&amp;quot; | 26 || CIF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
&lt;br /&gt;
A green LED next to the 12V input barrel connector will light as long as there is 12V applied to the connector. (Even if the RockPro64 is powered off.)&lt;br /&gt;
&lt;br /&gt;
A white LED behind the reset button will light as long as the RockPro64 is running (it comes on a few seconds after power on, when control is passed to the operating system.)&lt;br /&gt;
&lt;br /&gt;
A red LED behind the reset button is DIY - it is lit for example if the board is in OTG mode with an Ayufan image, or if an Android image is in standby mode.&lt;br /&gt;
&lt;br /&gt;
Yellow and green LEDs on the LAN socket behave in a standard way.&lt;br /&gt;
&lt;br /&gt;
== Jumpers ==&lt;br /&gt;
They are used for boot device selection, as described in the following section.&lt;br /&gt;
&lt;br /&gt;
=== Disable eMMC ===&lt;br /&gt;
&lt;br /&gt;
There is an unlabelled (on the PCB silk-screen) 2-pin jumper (16) between the eMMC socket (14) and the SPI chip (17). It is designated as SW4 on the [[#Board Information, Schematics and Certifications | schematic diagram]]. The default condition is OPEN (no jumper). It is useful for controlling the boot as follows:&lt;br /&gt;
&lt;br /&gt;
Default boot device (with no SPI software) is eMMC, then SDcard. If both the eMMC and the SDcard contain bootable images then the eMMC can be disabled by installing the jumper. This completely removes the eMMC from the resulting OS. If you wish the eMMC to be visible in the booted OS the jumper should be removed 2 seconds after applying power (and before the white LED comes on).&lt;br /&gt;
&lt;br /&gt;
The possible combinations are summarised in the table below.&lt;br /&gt;
&lt;br /&gt;
* 1 = present&lt;br /&gt;
* 0 = not present&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
! µSD !! eMMC !! SW4 !! boot from&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || 0 || unsupported&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || 1 || unsupported&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 0 || eMMC&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 1 || unsupported&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 || 0 || SDCard&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 || 1 || SDCard&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || 0 || eMMC&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || 1 || SDCard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Disable SPI (while booting) ===&lt;br /&gt;
There is a second possibility to jumper your ROCKPro64: If you mess-up your SPI and are unable to boot, jumpering pins 23 (CLK) and 25 pin (GND) on the PI-2-bus header will disable the SPI as a boot device. (This was taken from the IRC logs, 09 August 2018 @ 17:23) You have to remove the jumper 2 seconds after having started your RP64 (before the white LED turns ON) otherwise the SPI will be missing and you won't be able to flash it.&lt;br /&gt;
Ayufan images contain (at the moment) only one script for the SPI and the RP64, it's &amp;quot;rockpro64_reset_spi_flash&amp;quot;. Other SPI scripts are dedicated to the R64 (as it is written on the name) and it will mess-up your RP64 SPI if you use them.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
This section gives important information to get the board up and running.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Builds ==&lt;br /&gt;
&lt;br /&gt;
In the [[ROCKPro64 Software Release]] page, you will find a complete list of currently supported Operating System images that work with the ROCKPro64, as well as other related software. The Software Release page has links to download the images as well as high level instructions to load each image.&lt;br /&gt;
&lt;br /&gt;
The page includes many OS images and descriptions. Some links:&lt;br /&gt;
&lt;br /&gt;
* [[ROCKPro64_Software_Release#Armbian | Armbian]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#Debian  | Debian]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#DietPi  | DietPi]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#OpenMediaVault | Open Media Vault]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#LibreELEC_.28KODI.29 | LibreELEC for KODI]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#Retro-Center_R-Cade | R-Cade - Retro Gaming 4K Media Center]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#Slackware   | Slackware]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#NextCloudPi | NextCloudPi]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#Manjaro_ARM | Manjaro ARM]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#OpenWrt     | OpenWrt]]&lt;br /&gt;
&lt;br /&gt;
Those linked OS support both microSD and eMMC Boot.&lt;br /&gt;
&lt;br /&gt;
Please see the [[NOOB]] page for detailed discussion of what you need (prerequisites) as well as instructions if the high level instructions are insufficient.&lt;br /&gt;
&lt;br /&gt;
== More Advanced Linux Bits ==&lt;br /&gt;
&lt;br /&gt;
Some Linux tips are given below.&lt;br /&gt;
&lt;br /&gt;
=== How to Update Your Linux ===&lt;br /&gt;
&lt;br /&gt;
For Debian/Ubuntu images entering the following commands at a terminal prompt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will keep your installation up to date. To update Ayufan images to the next release (when available) use the following command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are happy to update your system to pre-releases of Ayufan images then modify /etc/apt/sources.list.d/ayufan-rock64.list as per the comment in that file.&lt;br /&gt;
&lt;br /&gt;
The kernel in Ayufan releases is under active development and, if you wish to install a later version, then it is best to use a package manager. In synaptic (for example), if you search for package names linux-image-4.4 you should see your currently installed version(s) as well as any more recent ones. Similarly if you wish to install the mainline kernel then searching for linux-image-4.18 will show you what is available. '''At the time of writing (August 2018) there are significant features missing from the mainline kernel for aarch64 processors (e.g. HDMI sound).'''&lt;br /&gt;
&lt;br /&gt;
=== Useful Scripts ===&lt;br /&gt;
After you install an Ayufan image you will find some scripts in /usr/local/sbin/ and /usr/local/bin/ that may be useful. (Need to expand this section)&lt;br /&gt;
&lt;br /&gt;
=== Video Playback ===&lt;br /&gt;
Hardware video acceleration is supported in recent kernels and user needs only to install the relevant Mesa packages/ports, specifically the Mesa DRI drivers for Mali GPUs (Midgard/Bifrost).  One can confirm via software glxinfo, or having the library file such as .../lib/dri/panfrost_dri.so.&lt;br /&gt;
&lt;br /&gt;
Ayufan has some old documentation on [https://github.com/ayufan-rock64/linux-build/blob/master/recipes/video-playback.md video playback here.] For your ROCKPro64 the install should be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install ffmpeg mpv libmali-rk-midgard-t86x-r14p0-gbm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(These modules are included in the Ayufan deskop releases.) At which stage rkmpv myvideo.mp4 will play a fullscreen, hardware assisted, version of your video. rkmpv is at /usr/local/bin/rkmpv&lt;br /&gt;
&lt;br /&gt;
=== Swapping Kernel Versions ===&lt;br /&gt;
extlinux is in use on Ayufan images (at least) which enables some switching between installed kernel versions - [https://github.com/ayufan-rock64/linux-build/blob/master/recipes/extlinux.md intro documentation is here.] In particular after you install any additional kernels, you can edit your /boot/extlinux/extlinux.conf file to specify which of the kernels you have installed to use for the next boot.&lt;br /&gt;
&lt;br /&gt;
From Ayufan version 0.7.11 the script /usr/local/sbin/change-default-kernel.sh does a nice little menu swap for you if you run it as root (sudo).&lt;br /&gt;
&lt;br /&gt;
=== Using an NVMe Disk as rootfs ===&lt;br /&gt;
Forum member Bullet64 has documented [https://forum.frank-mankel.org/topic/208/booten-von-der-nvme-platte how to move rootfs to an NVMe disk.] This is useful until we get a full SPI option to boot from the NVMe.&lt;br /&gt;
&lt;br /&gt;
== More advanced bits related to any OS ==&lt;br /&gt;
&lt;br /&gt;
This section gives some hints for advanced users.&lt;br /&gt;
&lt;br /&gt;
=== Setup a Serial Console (UART2)===&lt;br /&gt;
&lt;br /&gt;
{{warning|1=RockPro64 is designed to use 3VDC3A (3 Volts Direct Current 3 Ampere) for the connection, using 5VDC and more might damage the board!}}&lt;br /&gt;
&lt;br /&gt;
To use Serial Console you will a need operating system that supports it on your RockPro64, by default the serial console is provided for baud 9 600 which is far too slow for rockpro64 so consider using 1 500 000 (1.5Mbps) instead &amp;lt;b&amp;gt;IF&amp;lt;/b&amp;gt; your serial console device supports it (many doesn't which results in their unability to use the console).&lt;br /&gt;
&lt;br /&gt;
{{warning|1=Do not connect RxD (pin 10) until the U-Boot SPL is running (see [[RK3399 boot sequence]]) or the SPL will not start}} &lt;br /&gt;
&lt;br /&gt;
In terms of connections you need to perform the following from your serial console-capable device e.g. Pine64's Woodpecker available in store:&lt;br /&gt;
* GND &amp;lt;-&amp;gt; GND (pin 6)&lt;br /&gt;
* RxD &amp;lt;-&amp;gt; TxD (pin 8)&lt;br /&gt;
* TxD &amp;lt;-&amp;gt; RxD (pin 10)&lt;br /&gt;
&lt;br /&gt;
After the configuration of your preferred operating system you can connect to the serial console using any of these commands:&lt;br /&gt;
&lt;br /&gt;
  $ screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
  $ picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
  $ minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
NOTE: You might need a root permission if your user is not in the appropriate user-group e.g. &amp;lt;code&amp;gt;dialup&amp;lt;/code&amp;gt; on GNU/Linux&lt;br /&gt;
&lt;br /&gt;
Alternatively there is a detailed guide on forums: https://forum.pine64.org/showthread.php?tid=6387&lt;br /&gt;
&lt;br /&gt;
==== GNU/Linux ====&lt;br /&gt;
&lt;br /&gt;
With GNU/Linux on your RockPro64 the built-in support for serial console can be enabled by parsing parse e.g. &amp;lt;code&amp;gt;console=ttyS2,1500000n8&amp;lt;/code&amp;gt; in the kernel command line, many distributions make this available by default, but consider verifying the contents of &amp;lt;code&amp;gt;/boot/extlinux/extlinux.conf&amp;lt;/code&amp;gt; if you encounter issues.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &amp;lt;code&amp;gt;n8&amp;lt;/code&amp;gt; in the kernel argument means &amp;lt;b&amp;gt;no parity, 8 bits per character&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Booting from USB or PXE ===&lt;br /&gt;
&lt;br /&gt;
The default choice of boot device is first eMMC (if present) then SDcard. See [[ ROCKPro64_Main_Page#Disable_eMMC | jumpers above for details on adjusting this sequence.]]&lt;br /&gt;
&lt;br /&gt;
It is possible to flash the SPI to extend the options for boot devices to USB drives or PXE. The preferred method is now the rock64_write_spi_flash.sh script (see [[ROCKPro64_Main_Page#Useful_scripts | useful scripts above.]]) The NOOB wiki page has more details [[NOOB#Flashing_u-boot_to_SPI_Flash | here.]]&lt;br /&gt;
&lt;br /&gt;
Background info and historic details of this usage [https://github.com/ayufan-rock64/linux-build/blob/master/recipes/flash-spi.md can be found here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Booting from SPI using u-boot ===&lt;br /&gt;
&lt;br /&gt;
{{warning|1=idbloader is not open-source}}&lt;br /&gt;
&lt;br /&gt;
Always be prepared to recover from a broken SPI boot BEFORE flashing or you will end up with a broken boot.&lt;br /&gt;
&lt;br /&gt;
In general the recovery is killswitching SPI through shorting pins 23 &amp;lt;-&amp;gt; 25 together and then loading u-boot from a storage device e.g. sd-card or eMMC where majority of GNU distributions e.g. Manjaro usually have u-boot packaged with the provided images.&lt;br /&gt;
&lt;br /&gt;
Follow instructions in https://github.com/sigmaris/u-boot/wiki/Flashing-U-Boot-to-SPI#instructions-for-rockpro64&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence ===&lt;br /&gt;
&lt;br /&gt;
The RockPro64 boot sequence has been documented [https://github.com/sigmaris/u-boot/wiki/RockPro64-boot-sequence here] by sigmaris.&lt;br /&gt;
&lt;br /&gt;
=== OTG Mode ===&lt;br /&gt;
&lt;br /&gt;
You can boot your ROCKPro64 into OTG mode with the use of the Recover button (see [[ROCKPro64_Main_Page#Switches | switch 28 above.]]) Note there are 2 OTG ports on your ROCKPro64: the type-C USB 3 socket is definitely one. From the schematic it appears the USB 3 (type A) socket is the other, but this has yet to be confirmed.&lt;br /&gt;
&lt;br /&gt;
The method is to power off the board. Then push and hold the Recover button and push and release the Power button. &lt;br /&gt;
* If you have an Ayufan bootable image in either the SDcard or eMMC then there are 4 OTG modes [https://github.com/ayufan-rock64/linux-u-boot/commit/ea6efecdfecc57c853a6f32f78469d1b2417329b described here] including Android fastboot, RockUSB and MaskROM modes. Releasing the Recover button as soon as the white LED lights counts as 1 blink. Keeping it pressed you will get 2 blinks of the white LED etc. Once the board enters OTG mode the red LED will be lit. In mode 1 the boot and linux-root partitions of the card with the Ayufan image (partitions 6 &amp;amp; 7 of a linux installation) are made available as devices. In all cases the USB device made available at the host has device ID 18d1:d00d.&lt;br /&gt;
* If you do not have an Ayufan image in either the SDcard or the eMMC, then neither white nor red LEDs will light, but the board will enter MaskROM mode where the USB device made available at the host has device ID 2207:330c.&lt;br /&gt;
&lt;br /&gt;
=== NVMe Drives ===&lt;br /&gt;
Please be aware that [https://pine64.com/product/rockpro64-pci-e-x4-to-m-2-ngff-nvme-ssd-interface-card the PINE64 SSD interface card] is intended for use with NVMe devices. These can be identified by the fact they have a single (Key M) notch, e.g. [https://www.wdc.com/content/dam/wdc/website/products/family/wd-black-pcie-ssd/wdfWDBlackSSD_PCIe_img1.jpg.imgw.500.500.jpg the WD Black devices.]&lt;br /&gt;
&lt;br /&gt;
While M2/NGFF SATA devices (with a Key B notch, typically have Key M as well) will physically fit, they will not work. e.g. [https://www.wdc.com/content/dam/wdc/website/products/personal/internal_storage/wd_blue_3d_nand_sata_ssd/blue3d_product-overview.jpg.imgw.1000.1000.jpg WD Blue devices.]&lt;br /&gt;
&lt;br /&gt;
=== SATA Drives ===&lt;br /&gt;
SATA drives can be connected directly via the [https://pine64.com/?product=rockpro64-pci-e-to-dual-sata-ii-interface-card ROCKPro64 PCIe interface card.] Please note the card does not include the power cable - that is a [https://pine64.com/?product=rockpro64-power-cable-for-dual-sata-drives separate item.] Equally you must be aware that connecting SATA drives in this manner means they will be drawing power from your ROCKPro64 - please ensure you are using a 5A or better power supply.&lt;br /&gt;
&lt;br /&gt;
ExplainingComputers did a YouTube [https://www.youtube.com/watch?v=9CCQicHwfDI ROCKPro64 PCIe SATA card review and tests using a Ubuntu console and OpenMediaVault.]&lt;br /&gt;
&lt;br /&gt;
=== Wi-Fi &amp;amp; Bluetooth Module ===&lt;br /&gt;
If you have bought the [https://pine64.com/product/rockpro64-1x1-dual-band-wifi-802-11ac-bluetooth-5-0-module Wi-Fi and Bluetooth module] from the Pine store then instructions for connecting it can be found on the accessories page [[ Accessories_Step_by_Step_Guides#Wifi.2FBluetooth_module | here.]] '''Please note that the 0.7.9 Ayufan's linux releases (August 2018) have deliberately DISABLED support for this module in the search for stability. It can be tested and used with the Android image.'''&lt;br /&gt;
&lt;br /&gt;
It can also be used on Manjaro by installing ap6256-firmware and wireless-regdb packages.&lt;br /&gt;
&lt;br /&gt;
=== 7&amp;quot; LCD Touch Screen ===&lt;br /&gt;
Instructions for connecting the [https://pine64.com/?product=7-lcd-touch-screen-panel LCD touch screen] from the Pine [[ Accessories_Step_by_Step_Guides#7.22_LCD_Touch_Screen_Panel | are here.]]&lt;br /&gt;
&lt;br /&gt;
'''Note at present (August 2018) this screen is only supported by the Android image.'''&lt;br /&gt;
&lt;br /&gt;
{{warning|1= When using the touchscreen ensure the cables are properly connected and tightened down and that you do not let the metal backplane touch the SBC}}&lt;br /&gt;
&lt;br /&gt;
=== RTC Battery Backup ===&lt;br /&gt;
The Pine store has a couple of options for RTC battery backups: a [https://pine64.com/product/rtc-backup-battery-holder-2-x-aaa AAA version here] or a [https://pine64.com/product/rtc-backup-battery-holder-cr-2032 CR-2032 version here.] Instructions for plugging in either of them are also on the [[ Accessories_Step_by_Step_Guides| Accessories page ]]. For the ROCKPro64, the backup plugs into the RTC connector, number 6 in the board layout diagram above, next to the USB3 and case screw point.&lt;br /&gt;
&lt;br /&gt;
=== Acrylic Open Enclosure ===&lt;br /&gt;
Assembly instructions for the [https://pine64.com/product/pine-a64-rockpro64-acrylic-open-enclosure acrylic enclosure] from the Pine store are also on the [[ Accessories_Step_by_Step_Guides| Accessories page ]]&lt;br /&gt;
&lt;br /&gt;
=== NAS case ===&lt;br /&gt;
The [https://files.pine64.org/doc/rockpro64/ROCKPro64%20NAS%20Case%20Exploded%20View%20Diagram.pdf Exploded View Installation Diagram] for the [https://pine64.com/product/rockpro64-metal-desktop-nas-casing NAS case from the Pine store].&lt;br /&gt;
&lt;br /&gt;
Detailed '''NAS Case overview and assembly instructions''' can be found [[NASCase | here]].&lt;br /&gt;
&lt;br /&gt;
= [[ROCKPro64_Hardware_Accessory_Compatibility|Hardware Compatibility]] =&lt;br /&gt;
== Hardware Compatibility Page ==&lt;br /&gt;
Please contribute to the hardware compatibility page, which lists hardware which has been tested with the rockpro64, whether successful or not.&lt;br /&gt;
&lt;br /&gt;
* [[ROCKPro64_Hardware_Accessory_Compatibility#PCIe devices|PCIe devices]]&lt;br /&gt;
* [[ROCKPro64_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]&lt;br /&gt;
* [[ROCKPro64_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]&lt;br /&gt;
* [[ROCKPro64_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]&lt;br /&gt;
* [[ROCKPro64_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
=== Older firmware overwrites actively used memory ===&lt;br /&gt;
Some people get system freeze when:&lt;br /&gt;
* use SATA disk with ROCKPro64 PCIe card. (maybe on newer PCIe card ASM1062 vs ASM1061)&lt;br /&gt;
* or do read or write 4GB to the flash. (not using PCIe)&lt;br /&gt;
&lt;br /&gt;
If you connect the serial console you will see a Linux kernel oops: (a)synchronous external abort.&lt;br /&gt;
&lt;br /&gt;
Both issues are in fact the same software BUG. There is no hardware problem.&lt;br /&gt;
Currently, most OS do use uboot with a rockpro blob FW which use memory that Linux kernel is not aware of. &lt;br /&gt;
&lt;br /&gt;
People are currently fixing this BUG, but it may take some time.&lt;br /&gt;
In the mean time, you can fix it manually.&lt;br /&gt;
&lt;br /&gt;
The latest u-boot can boot the rockpro64 without any blobs from rockchip.&lt;br /&gt;
Install first arm-none-eabi-gcc and aarch64-linux-gnu-gcc compiler, then run the following commands:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/ARM-software/arm-trusted-firmware.git atf&lt;br /&gt;
 make -C atf CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31&lt;br /&gt;
 git clone https://gitlab.denx.de/u-boot/u-boot.git u-boot&lt;br /&gt;
 cd u-boot/&lt;br /&gt;
 git checkout v2020.01-rc5&lt;br /&gt;
 make rockpro64-rk3399_defconfig&lt;br /&gt;
 BL31=../atf/build/rk3399/release/bl31/bl31.elf make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-&lt;br /&gt;
&lt;br /&gt;
Which gives you idbloader.img and u-boot.itb.&lt;br /&gt;
Copy them to the rockpro64, and run the following: (Or put your SD card into your PC)&lt;br /&gt;
&lt;br /&gt;
 sudo dd if=idbloader.img of=/dev/mmcblk0 seek=64&lt;br /&gt;
 sudo dd if=u-boot.itb of=/dev/mmcblk0 seek=16384&lt;br /&gt;
 sync&lt;br /&gt;
&lt;br /&gt;
=== PCIe Controller Hardware Error Handling Bug ===&lt;br /&gt;
There is an issue with the rk3399 pcie controller that is currently unmitigated:&lt;br /&gt;
* [https://lore.kernel.org/linux-pci/CAMdYz...gmail.com/ LKML Original Thread]&lt;br /&gt;
* [https://lkml.org/lkml/2020/4/6/320 LKML Additional Information]&lt;br /&gt;
&lt;br /&gt;
The rk3399 pcie controller throws either a synchronous abort or a SError when a pcie device sends an unknown message.&lt;br /&gt;
&lt;br /&gt;
The error type is determined by which cpu cluster handles the message.&lt;br /&gt;
&lt;br /&gt;
=== Virtualization ===&lt;br /&gt;
The PCIe controller on the rk3399 is not behind an IOMMU.&lt;br /&gt;
This means it is not possible to safely pass through PCIe devices to a virtual machine.&lt;br /&gt;
&lt;br /&gt;
= Board Features =&lt;br /&gt;
&lt;br /&gt;
This section outlines the most important characteristics of the board and its components.&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&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;
* [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
* Cortex-A72:&lt;br /&gt;
** 1-4x Symmetrical Multiprocessing (SMP) within a single processor cluster, and multiple coherent SMP processor clusters through AMBA 5 CHI or AMBA 4 ACE technology&lt;br /&gt;
** AArch64 for 64-bit support and new architectural features&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;
** DSP &amp;amp; SIMD extensions&lt;br /&gt;
** VFPv4 floating point&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
* Cortex-A53:&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;
* Full implementation of the ARM architecture v8-A instruction set&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;
* In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
* Include VFP v3 hardware to support single and double-precision operations&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;
&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 provides 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;
* LPDDR4 RAM Memory Variants: Dual Channels 2GB and 4GB.&lt;br /&gt;
* Storage Memory: 128Mb built-in SPI Flash memory (as at August 2018 only support for USB boot).&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
* Dual VOP: one supports resolutions up to 4096x2160 and [https://www.arm.com/why-arm/technologies/graphics-technologies/arm-frame-buffer-compression AFBC]; the other supports resolutions up to 2560x1600&lt;br /&gt;
* Dual channel MIPI-DSI (4 lanes per channel)&lt;br /&gt;
* eDP 1.3 (4 lanes with 10.8Gbps) to support displays, with PSR&lt;br /&gt;
* Digital Video port up to 4Kp60&lt;br /&gt;
* DisplayPort 1.2 (4 lanes, up to 4K 60Hz)&lt;br /&gt;
* Supports Rec.2020 and conversion to Rec.709 &lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
* Digital Video output up to 4K@60Hz&lt;br /&gt;
* 4K HDR @ 30fps&lt;br /&gt;
* H.264/AVC Base/Main/High/High10 profile @ level 5.1; up to 4Kx2K @ 60fps&lt;br /&gt;
* H.265/HEVC Main/Main10 profile @ level 5.1 High-tier; up to 4Kx2K @ 60fps&lt;br /&gt;
* VP9, up to 4Kx2K @ 60fps&lt;br /&gt;
* MPEG-1, ISO/IEC 11172-2, up to 1080P @ 60fps&lt;br /&gt;
* MPEG-2, ISO/IEC 13818-2, SP@ML, MP@HL, up to 1080P @ 60fps&lt;br /&gt;
* MPEG-4, ISO/IEC 14496-2, SP@L0-3, ASP@L0-5, up to 1080P @ 60fps&lt;br /&gt;
* VC-1, SP@ML, MP@HL, AP@L0-3, up to 1080P @ 60fps&lt;br /&gt;
* MVC is supported based on H.264 or H.265, up to 1080P @ 60fps&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
* 3.5mm Phone Jack&lt;br /&gt;
* 3-pin S/PDIF header &lt;br /&gt;
* Audio via Digital Video port&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
* Dual MIPI CSI，dual ISP, maximum input resolution of 13M pixels &lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
* 10/100/1000Mbps Ethernet - Capable of pushing 941 MBit/s in iperf3&lt;br /&gt;
* Wi-Fi 802.11 ac/a/b/g/n with Bluetooth 4.01 (old version with 2x2) / Bluetooth 5 (new version with 1x1) (optional)&lt;br /&gt;
&lt;br /&gt;
== Storage ==&lt;br /&gt;
* microSD - bootable, support SDHC and SDXC, storage up to 256GB&lt;br /&gt;
* eMMC - bootable (optional eMMC Module)&lt;br /&gt;
* 1 USB3.0 Host port&lt;br /&gt;
* 1 USB type C OTG port with DP output &lt;br /&gt;
* 2 USB2.0 Dedicated Host ports&lt;br /&gt;
&lt;br /&gt;
== Expansion Ports ==&lt;br /&gt;
* 2x20 pins &amp;quot;Pi2&amp;quot; GPIO Header&lt;br /&gt;
* PCIe 2.1 (4 full-duplex lanes with 20Gbps) x4 open ended port&lt;br /&gt;
&lt;br /&gt;
=== GPIO Pins ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable plainrowheaders&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:20em;&amp;quot; | Assigned To&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Pin Nr.&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Pin Nr.&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:20em;&amp;quot; | Assigned To&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| 3.3 V&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 1&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 2&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| 5 V&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_C4 (I2C8_SDA) &amp;lt;sup style=&amp;quot;font-style:italic;color:green&amp;quot;&amp;gt;a&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 4&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| 5 V&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_C5 (I2C8_SCL) &amp;lt;sup style=&amp;quot;font-style:italic;color:green&amp;quot;&amp;gt;a&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 6&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GND&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO4_D0 (CPU_GPCLK)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 8&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO4_C4 (UART2_TX)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 10&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO4_C3 (UART2_RX)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_C6&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 12&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO3_D0 (I2S0_CLK)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_C2&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 14&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GND&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_A1&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 16&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO1_A4&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| 3.3 V&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 18&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO4_C5 [SPDIF]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| [UART4_TX] GPIO1_B0 (SPI1_TXD)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 19&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 20&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GND&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| [UART4_RX] GPIO1_A7 (SPI1_RXD)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 21&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 22&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO4_D1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_B1 (SPI1_CLK)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 23&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 24&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO1_B2 (SPI1_CSN0)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 25&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 26&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO1_B5&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_B3 (I2C4_SDA)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 27&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 28&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO1_B4 (I2C4_SCL)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO4_D3&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 29&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 30&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GND&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO4_D4&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 31&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 32&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO3_D4 (I2S0_SDI1SDO3)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO3_D5 (I2S0_SDI2SDO2)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 33&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 34&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GND&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO3_D2 (I2S0_LRCKTX)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 35&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 36&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO3_D6 (I2S0_SDI3SDO1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO3_D1 (I2S0_LRCKRX)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 37&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 38&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO3_D3 (I2S0_SDI0)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 39&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 40&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO3_D7 (I2S0_SDO0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Notes ====&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-alpha&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;pulled high to 3.3V through 2.2kOhm resistor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Linux /dev/gpiochip Assignments ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable plainrowheaders&amp;quot; style=&amp;quot;float: right; margin: 0 0 0 1ch; line-height: 1.4; text-align: center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: .9em;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Pin Nr.&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Line&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 1 || 20&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 1 || 21 &lt;br /&gt;
|-&lt;br /&gt;
| 7 || 4 || 24 &lt;br /&gt;
|-&lt;br /&gt;
| 8 || 4 || 20 &lt;br /&gt;
|-&lt;br /&gt;
| 10 || 4 || 19 &lt;br /&gt;
|-&lt;br /&gt;
| 11 || 1 || 22 &lt;br /&gt;
|-&lt;br /&gt;
| 12 || 3 || 24 &lt;br /&gt;
|-&lt;br /&gt;
| 13 || 1 || 18 &lt;br /&gt;
|-&lt;br /&gt;
| 15 || 1 || 1 &lt;br /&gt;
|-&lt;br /&gt;
| 16 || 1 || 4 &lt;br /&gt;
|-&lt;br /&gt;
| 18 || 4 || 21 &lt;br /&gt;
|-&lt;br /&gt;
| 19 || 1 || 8 &lt;br /&gt;
|-&lt;br /&gt;
| 21 || 1 || 7 &lt;br /&gt;
|-&lt;br /&gt;
| 22 || 4 || 25 &lt;br /&gt;
|-&lt;br /&gt;
| 23 || 1 || 9 &lt;br /&gt;
|-&lt;br /&gt;
| 24 || 1 || 10 &lt;br /&gt;
|-&lt;br /&gt;
| 26 || 1 || 13 &lt;br /&gt;
|-&lt;br /&gt;
| 27 || 1 || 11 &lt;br /&gt;
|-&lt;br /&gt;
| 28 || 1 || 12 &lt;br /&gt;
|-&lt;br /&gt;
| 29 || 4 || 27 &lt;br /&gt;
|-&lt;br /&gt;
| 31 || 4 || 28 &lt;br /&gt;
|-&lt;br /&gt;
| 32 || 3 || 28 &lt;br /&gt;
|-&lt;br /&gt;
| 33 || 3 || 29 &lt;br /&gt;
|-&lt;br /&gt;
| 35 || 3 || 26 &lt;br /&gt;
|-&lt;br /&gt;
| 36 || 3 || 30 &lt;br /&gt;
|-&lt;br /&gt;
| 37 || 3 || 25 &lt;br /&gt;
|-&lt;br /&gt;
| 38 || 3 || 27 &lt;br /&gt;
|-&lt;br /&gt;
| 40 || 3 || 31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
On Linux, using the new &amp;lt;code&amp;gt;/dev/gpiochip&amp;lt;/code&amp;gt; API,&lt;br /&gt;
the &amp;lt;code&amp;gt;''n''&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;GPIO''n''_''XX''&amp;lt;/code&amp;gt; appears to correlate to the number of the &amp;lt;code&amp;gt;/dev/gpiochip''n''&amp;lt;/code&amp;gt;,&lt;br /&gt;
and the &amp;lt;code&amp;gt;''XX''&amp;lt;/code&amp;gt; to the definition &amp;lt;code&amp;gt;RK_P''XX''&amp;lt;/code&amp;gt; of lines in &amp;lt;code&amp;gt;include/dt-bindings/pinctrl/rockchip.h&amp;lt;/code&amp;gt; of the Linux kernel source.&lt;br /&gt;
Having these named in the dts would be nice.&lt;br /&gt;
&lt;br /&gt;
You can use [https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/ libgpiod] to drive them,&lt;br /&gt;
and test them with the included tools (&amp;lt;code&amp;gt;gpioinfo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gpioset&amp;lt;/code&amp;gt;, ...)&lt;br /&gt;
&lt;br /&gt;
For example, &amp;lt;code&amp;gt;gpioset 4 25=1&amp;lt;/code&amp;gt; (run as root) would turn pin 22 on.&lt;br /&gt;
Do beware that poking the wrong GPIO pin can lock up your system.&lt;br /&gt;
&lt;br /&gt;
The conversion table at right is also available as a [https://gist.github.com/CounterPillow/fe066655bf2d929148fe6eb3f15b1dd5 C header file].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Working Features ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;overflow: auto&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feature/Option&lt;br /&gt;
! Android&lt;br /&gt;
! Android Version&lt;br /&gt;
! Linux&lt;br /&gt;
! Linux Version&lt;br /&gt;
! Test/Verify Steps&lt;br /&gt;
! Notes&lt;br /&gt;
! Product Link&lt;br /&gt;
|-&lt;br /&gt;
| PINE64 LCD Touchscreen (Screen/Touch)&lt;br /&gt;
| Yes/Yes&lt;br /&gt;
| &lt;br /&gt;
| No/No&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Maybe [https://github.com/avafinger/pine64-touchscreen this] will help get this working?&lt;br /&gt;
| [https://pine64.com/?product=7-lcd-touch-screen-panel 7″ LCD Touch Screen Panel]&lt;br /&gt;
|-&lt;br /&gt;
| Wireless&lt;br /&gt;
&amp;lt;small&amp;gt;ROCKPro64 2×2 MIMO Dual Band WiFi 802.11AC / Bluetooth 4.2 Module (old)&lt;br /&gt;
ROCKPro64 1x1 Dual Band WiFi 802.11AC / Bluetooth 5.0 Module (new)&amp;lt;/small&amp;gt;&lt;br /&gt;
| Yes/Yes&lt;br /&gt;
| &lt;br /&gt;
| No/No&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| In 0.7.9 Ayufan linux releases this is deliberately disabled for stability reasons.&lt;br /&gt;
| [https://store.pine64.org/product/rockpro64-1x1-dual-band-wifi-802-11acbluetooth-5-0-module ROCKPro64 1x1 Dual Band WiFi 802.11AC / Bluetooth 5.0 Module]&lt;br /&gt;
|-&lt;br /&gt;
| USB OTG&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| use this script: [https://github.com/ayufan-rock64/linux-package/blob/master/root-rockpro64/usr/local/sbin/rockpro64_enable_otg.sh rockpro64_enable_otg.sh], then configure ip on usb0: ifconfig usb0 169.169.222.222 and run iperf, you should likely see about 200-300MB/s&lt;br /&gt;
| [[ROCKPro64_Main_Page#OTG_mode]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| USB Mass Storage USB2/USB3&lt;br /&gt;
| Yes/yes&lt;br /&gt;
| &lt;br /&gt;
| Yes/Yes&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Dedicated Fan Power (pwm1)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| You might want to use [https://github.com/tuxd3v/ats ATS].&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO pins (raw or via RPI python scripts)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Check out [https://forum.frank-mankel.org/topic/292/rockpro64-rp64-gpio/2 what Frank Mankel has done].&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| MIPI CSI Camera 1 and 2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| eDP&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| HDMI Audio&lt;br /&gt;
| Yes&lt;br /&gt;
| 7.1.2&lt;br /&gt;
| Yes&lt;br /&gt;
| 4.4.132-1083 - 4.4.138-1100&lt;br /&gt;
| &lt;br /&gt;
| Stopped working in 4.4.154.1105. Ayufan is looking into it.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 3.5mm Audio/Mic&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| USB-C Host&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Display via USB-C&lt;br /&gt;
| Yes&lt;br /&gt;
| 7.x and 8.x&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| eDP via USB-C per tillim. No sound on Android 7.x. Sound does work on Android 8.x&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ROCKPro64 PLAYBOX ENCLOSURE&lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| Ventilation does not exist, thus requires manual changes to add venting. Case should be modified to account power adapter not being centered in cut holes. Opening the case once close without modifying it first is near impossible without special tools. Graphene heatsink is included and does well for Linux but not Android.&lt;br /&gt;
| https://pine64.com/?product=rockpro64-playbox-enclosure&lt;br /&gt;
|-&lt;br /&gt;
| ROCKPro64 30mm Tall Profile Heatsink&lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| https://store.pine64.org/?product=rockpro64-heatsink&lt;br /&gt;
|-&lt;br /&gt;
| ROCKPro64 20mm Mid Profile Heatsink&lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| https://pine64.com/?product=rockpro64-20mm-mid-profile-heatsink&lt;br /&gt;
|-&lt;br /&gt;
| Fan For ROCKPro64 20mm Mid Profile Heatsink&lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| You might want to use [https://github.com/tuxd3v/fanctl fanctl] to control the fan while keeping your CPU cool&lt;br /&gt;
| https://pine64.com/?product=fan-for-rockpro64-20mm-mid-profile-heatsink&lt;br /&gt;
|-&lt;br /&gt;
| HDMI output 4K@60Hz&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| PCIe 2.1&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Real Time Clock (RTC) battery backup&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| https://store.pine64.org/?product=rtc-backup-battery-cr-battery&lt;br /&gt;
|-&lt;br /&gt;
| Boot from USB/PXE&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RockChip themselves have tables of supported features at 4.4 and mainline kernel versions [http://opensource.rock-chips.com/wiki_Status_Matrix in their wiki here].&lt;br /&gt;
&lt;br /&gt;
= Board Information, Schematics and Certifications =&lt;br /&gt;
* Board Dimensions: 133mm x 80mm x 19mm&lt;br /&gt;
* Input Power: +12V @3A/5A with 5.5mm/2.1mm Type M Barrel type DC connector&lt;br /&gt;
* [https://files.pine64.org/doc/rockpro64/rockpro64_v21-SCH.pdf ROCKPro64 Schematic v2.1 (Second Batch Production Release)]&lt;br /&gt;
** [https://files.pine64.org/doc/rockpro64/RockPro64_v21_Boardoutline-top.dxf ROCKPro64 v2.1 Board Top Outline in AutoCad DXF format]&lt;br /&gt;
** [https://files.pine64.org/doc/rockpro64/RockPro64_v21_Boardoutline-bottom.dxf ROCKPro64 v2.1 Board Bottom Outline in AutoCad DXF format]&lt;br /&gt;
** [https://files.pine64.org/doc/rockpro64/RockPro64_v21_Boardoutline-top.pdf ROCKPro64 v2.1 Board Top Outline in PDF format]&lt;br /&gt;
** [https://files.pine64.org/doc/rockpro64/RockPro64_v21_Boardoutline-bottom.pdf ROCKPro64 v2.1 Board Bottom Outline in PDF format]&lt;br /&gt;
* [https://files.pine64.org/doc/rockpro64/rockpro64_v20-SCH.pdf ROCKPro64 Schematic v2.0 (Pilot Production Release)]&lt;br /&gt;
** [https://files.pine64.org/doc/rockpro64/ROCKPRo64%20Engineering%20Change%20Notice%2020180628RP01.pdf Engineering Change Notice for v2.0 to turn on 3.3V power on PCIe]&lt;br /&gt;
* [https://files.pine64.org/doc/rockpro64/rockpro64_wifi_ap6359SA.pdf ROCKPro64 AP6359SA Wifi/BT Schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rockpro64/Rockpro64%20Pi-2%20Connector%20ver0.2.png ROCKPro64 Pi-2 Pin assignment and definition]&lt;br /&gt;
* [https://files.pine64.org/doc/rockpro64/RockPro-3D-model.zip ROCKPro64 3D model]&lt;br /&gt;
&lt;br /&gt;
* Certifications:&lt;br /&gt;
** Disclaimer: Please note that PINE64 SBC is not a &amp;quot;final&amp;quot; product and in general certification is not necessary. However, PINE64 still submit the SBC for FCC, CE, and ROHS certification and obtain the certificates to proof that SBC board is capable on passing the testing. Please note a final commercial product needs to performs its owns testing and obtains its owns certificates.&lt;br /&gt;
** [https://files.pine64.org/doc/cert/ROCKPro64%20FCC%20SDOC%20Certificate.pdf ROCKPro64 FCC Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/ROCKPro64%20CE-EMC%20Certificate.pdf ROCKPro64 CE Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/ROCKPro64%20ROHS%20%20SEC180529404001E%20Report.pdf ROCKPro64 RoHS Report]&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;
** [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;
** [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]&lt;br /&gt;
* LPDDR4 (200 Balls) SDRAM:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rockpro64/SM512M32Z01MD2BNP(200BALL).pdf Micron LPDDR4 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/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;
* Heatsink related info:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rockpro64/Rockpro%20Passive%20Heatsink%20Spec.jpg ROCKPro64 Passive Heatsink Dimension Drawing]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rockpro64/LMS-TC150%20Silicon%20Thermal%20Pad.pdf Heatsink Thermal Pad Specification]&lt;br /&gt;
* Wireless related info:&lt;br /&gt;
** AMPAK AP6256 11AC WiFi + Bluetooth5.0 Datasheet [https://files.pine64.org/doc/datasheet/rockpro64/AP6256%20datasheet_V1.3_12202017.pdf (v. 1.3)] [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf (v. 1.7)]&lt;br /&gt;
* Ethernet related info:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rock64/RTL8211F-CG-Realtek.pdf Realtek RTL8211F 10/100/1000M Ethernet Transceiver Datasheet]&lt;br /&gt;
* Peripheral related info:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rockpro64/ASM1061_Data%20Sheet_R1_8.pdf asmedia ASM1061 PCIe SATA 2.0 Datasheet]&lt;br /&gt;
* Remote control button mapping&lt;br /&gt;
** [https://files.pine64.org/doc/Pine%20A64%20Schematic/remote-wit-logo.jpg Official Remote Control for the PINE64 Button Mapping]&lt;br /&gt;
* Audio Codec (ES8316) (Under Board)&lt;br /&gt;
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]&lt;br /&gt;
* PWM controlled fan, SPDIF, and RTC Battery Backup headers&lt;br /&gt;
** [https://www.jst-mfg.com/product/pdf/eng/ePH.pdf JST-PH connector]&lt;br /&gt;
&lt;br /&gt;
= Useful Articles and Blog Posts = &lt;br /&gt;
&lt;br /&gt;
If you want to dive in to the ecosystem, here's a short list of various articles and blog posts that can help you set up your soft- or hardware development environment.&lt;br /&gt;
&lt;br /&gt;
* [https://stikonas.eu/wordpress/2019/09/15/blobless-boot-with-rockpro64/ Blobless boot with RockPro64 by Andrius Štikonas]&lt;br /&gt;
&lt;br /&gt;
* [https://marcin.juszkiewicz.com.pl/2020/06/17/ebbr-on-rockpro64/ EBBR on RockPro64 by Marcin Juszkiewicz]&lt;br /&gt;
&lt;br /&gt;
* [[ROCKPro64 Device Tree Overlays on Mainline]]&lt;br /&gt;
&lt;br /&gt;
= The NAS Case for the ROCKPro64 =&lt;br /&gt;
[[file:NASCaseMain.png|thumb|right|Front View of the PINE64 NAS Case for the ROCKPro64]]&lt;br /&gt;
Please [[NASCase | follow this this link]] for '''detailed instructions on how to assemble the ROCKPro64 NAS Case'''.&lt;br /&gt;
&lt;br /&gt;
The NAS Case instructions also contains detailed information about:&lt;br /&gt;
*what the NAS Case ships with&lt;br /&gt;
*What additional things you need to purchase for your NAS Case&lt;br /&gt;
*What optional things you can consider purchasing for your NAS build&lt;br /&gt;
*What OS Image we recommend you use for your NAS build&lt;br /&gt;
*IO accessibility after installing the ROCKPro64 into the NAS Case&lt;br /&gt;
*[https://files.pine64.org/doc/rockpro64/ROCKPro64%20NAS%20Case%20Exploded%20View%20Diagram.pdf NAS Case Exploded View]&lt;br /&gt;
*[https://files.pine64.org/doc/rockpro64/NAS%20Case%20Drawing.dwg NAS Case Drawing]&lt;br /&gt;
&lt;br /&gt;
= 3D printable ITX mounting brackets =&lt;br /&gt;
[[file:ITX-Bracket-Mounted.jpg|300px|thumb|right|A Quartz64-A mounted in an ITX case using 3D printed brackets]]&lt;br /&gt;
&lt;br /&gt;
Allows mounting a ROCKPro64-A or Quartz64-A board inside a regular PC case that conforms to the ITX standard, using 3D printed brackets:&lt;br /&gt;
&lt;br /&gt;
* AMF/STL/STEP files plus the original FreeCAD file used to create the models [[File:RP64-A_Q64-A_to_ITX_mounting_brackets.zip]]&lt;br /&gt;
* Make sure to flip the two brackets by 180 degrees on one of the horizontal axes (X/Y) in your slicer of choice before printing to avoid unnecessary supports&lt;br /&gt;
* To allow enough clearance between the board and the bracket you either need to print four copies of the washer model or add nut(s) between the board and the bracket&lt;br /&gt;
* If using nuts for the clearance between the board and the brackets, make sure it creates at least 3.2mm of spacing in between&lt;br /&gt;
* Depending on the accuracy and calibration of a 3D printer, slight deviation can occur and you likely need to manually widen some of the holes to allow screws to fit&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [https://pine64.com/?post_type=product PINE64 shop]&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;br /&gt;
* ExplainingComputers have a video review [https://www.youtube.com/watch?v=CeoNHGFN_30 of the RockPro64 here, including linux first boot.]&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== No Video or GPU Acceleration on Debian ==&lt;br /&gt;
&lt;br /&gt;
If you can log in through serial but don't get any video or GPU acceleration on Debian, this is likely due to Debian's decision to compile the devfreq governors as loadable modules but not including them early enough for panfrost to be able to be provided with one of them.&lt;br /&gt;
&lt;br /&gt;
The usual sign of this being the case is the following line in your log: &amp;lt;code&amp;gt;[drm:panfrost_devfreq_init [panfrost]] *ERROR* Couldn't initialize GPU devfreq&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Log in to your ROCKPro64, and run the following:&lt;br /&gt;
&lt;br /&gt;
 sudo -i&lt;br /&gt;
 echo governor_simpleondemand &amp;gt;&amp;gt; /etc/initramfs-tools/modules &amp;amp;&amp;amp; update-initramfs -u -k $(uname -r)&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Then, reboot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:ROCKPro64]] [[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>PineCone</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_(Pro)_Keyboard&amp;diff=13407</id>
		<title>PinePhone (Pro) Keyboard</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_(Pro)_Keyboard&amp;diff=13407"/>
		<updated>2022-07-30T08:28:58Z</updated>

		<summary type="html">&lt;p&gt;PineCone: Updated the kernel driver names&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PP_KB_Front-1024x576.jpg|400px|thumb|right|Picture of the PinePhone (Pro) Keyboard]]&lt;br /&gt;
&lt;br /&gt;
The '''PinePhone (Pro) Keyboard Case''' is a case compatible with the [[PinePhone]] and [[PinePhone Pro]], adding a keyboard functionality to the phone. It features a clam-shell design and uses the pogo pins located on the smartphone’s midsection and attaches by replacing the default back cover. This add-on effectively turns the PinePhone (Pro) into a PDA with an in-built LTE modem.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
[[File:Ppkb_description.png|thumb|upright=1.2|&lt;br /&gt;
① Contact pads&amp;lt;br&amp;gt;&lt;br /&gt;
② Battery switch&amp;lt;br&amp;gt;&lt;br /&gt;
③ USB-C connector]]&lt;br /&gt;
&lt;br /&gt;
The keyboard case works with both the PinePhone and PinePhone Pro and features a clam-shell design. It uses pogo pins located on the phone’s midsection and attaches by replacing the default back cover. When folded, the phone’s screen and the keyboard rest securely against each other. The hinge features a 180° design, which not only allows for two-hand typing on a surface but also for comfortable thumb-typing when fully extended. The etched keycaps can be easily relocated for alternate layouts such as AZERTY or QWERTZ. The keyboard case runs an [https://xff.cz/git/pinephone-keyboard/ open firmware], which means that anyone with the know-how can alter existing functions or add new ones. The bottom (keyboard) and top (phone) sections of the assembly are well-balanced thanks to the large, 6000mAh, internal battery capable of charging the PinePhone (Pro) during operation. The internal battery effectively triples the phone’s battery life. The internal keyboard battery can be manually toggled on/off and the keyboard’s battery charge level can be read in the supported OSes; the keyboard remains functional with the battery fully depleted.&lt;br /&gt;
&lt;br /&gt;
You do not lose access to the PinePhone (Pro)’s USB-C port, speaker, microphone, or any external features, such as volume and lock buttons, with the keyboard attached. There is also a cut-out for the camera, torch, and headphone jack. The USB-C port on the keyboard is capable of powering both the keyboard and PinePhone (Pro) simultaneously. &amp;lt;s&amp;gt;This means that you can plug in a USB mouse, a USB-C dongle, or some other peripheral while the phone and keyboard’s internal battery charge&amp;lt;/s&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{warning|1=Do NOT plug any device into the phone USB-C port while the keyboard is attached. Doing so may result in damage or loss of the keyboard charging functionality. Technical details regarding the issue can be found in [https://www.pine64.org/2022/05/31/may-update-worth-the-wait/ this] blog post. Please see the [[PinePhone (Pro) Keyboard#Safety|safety]] section.}}&lt;br /&gt;
&lt;br /&gt;
Please keep in mind that the keyboard case transforms the PinePhone (Pro) into a PDA, which means that taking calls will likely prove awkward without a wired or wireless headset connected (try speakerphone button if available).&lt;br /&gt;
&lt;br /&gt;
=== Mounting the keyboard ===&lt;br /&gt;
Power off your PinePhone and remove the back case. To remove the back case of the PinePhone use your fingernail or another soft object to pry up the back case. A notch to easily remove the cover is located at the bottom left of the PinePhone with the backcover facing the user. &lt;br /&gt;
&lt;br /&gt;
Open and place the keyboard flat on a hard surface with the hinge fully extended. Proceed to insert the PinePhone into the keyboard at an angle of approx. 15 degrees. Make sure that the PinePhone’s pogo pins and the corresponding pads ① on the keyboard are aligned. The leading edge with volume and power buttons should make contact first. Firmly press the PinePhone into place. Multiple clicks should be heard as the two snap into place. Pay special attention to the plastic pin below the camera hole. Firmly push from the rear, below the camera hole, to click it into position. Failing to do so may cause an insufficient pin contact and prevent the case from charging the phone.&lt;br /&gt;
&lt;br /&gt;
The PinePhone can be removed from the keyboard easily using a notch similar to the one found on the back case. The notch is located at the bottom of the leading edge with the power and volume buttons.&lt;br /&gt;
&lt;br /&gt;
=== Operation ===&lt;br /&gt;
The keyboard will function automatically once a PinePhone running a compatible operating system is mounted. For alterations to physical layout and firmware see the relevant sections respectively.&lt;br /&gt;
&lt;br /&gt;
The keyboard features an in-built 6000mAh battery. The battery can be turned ON/OFF using the button on the right leading edge of the keyboard ②. A short button press activates the internal battery while a long (15 seconds) press or double press deactivates it. Compatible operating systems display both the PinePhone’s and keyboard’s battery status.&lt;br /&gt;
&lt;br /&gt;
You should charge the PinePhone and the keyboard &amp;lt;u&amp;gt;only&amp;lt;/u&amp;gt; using the USB-C ③ port on the keyboard. The keyboard’s USB-C port cannot be used for peripherals. The PinePhone’s USB-C port remains operational when mounted in the keyboard and can be used for data and peripherals.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
There are multiple possible hardware issues users could face. It is recommend to check the following most common hardware issues and their solutions and workarounds.&lt;br /&gt;
&lt;br /&gt;
==== Pogo pins not making proper contact ====&lt;br /&gt;
Under certain scenarios the keyboard's contacts are not making proper contact with the pogo pins of the phone. To address the issue:&lt;br /&gt;
&lt;br /&gt;
* Power down the phone!&lt;br /&gt;
* Apply '''slight''' pressure in the upper mid of the PinePhone's backside until the plastic holder pin towards the upper middle of the keyboard cover, until an audible click can be heard.&lt;br /&gt;
* Make sure the contacts and pogo pins are clean and the pogo pins can be slightly pressed individually.&lt;br /&gt;
* If the above does not work, a shim under the keyboard's contacts might be required, as explained [https://xnux.eu/pinephone-keyboard/faq.html#ts FAQ troubleshooting section]. See also this [https://freiburg.social/system/media_attachments/files/107/684/243/421/870/279/original/a5e9c68ff3510ec8.jpeg photo of where to place the shim], or [https://www.youtube.com/watch?v=4ixPjz6SPIA this video].&lt;br /&gt;
&lt;br /&gt;
==== Top row is less responsive ====&lt;br /&gt;
The keys of the top row may be less responsive. The issue can be worked around by adding inserts to the underside of the top row key caps to decrease the travel distance. More details regarding the workaround can be found in the corresponding section of the FAQ page of the developer megi: https://xnux.eu/pinephone-keyboard/faq.html#ts&lt;br /&gt;
&lt;br /&gt;
==== Software issues ====&lt;br /&gt;
For any software issue please see the [[PinePhone (Pro) Keyboard#Software support|Software support section]] and the [[PinePhone (Pro) Keyboard#Frequently asked questions|FAQ section]].&lt;br /&gt;
&lt;br /&gt;
== Safety ==&lt;br /&gt;
&lt;br /&gt;
{{warning|1=Do NOT plug any device into the phone USB-C port while the keyboard is attached. Doing so may result in damage or loss of the keyboard charging functionality. Technical details regarding the issue can be found in [https://www.pine64.org/2022/05/31/may-update-worth-the-wait/ this] blog post. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Due to this limitation users may want block the USB-C port of the phone while the keyboard is connected to prevent connecting any USB device to the phone under any circumstances. See for example [https://fosstodon.org/web/@silverhax/107783280758831068 here].}}&lt;br /&gt;
&lt;br /&gt;
'''Please note:''' Only use mild isopropyl alcohol when wiping down the clamshell of the device. Stronger solutions may partially strip the coatings. Do not lube the keyboard with GPL 205G0 switch grease, it can cause problems with the key responsiveness and tactility.&lt;br /&gt;
&lt;br /&gt;
== Software support ==&lt;br /&gt;
&lt;br /&gt;
=== Kernel-space driver ===&lt;br /&gt;
&lt;br /&gt;
Kernel driver implementation from Samuel Holland: CONFIG_IP5XXX_POWER (module ip5xxx_power) and CONFIG_KEYBOARD_PINEPHONE (module pinephone_keyboard) https://github.com/smaeul/linux/commits/wip/pp-keyboard&lt;br /&gt;
&lt;br /&gt;
Note: If you've upgraded to &amp;gt;=5.18, don't forget to upgrade the dtb as kb151 now appears to be a stub.&lt;br /&gt;
&lt;br /&gt;
=== User-space driver ===&lt;br /&gt;
The user-space driver is available [https://xff.cz/git/pinephone-keyboard/ here]. Use git to clone the repository. You're going to need sdcc 4.1+ installed to build it, so use your package manager to install that first. Next you'll cd into the directory you cloned pinephone-keyboard and use the command &amp;quot;make&amp;quot; to build. After the build is completed, cd into the build directory and you'll notice several new files starting with ppkb-. To use your keyboard case, you'll want to run the following command: &amp;lt;code&amp;gt;sudo ./ppkb-i2c-inputd&amp;lt;/code&amp;gt; &amp;lt;!-- this isn't running as a daemon, if anyone knows how to make it do so please edit that info in! --&amp;gt; Open something you can type into like a new terminal window or text editor and you should now be able to use the keyboard case! &lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
Virtual keyboards such as &amp;lt;i&amp;gt;squeekboard&amp;lt;/i&amp;gt; are opening whenever a text field is selected.&lt;br /&gt;
&lt;br /&gt;
To disable this behavior under Linux running '''Phosh''' you can change the corresponding settings under ''Settings'' &amp;gt; ''Accessibility'' &amp;gt; ''Screen Keyboard'' (see [https://forum.pine64.org/showthread.php?tid=15789&amp;amp;pid=105152 here]). The virtual keyboard can also be disabled temporarily for one session using: &lt;br /&gt;
&lt;br /&gt;
* To temporarily disable the virtual keyboard: &amp;lt;code&amp;gt;gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled false&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To temporarily enable the virtual keyboard: &amp;lt;code&amp;gt;gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard needs to be activated before removing the keyboard case again.&lt;br /&gt;
&lt;br /&gt;
Under '''Plasma Mobile''' the keyboard can be disabled via a widget, see [https://forum.pine64.org/showthread.php?tid=14789&amp;amp;pid=105077#pid105077 here].&lt;br /&gt;
&lt;br /&gt;
In '''Sxmo''' disabling the keyboard is not required, as the keyboard will only shown when the corresponding hotkey button is pressed.&lt;br /&gt;
&lt;br /&gt;
== Keyboard layout ==&lt;br /&gt;
The keyboard features a default layout (pictured below) created and agreed upon by the community. The keyboard layout can be altered using software as well as by physically repositioning keycaps. All keycaps, with the &amp;lt;u&amp;gt;exception&amp;lt;/u&amp;gt; of space and return keys, can be easily and safely relocated for alternative layouts corresponding to software settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;nolines&amp;quot; widths=&amp;quot;500px&amp;quot; heights=&amp;quot;400px&amp;quot;&amp;gt;&lt;br /&gt;
Image:Ppkb_layout2.png|The keyboard layout how the keys were originally intended&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Keyboard firmware ==&lt;br /&gt;
PinePhone’s keyboard firmware was developed independently by Ondřej Jirman as a free-of-charge contribution to PINE64. The firmware source code is freely and publicly available and you can modify it, and the supporting utilities, using common FOSS tools.  &lt;br /&gt;
&lt;br /&gt;
=== Firmware and supporting utilities ===&lt;br /&gt;
The design of the firmware allows the keys, modifier keys, and their combinations to be handled in virtually unlimited ways, without a need to flash a customized version of the firmware. Mapping of keys is defined at runtime, using the supporting utilities, and is not hardcoded in the firmware. Different keyboard layouts can be loaded dynamically to support various use cases.&lt;br /&gt;
&lt;br /&gt;
The repository that contains the source code of the firmware, supporting utilities and associated documentation is located at https://xnux.eu/pinephone-keyboard/.&lt;br /&gt;
&lt;br /&gt;
You are welcome to contribute patches and improvements to the firmware and the supporting utilities. A summary of firmware development history is available at https://xnux.eu/log/ alongside other development updates from the firmware author.&lt;br /&gt;
&lt;br /&gt;
Much time and effort went into the development of this firmware. If you wish to send a token of appreciation or support the development efforts in any way, please consider making a donation to the author via one of the methods listed at the bottom of this web page: https://xnux.eu/contribute.html.&lt;br /&gt;
&lt;br /&gt;
=== Firmware License ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Copyright (C) 2021 Ondřej Jirman &amp;lt;megi@xff.cz&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program is free software: you can redistribute it and/or modify&lt;br /&gt;
it under the terms of the GNU General Public License as published by&lt;br /&gt;
the Free Software Foundation, with either version 3 of the License or&lt;br /&gt;
(at your discretion) any later version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,&lt;br /&gt;
but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &lt;br /&gt;
See GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
GNU General Public License http://www.gnu.org/licenses/&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Key hardware specifications:&lt;br /&gt;
* Dimensions (closed): 161 x 95 x 25mm&lt;br /&gt;
* Weights (without / with PinePhone mounted): ~ 191 / ~391 grams&lt;br /&gt;
* Number of keys: 54&lt;br /&gt;
* Number of rows: 5&lt;br /&gt;
** Keyboard IC: Keyboard IC: EM85F684A 8-bit microcontroller with 256 bytes RAM, 2048/ bytes XRAM; 16kB for user’s own firmware&lt;br /&gt;
* Battery capacity: 6000mAh (22.2Wh 3.7V)&lt;br /&gt;
* Charger input: 5V, 3A (15W)&lt;br /&gt;
** Charging and battery IC chip: IP5209 power management IC with charge indicate controller and boost converter&lt;br /&gt;
&lt;br /&gt;
== Frequently asked questions ==&lt;br /&gt;
{{Under construction}}&lt;br /&gt;
&lt;br /&gt;
''' What is the keyboard driver situation? '''&amp;lt;br&amp;gt;&lt;br /&gt;
See https://xnux.eu/pinephone-keyboard/faq.html#drivers&lt;br /&gt;
&lt;br /&gt;
''' Are keyboard drivers included in my distribution? '''&amp;lt;br&amp;gt;&lt;br /&gt;
See https://xnux.eu/pinephone-keyboard/faq.html#distros&lt;br /&gt;
&lt;br /&gt;
''' What's the status of the existing software for the keyboard? '''&amp;lt;br&amp;gt;&lt;br /&gt;
See https://xnux.eu/pinephone-keyboard/faq.html#sw-status&lt;br /&gt;
&lt;br /&gt;
''' My keyboard doesn't work (well)! '''&amp;lt;br&amp;gt;&lt;br /&gt;
See https://xnux.eu/pinephone-keyboard/faq.html#faq-ts&lt;br /&gt;
&lt;br /&gt;
''' How does charging work? '''&amp;lt;br&amp;gt;&lt;br /&gt;
See https://xnux.eu/pinephone-keyboard/faq.html#charging&lt;br /&gt;
&lt;br /&gt;
''' What charger is best for the keyboard? '''&amp;lt;br&amp;gt;&lt;br /&gt;
See https://xnux.eu/pinephone-keyboard/faq.html#chargers&lt;br /&gt;
&lt;br /&gt;
''' How safe is the charger circuit in the keyboard? '''&amp;lt;br&amp;gt;&lt;br /&gt;
See https://xnux.eu/pinephone-keyboard/faq.html#safety&lt;br /&gt;
&lt;br /&gt;
''' Keyboard doesn't react to any key presses '''&amp;lt;br&amp;gt;&lt;br /&gt;
See https://xnux.eu/pinephone-keyboard/faq.html#ts&lt;br /&gt;
&lt;br /&gt;
''' Keyboard works but top row of keys is less responsive '''&amp;lt;br&amp;gt;&lt;br /&gt;
See https://xnux.eu/pinephone-keyboard/faq.html#ts&lt;br /&gt;
&lt;br /&gt;
''' Phone is not charging from the keyboard '''&amp;lt;br&amp;gt;&lt;br /&gt;
See https://xnux.eu/pinephone-keyboard/faq.html#ts&lt;br /&gt;
&lt;br /&gt;
''' Phone is charging slowly from the keyboard battery '''&amp;lt;br&amp;gt;&lt;br /&gt;
See https://xnux.eu/pinephone-keyboard/faq.html#ts&lt;br /&gt;
and https://forum.pine64.org/showthread.php?tid=16979&amp;amp;pid=111414#pid111414#ts&lt;br /&gt;
&lt;br /&gt;
''' Can you open the keyboard and add extra functionality? '''&amp;lt;br&amp;gt;&lt;br /&gt;
It is possible to do so, however the production units can be extremely difficult to open. Do not attempt to open the keyboard if you do not want to risk cosmetic damage (scaring and scratching of the plastic).&lt;br /&gt;
&lt;br /&gt;
''' How can I rotate the screen display in tty ? '''&amp;lt;br&amp;gt;&lt;br /&gt;
Under Linux this can be done using the command &amp;lt;code&amp;gt;echo 1 | sudo tee /sys/class/graphics/fbcon/rotate&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Top row stopped displaying symbols! (kernel &amp;gt; 5.17) ''' &amp;lt;br&amp;gt;&lt;br /&gt;
* For Phosh (at the example of Mobian) see: https://wiki.mobian-project.org/doku.php?id=ppaccessories&lt;br /&gt;
* For TTY and SWMO see: https://codeberg.org/HazardChem/PinePhone_Keyboard&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/USER%20MANUAL-KEYBOARD-V2-EN-DE-FR-ES.pdf PinePhone Keyboard 4 language user manual ver 2.0 in PDF format]&lt;br /&gt;
* [https://files.pine64.org/doc/PinePhone/USER%20MANUAL-KEYBOARD-V2-EN-DE-FR-ES.odt PinePhone Keyboard 4 language user manual ver 2.0 in ODT format]&lt;br /&gt;
&lt;br /&gt;
== Schematics, Datasheet and certifications ==&lt;br /&gt;
&lt;br /&gt;
* Schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinePhone/PinePhone%20Keyboard%20Schematic%20V1.0-20211009.pdf PinePhone Keyboard Schematic ver 1.0 20211009]&lt;br /&gt;
&lt;br /&gt;
* Datasheet:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/EM85F684A.pdf PEM85F684A USB Microcontroller Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/IP5209.pdf IP5209 Power Bank SOC Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinephone/txs0104e.pdf TXS0104E 4-Bit Bidirectional Voltage-Level Translator Datasheet]&lt;br /&gt;
&lt;br /&gt;
* Certifications:&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20Keyboard%20FCC%20Certificate-S21111804102001.pdf PinePhone Keyboard FCC Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/PinePhone%20Keyboard%20CE%20Certificate-S21111804101001.pdf PinePhone Keyboard CE RED Certificate]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://www.pine64.org/2022/01/11/pinephone-pro-explorer-edition-pre-orders-open-january-11/ Pre-order announcement]&lt;br /&gt;
* FAQ of the developer megous: https://xnux.eu/pinephone-keyboard/faq.html&lt;/div&gt;</summary>
		<author><name>PineCone</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_FAQ&amp;diff=11906</id>
		<title>PinePhone FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_FAQ&amp;diff=11906"/>
		<updated>2021-12-03T06:09:50Z</updated>

		<summary type="html">&lt;p&gt;PineCone: Typo fix.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of frequently asked question.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Revisions ===&lt;br /&gt;
==== What are Community Editions? ====&lt;br /&gt;
Community Editions of the PinePhone were versions of the PinePhone which came preinstalled with the operating system of a partner project and featured the logo of the project on the back panel. The Community Edition was intended to help partner projects developing these systems: &amp;quot;Community editions are meant to bring exposure to partner-projects operating systems and communities, as well as help finance ongoing development.&amp;quot;, [https://www.pine64.org/2020/04/02/pinephone-ubports-community-edition-pre-orders-now-open/ source].&lt;br /&gt;
&lt;br /&gt;
==== Is the Community Edition hardware the latest revision? ====&lt;br /&gt;
The Community Edition program (featuring the mainboard numbers 1.2 through 1.2b and branded back covers) which provided the branded PinePhones has since ended, and a Beta Edition has since been released. The only difference between each Community Edition is the inclusion of crucial bug fixes, with the last issue being fixed with the 1.2b motherboard shipping with the Manjaro CE PinePhones. The 1.2b motherboard is also currently used in the Beta Edition PinePhones, however the Beta Edition units do not ship with any back cover branding. There are currently no plans for further hardware revisions.&lt;br /&gt;
&lt;br /&gt;
Aside from the back cover, the only other difference between each Community Edition is that starting with the postmarketOS PinePhone, a convergence package option was released that adds another gigabyte of ram to the phone and a 32GB eMMC instead of a 16GB eMMC. Convergence packages also included a dock for plugging in USB peripherals and connecting to an HDMI monitor, however you can purchase a generic USB-C dock to use with a 2GB PinePhone. &lt;br /&gt;
&lt;br /&gt;
The predecessor to the Convergence Edition PinePhones was the Braveheart Edition intended for developers to bring up the platform, which had the version number 1.1. For more details about the topic see [[PinePhone#Hardware Revisions]].&lt;br /&gt;
&lt;br /&gt;
==== Will there be other Community Editions? ====&lt;br /&gt;
Five Community Editions have been announced: [https://www.pine64.org/2020/04/02/pinephone-ubports-community-edition-pre-orders-now-open/ UBports], [https://www.pine64.org/2020/06/15/june-update-postmarketos-ce-pinephone-shipping-pine64-cluster/ postmarketOS], [https://www.pine64.org/2020/08/31/pinephone-manjaro-community-edition/ Manjaro], [https://www.pine64.org/2020/12/01/kde-community-edition-is-now-available/ KDE], and [https://www.pine64.org/2021/01/17/mobian-community-edition/ Mobian]. Since the release of the Mobian edition, the Beta Edition PinePhones have been released and the Community Edition Program has ended.&lt;br /&gt;
&lt;br /&gt;
==== In simple terms, what are the differences between Braveheart and the new Community Edition? ====&lt;br /&gt;
The Braveheart PinePhone was the first public revision of the PinePhone which was intended solely for developers and Linux enthusiasts. The UBports Community Edition was the next revision of the PinePhone with an updated mainboard based on feedback from the Braveheart Edition, see [[PinePhone#Hardware Revisions]]. All current revisions of the PinePhone continue to be intended for developers and enthusiasts, however, PINE64 will be starting to offer partnered retail units of the PinePhone which will have a better warranty and technical support (keep in mind even then it is not intended for a broader audience at this time, as the software still needs work and the hardware does not hold up well to modern consumer standards).&lt;br /&gt;
&lt;br /&gt;
==== Will there be a newer revision after the Community Editions? ====&lt;br /&gt;
Starting with the UBports Community Edition the PinePhone has gotten CE and FCC certifications, repeating the certification process due to changes in the hardware design is very expensive, so the 1.2b motherboard is viewed as the final revision. The PinePhone (and parts for them) will be produced and sold for at least 5 years.&lt;br /&gt;
&lt;br /&gt;
==== Will there be hardware differences between the Community Editions? ====&lt;br /&gt;
&lt;br /&gt;
Besides the varied back covers, starting with the launch of the PostmarketOS CE there has been the release of a convergence package option for the PinePhone which includes more ram and storage, and an included dock for convenience. There has also been minor hardware changes with the UBports CE (mainboard 1.2) and the Manjaro CE (mainboard revision 1.2b).&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
==== How powerful is the PinePhone's hardware? ====&lt;br /&gt;
&lt;br /&gt;
The PinePhone is about on par with a Raspberry Pi 3 in terms of CPU performance, however it's Mali 400 MP2 is much weaker than the Pi 3's VideoCore IV. The Mali 400 was the first mobile OpenGL ES 2.0 GPU on the market back in 2008 when it was released, compared to the much newer Videocore IV released in 2010. The PinePhone has been shown to handle smooth H.264 1440p30 video playback using Cedrus and gstreamer as documented [https://xnux.eu/log/#001 here]. The device should be more than capable of a smooth phone experience when used in conjunction with well optimized software that makes use of its hardware features. It is also capable of running many light games (including 3D ones such as SuperTuxKart), and retro gaming. Expect further speed improvements over time as the drivers are improved, and in the meanwhile you can look into slightly [[overclocking]] the device (at your own risk).&lt;br /&gt;
&lt;br /&gt;
=== Sound ===&lt;br /&gt;
&lt;br /&gt;
The default ringtone for Mobian Phosh can be found at /usr/share/sounds/freedesktop/stereo/phone-incoming-call.oga&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
For some reason, using pipewire-pulse with bluetooth headphones (In my case, Sony WH1000X-M3) using the default LDAC codec causes the headphones to constantly connect and disconnect until they eventually give up pairing. A work around I've found is to quickly go into Sound settings and switch the codec to &amp;quot;SBC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
&lt;br /&gt;
==== The modem isn't working ====&lt;br /&gt;
&lt;br /&gt;
In order to use the modem and Wi-Fi/Bluetooth, you need to ensure the battery is inside the device and has a sufficient charge. Even when supplying the phone with enough power, the modem and Wi-Fi chip will not work without a connected battery. Further, double check that you have not put the SD card into the sim card slot, or vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Does the PinePhone only wake up from sleep for calls and texts? ====&lt;br /&gt;
&lt;br /&gt;
Yes. Unless the PinePhone is configured to wake up every few minutes from deep sleep in Crust (At the cost of battery life. However, in the future there may be other solutions), then there is not any way to get any notifications for applications. The modem on the PinePhone will wake the device for incoming calls and texts however, and the real-time clock is also capable of waking the device for alarms.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
&lt;br /&gt;
==== The battery is stuck inside the phone ====&lt;br /&gt;
&lt;br /&gt;
The battery can be stuck in the phone if the screws of the frame are overtightened.&lt;br /&gt;
&lt;br /&gt;
First, try loosening the screws to the left and right of the battery compartment and remove the battery, it should go much easier now. These screws may be the culprit as they seem to make the sides of the midframe grip the battery. Do not tighten them fully and the problem should go away.&lt;br /&gt;
&lt;br /&gt;
If your battery is still stuck inside the PinePhone, completely unscrew all the screws of the midframe. Then pull out the battery (you may have to fully take off the midframe in some cases to get it out). And then rescrew the midframe, but only tighten the screws to the point where they are just barely tight to hold. This should allow you to remove the battery easily.&lt;br /&gt;
&lt;br /&gt;
==== The battery is discharging while the phone is powered off (Braveheart Edition) ====&lt;br /&gt;
&lt;br /&gt;
The issue is not present on the Community Edition. Due to a hardware bug, after power off, the phone still consumes 20–30mA which drains the battery in 3-4 days. A manual procedure to fix the hardware bug is described [https://xnux.eu/devices/pp-pmic-fix.jpg here].&lt;br /&gt;
&lt;br /&gt;
==== The battery only charges to ~84% ====&lt;br /&gt;
&lt;br /&gt;
Some pre-made OSes using megi's kernel limit the maximum amount of charge to roughly ~84% in the hope of prolonging the battery life, as repeatedly reaching the upper level of battery charge reduces the battery's lifetime (this is &amp;lt;b&amp;gt;not&amp;lt;/b&amp;gt; a safety feature!). The same effect however also applies when repeatedly draining the battery to a low level - users are therefore advised to consider if that setting is reasonable depending on their usage. The setting can be overwritten via Sysfs, to let the battery fully charge (this can lower the replaceable's battery lifetime considerably depending on the charging behavior!):&lt;br /&gt;
&lt;br /&gt;
{{warning|The following instructions are directed towards expert-level users and developers!}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo 4350000 &amp;gt; /sys/class/power_supply/axp20x-battery/voltage_max_design&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
==== What are the privacy switches doing? ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Name&lt;br /&gt;
! Explanation&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Modem&lt;br /&gt;
| Pulls Q1501 gate up (FET disabling modem power)&lt;br /&gt;
| &amp;quot;On&amp;quot; enables cellular communication and GNSS hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Wi-Fi / Bluetooth&lt;br /&gt;
| Pulls up CHIP_EN&lt;br /&gt;
| &amp;quot;On&amp;quot; enables Wi-Fi and Bluetooth communication hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Microphone&lt;br /&gt;
| Breaks microphone bias voltage from the SoC&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input from on-board microphones (not 3.5mm jack), &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Rear camera&lt;br /&gt;
| Pulls up PWDN on OV5640 &lt;br /&gt;
| &amp;quot;On&amp;quot; enables the rear camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Front camera&lt;br /&gt;
| Pulls up PWDN on GC2145&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the front camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Headphone&lt;br /&gt;
| Pulls up IN2 on analog switch BCT4717ETB&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input and output via the 3.5mm audio jack, &amp;quot;off&amp;quot; switches the jack to hardware UART mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory ===&lt;br /&gt;
&lt;br /&gt;
==== What's the speed difference between the eMMC and SD cards? ====&lt;br /&gt;
Maximum transfer speed of the eMMC is around 85 MB/s, while SD cards are limited to approximately 23 MB/s (even with faster cards).&lt;br /&gt;
&lt;br /&gt;
=== GPS ===&lt;br /&gt;
&lt;br /&gt;
==== GPS doesn't work ====&lt;br /&gt;
&lt;br /&gt;
Like almost all smartphones, the PinePhone GPS antenna is small and can only get a first fix unassisted if the GPS signal is very strong. To make first fix faster and more reliable, phones download assistance data either from the phone network or from the internet. The GPS in the PinePhone modem supports the internet based assistance method, as detailed in the modem documentation, but this is currently only supported by a few distributions, and a [https://gist.github.com/alastair-dm/263209b54d01209be28828e555fa6628 proof of concept script] that shows it can work.&lt;br /&gt;
&lt;br /&gt;
Until aGPS support becomes standard you'll have to make some manual changes - see for example [https://wiki.mobian-project.org/doku.php?id=location Mobian wiki]&lt;br /&gt;
&lt;br /&gt;
==== GPS can't determine direction ====&lt;br /&gt;
&lt;br /&gt;
Currently, due to the magnetometer not being hooked up in software at this time, it is not possible for GPS software to use the phone's compass functionality. This means while you are walking it will not be possible to determine the direction of travel. This is not as much of an issue for vehicles as the faster speeds mean that it is possible to estimate the direction of travel, however it will still be an issue should the vehicle travel through a tunnel and lose GPS signal.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== How can I install an operating system on the SD card / eMMC? ====&lt;br /&gt;
&lt;br /&gt;
See [[PinePhone Installation Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
&lt;br /&gt;
Read the [[PinePhone Updating Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Booting ===&lt;br /&gt;
&lt;br /&gt;
==== What's the boot order for SD cards and eMMC? ====&lt;br /&gt;
&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. If no (bootable) microSD is found, it will boot from eMMC.&lt;br /&gt;
&lt;br /&gt;
==== How can I select different OSes at boot? ====&lt;br /&gt;
&lt;br /&gt;
There was a project by Danct12 which allowed the user to select different OSes at boot, but the repository has since been archived: https://github.com/dreemurrs-embedded/Pineloader.&lt;br /&gt;
&lt;br /&gt;
==== I turned on my Manjaro CE PinePhone. The red LED and screen backlight are briefly lit, then both are not and it will not boot. ====&lt;br /&gt;
&lt;br /&gt;
This can be the result of at least one situation:&lt;br /&gt;
&lt;br /&gt;
# The eMMC installation became corrupt or otherwise unbootable&lt;br /&gt;
# An SD card is present but not bootable (consider [[PinePhone#Detailed usage instructions]])&lt;br /&gt;
&lt;br /&gt;
If there is an installation of Manjaro on both the eMMC &amp;amp; an SD card, the SD card will always boot first on the device. Try taking the SD card out and booting the installation that is on the eMMC. If the problem persists, it is likely there is an issue with both installations and you will need to reinstall your distribution. You may also want to check with your distribution's maintainers if boot issues are a common problem in a recent update.&lt;br /&gt;
&lt;br /&gt;
====  I did not install an update in Ubuntu Touch and I'm stuck on the PINE64 logo after rebooting. ====&lt;br /&gt;
&lt;br /&gt;
# Use a USB A-C cable to plug your phone into your PC&lt;br /&gt;
# Hold the PinePhone's power button for 4 seconds or more to power it off.&lt;br /&gt;
# Wait 5 seconds&lt;br /&gt;
# Hold the Volume Up and Power buttons on the PinePhone to boot into recovery. You should see the LED light red, then yellow, then green. The &amp;quot;Installing update&amp;quot; screen will appear, but a progress bar to indicate update progress will not. Ignore the &amp;quot;Installing update&amp;quot; part.&lt;br /&gt;
# Your PC may automatically mount the PinePhone's partitions. If it does, Safely Remove or Eject all of them.&lt;br /&gt;
# Open a terminal on your PC. Type &amp;lt;code&amp;gt;telnet 172.16.42.1&amp;lt;/code&amp;gt;&lt;br /&gt;
# You should receive the text 'Welcome to Rescue SD Shell!'&lt;br /&gt;
# In the new Rescue SD shell, type &amp;lt;code&amp;gt;umount /dev/mmcblk2p10; e2fsck -fy /dev/mmcblk2p10 &amp;amp;&amp;amp; sync&amp;lt;/code&amp;gt;&lt;br /&gt;
# Once this command pipeline finishes, type &amp;lt;code&amp;gt;sync &amp;amp;&amp;amp; reboot -f&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your PinePhone should reboot into Ubuntu Touch. Now head to Settings -&amp;gt; Updates and install the new update! &lt;br /&gt;
&lt;br /&gt;
If these steps did not solve your issue, please create a new thread here on the PINE64 forums, note what the problem looks like, then say that you've tried these steps already.&lt;br /&gt;
&lt;br /&gt;
This is caused by corruption on the userdata partition. Normally this should be fixed by 'e2fsck' in the initramfs, however, an error in image creation means that that version of e2fsck is unable to correct the corruption. This has been fixed in all new PinePhone updates, so if you update from the factory image to any other image available to the PinePhone now, you will not experience this issue any longer.&lt;br /&gt;
&lt;br /&gt;
==== The PinePhone does not boot ====&lt;br /&gt;
&lt;br /&gt;
Most OSes on the PinePhone do not boot if the battery is not connected or if it is fully drained. If you received a new PinePhone make sure to remove the battery isolator as explained under [[PinePhone#First time installation]].&lt;br /&gt;
&lt;br /&gt;
If you removed the battery isolator and the battery contacts are intact, the battery is either fully drained or there is no valid OS (or a corrupted OS or bootloader) installed on the eMMC or the SD card. Make sure to charge the phone with a compatible charger (500 mAh is not enough for modern phones), as well as the installation instruction under [[PinePhone Installation Instructions]]. If the OS got corrupted it is highly recommend to simply reflash.&lt;br /&gt;
&lt;br /&gt;
If nothing works please don't hesitate to contact the community via [[Main Page#Chat Platforms]], they are eager to help and booting issues are usually very easy to solve (as they are typically either battery or installation related. The phones itself are all tested individually at the factory. Do not contact PINE64's support for booting issues.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;nolines&amp;quot; widths=&amp;quot;400px&amp;quot; heights=&amp;quot;400px&amp;quot;&amp;gt;&lt;br /&gt;
Image:Pinephone_warning.png|A protection foil isolates the battery for the shipping.&lt;br /&gt;
Image:Pinephone_backside.png|The microSD belongs in the upper slot, the micro SIM in the lower slot.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Can I install a different OS on my Community Edition? ====&lt;br /&gt;
&lt;br /&gt;
Yes! While all the Community Edition PinePhones come with an OS preinstalled, you are free to use any OS on the integrated storage (the eMMC) or an SD card, see [[PinePhone Installation Instructions]] and [[PinePhone Software Releases]] on how to install them.&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
&lt;br /&gt;
==== How can I enable SSH? ====&lt;br /&gt;
&lt;br /&gt;
In Ubuntu Touch you can run &amp;quot;sudo start ssh&amp;quot; to get a one-time start, or edit /etc/init/ssh.override and remove the manual line to make it auto-start.&lt;br /&gt;
&lt;br /&gt;
In other distributions you may have to install SSH through its package manager and then proceed to use its init system to enable it. For Manjaro, Arch, and Mobian you can use &amp;quot;systemctl enable sshd&amp;quot; and &amp;quot;systemctl start sshd&amp;quot; command to enable and start the ssh daemon.&lt;br /&gt;
&lt;br /&gt;
==== What works, what doesn't? ====&lt;br /&gt;
&lt;br /&gt;
For Ubuntu Touch see https://gitlab.com/ubports/community-ports/pinephone#what-works-what-doesnt.&lt;br /&gt;
&lt;br /&gt;
Other distributions will have different levels of functionality. Please refer to the release page of your chosen distribution for further information.&lt;br /&gt;
&lt;br /&gt;
====  I can't connect to a 2.4Ghz Wi-Fi network in Ubuntu Touch. ====&lt;br /&gt;
&lt;br /&gt;
Reboot your device by holding the power button until the &amp;quot;Power&amp;quot; dialog appears, then pressing &amp;quot;Restart&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If that does not fix the issue, note that all the following conditions must be met to use Wi-Fi on the PinePhone:&lt;br /&gt;
&lt;br /&gt;
# The plastic tab between the battery and the device's battery contacts has been removed&lt;br /&gt;
# The battery is installed&lt;br /&gt;
# The Wi-Fi privacy switch (switch number two) on the rear of the device is switched &amp;quot;ON&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wi-Fi in the PinePhone only seems stable after a warm reboot like this.&lt;br /&gt;
&lt;br /&gt;
==== What's the status of Android for the PinePhone? ====&lt;br /&gt;
&lt;br /&gt;
Currently, there isn't any major push to get Android running well on the PinePhone. The developer Icenowy did get a Android image to run and partly work, it was however slow and buggy, with major functions not working. A solution for running some of your android apps may be found in Anbox as of now. Anbox is currently not included in Ubuntu Touch. In other distributions your millage may vary on what applications will run and how well.&lt;br /&gt;
&lt;br /&gt;
==== Why are my apps loading slower than on my Android phone? ====&lt;br /&gt;
&lt;br /&gt;
Android has multiple techniques in place to speed up launching applications after the first launch, such as the &amp;quot;Dalvik cache&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Using an alternative filesystem such as F2FS on the eMMC (which is considerably faster than running software on the SD card) may help improve performance slightly. Over time you can expect further optimizations and improvements in various distributions that will help speed up the PinePhone.&lt;br /&gt;
&lt;br /&gt;
==== How can I turn on the backlight? ====&lt;br /&gt;
&lt;br /&gt;
On some devices the default calibration of the backlight is not sufficient and the minimum setting of the brightness of the used OS can be too low, causing the backlight to completely shut down. In that case it is recommended to connect the phone to a charger and/or to shine a flashlight at the screen to adjust the brightness to a higher setting again.&lt;br /&gt;
&lt;br /&gt;
On many Linux OSes the brightness setting is an integer between 0 and 1000 and available at runtime in /sys/class/backlight/backlight/brightness and stored at shutdown and loaded at boot from /var/lib/systemd/backlight/platform-backlight:backlight:backlight by systemd-backlight@backlight:backlight.service. Changing the brightness setting can be done at runtime, for example over SSH, by executing as root &amp;lt;code&amp;gt;echo 500 &amp;gt; /sys/class/backlight/backlight/brightness&amp;lt;/code&amp;gt;. The stored brightness setting can be modified using another system, by mounting the root filesystem of the system you want to fix and by executing &amp;lt;code&amp;gt;echo 500 &amp;gt; [MOUNT LOCATION]/var/lib/systemd/backlight/platform-backlight\:backlight\:backlight&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== How can I contribute regarding the WiFi and Bluetooth firmware? ====&lt;br /&gt;
&lt;br /&gt;
The PinePhone uses [https://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf Realtek RTL8723CS] for its Wi-Fi and Bluetooth connectivity. Unfortunately, just like the other Realtek wireless chipsets ''([https://en.wikipedia.org/wiki/Comparison_of_open-source_wireless_drivers see more info])'' - the RTL8723CS chipset requires proprietary firmware for Wi-Fi and Bluetooth functionality. For those who want to create replacement free software firmware, resources like [https://libreplanet.org/wiki/Group:Hardware/research/e-readers/Kobo/Aura_H2O_Edition_2#Firmwares this] and [https://8051enthusiast.github.io/2021/07/05/002-wifi_fun.html this] (different chipsets, but still Realtek) could be a great starting point for further research.&lt;br /&gt;
&lt;br /&gt;
=== SMS ===&lt;br /&gt;
&lt;br /&gt;
==== The phone does not receive SMS ====&lt;br /&gt;
&lt;br /&gt;
Sometimes incoming SMS messages are not being received, but outgoing ones, phone calls and data are working fine. One potential cause could be SMS messages that linger in the modem's queue (10 or more of them). This queue appears to be persistent across reboots and also re-imaging the OS.&lt;br /&gt;
&lt;br /&gt;
On Mobian and Manjaro, the ModemManager does all the communications with the 3G modem including phone calls, cellular data, GPS and SMS. This may not be the case with other PinePhone OSes.&lt;br /&gt;
&lt;br /&gt;
You can access the ModemManager using the mmcli command.&lt;br /&gt;
&lt;br /&gt;
'''Mobian:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo mmcli -m 0 --messaging-list-sms&lt;br /&gt;
Found 10 SMS messages:&lt;br /&gt;
/org/freedesktop/ModemManager1/SMS/0 (received)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Manjaro:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo mmcli -m 3 --messaging-list-sms&lt;br /&gt;
/org/freedesktop/ModemManager1/SMS/77 (received)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Mobian, delete all the messages like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ sudo mmcli -m 0 --messaging-delete-sms=1&amp;lt;/code&amp;gt; (Repeat with 1 through 10 to delete all the messages)&lt;br /&gt;
&lt;br /&gt;
For Manjaro, delete all the messages like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ sudo mmcli -m 3 --messaging-delete-sms=77&amp;lt;/code&amp;gt; (Repeat with all listed messages)&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;-m 0&amp;quot; or &amp;quot;-m 3&amp;quot; refers to modem 0 or 3 (the only one in a PinePhone). For more help on the messaging related actions available in mmcli you can check the help with &amp;lt;code&amp;gt;mmcli --help-messaging.&amp;lt;/code&amp;gt; This article is also helpful in learning: https://electronproton.com/mmcli-command-examples/. For your particular configuration, you may need to try different &amp;quot;-m #&amp;quot; combinations, e.g., &amp;quot;-m 2&amp;quot; or &amp;quot;-m 4.&amp;quot; &amp;quot;-m 0&amp;quot; is not always the default.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that recent releases of Mobian and postmarketOS now include a userspace daemon called [https://gitlab.com/mobian1/devices/eg25-manager eg25-manager], which helps manage the modem and ensure proper operation.&lt;br /&gt;
&lt;br /&gt;
== Shipping ==&lt;br /&gt;
=== I did not receive an order confirmation ===&lt;br /&gt;
Check your &amp;quot;spam&amp;quot; folder. It was reported that some users did not receive an order confirmation. You will also still get a shipping notification when the device ships out, even if you didn't get an order confirmation email.&lt;br /&gt;
&lt;br /&gt;
=== When does the phone ship? ===&lt;br /&gt;
For up-to-date information when the phone's shipping date is estimated, see the edits in the corresponding forum thread.&lt;br /&gt;
&lt;br /&gt;
=== It is shipping day but I did not receive a shipping notification ===&lt;br /&gt;
For shipments with DHL the shipping notification is sent out as soon as the packet reached DHL's warehouse and scanned (it can take up to 24 hours after scanning after the shipment is added to DHL's database). For all other shipments (via Ascendia) the notification is sent out sometime after shipment.&lt;br /&gt;
&lt;br /&gt;
=== When does my phone ship if I order now? ===&lt;br /&gt;
Orders made after Friday, 22nd May 2020 are shipped after the first bulk of pre-orders has been shipped. The exact date is not known yet due to various reasons, it may be a few weeks after the first bulk shipped. [https://forum.pine64.org/showthread.php?tid=9942 The forum] will be edited with updated information and you will receive a shipping notification when the device was shipped.&lt;br /&gt;
&lt;br /&gt;
=== What about import taxes? ===&lt;br /&gt;
Import taxes have to be paid by the buyer depending on the jurisdiction of the country of the buyer. Please check with your local laws if there are import taxes to pay and if so how to do the tax filing.&lt;br /&gt;
&lt;br /&gt;
== Accessories ==&lt;br /&gt;
&lt;br /&gt;
=== Protection ===&lt;br /&gt;
==== Which screen protector should I use? ====&lt;br /&gt;
&lt;br /&gt;
Protecting your screen is important, especially for devices like the PinePhone that doesn't have access to the newest glass technology.&lt;br /&gt;
The Braveheart and Community Editions of the PinePhone comes with a plastic film screen protector installed, and PINE64 sells a tempered glass screen protector [https://pine64.com/product/pinephone-tempered-glass-screen-protector/ in their store].&lt;br /&gt;
&lt;br /&gt;
You can also buy a third-party screen protector, as the screen protectors for the iPhone 11 Pro Max/XS Max fit the PinePhone pretty well based on [https://forum.pine64.org/showthread.php?tid=8458&amp;amp;pid=65409#pid65409 this] forum post.&lt;br /&gt;
&lt;br /&gt;
=== Batteries ===&lt;br /&gt;
==== I want a replacement battery, which one should I buy? ====&lt;br /&gt;
&lt;br /&gt;
Replacement batteries for US customers are available in the store.&lt;br /&gt;
&lt;br /&gt;
Currently the PinePhone battery is known to be compatible with replacement batteries for the Samsung J700. Specifically, models &amp;quot;EB-BJ700BBC&amp;quot; and &amp;quot;EB-BJ700BBE&amp;quot; are compatible with all PinePhone models, and &amp;quot;EB-BJ700CBE&amp;quot; is compatible with Community Editions [https://www.reddit.com/r/PINE64official/comments/kcof97/pinephone_replacement_battery_found_and_tested/gfrx4p2/?utm_source=reddit&amp;amp;utm_medium=web2x&amp;amp;context=3 after UBPorts] (due to plastic tabs on its bottom which only the newer phones [https://forum.pine64.org/showthread.php?tid=11901 have tolerance for]).&lt;br /&gt;
&lt;br /&gt;
=== External hardware ===&lt;br /&gt;
&lt;br /&gt;
==== Will PINE64 sell other add-ons made for the PinePhone? ====&lt;br /&gt;
&lt;br /&gt;
Yes, currently there is a keyboard case [https://forum.pine64.org/showthread.php?tid=8537&amp;amp;pid=55396#pid55396 with similarities to the Psion 5] which includes an internal battery, and a [https://www.pine64.org/2020/05/15/may-update-pinetab-pre-orders-pinephone-qi-charging-more/ Qi wireless charging] add-on planned, both of which PINE64 intends to directly sell. There is the potential for future add-ons such as a game pad, however that is currently just an idea and not in any way planned.&lt;br /&gt;
&lt;br /&gt;
==== Which 3rd party hardware can connect to my PinePhone? ====&lt;br /&gt;
&lt;br /&gt;
See [[PinePhone Hardware Accessory Compatibility]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]]&lt;/div&gt;</summary>
		<author><name>PineCone</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=PinePhone_FAQ&amp;diff=11905</id>
		<title>PinePhone FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=PinePhone_FAQ&amp;diff=11905"/>
		<updated>2021-12-03T06:05:44Z</updated>

		<summary type="html">&lt;p&gt;PineCone: Improved wording of note on wireless firmware.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of frequently asked question.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Revisions ===&lt;br /&gt;
==== What are Community Editions? ====&lt;br /&gt;
Community Editions of the PinePhone were versions of the PinePhone which came preinstalled with the operating system of a partner project and featured the logo of the project on the back panel. The Community Edition was intended to help partner projects developing these systems: &amp;quot;Community editions are meant to bring exposure to partner-projects operating systems and communities, as well as help finance ongoing development.&amp;quot;, [https://www.pine64.org/2020/04/02/pinephone-ubports-community-edition-pre-orders-now-open/ source].&lt;br /&gt;
&lt;br /&gt;
==== Is the Community Edition hardware the latest revision? ====&lt;br /&gt;
The Community Edition program (featuring the mainboard numbers 1.2 through 1.2b and branded back covers) which provided the branded PinePhones has since ended, and a Beta Edition has since been released. The only difference between each Community Edition is the inclusion of crucial bug fixes, with the last issue being fixed with the 1.2b motherboard shipping with the Manjaro CE PinePhones. The 1.2b motherboard is also currently used in the Beta Edition PinePhones, however the Beta Edition units do not ship with any back cover branding. There are currently no plans for further hardware revisions.&lt;br /&gt;
&lt;br /&gt;
Aside from the back cover, the only other difference between each Community Edition is that starting with the postmarketOS PinePhone, a convergence package option was released that adds another gigabyte of ram to the phone and a 32GB eMMC instead of a 16GB eMMC. Convergence packages also included a dock for plugging in USB peripherals and connecting to an HDMI monitor, however you can purchase a generic USB-C dock to use with a 2GB PinePhone. &lt;br /&gt;
&lt;br /&gt;
The predecessor to the Convergence Edition PinePhones was the Braveheart Edition intended for developers to bring up the platform, which had the version number 1.1. For more details about the topic see [[PinePhone#Hardware Revisions]].&lt;br /&gt;
&lt;br /&gt;
==== Will there be other Community Editions? ====&lt;br /&gt;
Five Community Editions have been announced: [https://www.pine64.org/2020/04/02/pinephone-ubports-community-edition-pre-orders-now-open/ UBports], [https://www.pine64.org/2020/06/15/june-update-postmarketos-ce-pinephone-shipping-pine64-cluster/ postmarketOS], [https://www.pine64.org/2020/08/31/pinephone-manjaro-community-edition/ Manjaro], [https://www.pine64.org/2020/12/01/kde-community-edition-is-now-available/ KDE], and [https://www.pine64.org/2021/01/17/mobian-community-edition/ Mobian]. Since the release of the Mobian edition, the Beta Edition PinePhones have been released and the Community Edition Program has ended.&lt;br /&gt;
&lt;br /&gt;
==== In simple terms, what are the differences between Braveheart and the new Community Edition? ====&lt;br /&gt;
The Braveheart PinePhone was the first public revision of the PinePhone which was intended solely for developers and Linux enthusiasts. The UBports Community Edition was the next revision of the PinePhone with an updated mainboard based on feedback from the Braveheart Edition, see [[PinePhone#Hardware Revisions]]. All current revisions of the PinePhone continue to be intended for developers and enthusiasts, however, PINE64 will be starting to offer partnered retail units of the PinePhone which will have a better warranty and technical support (keep in mind even then it is not intended for a broader audience at this time, as the software still needs work and the hardware does not hold up well to modern consumer standards).&lt;br /&gt;
&lt;br /&gt;
==== Will there be a newer revision after the Community Editions? ====&lt;br /&gt;
Starting with the UBports Community Edition the PinePhone has gotten CE and FCC certifications, repeating the certification process due to changes in the hardware design is very expensive, so the 1.2b motherboard is viewed as the final revision. The PinePhone (and parts for them) will be produced and sold for at least 5 years.&lt;br /&gt;
&lt;br /&gt;
==== Will there be hardware differences between the Community Editions? ====&lt;br /&gt;
&lt;br /&gt;
Besides the varied back covers, starting with the launch of the PostmarketOS CE there has been the release of a convergence package option for the PinePhone which includes more ram and storage, and an included dock for convenience. There has also been minor hardware changes with the UBports CE (mainboard 1.2) and the Manjaro CE (mainboard revision 1.2b).&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
==== How powerful is the PinePhone's hardware? ====&lt;br /&gt;
&lt;br /&gt;
The PinePhone is about on par with a Raspberry Pi 3 in terms of CPU performance, however it's Mali 400 MP2 is much weaker than the Pi 3's VideoCore IV. The Mali 400 was the first mobile OpenGL ES 2.0 GPU on the market back in 2008 when it was released, compared to the much newer Videocore IV released in 2010. The PinePhone has been shown to handle smooth H.264 1440p30 video playback using Cedrus and gstreamer as documented [https://xnux.eu/log/#001 here]. The device should be more than capable of a smooth phone experience when used in conjunction with well optimized software that makes use of its hardware features. It is also capable of running many light games (including 3D ones such as SuperTuxKart), and retro gaming. Expect further speed improvements over time as the drivers are improved, and in the meanwhile you can look into slightly [[overclocking]] the device (at your own risk).&lt;br /&gt;
&lt;br /&gt;
=== Sound ===&lt;br /&gt;
&lt;br /&gt;
The default ringtone for Mobian Phosh can be found at /usr/share/sounds/freedesktop/stereo/phone-incoming-call.oga&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
For some reason, using pipewire-pulse with bluetooth headphones (In my case, Sony WH1000X-M3) using the default LDAC codec causes the headphones to constantly connect and disconnect until they eventually give up pairing. A work around I've found is to quickly go into Sound settings and switch the codec to &amp;quot;SBC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
&lt;br /&gt;
==== The modem isn't working ====&lt;br /&gt;
&lt;br /&gt;
In order to use the modem and Wi-Fi/Bluetooth, you need to ensure the battery is inside the device and has a sufficient charge. Even when supplying the phone with enough power, the modem and Wi-Fi chip will not work without a connected battery. Further, double check that you have not put the SD card into the sim card slot, or vice versa.&lt;br /&gt;
&lt;br /&gt;
==== Does the PinePhone only wake up from sleep for calls and texts? ====&lt;br /&gt;
&lt;br /&gt;
Yes. Unless the PinePhone is configured to wake up every few minutes from deep sleep in Crust (At the cost of battery life. However, in the future there may be other solutions), then there is not any way to get any notifications for applications. The modem on the PinePhone will wake the device for incoming calls and texts however, and the real-time clock is also capable of waking the device for alarms.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
&lt;br /&gt;
==== The battery is stuck inside the phone ====&lt;br /&gt;
&lt;br /&gt;
The battery can be stuck in the phone if the screws of the frame are overtightened.&lt;br /&gt;
&lt;br /&gt;
First, try loosening the screws to the left and right of the battery compartment and remove the battery, it should go much easier now. These screws may be the culprit as they seem to make the sides of the midframe grip the battery. Do not tighten them fully and the problem should go away.&lt;br /&gt;
&lt;br /&gt;
If your battery is still stuck inside the PinePhone, completely unscrew all the screws of the midframe. Then pull out the battery (you may have to fully take off the midframe in some cases to get it out). And then rescrew the midframe, but only tighten the screws to the point where they are just barely tight to hold. This should allow you to remove the battery easily.&lt;br /&gt;
&lt;br /&gt;
==== The battery is discharging while the phone is powered off (Braveheart Edition) ====&lt;br /&gt;
&lt;br /&gt;
The issue is not present on the Community Edition. Due to a hardware bug, after power off, the phone still consumes 20–30mA which drains the battery in 3-4 days. A manual procedure to fix the hardware bug is described [https://xnux.eu/devices/pp-pmic-fix.jpg here].&lt;br /&gt;
&lt;br /&gt;
==== The battery only charges to ~84% ====&lt;br /&gt;
&lt;br /&gt;
Some pre-made OSes using megi's kernel limit the maximum amount of charge to roughly ~84% in the hope of prolonging the battery life, as repeatedly reaching the upper level of battery charge reduces the battery's lifetime (this is &amp;lt;b&amp;gt;not&amp;lt;/b&amp;gt; a safety feature!). The same effect however also applies when repeatedly draining the battery to a low level - users are therefore advised to consider if that setting is reasonable depending on their usage. The setting can be overwritten via Sysfs, to let the battery fully charge (this can lower the replaceable's battery lifetime considerably depending on the charging behavior!):&lt;br /&gt;
&lt;br /&gt;
{{warning|The following instructions are directed towards expert-level users and developers!}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo 4350000 &amp;gt; /sys/class/power_supply/axp20x-battery/voltage_max_design&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
==== What are the privacy switches doing? ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Name&lt;br /&gt;
! Explanation&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Modem&lt;br /&gt;
| Pulls Q1501 gate up (FET disabling modem power)&lt;br /&gt;
| &amp;quot;On&amp;quot; enables cellular communication and GNSS hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Wi-Fi / Bluetooth&lt;br /&gt;
| Pulls up CHIP_EN&lt;br /&gt;
| &amp;quot;On&amp;quot; enables Wi-Fi and Bluetooth communication hardware, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Microphone&lt;br /&gt;
| Breaks microphone bias voltage from the SoC&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input from on-board microphones (not 3.5mm jack), &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Rear camera&lt;br /&gt;
| Pulls up PWDN on OV5640 &lt;br /&gt;
| &amp;quot;On&amp;quot; enables the rear camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Front camera&lt;br /&gt;
| Pulls up PWDN on GC2145&lt;br /&gt;
| &amp;quot;On&amp;quot; enables the front camera, &amp;quot;off&amp;quot; disables it.&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Headphone&lt;br /&gt;
| Pulls up IN2 on analog switch BCT4717ETB&lt;br /&gt;
| &amp;quot;On&amp;quot; enables audio input and output via the 3.5mm audio jack, &amp;quot;off&amp;quot; switches the jack to hardware UART mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory ===&lt;br /&gt;
&lt;br /&gt;
==== What's the speed difference between the eMMC and SD cards? ====&lt;br /&gt;
Maximum transfer speed of the eMMC is around 85 MB/s, while SD cards are limited to approximately 23 MB/s (even with faster cards).&lt;br /&gt;
&lt;br /&gt;
=== GPS ===&lt;br /&gt;
&lt;br /&gt;
==== GPS doesn't work ====&lt;br /&gt;
&lt;br /&gt;
Like almost all smartphones, the PinePhone GPS antenna is small and can only get a first fix unassisted if the GPS signal is very strong. To make first fix faster and more reliable, phones download assistance data either from the phone network or from the internet. The GPS in the PinePhone modem supports the internet based assistance method, as detailed in the modem documentation, but this is currently only supported by a few distributions, and a [https://gist.github.com/alastair-dm/263209b54d01209be28828e555fa6628 proof of concept script] that shows it can work.&lt;br /&gt;
&lt;br /&gt;
Until aGPS support becomes standard you'll have to make some manual changes - see for example [https://wiki.mobian-project.org/doku.php?id=location Mobian wiki]&lt;br /&gt;
&lt;br /&gt;
==== GPS can't determine direction ====&lt;br /&gt;
&lt;br /&gt;
Currently, due to the magnetometer not being hooked up in software at this time, it is not possible for GPS software to use the phone's compass functionality. This means while you are walking it will not be possible to determine the direction of travel. This is not as much of an issue for vehicles as the faster speeds mean that it is possible to estimate the direction of travel, however it will still be an issue should the vehicle travel through a tunnel and loose GPS signal.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== How can I install an operating system on the SD card / eMMC? ====&lt;br /&gt;
&lt;br /&gt;
See [[PinePhone Installation Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
&lt;br /&gt;
Read the [[PinePhone Updating Instructions]].&lt;br /&gt;
&lt;br /&gt;
=== Booting ===&lt;br /&gt;
&lt;br /&gt;
==== What's the boot order for SD cards and eMMC? ====&lt;br /&gt;
&lt;br /&gt;
The PinePhone will automatically boot from microSD if a bootable card is inserted. If no (bootable) microSD is found, it will boot from eMMC.&lt;br /&gt;
&lt;br /&gt;
==== How can I select different OSes at boot? ====&lt;br /&gt;
&lt;br /&gt;
There was a project by Danct12 which allowed the user to select different OSes at boot, but the repository has since been archived: https://github.com/dreemurrs-embedded/Pineloader.&lt;br /&gt;
&lt;br /&gt;
==== I turned on my Manjaro CE PinePhone. The red LED and screen backlight are briefly lit, then both are not and it will not boot. ====&lt;br /&gt;
&lt;br /&gt;
This can be the result of at least one situation:&lt;br /&gt;
&lt;br /&gt;
# The eMMC installation became corrupt or otherwise unbootable&lt;br /&gt;
# An SD card is present but not bootable (consider [[PinePhone#Detailed usage instructions]])&lt;br /&gt;
&lt;br /&gt;
If there is an installation of Manjaro on both the eMMC &amp;amp; an SD card, the SD card will always boot first on the device. Try taking the SD card out and booting the installation that is on the eMMC. If the problem persists, it is likely there is an issue with both installations and you will need to reinstall your distribution. You may also want to check with your distribution's maintainers if boot issues are a common problem in a recent update.&lt;br /&gt;
&lt;br /&gt;
====  I did not install an update in Ubuntu Touch and I'm stuck on the PINE64 logo after rebooting. ====&lt;br /&gt;
&lt;br /&gt;
# Use a USB A-C cable to plug your phone into your PC&lt;br /&gt;
# Hold the PinePhone's power button for 4 seconds or more to power it off.&lt;br /&gt;
# Wait 5 seconds&lt;br /&gt;
# Hold the Volume Up and Power buttons on the PinePhone to boot into recovery. You should see the LED light red, then yellow, then green. The &amp;quot;Installing update&amp;quot; screen will appear, but a progress bar to indicate update progress will not. Ignore the &amp;quot;Installing update&amp;quot; part.&lt;br /&gt;
# Your PC may automatically mount the PinePhone's partitions. If it does, Safely Remove or Eject all of them.&lt;br /&gt;
# Open a terminal on your PC. Type &amp;lt;code&amp;gt;telnet 172.16.42.1&amp;lt;/code&amp;gt;&lt;br /&gt;
# You should receive the text 'Welcome to Rescue SD Shell!'&lt;br /&gt;
# In the new Rescue SD shell, type &amp;lt;code&amp;gt;umount /dev/mmcblk2p10; e2fsck -fy /dev/mmcblk2p10 &amp;amp;&amp;amp; sync&amp;lt;/code&amp;gt;&lt;br /&gt;
# Once this command pipeline finishes, type &amp;lt;code&amp;gt;sync &amp;amp;&amp;amp; reboot -f&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your PinePhone should reboot into Ubuntu Touch. Now head to Settings -&amp;gt; Updates and install the new update! &lt;br /&gt;
&lt;br /&gt;
If these steps did not solve your issue, please create a new thread here on the PINE64 forums, note what the problem looks like, then say that you've tried these steps already.&lt;br /&gt;
&lt;br /&gt;
This is caused by corruption on the userdata partition. Normally this should be fixed by 'e2fsck' in the initramfs, however, an error in image creation means that that version of e2fsck is unable to correct the corruption. This has been fixed in all new PinePhone updates, so if you update from the factory image to any other image available to the PinePhone now, you will not experience this issue any longer.&lt;br /&gt;
&lt;br /&gt;
==== The PinePhone does not boot ====&lt;br /&gt;
&lt;br /&gt;
Most OSes on the PinePhone do not boot if the battery is not connected or if it is fully drained. If you received a new PinePhone make sure to remove the battery isolator as explained under [[PinePhone#First time installation]].&lt;br /&gt;
&lt;br /&gt;
If you removed the battery isolator and the battery contacts are intact, the battery is either fully drained or there is no valid OS (or a corrupted OS or bootloader) installed on the eMMC or the SD card. Make sure to charge the phone with a compatible charger (500 mAh is not enough for modern phones), as well as the installation instruction under [[PinePhone Installation Instructions]]. If the OS got corrupted it is highly recommend to simply reflash.&lt;br /&gt;
&lt;br /&gt;
If nothing works please don't hesitate to contact the community via [[Main Page#Chat Platforms]], they are eager to help and booting issues are usually very easy to solve (as they are typically either battery or installation related. The phones itself are all tested individually at the factory. Do not contact PINE64's support for booting issues.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;nolines&amp;quot; widths=&amp;quot;400px&amp;quot; heights=&amp;quot;400px&amp;quot;&amp;gt;&lt;br /&gt;
Image:Pinephone_warning.png|A protection foil isolates the battery for the shipping.&lt;br /&gt;
Image:Pinephone_backside.png|The microSD belongs in the upper slot, the micro SIM in the lower slot.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Can I install a different OS on my Community Edition? ====&lt;br /&gt;
&lt;br /&gt;
Yes! While all the Community Edition PinePhones come with an OS preinstalled, you are free to use any OS on the integrated storage (the eMMC) or an SD card, see [[PinePhone Installation Instructions]] and [[PinePhone Software Releases]] on how to install them.&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
&lt;br /&gt;
==== How can I enable SSH? ====&lt;br /&gt;
&lt;br /&gt;
In Ubuntu Touch you can run &amp;quot;sudo start ssh&amp;quot; to get a one-time start, or edit /etc/init/ssh.override and remove the manual line to make it auto-start.&lt;br /&gt;
&lt;br /&gt;
In other distributions you may have to install SSH through its package manager and then proceed to use its init system to enable it. For Manjaro, Arch, and Mobian you can use &amp;quot;systemctl enable sshd&amp;quot; and &amp;quot;systemctl start sshd&amp;quot; command to enable and start the ssh daemon.&lt;br /&gt;
&lt;br /&gt;
==== What works, what doesn't? ====&lt;br /&gt;
&lt;br /&gt;
For Ubuntu Touch see https://gitlab.com/ubports/community-ports/pinephone#what-works-what-doesnt.&lt;br /&gt;
&lt;br /&gt;
Other distributions will have different levels of functionality. Please refer to the release page of your chosen distribution for further information.&lt;br /&gt;
&lt;br /&gt;
====  I can't connect to a 2.4Ghz Wi-Fi network in Ubuntu Touch. ====&lt;br /&gt;
&lt;br /&gt;
Reboot your device by holding the power button until the &amp;quot;Power&amp;quot; dialog appears, then pressing &amp;quot;Restart&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If that does not fix the issue, note that all the following conditions must be met to use Wi-Fi on the PinePhone:&lt;br /&gt;
&lt;br /&gt;
# The plastic tab between the battery and the device's battery contacts has been removed&lt;br /&gt;
# The battery is installed&lt;br /&gt;
# The Wi-Fi privacy switch (switch number two) on the rear of the device is switched &amp;quot;ON&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wi-Fi in the PinePhone only seems stable after a warm reboot like this.&lt;br /&gt;
&lt;br /&gt;
==== What's the status of Android for the PinePhone? ====&lt;br /&gt;
&lt;br /&gt;
Currently, there isn't any major push to get Android running well on the PinePhone. The developer Icenowy did get a Android image to run and partly work, it was however slow and buggy, with major functions not working. A solution for running some of your android apps may be found in Anbox as of now. Anbox is currently not included in Ubuntu Touch. In other distributions your millage may vary on what applications will run and how well.&lt;br /&gt;
&lt;br /&gt;
==== Why are my apps loading slower than on my Android phone? ====&lt;br /&gt;
&lt;br /&gt;
Android has multiple techniques in place to speed up launching applications after the first launch, such as the &amp;quot;Dalvik cache&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Using an alternative filesystem such as F2FS on the eMMC (which is considerably faster than running software on the SD card) may help improve performance slightly. Over time you can expect further optimizations and improvements in various distributions that will help speed up the PinePhone.&lt;br /&gt;
&lt;br /&gt;
==== How can I turn on the backlight? ====&lt;br /&gt;
&lt;br /&gt;
On some devices the default calibration of the backlight is not sufficient and the minimum setting of the brightness of the used OS can be too low, causing the backlight to completely shut down. In that case it is recommended to connect the phone to a charger and/or to shine a flashlight at the screen to adjust the brightness to a higher setting again.&lt;br /&gt;
&lt;br /&gt;
On many Linux OSes the brightness setting is an integer between 0 and 1000 and available at runtime in /sys/class/backlight/backlight/brightness and stored at shutdown and loaded at boot from /var/lib/systemd/backlight/platform-backlight:backlight:backlight by systemd-backlight@backlight:backlight.service. Changing the brightness setting can be done at runtime, for example over SSH, by executing as root &amp;lt;code&amp;gt;echo 500 &amp;gt; /sys/class/backlight/backlight/brightness&amp;lt;/code&amp;gt;. The stored brightness setting can be modified using another system, by mounting the root filesystem of the system you want to fix and by executing &amp;lt;code&amp;gt;echo 500 &amp;gt; [MOUNT LOCATION]/var/lib/systemd/backlight/platform-backlight\:backlight\:backlight&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== How can I contribute regarding the WiFi and Bluetooth firmware? ====&lt;br /&gt;
&lt;br /&gt;
The PinePhone uses [https://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf Realtek RTL8723CS] for its Wi-Fi and Bluetooth connectivity. Unfortunately, just like the other Realtek wireless chipsets ''([https://en.wikipedia.org/wiki/Comparison_of_open-source_wireless_drivers see more info])'' - the RTL8723CS chipset requires proprietary firmware for Wi-Fi and Bluetooth functionality. For those who want to create replacement free software firmware, resources like [https://libreplanet.org/wiki/Group:Hardware/research/e-readers/Kobo/Aura_H2O_Edition_2#Firmwares this] and [https://8051enthusiast.github.io/2021/07/05/002-wifi_fun.html this] (different chipsets, but still Realtek) could be a great starting point for further research.&lt;br /&gt;
&lt;br /&gt;
=== SMS ===&lt;br /&gt;
&lt;br /&gt;
==== The phone does not receive SMS ====&lt;br /&gt;
&lt;br /&gt;
Sometimes incoming SMS messages are not being received, but outgoing ones, phone calls and data are working fine. One potential cause could be SMS messages that linger in the modem's queue (10 or more of them). This queue appears to be persistent across reboots and also re-imaging the OS.&lt;br /&gt;
&lt;br /&gt;
On Mobian and Manjaro, the ModemManager does all the communications with the 3G modem including phone calls, cellular data, GPS and SMS. This may not be the case with other PinePhone OSes.&lt;br /&gt;
&lt;br /&gt;
You can access the ModemManager using the mmcli command.&lt;br /&gt;
&lt;br /&gt;
'''Mobian:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo mmcli -m 0 --messaging-list-sms&lt;br /&gt;
Found 10 SMS messages:&lt;br /&gt;
/org/freedesktop/ModemManager1/SMS/0 (received)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Manjaro:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo mmcli -m 3 --messaging-list-sms&lt;br /&gt;
/org/freedesktop/ModemManager1/SMS/77 (received)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Mobian, delete all the messages like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ sudo mmcli -m 0 --messaging-delete-sms=1&amp;lt;/code&amp;gt; (Repeat with 1 through 10 to delete all the messages)&lt;br /&gt;
&lt;br /&gt;
For Manjaro, delete all the messages like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ sudo mmcli -m 3 --messaging-delete-sms=77&amp;lt;/code&amp;gt; (Repeat with all listed messages)&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;-m 0&amp;quot; or &amp;quot;-m 3&amp;quot; refers to modem 0 or 3 (the only one in a PinePhone). For more help on the messaging related actions available in mmcli you can check the help with &amp;lt;code&amp;gt;mmcli --help-messaging.&amp;lt;/code&amp;gt; This article is also helpful in learning: https://electronproton.com/mmcli-command-examples/. For your particular configuration, you may need to try different &amp;quot;-m #&amp;quot; combinations, e.g., &amp;quot;-m 2&amp;quot; or &amp;quot;-m 4.&amp;quot; &amp;quot;-m 0&amp;quot; is not always the default.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that recent releases of Mobian and postmarketOS now include a userspace daemon called [https://gitlab.com/mobian1/devices/eg25-manager eg25-manager], which helps manage the modem and ensure proper operation.&lt;br /&gt;
&lt;br /&gt;
== Shipping ==&lt;br /&gt;
=== I did not receive an order confirmation ===&lt;br /&gt;
Check your &amp;quot;spam&amp;quot; folder. It was reported that some users did not receive an order confirmation. You will also still get a shipping notification when the device ships out, even if you didn't get an order confirmation email.&lt;br /&gt;
&lt;br /&gt;
=== When does the phone ship? ===&lt;br /&gt;
For up-to-date information when the phone's shipping date is estimated, see the edits in the corresponding forum thread.&lt;br /&gt;
&lt;br /&gt;
=== It is shipping day but I did not receive a shipping notification ===&lt;br /&gt;
For shipments with DHL the shipping notification is sent out as soon as the packet reached DHL's warehouse and scanned (it can take up to 24 hours after scanning after the shipment is added to DHL's database). For all other shipments (via Ascendia) the notification is sent out sometime after shipment.&lt;br /&gt;
&lt;br /&gt;
=== When does my phone ship if I order now? ===&lt;br /&gt;
Orders made after Friday, 22nd May 2020 are shipped after the first bulk of pre-orders has been shipped. The exact date is not known yet due to various reasons, it may be a few weeks after the first bulk shipped. [https://forum.pine64.org/showthread.php?tid=9942 The forum] will be edited with updated information and you will receive a shipping notification when the device was shipped.&lt;br /&gt;
&lt;br /&gt;
=== What about import taxes? ===&lt;br /&gt;
Import taxes have to be paid by the buyer depending on the jurisdiction of the country of the buyer. Please check with your local laws if there are import taxes to pay and if so how to do the tax filing.&lt;br /&gt;
&lt;br /&gt;
== Accessories ==&lt;br /&gt;
&lt;br /&gt;
=== Protection ===&lt;br /&gt;
==== Which screen protector should I use? ====&lt;br /&gt;
&lt;br /&gt;
Protecting your screen is important, especially for devices like the PinePhone that doesn't have access to the newest glass technology.&lt;br /&gt;
The Braveheart and Community Editions of the PinePhone comes with a plastic film screen protector installed, and PINE64 sells a tempered glass screen protector [https://pine64.com/product/pinephone-tempered-glass-screen-protector/ in their store].&lt;br /&gt;
&lt;br /&gt;
You can also buy a third-party screen protector, as the screen protectors for the iPhone 11 Pro Max/XS Max fit the PinePhone pretty well based on [https://forum.pine64.org/showthread.php?tid=8458&amp;amp;pid=65409#pid65409 this] forum post.&lt;br /&gt;
&lt;br /&gt;
=== Batteries ===&lt;br /&gt;
==== I want a replacement battery, which one should I buy? ====&lt;br /&gt;
&lt;br /&gt;
Replacement batteries for US customers are available in the store.&lt;br /&gt;
&lt;br /&gt;
Currently the PinePhone battery is known to be compatible with replacement batteries for the Samsung J700. Specifically, models &amp;quot;EB-BJ700BBC&amp;quot; and &amp;quot;EB-BJ700BBE&amp;quot; are compatible with all PinePhone models, and &amp;quot;EB-BJ700CBE&amp;quot; is compatible with Community Editions [https://www.reddit.com/r/PINE64official/comments/kcof97/pinephone_replacement_battery_found_and_tested/gfrx4p2/?utm_source=reddit&amp;amp;utm_medium=web2x&amp;amp;context=3 after UBPorts] (due to plastic tabs on its bottom which only the newer phones [https://forum.pine64.org/showthread.php?tid=11901 have tolerance for]).&lt;br /&gt;
&lt;br /&gt;
=== External hardware ===&lt;br /&gt;
&lt;br /&gt;
==== Will PINE64 sell other add-ons made for the PinePhone? ====&lt;br /&gt;
&lt;br /&gt;
Yes, currently there is a keyboard case [https://forum.pine64.org/showthread.php?tid=8537&amp;amp;pid=55396#pid55396 with similarities to the Psion 5] which includes an internal battery, and a [https://www.pine64.org/2020/05/15/may-update-pinetab-pre-orders-pinephone-qi-charging-more/ Qi wireless charging] add-on planned, both of which PINE64 intends to directly sell. There is the potential for future add-ons such as a game pad, however that is currently just an idea and not in any way planned.&lt;br /&gt;
&lt;br /&gt;
==== Which 3rd party hardware can connect to my PinePhone? ====&lt;br /&gt;
&lt;br /&gt;
See [[PinePhone Hardware Accessory Compatibility]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PinePhone]]&lt;/div&gt;</summary>
		<author><name>PineCone</name></author>
	</entry>
</feed>