The Odroid XU4 with a new OS (2)

(Continued from page 1)

Networking …

The first file (/etc/conf.d/net) is pretty easy to lay up.  For a wired internet, it can consist of this:


Yeah – that’s pretty exciting for certain, but for WiFi, it’s only a little more complicated:

  • modules=( “wpa_supplicant” )
  • config_wlan0=”dhcp”
  • preferred_aps=”HutchHouse1″
    iwconfig_wlan0=”mode managed”

Well, if you come to my neighborhood, you might try that ssid (hopefully, you won’t get into it) – but otherwise you’d probably want to change that to your own ssid. As always, as a Gentoo first-timer, I won’t submit this as advice.  You may bootstrap from here, but you’ll need to get all the corrections (stuff that I will probably discover myself later …).

My /etc/wpa_supplicant.conf file is pretty simple (but again – not advice):


I think the cautious person might be using the enterprise settings, which I haven’t shown, for authentication purposes, to work against the possibility of a masquerading access point. Anyway, I have a slew of really cheap – err, I mean inexpensive – Realtek WiFi dongles.  I selected one of them to test the WiFi stack of the new installation.  The dongle used the Realtek 8192 chipset, and the rtl8192cu Linux (mainline) driver. It would work for a while, and then go to sleep.  I found myself constantly resetting it, with something like this:

  • ifconfig wlan0 down (sometimes, when it “hangs” – /etc/init.d/net.wlan0 won’t stop it)
  • modprobe -r rtl8192cu
  • modprobe rtl8192cu
  • ifconfig wlan0 up
  • iwlist wlan0 scan
  • /etc/init.d/net.wlan0 start (or restart)

I put the aforementioned commands in a script, and contemplated putting it up as a cronjob (run about every minute or two or five).  Then, I decided that was a ridiculous idea, and bought another adapter.  Some forum members had suggested that the power-saving software was at fault, but the usual power-saving config changes did not solve the problem.  Since the hang-up would sometimes occur after only 30 seconds, I don’t really believe that the power functions have anything to do with the issue.

Meanwhile …

I purchased a WiFi dongle with the Zydas chipset (zd1211).  It works flawlessly.  OK, I don’t know that for sure, but at least it doesn’t hang.  It’s pretty speedy too. You’re lucky if you can find a dongle with the Zydas.  In its day it was considered one of the most reliable WiFi chipsets.  That’s probably why Atheros bought them.  Now you can get almost the same thing (but with an Atheros name and model number applied). The Zydas is getting a little dated however (2006) – and I upgraded to a newer adapter so that I’d (ostensibly) have a device and driver combination up-to-date with recent security fixes.  I procured a more recent (2015 vintage) Atheros dongle that was not Zydas decended, and it works just fine.  On a fresh boot:

  • ifconfig wlan0 up
  • iwlist wlan0 up
  • /etc/init.d/net.wlan0 start

Both of the new dongles needed firmware.  So emerge came to the rescue:

  • ACCEPT_KEYWORDS=”~arm” USE=”” emerge –ask sys-firmware/zd1211-firmware
  • ACCEPT_KEYWORDS=”~arm” USE=”” emerge –ask sys-kernel/linux-firmware

The syntax reminds me that I’m on my Gentoo installation, versus my FreeBSD or Haiku or VisOpSys or RiscOS or Ubuntu installation.  I never use a graphical login either.  Always it’s just:

startx — -nolisten tcp

And – speaking of startx

Every operating system has its own package manager, with a few exceptions that borrow from pkgsrc or aptitude (or even portage).  So, a new learning curve is associated with nearly every OS distribution that you use.  So, the xorg packages are named similarly or identically, and also the portage directory entries are fairly similar.  So, with emerge you’re installing the likes of /usr/portage/x11-base/xorg-drivers/xf86-video-fbdev and /usr/portage/x11-base/xorg-server and so forth.  While installing X, somewhere it was suggested that I put the following inside of /usr/portage/make.conf:

  • INPUT_DEVICES=”evdev keyboard mouse”
  • VIDEOCARDS=”exynos omap”

I eventually put this portage related term in there as well:


Miscellaneous …

It seems that a lot of packages required USE=”sqlite” – making me wonder why it wasn’t specified in the build specs for those packages. Pulseaudio installed without much fuss, but it couldn’t see my soundcard.  I was befluxed by this for a long while, because ALSA by itself worked perfectly, and could see my (CMedia, USB) sound adapter just fine.  Aplay -L displayed the adapter info just fine, and aplay -D plughw:0,0 ./some.wav could play my nice songs out to the speaker, as well as ogg123 did it with ogg123 -d alsa -o dev:”hw:0″ ./some.ogg, but pacmd list sinks showed me nothing at all!  Neither did pavucontrol, and it instead displayed an empty tab for adapters.

It turned out to be a lesson about how much work the distro people do for you when they bake an image.  Building everything from the kernel on up requires one to add many tiny little things, that one never ordinarily thinks about.  So, I’d neglected to create a group (audio) and add myself to it, such that I’d have access to the /dev/snd/* sound devices directory.  One can cheat this by:

chmod -R 666 /dev/snd/*
(but that’s not recommended practice! I did it on test case only (no net connection)).

Anyway, suddenly pulseaudio knew about my devices, and my various ‘n sundry apps (like the fldigi program for weather faxes) – all began to work.

Read More …

Note: Gentoo is a product of the Gentoo people at, and this author and site has no affiliation with them.  Odroid is a project of hardkernel at, and this author and site has no affiliation with them.