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.
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 collissions you’ve to 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.
While 2D acceleration and HW accelerated video decoding is possible with legacy kernel since March 2016 due to the problematic situation with HDMI drivers Armbian considered Pine64/Pine64+ headless devices just until recently (though if you know what you’re doing you cwere able to use our build system to generate a perfect desktop build with 2D and video acceleration since a long time). In the meantime a beta desktop image is available. Feedback welcome!
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 vanilla/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.
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.