Android R13.4-GA for i.MX6 in stages – Stage 4: WiFi and Bluetooth

Published on April 8, 2013

Archived Notice

This article has been archived and may contain broken links, photos and out-of-date information. If you have any questions, please Contact Us.

This post is long overdue, since we began leaking the sources out without proper documentation of what we did to integrate Wi-Fi with our Android build for i.MX6.

In this recent post, we discussed how to get and compile the latest branch of Android for our boards. In this post, we'll describe the key bits we added in more detail.

For those of you coming in late to this series, the following posts describe the early steps in booting Freescale's Android release on our Nitrogen6X, Nitrogen6X-SOM, and BD-SL-i.MX6 (formerly SABRE Lite) boards.

At the end of Stage 3, we had no Wi-Fi or Bluetooth support, and adding it involves essentially two things:
  • Removing Freescale's patches to support the Atheros Wi-Fi module
  • Adding in support for the TiWi-R2 module on the Nitrogen6X
The first was probably the more difficult of the two. We started that process by identifying the Atheros-related patches in the Freescale patch set through a combination of grep and eye-balls.

The primary places changed were in the wpa_supplicant, bluez and libhardware_legacy modules.

You can get a pretty good snapshot of these changes by using this nice feature of GitHub to compare the branches nitrogen6x and nit6x-wifi of the repo default.xml.

If you're new to repo and Android, the default.xml file is the piece used to consolidate a set of git repositories into a unified build tree. It's hidden in the .repo/manifests/ directory, but crucial to understanding the Android build process.

The nit6x-wifi branch is a temporary branch we used when performing the updates for Wi-Fi, and also the version we leaked out to those of you with access to the sources.

Other key changes include: Note that there are additional changes included in some of these change-sets, but the highlights listed above show the bulk of what was done to integrate Wi-Fi in particular into the Nitrogen6X code base.

We hope that this brief overview helps as you walk through the process of customizing Android for your particular needs on i.MX6.