Armadilloフォーラム

WiFiモジュール

shin1tanaka

2014年12月22日 11時00分

田中です。
SDIOインターフェースのWiFiモジュールをArmadillo-460に接続しようとしています。
そのWiFiモジュールのドライバーインストールガイドには下記の記載があります。

1.Linux kernel Configuration & Build
a) Edit net/wireless/Kconfig as below.
config WIRELESS_EXT
- bool
+ bool "WIRELESS_EXT"
config WEXT_SPY
- bool
+ bool "WEXT_SPY"
config WEXT_PRIV
- bool
+ bool "WEXT_PRIV"
b) Linux_config
# ./ltib -m config
-> [*]configure the kernel
-> select package list
[*] bluez-hcidump
[*] bluez-utils
[*] Wireless_tool
# ./ltib
(Build the uImage and rootfs)

上記に相当することをatde3で行うことは可能でしょうか。
可能な場合どうすればいいのでしょうか。

コメント

at_takashi.sasayama

2014年12月22日 17時51分

笹山です。

> SDIOインターフェースのWiFiモジュールをArmadillo-460に接続しようとしています。
> そのWiFiモジュールのドライバーインストールガイドには下記の記載があります。
>
> 1.Linux kernel Configuration & Build
> a) Edit net/wireless/Kconfig as below.
> : 一部省略
> 上記に相当することをatde3で行うことは可能でしょうか。

linux-2.6.26-at20 では WEXT_SPY、WEXT_PRIV をサポートしていない為、
有効化できるのは WIRELESS_EXT のみになります。
その為、相当する作業が可能かは不明です。

差支えなければ、WiFiモジュールのメーカー、ドライバーダウンロードサイト等を教えていただければ、
もう少し具体的な方法を答えられるかもしれません。

> 可能な場合どうすればいいのでしょうか。

大きく分けて4つの作業が必要かと思います。
1. Linuxカーネルコンフィギュレーションの変更
2. WiFiモジュールのドライバをArmadillo用にビルド
3. ArmadilloとWiFiモジュールの接続
4. 必要となるアプリケーションのインストール

================================================
1.Linuxカーネルコンフィギュレーションの変更
================================================
> 1.Linux kernel Configuration & Build
> a) Edit net/wireless/Kconfig as below.
> config WIRELESS_EXT
> config WEXT_SPY
> config WEXT_PRIV

linux-2.6.26-at20 では WEXT_SPY、WEXT_PRIV をサポートしていない為、
有効化できるのは WIRELESS_EXT のみになります。
WIRELESS_EXT はデフォルトで有効です。

次にSDインターフェース2(SDIO)がデフォルトで無効のため、これを有効化します。
# CON1のSDインターフェース1でも通信可能ですが、
# 後述するBluetoothの関係上、SDカードが必要な為、
# SDインターフェース2で接続することをおすすめします。

最後に bluez 関連のアプリケーションが必要のようですので Bluetooth を有効化します。

カーネルコンフィギュレーションは以下の様になります。

Linux Kernel v2.6.26-at20 Configuration
 
以下は、SDインターフェース2を有効にするコンフィギュレーションです。
-------------------------------------------------------------
System Type  --->
  Freescale MXC Implementations  --->
    MX25 Options  --->
      Device Options  --->
        [*] Enable eSDHC2                    #チェックを入れる
    Armadillo-400 Board options  --->
      [*] Enable SDHC2 at CON9               #チェックを入れる
      [*]   Enable PWREN for SDHC2 at CON9_1 #チェックを入れる
Device Drivers  --->
  Voltage and Current regulators  --->
    <*> Voltage and Current Regulator Support #チェックを入れる
    <*>   Fixed voltage regulator support     #チェックを入れる
 
