Pine64

  • 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). CPU stress test results in consumption of a little over 4 W.
  • 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) on the GPIO header.
  • 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. See the PINE A64 heat sink locations.
  • 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). Note that you also need kernel module supporting CSI that is included in later versions of Armbian.
  • Pine64’s own LCD with touchscreen support can simply be activated in /boot/armbianEnv.txt by setting overlays=pine64-7inch-lcd.
  • 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.