[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:00725] Re: Panasonic CF-VEL211P-B LAN card



溝口@府中です

> 新井正です。
	:
	:
> > 	後学のために聞きたいのですが、この設定は、カードとデータの転送に
> > 	共有メモリを使用するか、PIO を使用するかの設定ですよね。
> > 	で、今回の現象は、カード側は共有メモリを介してデータを受け渡し
> > 	たいけど、ドライバ側は、PIO で対応しようとしていた。
> > 	多分、カード側のメモリ上に受信されたデータは、一時、バッファされ
> > 	ていているが、受信の割り込みが、カーネル側に旨く伝わっていない。
> > 	しかし、こちらから送信をしようとすると、ついでに、受信側のバッファ
> > 	を確認し、ドライバーがデータを受信していることを知ることができた。
> > 	そこで、定期的に ping で送信を繰り返していると受信が可能になっる
> > 	現象が起きた。と言うことですか?
> 
> 話のつじつまはあっているとおもうのですが、
> 私には、ご説明の通りの動作になっているのかまでの判断ができません。
> すいません。どなたか詳しい方おりませんでしょうか?

Linux デバイスドライバの本もでたことだし、
冬休みの宿題でソースを見てみます(玉砕するかもしれませんが ^o^)。

> > そうすると、USE_SHMEM 指定のある下記のカードも今回と同じ事が起きる可能性が
> > ある訳ですね。
> > 
> > 	/* Allied Telesis LA-PCM */
> > 	/* Epson EEN10B */
> > 	/* IBM CCAE */
> > 	/* IBM FME */
> > 	/* Kingston KNE-PCM/x */
> > 	/* Network General Sniffer */
> > 	/* Panasonic VEL211 */
> 
> はい、症状はさまざまと思いますが、起きる可能性はあると思います。
> 
> Allied Telesis LA-PCM は結構 use_shmem=0 で動いたりします。
> pcmcia-cs のバージョンにより動作/非動作が異なります。
> 
>   pcmcia-cs Ver.        正常動作の use_shmem 値
>     2.9.x -- 3.0.5                0,1
>     3.0.6                           1
> 安達さんによりますと、昔は use_shmem=1 のみで動作とのことなので、
> 2.8.x などでは use_shmem=0 で動作しないと思います。
> Plamoでは 3.0.5 (古くても 2.9.12)なので Allied Telesis LA-PCM は 
> use_shmem の値によらず動作するので問題ないカードといえます。

pcmcia-cs のバージョンによって、動作/設定が異なるのは辛いですね。
CHANGED に書いてあるのかな??

> 逆に、VE-211の溝口さんは不運だったと思います。

いえいえ、色々、勉強になって逆に幸運だったかも。
Windows と違い、UNIX 系は、公開されている情報が多く、調べるにも
苦にならないもので、、(納期が無ければ、むしろ、楽しいかな ^o^)

> Plamo では use_shmem=0 により Corega PCC-T が動作しますが、
> これは unset (/etc/pcmcia/config.opts 記述無し)では動作しません。
> 
> Corega PCC-T は Allied Telesis の LA-PCM の記述が追加された
> pcmcia-cs-2.9.2 以降から use_shmem を指定無し( unset ) で
> 動作させることができなくなり、/etc/pcmcia/config.opts で
> use_shmem=0 の記述を明示しなければなりません。
> 
> その理由は Corega PCC-T の HWaddr が  00:00:F4 ではじまるため,
> unset 時には pcnet_cs.c により Allied Telesis の LA-PCM と同等に
> use_shmem=1 相当に設定されるためのようです。
> 
> この問題は、 Allid Telesis と Corega の仕様が異なるカードにおいて
> HWaddrの先頭部分が同じ値 00:00:F4 を持つため、 回避が難しいです。
> 他に Corega の PCM-T と、推定では Allied Telesis の LA-PCM-T V2が
> 該当すると思われます。

a0, a1, a2 は、MAC アドレスの先頭を表しているのですね。
これを使って機種を選定してたのか〜

        if ((readb(base+0) == hw_info[i].a0) &&
            (readb(base+2) == hw_info[i].a1) &&
            (readb(base+4) == hw_info[i].a2))
            break;

この様な記述の部分ですね。
確か、先頭の何バイトかは、ベンダ予約の番号を表していたと思いますが、
これだけで、機種を確定するのは大変かもしれませんね。

> 最近の pcmcia-cs のバージョンに限れば 3.0.5 までは、
> LA-PCM と PCC-T の両方が use_shmem=0 で動作します。
> pcnet_cs.c 内に追加された LA-PCM の記述を、むしろ削除して
> pcmcia-cs をmake すれば副作用により動作しなくなるカードは
> ないことが予想されるのですが、あっけなく挫折しました。
> 
> pcmcia-cs-3.0.6 の開発版の途中からの pcnet_cs.c の変更で
> LA-PCM と PCC-T を同時に動かす設定が存在しなくなったのです。
> 
> デフォルト設定で動作するカード数を最大にするには、
> 先の pcnet_cs.c の変更でAllied Telesis の LA-PCM と
>  Corega PCM-T を犠牲にすればよいのですが、 
> pcnet_cs.c の変更までして動かないカードがあるのでは
> 他の方にお勧めできず、困っている次第です。
> 
> とりとめのない話になりましたが、ご参考まで。
> 
> ----
> alai

> 手元にあった Corega の PCC-T が use_shmem=0 にしないと動かなかったから
> です :-P
> 
> # 入手しやすさだと Corega のカードって結構普及していそうだから
> 
> ---------
> こじま

そうですか。
利用者を考慮したデフォルトの設定。
ディストリビュウション制作者の悩みでもあり、腕の見せ所の1つですね (^o^)

日本発のディストリビュウション plamo や vine には期待しています。
これからも頑張って下さい。

以上
----------
溝口


[検索ページ] [メール一覧]
Plamo ML 公開システム