Orange Pi 3

I recently ordered an Orange Pi 3.

Why an OPi3 rather than a Raspberry Pi? Because:

  • Onboard storage (eMMC is faster & more reliable than an SD card)
  • Faster GBit networking
  • USB3

However it is obviously less mainstream. I bought it from AliExpress with a case (& fan / heatsinks) & a PSU (although it can be powered up with a decent USB cable / supply). You’ll also need a micro SD card to install different OSes.

I wanted to run console / server Linux & the images supplied by OrangePi aren’t up to much so I’m using an early Armbian image. Follow this thread for more details and builds are available here.

So far I’m very impressed, it boots very quickly and seems stable. Only used wired networking so far.

Using pfsense / OpenVPN client access and can’t reach your internal LAN?

Remember to create a route from your internal LAN machines to your pfsense / OpenVPN network.

ie if internal lan is 192.168.10.0/24, pfsense is on 192.168.10.3 & your OpenVPN client lan is 192.168.20.0/24, you’d want something like

route add -net 192.168.20.0/24 gw 192.168.10.3

Disable fsync!

libeatmydata is a small LD_PRELOAD library designed to (transparently) disable fsync (and friends, like open(O_SYNC)). This has two side-effects: making software that writes data safely to disk a lot quicker and making this software no longer crash safe.

DO NOT use libeatmydata on software where you care about what it stores. It’s called libEAT-MY-DATA for a reason.

Monitor mail queue with filter

check_mailq_filter – an Icinga / Nagios postfix mail queue monitor with a filter (include or exclude mails matching a pattern).

So to exclude facebook mails from your monitor you may run:

check_mailq_filter.py -x '.*facebookmail.*'

While you’re here, have a look at pfqueue – a console tool for interactively viewing your postfix queue that’s a step up on postcat etc.

Fix ARA warnings with mysql

Getting errors like “/root/.virtualenvs/utils35/lib/python3.5/site-packages/pymysql/cursors.py:170: Warning: (1300, “Invalid utf8 character string: ‘9C1DCE'”)
result = self._query(query)”  when you run an ansible playbook with the ARA plugin?

Change the mysql python lib to cymysql

ie in $ANSIBLE_CONFIG

[ara]
database = mysql+cymysql://ara:dbpass@localhost/ara

Seems like pymysql has issues with utf-8 & python v3