Armadilloフォーラム

WLANの電源リセット

dev.sanko

2024年11月12日 17時42分

==========
製品型番:A6400-D00Z
ABOSバージョン:3.20.2-at.2
カーネルバージョン:5.10.224-0-at
その他:WLAN コンボオプションモジュール(OP-A600-AWLMOD-20)増設
==========

お世話になっております。

Armadillo640に増設するWLAN コンボオプションモジュールの電源をリセットする方法をご教授ください。
マニュアルを確認すると、WLAN コンボオプションモジュールのCON1のピン番号19が電源をON/OFF制御するための信号となってますが、
こちらの制御することで電源ON/OFFができる認識で問題ないでしょうか?
また、電源をOFFするためには信号をどのくらいの時間OFFの状態を維持する必要がありますか?

以上、よろしくお願いいたします。

コメント

中島です。

製品マニュアルの 図6.175 WLANコンボ、BT/THオプションモジュールのブロック図 にあるとおり、
https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…
WLAN_BT_PWREN_B信号(CON1のピン番号19)はWLAN/BTコンボモジュールに電源を供給している
DC/DCコンバータのイネーブルピンに接続されており、電源をON/OFF制御することができます。
WLAN/BTコンボモジュールの電源(WLBT_3.3V)は3.3Vから0V近辺まで落ちるのに約5msほどかかるので、
これを踏まえて十分にマージンをもたせた時間、OFF状態を維持してください。

お世話になっております。

gpioinfoで確認したところ、line25にはすでに別リソースに割り当てられているみたいで、使用済みとなっております。
どのようにすれば、line25を制御できるようになるのかを教えていただけないでしょうか。

gpiochip2 - 32 lines:
        line   0:      unnamed       unused   input  active-high
        line   1:      unnamed       unused   input  active-high
        line   2:      unnamed       unused   input  active-high
        line   3:      unnamed       unused   input  active-high
        line   4:      unnamed       unused   input  active-high
        line   5:      unnamed       unused   input  active-high
        line   6:      unnamed       unused   input  active-high
        line   7:      unnamed       unused   input  active-high
        line   8:      unnamed       unused   input  active-high
        line   9:      unnamed       unused   input  active-high
        line  10:      unnamed       unused   input  active-high
        line  11:      unnamed       unused   input  active-high
        line  12:      unnamed       unused   input  active-high
        line  13:      unnamed       unused   input  active-high
        line  14:      unnamed       unused   input  active-high
        line  15:      unnamed       unused   input  active-high
        line  16:      unnamed       unused   input  active-high
        line  17:      unnamed       unused   input  active-high
        line  18:      unnamed       unused   input  active-high
        line  19:      unnamed       unused   input  active-high
        line  20:      unnamed       unused   input  active-high
        line  21:      unnamed       unused   input  active-high
        line  22:      unnamed       unused   input  active-high
        line  23:      unnamed "lwb5p-wlan-rst" output active-high [used]
        line  24:      unnamed "lwb5p-bt-rst" output active-high [used]
        line  25:      unnamed "lwb5p-pwr-en" output active-low [used]
        line  26:      unnamed "nrf52-reset" output active-high [used]
        line  27:      unnamed "regulator-nrf52" output active-high [used]
        line  28:      unnamed       unused   input  active-high
        line  29:      unnamed       unused   input  active-high
        line  30:      unnamed       unused   input  active-high
        line  31:      unnamed       unused   input  active-high

溝渕です。

> gpioinfoで確認したところ、line25にはすでに別リソースに割り当てられているみたいで、使用済みとなっております。
> どのようにすれば、line25を制御できるようになるのかを教えていただけないでしょうか。

Linuxカーネルをカスタマイズするとできるようになります。

OSの思想としてハードウェア管理はカーネルで行うべきとされている為、ユーザーランドから制御できないようにしているのでカスタマイズが必要になります。

上記手順をお伝えする前に確認させていただきたいのですが、

> Armadillo640に増設するWLAN コンボオプションモジュールの電源をリセットする方法をご教授ください。

この目的は何でしょうか? 例えば、WLANのリセットを行いたいのであれば、

armadillo# echo 1 > /sys/devices/platform/lwb5p-wlan-reset/reset/wlan_rst

で、ハードウェアの仕様を満たしたタイミングでリセットを安全に行う事ができます。これでは不十分でしょうか?

溝渕様

お世話になっております。

ありがとうございます。WLANのリセット方法がすでに用意されていたのですね。

最終的にはWLANをリセットしたいことに変わりはないのですが、
WLANモジュールの電源をON・OFFすることが確実なリセット方法と考えており、本トピックのような質問をさせていただきました。
Armadillo 640とは関係ないのですが、過去に通信モジュールを扱ったときに
通信モジュール側で異常が発生し、その後、シリアル通信がブロック状態(占有状態)になったことがありました。
そのときは復帰方法として通信モジュールの電源を再投入するしかなかっため、
それ以降は通信モジュールを確実にリセットできる方法として電源ON・OFFするようにしています。

一旦、教えていただいた方法で問題ないか確認させていただきます。