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

Re: How to PCMCIA debug



緒方です。


From: SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp>
Subject: Re: How to PCMCIA debug
Date: Wed, 17 May 2000 07:03:28 +0900
Message-ID: <200005162203.HAA14764@azarin.localnet>

> ・obsoleteではないと思いますが、どういう風に失敗するのでしょ
> う?

kernel のコンフィグファイルで options PCMCIADEBUG を追加すると
 make depend 時に

mkdep -a  -O2 -Werror -Wall -Wmissing-prototypes -Wstrict-prototypes  -Wpointer-arith -Wno-uninitialized -Wno-main -I. -I../../../../arch -I../../../.. -nostdinc -I../../../../../gnu/sys -DLKM -DDIAGNOSTIC -DMIIVERBOSE -DPCMCIADEBUG -DMAXUSERS=32 -D_KERNEL -Di386 param.c ioconf.c ../../../../dev/mii/mii_bitbang.c ../../../../dev/ic/aic6360.c ../../../../dev/ic/smc93cx6.c
   途中略
../../../../dev/usb/if_cue.c ../../../../dev/usb/if_kue.c  ../../../../dev/usb/if_upl.c swapnetbsd.c
../../../../dev/pcmcia/pcmcia.c:3: warning: `PCMCIADEBUG' redefined
*Initialization*:1: warning: this is the location of the previous definition
../../../../dev/pcmcia/pcmcia_cis_quirks.c:3: warning: `PCMCIADEBUG' redefined
*Initialization*:1: warning: this is the location of the previous definition
mkdep: compile failed.
*** Error code 1

Stop.

となります。直接指定しても

