Armadilloフォーラム

Armadillo-x1でwlan0が見えなくなる

sudohayato

2017年9月13日 13時41分

お世話になっております。須藤です。

wlanの設定方法について教えてください。
Hzを2000に変更したカーネルで無線LANを使おうとすると
デバイスにwlan0が見えなくなってしまい、無線LANが使えなくなってしまいます。
Hzを2000にした状態でwlan0を認識させる方法を教えていただけますでしょうか?
無線LANはPCIバスで接続されており、PCIのProbeで失敗しているように思います。
なお、Hzを1000にするとwlan0が認識されることを確認しておりますので
Hzの設定変更が影響しているのでは?と考えております。

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

コメント

at_mizo

2017年9月13日 13時46分

溝渕です。

> Hzを2000にした状態でwlan0を認識させる方法を教えていただけますでしょうか?

"Hz"はLinuxカーネルコンフィギュレーションの"CONFIG_HZ"のことでしょうか?

そうであれば、2000は標準では用意されていないと思います。ソースコードの変更は行っていますか?

sudohayato

2017年9月13日 13時51分

溝渕様

お世話になっております。須藤です。

コメントありがとうございます。

> "Hz"はLinuxカーネルコンフィギュレーションの"CONFIG_HZ"のことでしょうか?
⇒はい。ご認識の通りです。

> そうであれば、2000は標準では用意されていないと思います。ソースコードの変更は行っていますか?
⇒KCONFIGのファイルを変更してカーネルコンフィグで2000の設定ができるようにしております。
 他のソースには手を加えておりません。

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

at_mizo

2017年9月13日 14時52分

溝渕です。

> > そうであれば、2000は標準では用意されていないと思います。ソースコードの変更は行っていますか?
> ⇒KCONFIGのファイルを変更してカーネルコンフィグで2000の設定ができるようにしております。
>  他のソースには手を加えておりません。

"arch/arm/Kconfig"と"kernel/Kconfig.hz"を編集したのですね。

全てのコードを確認していないのではっきりした事は言えませんが、
val = 1000 / HZ
if (!val)
goto err;
みたいに、HZが1000以下であることを期待しているコードがあるとちゃんと動
かなくなりそうですね。

ちなみにHZを増やしたい理由は何でしょうか?

デオフォルトのカーネルコンフィギュレーションでは、高精度タイマー
(high-resolution timer)が有効化されているので、HZを増やしてもタイマー
精度の向上等には結び付かないと思います。

sudohayato

2017年9月13日 16時00分

溝渕様

お世話になっております。須藤です。

> "arch/arm/Kconfig"と"kernel/Kconfig.hz"を編集したのですね。
⇒はい。ご認識の通りです。

> ちなみにHZを増やしたい理由は何でしょうか?
>
> デオフォルトのカーネルコンフィギュレーションでは、高精度タイマー
> (high-resolution timer)が有効化されているので、HZを増やしてもタイマー
> 精度の向上等には結び付かないと思います。
⇒epollでファイルディスクリプタの監視を実装していた際に
 性能改善を期待してHzを2000に増やしていました。
 #性能は改善されていたように見えました
 その後、同様の処理をカーネルドライバで実装した際に
 Hzをそのままにしていたため、Hzを1000まで下げると
 性能に影響が出てしまったため、Hzを2000のままに
 しておきたいと考えております。
 #Hz以外変更していないのですが性能に影響が
  出ているように見えるためHzの変更要因ととらえております
 しかし、Hzが2000の状態だと無線LANのデバイスが
 見えてこないため今回の質問となっております。

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

at_mizo

2017年9月13日 16時55分

溝渕です。

> > ちなみにHZを増やしたい理由は何でしょうか?
> >
> > デオフォルトのカーネルコンフィギュレーションでは、高精度タイマー
> > (high-resolution timer)が有効化されているので、HZを増やしてもタイマー
> > 精度の向上等には結び付かないと思います。
> ⇒epollでファイルディスクリプタの監視を実装していた際に
>  性能改善を期待してHzを2000に増やしていました。
>  #性能は改善されていたように見えました

ticklessシステムなので、応答性能はHZに依存しないと認識していました。

ちなみに、HZを100にした場合は平均応答時間は5ms程度になりますか?

>  その後、同様の処理をカーネルドライバで実装した際に
>  Hzをそのままにしていたため、Hzを1000まで下げると
>  性能に影響が出てしまったため、Hzを2000のままに
>  しておきたいと考えております。
>  #Hz以外変更していないのですが性能に影響が
>   出ているように見えるためHzの変更要因ととらえております
>  しかし、Hzが2000の状態だと無線LANのデバイスが
>  見えてこないため今回の質問となっております。

例えば、以下のようにHZに特定の値を期待したコードもいくつか存在します。

drivers/net/wireless/ath/ath9k/main.c:
int timeout = HZ / 5; /* 200 ms */

HZを2000にしたことにより、恐らくPCIeまたはAtherosのdriverで意図しない
挙動を行っているものと思います。

at_mizo

2017年9月13日 17時02分

溝渕です。

すみません。1点訂正させてください。

> 例えば、以下のようにHZに特定の値を期待したコードもいくつか存在します。
>
> drivers/net/wireless/ath/ath9k/main.c:
> int timeout = HZ / 5; /* 200 ms */

上記、"timeout"はjiffiesなので、HZ / 5は必ず200msとなり、HZに特定の値
を期待するものではありません。