以下は、Bluetoothを有効にするコンフィギュレーションです。
-------------------------------------------------------------
Device Drivers
    [*] --- Network device support                 #チェックを入れる
        <*>   Bluetooth subsystem support  --->    #チェックを入れる
            <*>   L2CAP protocol support                           #チェックを入れる
            [*]     L2CAP Extended Features support (EXPERIMENTAL) #チェックを入れる
            <*>   SCO links support                                #チェックを入れる
            <*>   RFCOMM protocol support                          #チェックを入れる
            [*]     RFCOMM TTY support                             #チェックを入れる
            <*>   BNEP protocol support                            #チェックを入れる
            [*]     Multicast filter support                       #チェックを入れる
            [*]     Protocol filter support                        #チェックを入れる
            <*>   HIDP protocol support                            #チェックを入れる
                  Bluetooth device drivers  --->
                      <*> HCI SDIO driver                          #チェックを入れる

カーネルコンフィギュレーション完了後に、ビルド、イメージの作成を行ってください。

--------
参考情報
--------
Armadillo-400 シリーズ ソフトウェアマニュアル
図7.11 Armadillo-WLAN用SDIOインターフェース有効化
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_soft…

Howto : Armadillo-400シリーズでBluetoothを使用する
http://armadillo.atmark-techno.com/armadillo-400-bluetooth

================================================
2. WiFiモジュールのドライバをArmadillo用にビルド
================================================
先にも書きましたが、linux-2.6.26-at20 では WEXT_SPY、WEXT_PRIV をサポートしていません。
WiFiモジュールのドライバが WEXT_SPY、WEXT_PRIV をサポートしていないカーネルでも動作可能かを
確認してみてください。

またドライバはArmadillo用にクロスビルドする必要があります。
ドライバをクロスビルドする為の修正は、下記のパッチが参考になると思います。
# MediaTeK社のRT3070系ドライバをArmadillo用にクロスビルドする為のパッチです。

--------
参考情報
--------
動作確認済みデバイス : USB無線LANアダプタ WLI-UC-GNHP
http://armadillo.atmark-techno.com/node/992
http://download.atmark-techno.com/misc/DPO_RT5572_LinuxSTA_2.6.1.3_2012…

================================================
3. ArmadilloとWiFiモジュールの接続
================================================
有効化したSDインターフェース2は、
CON9 拡張インターフェースに割り当てられます。
各SD信号線が出ているピンは以下を参照してください。

--------
参考情報
--------
Armadillo-400シリーズ ハードウェアマニュアル
5.3.6. CON9(拡張インターフェース1) - 「Armadillo-420/440」
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_hard…

================================================
4.必要となるアプリケーションのインストール
================================================
> [*] bluez-hcidump
> [*] bluez-utils
> [*] Wireless_tool

atmark-dist v20141215 には Wireless_tool はありますが、bluez-hcidump、bluez-utils はありません。
その為、Debian GNU/Linux環境を構築して必要なアプリケーションをインストールするのが良いと思います。
Armadillo-460でDebian GNU/Linuxを使用するには、SDカードが必要になります。
詳細は下記を参照してください。

--------
参考情報
--------
Armadillo-400 シリーズ ソフトウェアマニュアル
8.2.4.1. Debian GNU/Linuxを構築する
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_soft…

ArmadilloをDebian GNU/Linuxで起動後、以下のコマンドで必要なパッケージをインストールできます。

[Armadillo]# apt-get update
[Armadillo]# apt-get install bluetooth bluez-hcidump bluez-utils wireless-tools

=========================================
参考情報:Linuxカーネルv2.6.35-atアルファ4
=========================================
Armadillo-420,440専用になりますが参考までに。

Linuxカーネルv2.6.35-atアルファ4
http://armadillo.atmark-techno.com/dev/linux-2.6.35-at-alpha4-release

linux-2.6.35-alpha4 の場合は、以下のカーネルコンフィギュレーションで
WIRELESS_EXT、WEXT_SPY、WEXT_PRIV が有効になります。

Linux Kernel v2.6.35-at-alpha4 Configuration
 