% cc -g -O2 -Werror -Wall -Wmissing-prototypes -Wstrict-prototypes  -Wpointer-arith -Wno-uninitialized -Wno-main -I. -I../../../../arch -I../../../.. -nostdinc -I../../../../../gnu/sys -DLKM -DDIAGNOSTIC -DDEBUG -DPCMCIADEBUG -DMAXUSERS=32 -D_KERNEL -Di386  -c ../../../../dev/pcmcia/pcmcia.c
../../../../dev/pcmcia/pcmcia.c:3: warning: `PCMCIADEBUG' redefined
*Initialization*:1: warning: this is the location of the previous definition
となりました。
pcmcia.c と pcmcia_cis_quirks.c の両方で define されてるのはかなり昔から
のようなのですが単純にどっちかの define を消せばよかったりして。


> ・いかにも怪しいところがありますが、試されました?
> 
> --- pcmcia_cis.c.orig	Wed May 17 07:00:36 2000
> +++ pcmcia_cis.c	Wed May 17 07:00:50 2000
> @@ -248,7 +248,7 @@
>  						printf("%s: CIS checksum "
>  						    "failed\n",
>  						    sc->dev.dv_xname);
> -#if 0
> +#if 1
>  						/*
>  						 * XXX Some working cards have
>  						 * XXX bad checksums!!

こちらは CIS checksum failed と表示されるカードを挿すと
/netbsd: pcmcia0: CIS checksum failed
だけが表示されるようになりました。



From: NAKAGAWA Yoshihisa <y-nakaga@ccs.mt.nec.co.jp>
Subject: Re: How to PCMCIA debug 
Date: Wed, 17 May 2000 10:14:16 +0900
Message-ID: <200005170114.KAA32211@splpe12.ccs.mt.nec.co.jp>

> これが直接の原因じゃないか、と思います。IBM のカードは MAC アドレ
> スが三種類あることが知られており、以前調べた限りではそのうち一種類
> しかチェックしておらず、それ以外は全部はねていました。
> 
> 以前試したときは、直接書き換えたら認識したので、一度試してみては。
> うまい解決策を思いつかなかったので、send-pr もせずにほったらかしに
> していましたが…。
> 
> #かつて FreeBSD/newconfig で話題にしたことがあります…。

すっかり忘れてました。(汗)
[newconfig-jp 1420] 
http://home.jp.FreeBSD.ORG/cgi-bin/showmail/newconfig-jp/1420
によれば 08:00:5a 00:04:ac 00:06:29 の3つが存在するということで

% diff -c if_ne_pcmcia.c.org if_ne_pcmcia.c
*** if_ne_pcmcia.c.org   Thu Apr 13 06:07:55 2000
--- if_ne_pcmcia.c       Wed May 17 10:00:00 2000
***************
*** 170,175 ****
--- 170,185 ----
        PCMCIA_CIS_IBM_INFOMOVER,
        0, 0x0ff0, { 0x08, 0x00, 0x5a } },
  
+     { PCMCIA_STR_IBM_INFOMOVER,
+       PCMCIA_VENDOR_IBM, PCMCIA_PRODUCT_IBM_INFOMOVER,
+       PCMCIA_CIS_IBM_INFOMOVER,
+       0, 0x0ff0, { 0x00, 0x04, 0xac } },
+ 
+     { PCMCIA_STR_IBM_INFOMOVER,
+       PCMCIA_VENDOR_IBM, PCMCIA_PRODUCT_IBM_INFOMOVER,
+       PCMCIA_CIS_IBM_INFOMOVER,
+       0, 0x0ff0, { 0x00, 0x06, 0x29 } },
+ 
      { PCMCIA_STR_LINKSYS_ECARD_1, 
        PCMCIA_VENDOR_LINKSYS, PCMCIA_PRODUCT_LINKSYS_ECARD_1,
        PCMCIA_CIS_LINKSYS_ECARD_1, 

と 08:00:5a のエントリの後に 08:00:5a のエントリをコピーして 00:04:ac 
 00:06:29 のエントリとして修正すると認識できなかったカードが認識できて
使えるようになりました。認識できなかったカードは 00:04:ac の MAC address
 ということで、ne0: can't match ethernet vendor code と言っていたのは
 unsigned char enet_vendor[3]; の { 0x08, 0x00, 0x5a } にマッチしなかった
ということがわかってなるほどって感じです。(激汗)
# てっきり、manufacturer みたいな 0xa4 とかで識別されてるかと誤解してました。


> これも地雷原決定だと思います。(笑)EMU8000 って sb じゃないから。
> AWE32 や AWE64 を見たことがあればわかると思いますが、sb 相当のチッ
> プとは別に EMU8000 が載ってます。

がーん。(笑) AWE{32,64} は見たことないのですが、sb 互換として動いている
レポートを見て DMC9000 でも sb 互換として動かせるだろうと甘い考えを
していたのですが。むう。ちなみに Windows では付属の FD のドライバで
 wav とかが鳴らせました。MIDI 部は試してないです。
NetBSD/i386 でも単に mp3 とかが聞ければよいという低い志なので MIDI 部は
モチベーションのある方にお任せしたいと思います。(汗)


> FreeBSD の旧 Voxware なら、awe ドライバがあったんですが、NetBSD で
> はわかりません。

参考にしてみます。
src/sys/i386/isa/sound/{awe_hw.h,awe_voice.h,awe_wave.c} のようですね。 


> #EMU8000 の資料が手に入るなら、興味あるところなんですが。EMU8008 
> #なんてのもあるんだけど…。

谷村さんの情報によればあるようですのでぜひ興味半分でもやりません?



From: Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp>
Subject: Re: How to PCMCIA debug 
Date: Wed, 17 May 2000 11:40:58 +0900
Message-ID: <14626.1722.878788.81928B@rina>

> 手元にあるものですと、
> 
> http://www.r.dl.itc.u-tokyo.ac.jp/~tanimura/emu8kdoc/emu8kpgm.pdf
> http://www.r.dl.itc.u-tokyo.ac.jp/~tanimura/emu8kdoc/guide.txt
> 
> というところでしょうか。

参考にします。


> EMU8000の場合、音を作るために基本波形やフィルタなどのボイスパラメータを
> ドライバに渡す必要があります。現時点では岩井さんのインタフェース実装があ
> りますが、GPLであるだけでなくEMU8000以外への流用をあまり考えていないよう
> です。ここが汎用化できると他の音源向けのボイスパラメータを借りて音を鳴ら
> すということができそうですが。
> 
> ただ、最近よくあるこの手の音源ハードウェアは(ハードウェアの)インタフェー
> スがめちゃくちゃです。ボイスを内部に持っている/いない、Midiメッセージが
> 読める/読めない(これはexclusiveとかを考え出すと問題が山ほど出てくる)など
> など... もうちょっとまともなもの作ってくれないかなぁ。
> 
> 例えばRolandやYamahaのexclusiveを(ハードウェアが読めない場合は)どこかで
> 解釈して、可能ならばボイスパラメータに反映させるなんてことをやると、演奏
> できるMidiシーケンスの幅が広がったりとか。手元にあるMidiシーケンスを見て
> もほとんどはどっちか(しかも圧倒的にRoland)のexclusiveを含んでいるので、
> 作れるなら使い道はありそうです。

これは、EMU8000 の MIDI 機能の話と理解してよいですか?
モノはあるのでテスターには参加できますが、MIDI の必要性は感じてないので
たぶんそこまでやらずに wav が再生できた時点で満足してしまうと思います。(汗)


> # しかし私は結局Midi音源を買う方を考えてしまったり :)

SC-55 持ってるけど最近使ってないなあ。
# 声も重要だしというわけで mp3 に流れた。(笑)



というわけで、IBM CREDIT CARD ADAPTER ETHERNET II の認識はうまく対処できました
ありがとうございます。> all
でも、MAC address のところだけの修正で目的達成して経験値があまり上がって
ないようなので、地雷源突入確実な DMC9000 に行く前に手持ちのカードで
 NetBSD/i386 で動かないモノ相手に経験値を稼いでみる予定です。
DMC9000 もしくは他のカードでまたしょうもないメールを出すかとは思いますが
つっこみよろしくです。(汗)
# まずは sb をアタッチさせるのにどの *_pcmcia を参考にしたほうがよいか
# 総当たりで{調査,試しに作成}かな。aic が良さそうなんだけど。 > DMC9000
# まずは send-pr して反映してもらって不幸なカードをサポートしてもらって
# 幸せにならないと。(笑) > CREDIT CARD ADAPTER ETHERNET II



OGATA Hiroshi <ogata@isp.qix.org>