NXP LX2K/Cubox/HummingBoard
Marvell ClearFog/MACCHIATObin
  • ホーム
  • アーティクル
  • 製品情報
  • イベント情報
  • Petapico コラム
  • ダイレクトショップ
  • DL
  • 英徳社について
  • 問い合わせ
12日 7月 2014

CuBox-i/HummingBoard(13) CuBox-i でUSBのWiFiアダプタを利用する

 

CuBox-iシリーズでは、CuBox-i4ProだけがWiFi内蔵となっていて、CuBox-i1,CuBox-i2やCuBox-i2eXでは内蔵されていません。CuBox-i4Proの内蔵WiFiはAndroidやUbuntuなどではGUIのセッティングから容易にWiFiが利用できるようになっています。

ただし日本においては、電波法と電通法(TELEC/JATE)の認証を受けたものでないと電波を出したり、通信インフラにつなぐことができません。市販のパソコンやWiFiルーターなどをよく見るとTの字をデザインした認証マークがついているのが確認できます。

日本国内の電波や通信インフラを守る趣旨ではありますが、この認証をとるには大きな費用がかかります。ロット数の大きな量産品では単価への影響は小さくなりますが、少量しか製作(輸入)しないものでは、値段にするともとの値段の倍以上になりかねません。高くつくからといっても、認証をとっていないデバイスではWiFi を内蔵していても日本国内では法的には使えないことになります。

そこで今回の企画です。認証済みのドングルタイプのUSBアダプタを利用すればWiFi環境が使えるようになります。CuBox-i2/i2eXなどではもともとWiFiが内蔵されていないので無駄もありません。今回の検証では、CuBox-i4Proに導入しても、WiFiが2つ見えるようになることが確認できました。CuBox-i1では、Ubuntu11自体が動作しませんでした(Androidにドライバ移植ができたらまたここで報告します)。

 

今回のテーマは、WiFiのUSBドングルを使ってWiFiの使える端末にすることです。この際に、電波法・電通法の認証済みであることと、Linuxのドライバが利用可能であることが条件となります。(本記事ではAndroidへの対応を記述していませんが、2014.08時点でAndroid4.4対応をしました)

その条件のもとで今回使用したのはReUdo RE-UW100です。

USB 2.0/1.1、IEEE802.11b/g/n対応で、チップセットはRealtek RTL8188CUSを使用しています。

Linuxのカーネル・コンフィグレーションでは”Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter”として認識されるものです。

それでは、ポーティングを始めましょう。

ここからは、このアダプタを認識させる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
$ sudo apt-get install lzop
 

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
これにより ../modules/lib/ の下にドライバファイルが生成されました。
 
上の4つのモジュールが表示されていればOKです。
 
3) 最後にSystem SettingsのNetworkを起動してみましょう。
 

このようにWirelessが表示されれば成功です。

あとは、通常のWiFiの設定をすればネットワークに接続できます。

tagPlaceholderカテゴリ: Cubox-i, HummingBoard, WiFi, コラム

コメントをお書きください

コメント: 0

お問合わせフォームはこちら

メールはpetapicoshop@petapico.bizまで


英徳社ホームページはこちら


1 日本国内への配送に適用されます。その他の国についてはこちらをご参照ください
概要 | 利用規約 | 返金条件と返品取消申請書 | 配送/支払い条件 | プライバシーポリシー | サイトマップ
ログイン ログアウト | 編集
  • ホーム
    • ショップからのお得情報
    • CuBox-i Seriesの情報
    • MicroSDの作り方
    • HummingBoard Seriesの情報
    • HummingBoard Edge/Gateの情報
    • IntelSoliPCの情報
    • windows10 IOTの情報
    • ClearFogの情報
    • MacchiatoBinの情報
    • fromSolidRunWebsite
  • アーティクル
  • 製品情報
  • イベント情報
  • Petapico コラム
    • KODI
    • Cobox-i
    • HummingBoard
    • ソフトウェアTips
    • 外付け
    • カメラ
  • ダイレクトショップ
    • ダイレクトショップ iMX SoC
      • CuBox-Mセット
      • iMX8M Plus
      • iMX8M Plus Mate
      • CuBox-i1 OpenELECWiFi model
      • HummingBoard Pulseセット
      • CuBox-i1 OpenELEC セット
    • WAI WAIセール
      • Sheeva
      • D3
      • SMILE Plug
      • 第1世代CuBox|CuBox-PRO
      • CuBox-i1 セット
    • ダイレクトショップ LX2K
      • LX2160Aファミリー
    • ダイレクトショップ Marvell SoC
      • CEx7 CN9132
      • ClearFog
      • ClearFog Base
      • ClearFog Pro
      • MacchiatoBin Double|Single Shot
      • ClearFog GT 8K
      • MACCHIATObin ClearCloud 8K
      • SolidSense スターターセット
    • ダイレクトショップ intel SoC
    • ダイレクトショップ eRemote
      • eRemote
      • eSensor
    • 12V AC アダプター(PSE対応)
    • CuBox-i1 GeeXboXセット
    • CuBox-i1 OpenELEC+plugin
    • HummingBoard-Gate i1セット
    • HummingBoard-i2eX セット
    • HummingBoard-i4pro セット
    • CuBox-i2 セット
    • CuBox-i2 WiFiセット
    • CuBox-i2eX セット
    • CuBox-i2eX WiFiセット
    • CuBox-i4 Pro セット
    • HummingBoard-i2 セット
    • HummingBoard-i1セット
    • Application microSD Card for CuBox-i
    • Android microSD Card for CuBox-i
    • SolidPC
    • SolidPC SSD 32G
  • DL
    • Media Exposure
  • 英徳社について
  • 問い合わせ
閉じる