以下は、WIRELESS_EXT、WEXT_SPY、WEXT_PRIV を有効にするコンフィギュレーションです。
-------------------------------------------------------------
[*] Networking support  --->
    Bus support  --->
        <*> PCCard (PCMCIA/CardBus) support  ---> #チェックを入れる
 
Device Drivers
    [*] --- Network device support       #チェックを入れる
        [*]   Wireless LAN (NEW)  --->   #チェックが入っているのを確認する
            <*>   Aviator/Raytheon 2.4GHz wireless support #チェックを入れる
 
以下は、SDインターフェース2を有効にするコンフィギュレーションです。
-------------------------------------------------------------
System Type  --->
  Freescale MXC Implementations  --->
    MX25 Options  --->
      Device Options  --->
        [*] Enable eSDHC2                    #チェックを入れる
    Armadillo-400 Board options  --->
      [*] Enable SDHC2 at CON9               #チェックを入れる
      [*]   Enable PWREN for SDHC2 at CON9_1 #チェックを入れる
Device Drivers  --->
  Voltage and Current regulators  --->
    <*> Voltage and Current Regulator Support #チェックを入れる
    <*>   Fixed voltage regulator support     #チェックを入れる
 
以下は、Bluetoothを有効にするコンフィギュレーションです。
-------------------------------------------------------------
Device Drivers
    [*] --- Network device support                 #チェックを入れる
        <*>   Bluetooth subsystem support  --->    #チェックを入れる
            <*>   L2CAP protocol support                           #チェックを入れる
            [*]     L2CAP Extended Features support (EXPERIMENTAL) #チェックを入れる
            <*>   SCO links support                                #チェックを入れる
            <*>   RFCOMM protocol support                          #チェックを入れる
            [*]     RFCOMM TTY support                             #チェックを入れる
            <*>   BNEP protocol support                            #チェックを入れる
            [*]     Multicast filter support                       #チェックを入れる
            [*]     Protocol filter support                        #チェックを入れる
            <*>   HIDP protocol support                            #チェックを入れる
                  Bluetooth device drivers  --->
                      <*> HCI SDIO driver                          #チェックを入れる

shin1tanaka

2014年12月22日 18時39分

田中です。

詳細な返信ありがとうございます。
太陽誘電製のWiFiモジュールになります。(WBSBCVGXA-1)
但し、ドライバーはユーザIDがないとダウンロードできないようです。

WEXT_SPY、WEXT_PRIVについてはメーカに聞いてみます。
メーカのドライバーの資料によるとOSはLinux 2.6.35になっているのでArmadillo-460では
無理かもしれません。

また、SDインターフェース2とはどういう意味ですか。
CON1のことですか。

> 笹山です。
>
> > SDIOインターフェースのWiFiモジュールをArmadillo-460に接続しようとしています。
> > そのWiFiモジュールのドライバーインストールガイドには下記の記載があります。
> >
> > 1.Linux kernel Configuration & Build
> > a) Edit net/wireless/Kconfig as below.
> > : 一部省略
> > 上記に相当することをatde3で行うことは可能でしょうか。
>
> linux-2.6.26-at20 では WEXT_SPY、WEXT_PRIV をサポートしていない為、
> 有効化できるのは WIRELESS_EXT のみになります。
> その為、相当する作業が可能かは不明です。
>
> 差支えなければ、WiFiモジュールのメーカー、ドライバーダウンロードサイト等を教えていただければ、
> もう少し具体的な方法を答えられるかもしれません。
>
>
> > 可能な場合どうすればいいのでしょうか。
>
> 大きく分けて4つの作業が必要かと思います。
> 1. Linuxカーネルコンフィギュレーションの変更
> 2. WiFiモジュールのドライバをArmadillo用にビルド
> 3. ArmadilloとWiFiモジュールの接続
> 4. 必要となるアプリケーションのインストール
>
>
> ================================================
> 1.Linuxカーネルコンフィギュレーションの変更
> ================================================
> > 1.Linux kernel Configuration & Build
> > a) Edit net/wireless/Kconfig as below.
> > config WIRELESS_EXT
> > config WEXT_SPY
> > config WEXT_PRIV
>
> linux-2.6.26-at20 では WEXT_SPY、WEXT_PRIV をサポートしていない為、
> 有効化できるのは WIRELESS_EXT のみになります。
> WIRELESS_EXT はデフォルトで有効です。
>
> 次にSDインターフェース2(SDIO)がデフォルトで無効のため、これを有効化します。
> # CON1のSDインターフェース1でも通信可能ですが、
> # 後述するBluetoothの関係上、SDカードが必要な為、
> # SDインターフェース2で接続することをおすすめします。
>
> 最後に bluez 関連のアプリケーションが必要のようですので Bluetooth を有効化します。
>
> カーネルコンフィギュレーションは以下の様になります。
>

