How-To: Get wifi working on an ECS LIVA Mini PC Kit with Ubuntu

sysadminIf you bought a LIVA Mini PC kit from ECS and want to install Ubuntu on it, you’re in for a treat, but you’ll want to read this post to get wifi working.

The LIVA Mini PC kit is an Intel Bay Trail-M based miniature PC kit currently being sold with 2GB of RAM, 32 or 64 GB of eMMC storage, and a small form factor including an RJ45 jack for ethernet, a VGA port, an HDMI port, and two USB ports. The box is manufactured by Elitegroup Computer Systems (ECS) out of Taiwan, and is a better system than an Intel NUC for building a home theater pc (HTPC), although it’s about as poorly supported by the development community.

I downloaded the 64 bit version of Ubuntu 14.04.1 LTS (Trusty Tahr) and used Rufus to build a bootable Ubuntu USB drive, as indicated in the instructions on the DVD that came with the LIVA in an Ubuntu directory. The instructions were written for Ubuntu 13.10 64 bit (BETA).

Wifi not working?

Almost everything worked out of the box with Ubuntu 14.04.1, except for the M.2 AzureWave AW NB136NF wireless (and bluetooth) card. The NB135NF uses the Broadcom BCM43142 chip.

Inside the Ubuntu directory on the DVD is a WLAN folder with some instructions on installing the wireless drivers. Basically, you copy the firmware and nvram files named brcmfmac-sdio.bin and brcmfmac-sdio.bin.txt into the /lib/firmware/brcm directory. Unfortunately, these instructions don’t work as of Ubuntu 3.13.0-0.14.

If you’re using this version or later of Ubuntu, you’ll find that the Broadcom device is not initialized properly. In the syslog, you’ll find this message:

kernel: [    5.841014] brcmfmac: brcmf_sdbrcm_get_fw: fail to request firmware brcm/brcmfmac43241b4-sdio.txt (-2)

This is because on 10/3/2013, a committer to the Linux kernel merged in a patch from Broadcom, which was then merged into Ubuntu by canonical and released as an update on 01/03/2014, in Ubuntu 3.13.0-0.14.

This patch made it so that the system could support multiple Broadcom devices by changing the name of the nvram file from a generic brcmfmac-sdio.bin.txt to a filename that included the chip id and revision.

The fix is rather easy, and just requires one to rename the file and reboot after following the included instructions.

cd /lib/firmware/brcm
sudo mv brcmfmac-sdio.bin.txt brcmfmac43241b4-sdio.txt