Pine64

64bit A64 allwinner GbE legacy mainline


Ubuntu desktop – legacy kernel
  .torrent (recommended) ?
Multimedia and desktop usage scenarios.

Stable

Ubuntu server – mainline kernel
 
Command line interface – server usage scenarios.

Experimental

other download options and archive

  • it’s recommended to power the board through GPIO header

Known issues

Legacy kernel images (all boards) (default branch)

  • Arm64 browsers (Firefox, Chromium, Iceweasel) may crash frequently. Armhf versions of these browsers should be used instead (Iceweasel and Firefox preinstalled in desktop images should be of the right architecture out of the box)
  • HDMI output supports only limited number of predefined resolutions
  • Hardware accelerated video decoding supports only limited number of video formats
  • Kernel lockups on boot may happen, no solution yet: https://github.com/longsleep/build-pine64-image/issues/51

Mainline kernel images (all boards) (next and dev branch)

Board: Pine64/Pine64+

  • Gigabit Ethernet performance: on some boards was confirmed as hardware issue, though the legacy kernel received a workaround that may help on some boards.
  • Gigabit Ethernet performance: setting TX/RX delays manually in /boot/armbianEnv may improve performance on some boards. Refer to this github issue for the details.

Notes

  • Important: A few Pine64+ devices suffer from a Gbit Ethernet issue related to the GbE PHY leading to a severe amount of packet losses which might render Ethernet unuseable. It’s confirmed as hardware issue and if you’re affected or not can be simply checked by testing network throughput with iperf3. Against another GbE capable device you should exceed 900 Mbits/sec with Armbian (only 800 Mbits/sec in RX direction when not using Xenial due to iperf3 being single-threaded in both directions then and bottlenecked by CPU). If you see low throughput and high retransmit counts then a work-around is to switch Pine64+ to Fast Ethernet only by adding ethtool -s eth0 speed 100 duplex full to /etc/rc.local. At the time of this writing a true fix is only replacing the defective board by Pine Microsystems Inc.
  • The only led on the board is a power led, it starts to light as soon as power is available and does not indicate anything else. So the only ‘DOA or not?’ indicator on this board is to burn an image, connect Ethernet, power on the board and wait 20 seconds whether the leds on the Ethernet jack show activity or not.
  • Comprehensive device information is available in linux-sunxi wiki.
  • Idle consumption with legacy image is ~1500 mW on Pine64 (or Pine64+ forced to use Fast Ethernet) and 1870 mW on Pine64+ (if you don’t need GbE network transfer speeds switching to Fast Ethernet with ethtool -s eth0 speed 100 duplex full saves ~350 mW).
  • Since the default DC-IN connector unfortunately is made with a Micro USB jack it’s important to keep in mind that most USB cables have a resistance way too high which leads to undervoltage situations. In case you run into stability problems please power your Pine64(+) through the Euler pins (see linux-sunxi wiki for details).
  • If you clone one Armbian installation for more than one Pine64 please keep in mind that currently the Ethernet MAC address will be chosen randomly on first boot and then saved in /boot/uEnv.txt. To avoid MAC address collisions you must adjust the address there or delete the whole ethaddr line (next boot will assign a new MAC address automagically). OS images from Aug 2016 or before suffer from this bug so /boot/uEnv.txt has to be adjusted manually in any case if more than one Pine64 joins the same Ethernet network.
  • Even if HDMI situation is still somewhat limited Armbian starting with release 5.21 supports setting the default resolution in /boot/armbianEnv.txt (defaults to 720p60 and could be changed to 4K@30Hz for example with an entry disp_mode=2160p30 — for the list of supported resolutions please have a look into /boot/boot.cmd)
  • If you use a DVI display don’t forget to define disp_dvi_compat=1 in /boot/armbianEnv.txt (supported starting with 5.21).
  • If you want to run heavy loads on Pine64 please keep in mind that you might need a heatsink to prevent throttling. Armbian uses community throttling settings that protect A64 SoC from overheating but without improved heat dissipation any heavy workload running longer than 60 seconds will result in CPU cores being clocked down to stay below 90°C SoC temperature.
  • Situation with mainline kernel can be considered experimental. At the moment only basic functionality is implemented and no thermal protection (throttling) is working (no cpufreq scaling also and no access to PMIC too). Therefore also pretty conservative settings are used which negatively impact performance.
  • In case you use mainline kernel already you can adjust cpufreq to 864 MHz for example by adding a line with mw.l 0x1c20000 0x80001110 to /boot/boot.cmd (don’t exceed 864 MHz now since VDD_CPUX is currently limited to 1.1V). By defining mw.l 0x1c2005c 1 on a separate line you can speed up USB and Ethernet — Reference).
  • It’s possible to convert the upper USB port (normally an OTG port) into a full USB host port using an own PHY by setting some magic bits.
  • To use/configure Wi-Fi (currently only supported with legacy images) the most simple way is to use NetworkManager. Simply follow these steps (as root):
    • echo "blacklist 8723bs_vq0" >/etc/modprobe.d/8723bs_vq0.conf (optional, not really necessary)
    • sed -i 's/p2p0/p2p0,wlan1/' /etc/NetworkManager/NetworkManager.conf (optional, not really necessary)
    • nmtui (choose then Activate a connection)
  • You could also use the other Wi-Fi interface for an access point at the same time. In this case you want to use wlan1 and follow these instructions. Please note that Armbian already ships with an example default config /etc/network/interfaces.hostapd using wlan0 and that we also ship with an own hostapd version (check with dpkg -l | grep hostapd).
  • Starting with Armbian 5.21 fixed camera drivers for both SK54EC and OV5640 are included.
  • Currently BT is not supported out of the box by Armbian. Please read through this thread in pine64 forum to enable it.
  • Starting with Armbian 5.24 in /boot/armbianEnv.txt camera support can be activated: camera_type=none|s5k4ec|ov5640 (defaults to none, reboot needed for changes to take effect)
  • Also starting with 5.24 Pine64’s own LCD with touchscreen support can simply be activated in /boot/armbianEnv.txt by setting pine64_lcd=on and adding gt9xxf_ts to /etc/modules followed by a reboot. Please note that current gt9xxf_ts driver seems to be buggy and crashes on shutdown.
  • Starting with 5.25 in /boot/armbianEnv.txt two more parameters can be set: gmac-tx-delay (defaults to 3) and gmac-rx-delay (defaults to 0). Adjusting this parameters should not be necessary but in case you are curious or experience bad Gigabit Ethernet performance please read through the appropriate github issue.

Desktop

Quick start | Documentation

Preparation

Make sure you have a good & reliable SD card and a proper power supply. Archives can be uncompressed with 7-Zip on Windows, Keka on OS X and 7z on Linux (apt-get install p7zip-full). RAW images can be written with Etcher (all OS).

Boot

Insert SD card into a slot and power the board. (First) boot (with DHCP) takes up to 35 seconds with a class 10 SD Card and cheapest board.

Login

Login as root on HDMI / serial console or via SSH and use password 1234. You will be prompted to change this password at first login. Next you will be asked to create a normal user account that is sudo enabled (beware of default QWERTY keyboard settings at this stage).