> Linux Kernel v2.6.26-at20 Configuration
> 
> 以下は、SDインターフェース2を有効にするコンフィギュレーションです。
> -------------------------------------------------------------
> System Type  --->
>   Freescale MXC Implementations  --->
>     MX25 Options  --->
>       Device Options  --->
>         [*] Enable eSDHC2                    #チェックを入れる
>     Armadillo-400 Board options  --->
>       [*] Enable SDHC2 at CON9               #チェックを入れる
>       [*]   Enable PWREN for SDHC2 at CON9_1 #チェックを入れる
> Device Drivers  --->
>   Voltage and Current regulators  --->
>     <*> Voltage and Current Regulator Support #チェックを入れる
>     <*>   Fixed voltage regulator support     #チェックを入れる
> 
> 以下は、Bluetoothを有効にするコンフィギュレーションです。
> -------------------------------------------------------------
> Device Drivers
>     [*] --- Network device support                 #チェックを入れる
>         <*>   Bluetooth subsystem support  --->    #チェックを入れる
>             <*>   L2CAP protocol support                           #チェックを入れる
>             [*]     L2CAP Extended Features support (EXPERIMENTAL) #チェックを入れる
>             <*>   SCO links support                                #チェックを入れる
>             <*>   RFCOMM protocol support                          #チェックを入れる
>             [*]     RFCOMM TTY support                             #チェックを入れる
>             <*>   BNEP protocol support                            #チェックを入れる
>             [*]     Multicast filter support                       #チェックを入れる
>             [*]     Protocol filter support                        #チェックを入れる
>             <*>   HIDP protocol support                            #チェックを入れる
>                   Bluetooth device drivers  --->
>                       <*> HCI SDIO driver                          #チェックを入れる
> 

