CuBox-i2のUbuntu上でUSB Wireless LANアダプタを接続してみました。
実際に、使ったアダプタは、RealtekのRTL8188CUS チップセットを搭載したものです。
Linuxのカーネル・コンフィグレーションでは”Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter”として認識されるものです。
Amazonから購入しました。
「日本の電波法に適合するTELEC認証取得製品」ということで安心して使えます。
CuBox-i2に限らず、CuBox-i4Proでも使えます。
41VOlJLNe2L._SX425_
ここからは、このアダプタを認識させるCuBox-i用のLinuxカーネルとモジュールを作成する手順について説明します。
Ubuntuが動作するPCを用意してください。以下は、Ubuntu PC上のターミナルでの作業が続きます。
1. まず、準備として必要なパッケージをインストールします。

$ sudo apt-get install git
$ sudo apt-get install libncurses5-dev
$ sudo apt-get install u-boot-tools

2. 環境変数をセットしておきます。

$ export ARCH=arm
$ export CROSS_COMPILE=arm-linux-gnueabi-

3. カーネルのソースファイルの取得と作成
1) カーネルのソースをダウンロードしましょう。

$ cd
$ mkdir kernel
$ cd kernel
$ git clone https://github.com/SolidRun/linux-imx6.git

2) カーネルのパラメータの設定をしましょう。

$ cd linux-imx6
$ make mrproper
$ make imx6_cubox-i_hummingboard_defconfig
$ make menuconfig

GUI画面でアダプタをモジュールとして取り込むように指定しましょう。
トップメニューから下のように”Generic IEEE 802.11 Networking Stack (mac80211) ”をモジュールとして組み込むように指定します。

[*] Networking support --->
    -*-   Wireless  ---> 
    <M>   Generic IEEE 802.11 Networking Stack (mac80211)   

を2回選択して、トップ・レベルに戻ります。
トップメニューから下のように”Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter”をモジュールとして組み込むように指定します。

Device Drivers  --->        
    [*] Network device support  --->         
      [*]   Wireless LAN  --->          
         <M>   Ralink driver support  ---> 
         <M>   Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter   

を何回か選択して、最後にこの設定を保存するか質問してきますまでを選択してGUIメニューを終了します。

3) カーネルの生成です。

$ make uImage

これで、カーネルファイル arch/arm/boot/uImage が生成されました。

4) 次に、モジュールを生成しましょう。

$ make modules
$ mkdir ../modules
$ export INSTALL_MOD_PATH=../modules/
$ make modules_install

これにより ../modules/lib/ の下にモジュール化したファイルが生成されました。
WiFiアダプタに関するモジュールのファイルは
 lib/modules/3.0.35-g01c6ae1-dirty/kernel/drivers/net/wireless/rtlwifi/
の下に
rtl8192c/rtl8192c-common.ko
rtl8192cu/rtl8192cu.ko
rtlwifi.ko
のような構成でできているはずです。

5) アダプタ用のファームウェアを用意しておきましょう。
実は、このアダプタ用のファームウェアは、 make firmware_install を実行しても作成されません。それでは、どこからファームウェアを持ってきたかというと、x64マシン用のUbuntu PCにファームウェアはインストールされているのでした。そこで、いま作業しているPCの /lib/firmware/rtlwifi の下のファイルをごっそり CuBox-i起動SDカードにコピーすれば解決です。
WiFiアダプタに関するファームウェアのファイルは
 /lib/firmware/rtlwifi/
の下に
rtl8188efw.bin
rtl8188eufw.bin
rtl8192cfw.bin
rtl8192cfwU_B.bin
rtl8192cfwU.bin
rtl8192cufw_A.bin
rtl8192cufw_B.bin
rtl8192cufw.bin
rtl8192cufw_TMSC.bin
rtl8192defw.bin
rtl8192eefw.bin
rtl8192sefw.bin
のような構成でできているはずです。

[補足] RealtekのdownloadサイトにあるドライバのソースはKernel 2.6用のものですので、CuBox-i用のこのカーネルソースではコンパイルできません。先程、https://github.com/SolidRun/linux-imx6.gitからダウンロードしたソースに、このアダプタのドライバのソースも含まれていましたので、それをそのまま使用しました。

4. CuBox-i起動SDカードの生成。
ここで、CuBox-i用のUbuntuを書き込んだSDカードを用意してください。
SDカードの生成については「CuBox-iにUbuntu12.04をインストールする」を参照してください。
上で作成したカーネル、モジュール、ファームウェアをSDカードに書き込みましょう。
SDカードをUbuntu PCに挿入してください。
自動的に /media/foo/sd01 にマウントされたものとします。
(自動マウントしない場合は、ご自身でマウントしてください。)

1) カーネルの書き込み

$ sudo cp arch/arm/boot/uImage /media/foo/sd01/boot

2) モジュールの書き込み

$ sudo cp -rf ../modules/lib/* /media/foo/sd01/lib

3) ファームウェアの書き込み

$ sudo cp -rf /lib/firmware/rtlwifi  /media/foo/sd01/lib/firmware

これで、作業は終了です。

5. CuBox-iでの確認
SDカードをアンマウントして、CuBox-iに差し込んでCuBox-iを起動してみましょう。
CuBox-iのターミナルでモジュールが正常に動作しているか確認してみましょう。
1) まず、dmesgコマンドを実行します。

$ dmesg

rtl8192cu: MAC address: 80:1f:02:68:a5:2b
rtl8192cu: Board Type 0
init: plymouth-splash main process (2488) terminated with status 2
init: plymouth main process (1393) killed by SEGV signal
init: failsafe main process (2569) killed by TERM signal
rtl8192cu: rx_max_size 15360, rx_urb_num 8, in_ep 1
ieee80211 phy0: Selected rate control algorithm 'rtl_rc'
usbcore: registered new interface driver rtl8192cu
eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=1:04, irq=-1)
rtl8192cu: MAC auto ON okay!
rtl8192cu: Tx queue select: 0x05
rtl8192c: Loading firmware file rtlwifi/rtl8192cufw.bin

このようにMAC addressが正しく表示され、firmware fileのロードができていたらOKです。

もし、ファームウエアがなかったり、正しくないときには
rtl8192cu:rtl92cu_init_sw_vars():<0-0> Failed to request firmware!
rtlwifi:rtl_usb_probe():<0-0> Can’t init_sw_vars.
のように表示されます。

2) 次にlsmodコマンドでモジュールが組み込まれているか確認します。

$ lsmod
Module                  Size  Used by
rtl8192cu              91575  0 
rtlwifi                67976  1 rtl8192cu
rtl8192c_common        54770  1 rtl8192cu
mac80211              163149  3 rtl8192cu,rtlwifi,rtl8192c_common

上の4つのモジュールが表示されていればOKです。

3) 最後にSystem SettingsのNetworkを起動してみましょう。
bt00
network_wifi
このようにWirelessが表示されれば成功です。
あとは、通常のWiFiの設定をすればネットワークに接続できます。