Armadilloフォーラム

無線LANモジュール搭載/非搭載の判別について

hiragushi

2020年11月25日 10時50分

お世話になります。

Armadillo-IoT G3Lには無線LANモジュールが搭載されているモデルとされていないモデルがあります。
それぞれのモデルでプログラムの動作を変えたいのですが、それを判別する方法はあるでしょうか。

$ ip a | grep wlan
で判別できそうな感じですが、これは「ハードウェア的にモジュールが搭載されているかどうか」を確実に判別できているのかどうかがわかりません。
起動時に判定したいと思っており、無線LAN設定のありなしで判別が変わったりするのも不都合です。

おわかりの方お教えください。
よろしくお願いいたします。

コメント

at_koseki

2020年11月26日 19時58分

古関です。

以下の手順でモデル違いによるWLANの有無を判別可能です。

root@armadillo:~# dmesg | grep ExtBoard

■ WLAN有の場合 "ExtBoard01"と表示が出る
armadillo_x1l_extboard extboard: Atmark Techno ExtBoard01 board detected (Rev 2, SerialNumber=2438).

■ WLAN無の場合 "ExtBoard01 without WL1837MOD"と表示が出る
armadillo_x1l_extboard extboard: Atmark Techno ExtBoard01 without WL1837MOD board detected (Rev 2, SerialNumber=7752).

本来は、/proc/device-tree/extboard/配下あたりに
ノードを作っておいて確認できるようにしておくべきなのですが、対応が入っていません。
使いにくく申し訳ありません。

なお、WLAN有無の判別方法ですが、
製品基板内に実装されているEEPROM内部にモデル種別情報が書き込まれており、
それを読み出すとこで実施しています。

Linux-Kernelの以下ソースコードで上記処理をしています。
arch/arm/mach-imx/armadillo_x1l_extboard/armadillo_x1l_extboard.c

hiragushi

2020年11月27日 9時45分

古関様

ありがとうございます。
お教えいただいた方法で、WLANあり機種となし機種とを正しく認識できることを確認しました。

> 古関です。
>
> 以下の手順でモデル違いによるWLANの有無を判別可能です。
>
> root@armadillo:~# dmesg | grep ExtBoard
>
> ■ WLAN有の場合 "ExtBoard01"と表示が出る
> armadillo_x1l_extboard extboard: Atmark Techno ExtBoard01 board detected (Rev 2, SerialNumber=2438).
>
> ■ WLAN無の場合 "ExtBoard01 without WL1837MOD"と表示が出る
> armadillo_x1l_extboard extboard: Atmark Techno ExtBoard01 without WL1837MOD board detected (Rev 2, SerialNumber=7752).
>
> 本来は、/proc/device-tree/extboard/配下あたりに
> ノードを作っておいて確認できるようにしておくべきなのですが、対応が入っていません。
> 使いにくく申し訳ありません。
>
> なお、WLAN有無の判別方法ですが、
> 製品基板内に実装されているEEPROM内部にモデル種別情報が書き込まれており、
> それを読み出すとこで実施しています。
>
> Linux-Kernelの以下ソースコードで上記処理をしています。
> arch/arm/mach-imx/armadillo_x1l_extboard/armadillo_x1l_extboard.c
>
>