>
> カーネルコンフィギュレーション完了後に、ビルド、イメージの作成を行ってください。
>
>
> --------
> 参考情報
> --------
> Armadillo-400 シリーズ ソフトウェアマニュアル
> 図7.11 Armadillo-WLAN用SDIOインターフェース有効化
> http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_soft…
>
> Howto : Armadillo-400シリーズでBluetoothを使用する
> http://armadillo.atmark-techno.com/armadillo-400-bluetooth
>
>
> ================================================
> 2. WiFiモジュールのドライバをArmadillo用にビルド
> ================================================
> 先にも書きましたが、linux-2.6.26-at20 では WEXT_SPY、WEXT_PRIV をサポートしていません。
> WiFiモジュールのドライバが WEXT_SPY、WEXT_PRIV をサポートしていないカーネルでも動作可能かを
> 確認してみてください。
>
> またドライバはArmadillo用にクロスビルドする必要があります。
> ドライバをクロスビルドする為の修正は、下記のパッチが参考になると思います。
> # MediaTeK社のRT3070系ドライバをArmadillo用にクロスビルドする為のパッチです。
>
> --------
> 参考情報
> --------
> 動作確認済みデバイス : USB無線LANアダプタ WLI-UC-GNHP
> http://armadillo.atmark-techno.com/node/992
> http://download.atmark-techno.com/misc/DPO_RT5572_LinuxSTA_2.6.1.3_2012…
>
>
> ================================================
> 3. ArmadilloとWiFiモジュールの接続
> ================================================
> 有効化したSDインターフェース2は、
> CON9 拡張インターフェースに割り当てられます。
> 各SD信号線が出ているピンは以下を参照してください。
>
> --------
> 参考情報
> --------
> Armadillo-400シリーズ ハードウェアマニュアル
> 5.3.6. CON9(拡張インターフェース1) - 「Armadillo-420/440」
> http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_hard…
>
>
>
> ================================================
> 4.必要となるアプリケーションのインストール
> ================================================
> > [*] bluez-hcidump
> > [*] bluez-utils
> > [*] Wireless_tool
>
> atmark-dist v20141215 には Wireless_tool はありますが、bluez-hcidump、bluez-utils はありません。
> その為、Debian GNU/Linux環境を構築して必要なアプリケーションをインストールするのが良いと思います。
> Armadillo-460でDebian GNU/Linuxを使用するには、SDカードが必要になります。
> 詳細は下記を参照してください。
>
> --------
> 参考情報
> --------
> Armadillo-400 シリーズ ソフトウェアマニュアル
> 8.2.4.1. Debian GNU/Linuxを構築する
> http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_soft…
>
>
> ArmadilloをDebian GNU/Linuxで起動後、以下のコマンドで必要なパッケージをインストールできます。
>

> [Armadillo]# apt-get update
> [Armadillo]# apt-get install bluetooth bluez-hcidump bluez-utils wireless-tools
> 

>
>
>
>
> =========================================
> 参考情報:Linuxカーネルv2.6.35-atアルファ4
> =========================================
> Armadillo-420,440専用になりますが参考までに。
>
> Linuxカーネルv2.6.35-atアルファ4
> http://armadillo.atmark-techno.com/dev/linux-2.6.35-at-alpha4-release
>
> linux-2.6.35-alpha4 の場合は、以下のカーネルコンフィギュレーションで
> WIRELESS_EXT、WEXT_SPY、WEXT_PRIV が有効になります。
>
>

> Linux Kernel v2.6.35-at-alpha4 Configuration
> 
> 以下は、WIRELESS_EXT、WEXT_SPY、WEXT_PRIV を有効にするコンフィギュレーションです。
> -------------------------------------------------------------
> [*] Networking support  --->
>     Bus support  --->
>         <*> PCCard (PCMCIA/CardBus) support  ---> #チェックを入れる
>         
> Device Drivers
>     [*] --- Network device support       #チェックを入れる
>         [*]   Wireless LAN (NEW)  --->   #チェックが入っているのを確認する
>             <*>   Aviator/Raytheon 2.4GHz wireless support #チェックを入れる
> 
> 以下は、SDインターフェース2を有効にするコンフィギュレーションです。
> -------------------------------------------------------------
> System Type  --->
>   Freescale MXC Implementations  --->
>     MX25 Options  --->
>       Device Options  --->
>         [*] Enable eSDHC2                    #チェックを入れる
>     Armadillo-400 Board options  --->
>       [*] Enable SDHC2 at CON9               #チェックを入れる
>       [*]   Enable PWREN for SDHC2 at CON9_1 #チェックを入れる
> Device Drivers  --->
>   Voltage and Current regulators  --->
>     <*> Voltage and Current Regulator Support #チェックを入れる
>     <*>   Fixed voltage regulator support     #チェックを入れる
> 
> 以下は、Bluetoothを有効にするコンフィギュレーションです。
> -------------------------------------------------------------
> Device Drivers
>     [*] --- Network device support                 #チェックを入れる
>         <*>   Bluetooth subsystem support  --->    #チェックを入れる
>             <*>   L2CAP protocol support                           #チェックを入れる
>             [*]     L2CAP Extended Features support (EXPERIMENTAL) #チェックを入れる
>             <*>   SCO links support                                #チェックを入れる
>             <*>   RFCOMM protocol support                          #チェックを入れる
>             [*]     RFCOMM TTY support                             #チェックを入れる
>             <*>   BNEP protocol support                            #チェックを入れる
>             [*]     Multicast filter support                       #チェックを入れる
>             [*]     Protocol filter support                        #チェックを入れる
>             <*>   HIDP protocol support                            #チェックを入れる
>                   Bluetooth device drivers  --->
>                       <*> HCI SDIO driver                          #チェックを入れる
> 

