ODROID-C1 post-installation tips

Some weeks ago I decided you replace my old and rusty Raspberry Pi (serving as a media center) with something faster (and less likely to suddenly lose ethernet connection). I stumbled over the dirt-cheap ODROID-C1, which outruns the Raspberry Pi (and even the brand-new Raspberry Pi 2) thanks to its Amlogic S805 ARM Quad Core Cortex™-A5 processor and Dual Core Mali-450 GPU. And it's also supported by ArchLinuxARM.

If you've also purchased that little device, here are some solutions to problems I encountered upon first boot (after setting up basic stuff like timezone, hostname, locale, etc.), so I hope that these tips help you, too.

Blacklisting the Dallas 1-Wire interace

In case you're not going to use the 1-wire interface, you might want to blacklist the kernel module. Otherwise, it'll keep scanning all day long for attached sensors. Create /etc/modprobe.d/blacklist-w1.conf and insert:

# Disable the 1-wire interface
blacklist w1_gpio

Enabling the Hardware Random Number Generator

Use the hardware RNG instead of haveged. You need to install rng-tools and make sure that /etc/conf.d/rngd contains:

RNGD_OPTS="-o /dev/random -r /dev/hwrng"

Then, you can enable the rngd service via systemd:

$ sudo systemctl stop haveged
$ sudo systemctl start rngd

To keep using the hardware RNG after a reboot:

$ sudo systemctl disable haveged
$ sudo systemctl enable rngd

HDMI-related stuff

Getting video working

If you've configured everything correctly, but you still get no image on your display, chances are that you bought a non-standard HDMI cable that misses the group pin. Either go buy another cable (it's rumoured that the AmazonBasics HDMI-to-Micro-HDMI cable works) or short the shell of the Micro-HDMI with the (grounded) Micro-USB-shell. I used a paperclip to do this. Have a look at this post in the ODROID forum.

Getting audio working

Install pulseaudio. You need to edit Pulseaudio's default.pa, so either edit /etc/pulse/default.pa in-place or copy it to ~/.config/pulse/default.pa of the respective user.

Search for these lines:

#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0

And replace them with:

load-module module-alsa-sink
load-module module-alsa-source device=hw:0,1

Important: Make sure that it's hw:0,1 and not hw:1,0!

Also, do not forget that your user need to be part of the audio group to use the sound device.

Now you can check if everything worked by running:

$ paplay /usr/share/sounds/alsa/Front_Center.wav 

Getting CEC working

Unfortunately, that's a hardware issue. The guys at Hardkernel are working on it, so chill. You'll probably need to RMA your device or do some soldering yourself, though. Check out this thread in the ODROID forum.