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

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



新井正です。

溝口さんの CF-VEL211 のカードが動作されたようで、なによりでした。

派生した話として Corega PCC-T についても補足します。
(こじまさんのフォローにでてきたカードです。)

From: "<mizo@ap.ilab.toshiba.co.jp> Mizoguchi kenichi" <mizo@ap.ilab.toshiba.co.jp>
Subject: [plamo:00709] Re: Panasonic CF-VEL211P-B LAN card
Date: Mon, 28 Dec 1998 15:46:28 +0900
Message-ID: <199812280642.PAA01164@cantor.ap.ilab.toshiba.co.jp>

> > pcnet_cs.c を見ると以下の記述があり、特別な指定がなければ
> > 本来は use_shmem=1 相当で動作するカードのようです。
> > 
> >     { /* Panasonic VEL211 */ 0x0ff0, 0x00, 0x80, 0x45, 
> >       USE_SHMEM | HAS_MISC_REG | HAS_IBM_MISC },
> 	^^^^^^^^^ ここが、問題な訳ですね (^0^)

ご指摘の通りと思います。/etc/pcmcia/config.opts においても
このカードの素性にあわせて設定すれば問題ないようですね。

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

話のつじつまはあっているとおもうのですが、
私には、ご説明の通りの動作になっているのかまでの判断ができません。
すいません。どなたか詳しい方おりませんでしょうか?

> > Plamo のデフォルトでは  /etc/pcmcia/config.opts で
> > module "pcnet_cs" opts "use_shmem=0"
> > の記述があるため VEL211 の動作不具合となっている可能性があります。
> 
> そうすると、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 の値によらず動作するので問題ないカードといえます。

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

> man pcnet_cs には、下記の記述があるから、unset の方がいいと思うのですが、
> Plamo のデフォルトが 0 になっているのは、何か問題でもあるのでしょうか?
> 
>   use_shmem=n
>   Selects whether to use shared memory (if 1) or polled IO (if 0) to
>   access the card.  If unset, then the default is to choose based on
>                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   the card type (sharedmemory for IBM CCAE and friends, polled IO for
>   ^^^^^^^^^^^^^
>   all others).

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が
該当すると思われます。

最近の 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

References
[plamo:00709] Re: Panasonic CF-VEL211P-B LAN card, Mizoguchi kenichi" <mizo@ap.ilab.toshiba.co.jp>

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