>
>

at_takashi.sasayama

2014年12月22日 19時34分

笹山です。

> 太陽誘電製のWiFiモジュールになります。(WBSBCVGXA-1)
> 但し、ドライバーはユーザIDがないとダウンロードできないようです。

上記、情報有難うございます。

Wireless Module 802.11bgn & Bluetooth® WYSBCVGXA & WBSBCVGXA-1 Overview
March 18, 2013 Version 1.0 の Software Structure を見る限りでは、
モジュールはBluetoothスタックを内蔵していないので、
Debian GNU/Linuxで動作確認を行うのが良さそうです。

WBSBCVGXA-1のハードウェアマニュアルが見つからなかったので、
形状からの判断になってしまうのですが、SDスロットに直接接続する以外にも、
ボード中央のピンヘッダーで Armadillo と SDIO接続することができそうですね。

> また、SDインターフェース2とはどういう意味ですか。
> CON1のことですか。

SDインターフェース1は、CON1(SDスロット)のことを指します。
SDインターフェース2は、CON9(拡張インターフェース1)から、取り出せるSD信号線のことを指します。

それぞれのSDインターフェースは、独立したSDホストコントローラーで制御されている為、
同時に2つのSD/SDIOデバイスと接続、通信ができます。

下記、リンク先に記載されている表の SD2 を参考にして、
CON9の対応するSD信号線を WBSBCVGXA-1 と接続すれば、SDIO接続は実現できるかと思います。

表5.16 CON9信号マルチプレクス - 「Armadillo-420/440」
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_hard…

shin1tanaka

2014年12月24日 9時24分

田中です。

返信ありがとうございます。
参考にさせていただきます。

> 笹山です。
>
> > 太陽誘電製のWiFiモジュールになります。(WBSBCVGXA-1)
> > 但し、ドライバーはユーザIDがないとダウンロードできないようです。
>
> 上記、情報有難うございます。
>
> Wireless Module 802.11bgn & Bluetooth® WYSBCVGXA & WBSBCVGXA-1 Overview
> March 18, 2013 Version 1.0 の Software Structure を見る限りでは、
> モジュールはBluetoothスタックを内蔵していないので、
> Debian GNU/Linuxで動作確認を行うのが良さそうです。
>
> WBSBCVGXA-1のハードウェアマニュアルが見つからなかったので、
> 形状からの判断になってしまうのですが、SDスロットに直接接続する以外にも、
> ボード中央のピンヘッダーで Armadillo と SDIO接続することができそうですね。
>
> > また、SDインターフェース2とはどういう意味ですか。
> > CON1のことですか。
>
> SDインターフェース1は、CON1(SDスロット)のことを指します。
> SDインターフェース2は、CON9(拡張インターフェース1)から、取り出せるSD信号線のことを指します。
>
> それぞれのSDインターフェースは、独立したSDホストコントローラーで制御されている為、
> 同時に2つのSD/SDIOデバイスと接続、通信ができます。
>
> 下記、リンク先に記載されている表の SD2 を参考にして、
> CON9の対応するSD信号線を WBSBCVGXA-1 と接続すれば、SDIO接続は実現できるかと思います。
>
> 表5.16 CON9信号マルチプレクス - 「Armadillo-420/440」
> http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_hard…