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

[plamo:08426] Toshiba's ToPIC bridges



 こんにちは,たむきです。お世話になります。

 Toshiba ToPIC97なノートに,FMV-J184というLANカードを挿したところ,正
しく認識しかったとの報告が,身辺よりありました。Plamo固有の問題ではない
のですが,カーネルのバージョンは2.2.18,pcmcia-csのバージョンは3.1.23で
す(後に3.1.24で確認)。

 正しい対処なのか,判りませんが,ソースを変更し認識させています。内容
は,次の通りです。

(1) Toshiba ToPIC97なノートなので,PCMCIA-HOWTOによると問題がある。Web
    ページを検索すると,FMV-J184ではないですが,動いている例があり。

(2) インスートルし,FMV-J184を挿入すると,anonymousなカードとして,認識
    された。ドライバをtulip_cb.oに割り付けると,正常に動作することを確
    認。cardctl identでは,produce infoにFMV-J184が認識されている。

(3) pcmcia-cs-3.1.23の動作を追ってみて,modules/cistpl.c中のvalidate_cis
    関数で,

    /* First tuple should be DEVICE; we should really have either that
       or a CFTABLE_ENTRY of some sort */
    if ((tuple.TupleCode == CISTPL_DEVICE) ||
	(read_tuple(handle, CISTPL_CFTABLE_ENTRY, &p) == CS_SUCCESS) ||
	(read_tuple(handle, CISTPL_CFTABLE_ENTRY_CB, &p) == CS_SUCCESS))
	dev_ok++;

    実行時に,

	tuple.TupleCode = CISTPL_DEVICE_OC (0x1c)

    であった。

 コメント文にあるような,CISTPL_DEVICEがセットされないのが一因のように
思いました(read_tuple(handle, CISTPL_CFTABLE_ENTRY_CB, &p)は未検討です)。
PCMCIA_PROGをざっとみたのですが, CISTPL_DEVICE_OCについては判りませんで
した。

 でも,CISTPL_DEVICEと似ているなぁと,

(4) 上記if文の下に,

	if (tuple.TupleCode == CISTPL_DEVICE_OC)
		dev_ok++;

    を追加してみた。

(5) 正常に認識するようになった。
    動作に問題はない。

 CISTPL_DEVICE_OCが不明なので,不安ですが,これで様子を見てみます。ソ
ースの変更で,まずいことをしているようでしたら,教えてくださいませ。

 下に動作状況を列挙します。

----------------------------------------------------------------------
# /sbin/probe
PCI bridge probe: Toshiba ToPIC97 found, 2 sockets.

# /sbin/cardctl ident
Socket 0:
  product info: "FUJITSU", "LAN Card(100BASE-TX)(FMV-J184)", "Ver.01"
  manfid: 0x0004, 0x100f
  function: 6 (network)
  PCI id: 0x1011, 0x0019
Socket 1:
  no product info available

# /sbin/ifport eth0
eth0    0 (Auto)
----------------------------------------------------------------------

[/var/log/messages(ソース変更前:anonymousになる場合)]
----------------------------------------------------------------------
Jan 19 14:55:06 aaa kernel: Linux PCMCIA Card Services 3.1.23 
Jan 19 14:55:06 aaa kernel:   kernel build: 2.2.15 #4 Thu Jan 18 01:53:12 JST 2001 
Jan 19 14:55:06 aaa kernel:   options:  [pci] [cardbus] [apm] 
Jan 19 14:55:06 aaa kernel: PCI routing table version 1.0 at 0xf8e80 
Jan 19 14:55:06 aaa kernel: Intel PCIC probe:  
Jan 19 14:55:06 aaa kernel:   Toshiba ToPIC97 rev 02 PCI-to-CardBus at slot 00:02, mem 
0x68000000 
Jan 19 14:55:06 aaa kernel:     host opts [0]: [slot 0xf0] [ccr 0x10] [cdr 0x86] [rcr 0x02] 
[no pci irq] [lat 168/176] [bus 20/20] 
Jan 19 14:55:06 aaa kernel:     host opts [1]: [slot 0xf0] [ccr 0x20] [cdr 0x86] [rcr 0x02] 
[no pci irq] [lat 168/176] [bus 21/21] 
Jan 19 14:55:06 aaa kernel:     ISA irqs (default) = 10 polling interval = 1000 ms 
Jan 19 14:55:06 aaa kernel: cs: IO port probe 0x0580-0x05ff: clean. 
Jan 19 14:55:06 aaa kernel: cs: memory probe 0x0cc000-0x0cdfff: clean. 
Jan 19 14:55:07 aaa kernel: memory_cs: mem0: anonymous: unknown size 
Jan 19 14:55:07 aaa kernel: cs: cb_alloc(bus 20): vendor 0x1011, device 0x0019 Jan
----------------------------------------------------------------------

[/var/log/daemon.log(ソース変更前:anonymousになる場合)]
----------------------------------------------------------------------
Jan 19 14:55:06 aaa cardmgr[111]: starting, version is 3.1.23
Jan 19 14:55:06 aaa kerneld: started, pid=118, qid=0
Jan 19 14:55:06 aaa cardmgr[111]: watching 2 sockets
Jan 19 14:55:06 aaa cardmgr[111]: initializing socket 0
Jan 19 14:55:06 aaa cardmgr[111]: socket 0: Anonymous Memory
Jan 19 14:55:06 aaa cardmgr[111]: executing: 'modprobe memory_cs'
Jan 19 14:55:07 aaa cardmgr[111]: executing: './memory start mem0'
Jan 19 14:55:07 aaa cardmgr[111]: shutting down socket 0
Jan 19 14:55:07 aaa cardmgr[111]: executing: './memory stop mem0'
Jan 19 14:55:08 aaa cardmgr[111]: executing: 'modprobe -r memory_cs'
Jan 19 14:55:08 aaa cardmgr[111]: + ds: Device or resource busy
Jan 19 14:55:08 aaa cardmgr[111]: initializing socket 0
Jan 19 14:55:08 aaa cardmgr[111]: unsupported card in socket 0
Jan 19 14:55:08 aaa cardmgr[111]:   no product info available
Jan 19 14:55:08 aaa cardmgr[111]:   PCI id: 0x1011, 0x0019
----------------------------------------------------------------------

[/var/log/messages(ソース変更後正常動作時)]
----------------------------------------------------------------------
Jan 22 11:06:22 aaa kernel: Linux PCMCIA Card Services 3.1.23 
Jan 22 11:06:22 aaa kernel:   kernel build: 2.2.18 #1 Sat Jan 20 11:59:18 JST 2001 
Jan 22 11:06:22 aaa kernel:   options:  [pci] [cardbus] [apm] 
Jan 22 11:06:22 aaa kernel: PCI routing table version 1.0 at 0xf8e80 
Jan 22 11:06:22 aaa kernel: Intel PCIC probe:  
Jan 22 11:06:22 aaa kernel:   Toshiba ToPIC97 rev 02 PCI-to-CardBus at slot 00:02, mem 
0x68000000 
Jan 22 11:06:22 aaa kernel:     host opts [0]: [slot 0xf0] [ccr 0x10] [cdr 0x86] [rcr 0x02] 
[no pci irq] [lat 168/176] [bus 20/20] 
Jan 22 11:06:22 aaa kernel:     host opts [1]: [slot 0xf0] [ccr 0x20] [cdr 0x86] [rcr 0x02] 
[no pci irq] [lat 168/176] [bus 21/21] 
Jan 22 11:06:22 aaa kernel:     ISA irqs (default) = 10 polling interval = 1000 ms 
Jan 22 11:06:22 aaa kernel: cs: IO port probe 0x0580-0x05ff: clean. 
Jan 22 11:06:55 aaa kernel: cs: cb_alloc(bus 20): vendor 0x1011, device 0x0019 
Jan 22 11:06:56 aaa kernel: cs: cb_config(bus 20) 
Jan 22 11:06:56 aaa kernel:   fn 0 bar 1: io 0x580-0x5ff 
Jan 22 11:06:56 aaa kernel:   fn 0 bar 2: mem 0xa0c0000-0xa0c007f 
Jan 22 11:06:56 aaa kernel:   fn 0 rom: mem 0xa080000-0xa0bffff 
Jan 22 11:06:56 aaa kernel:   irq 10 
Jan 22 11:06:56 aaa kernel: tulip_attach(device 14:00.0) 
Jan 22 11:06:56 aaa kernel: tulip.c:v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov (modified 
by danilo@cs.uni-magdeburg.de for XIRCOM CBE, fixed by Doug Ledford) 
Jan 22 11:06:56 aaa kernel: eth0: Digital DS21143 Tulip rev 48 at 0x580, 00:00:0E:76:33:5E, 
IRQ 10. 
Jan 22 11:06:56 aaa kernel: eth0:  EEPROM default media type Autosense. 
Jan 22 11:06:56 aaa kernel: eth0:  Index #0 - Media 10baseT (#0) described by a 21142 Serial 
PHY (2) block. 
Jan 22 11:06:56 aaa kernel: eth0:  Index #1 - Media 10baseT-FD (#4) described by a 21142 
Serial PHY (2) block. 
Jan 22 11:06:56 aaa kernel: eth0:  Index #2 - Media 100baseTx (#3) described by a 21143 SYM 
PHY (4) block. 
Jan 22 11:06:56 aaa kernel: eth0:  Index #3 - Media 100baseTx-FD (#5) described by a 21143 
SYM PHY (4) block. 
----------------------------------------------------------------------

[/var/log/daemon.log(ソース変更後正常動作時)]
----------------------------------------------------------------------
Jan 22 11:06:55 aaa cardmgr[112]: initializing socket 0
Jan 22 11:06:55 aaa cardmgr[112]: socket 0: Fujitsu FMV-J184 Fast Ethernet
Jan 22 11:06:55 aaa cardmgr[112]: executing: 'modprobe cb_enabler'
Jan 22 11:06:56 aaa cardmgr[112]: executing: 'modprobe tulip_cb'
Jan 22 11:06:56 aaa cardmgr[112]: executing: './network start eth0'
Jan 22 11:06:56 aaa cardmgr[112]: + ioctl: Operation not supported
----------------------------------------------------------------------

 以上です。

 その後,pcmia-cs-3.1.24でも試してみました。が,NGでした。

[/etc/pcmcia/config]
----------------------------------------------------------------------
card "Fujitsu FMV-J184 Fast Ethernet"
  version "FUJITSU", "LAN Card(100BASE-TX)(FMV-J184)", "*"
  bind "tulip_cb"

card "Fujitsu FMV-J185 Fast Ethernet"
  version "FUJITSU", "LAN Card(100BASE-TX)(FMV-J185)", "*"
  bind "eepro100_cb"
----------------------------------------------------------------------

[/var/log/daemon.log]
----------------------------------------------------------------------
Jan 22 19:33:13 aaa cardmgr[114]: initializing socket 0
Jan 22 19:33:13 aaa cardmgr[114]: unsupported card in socket 0
Jan 22 19:33:13 aaa cardmgr[114]:   no product info available
Jan 22 19:33:13 aaa cardmgr[114]:   PCI id: 0x1011, 0x0019
----------------------------------------------------------------------

となり,認識不能でした。

 今度は,anonymousには,なりませんでした。

----------------------------------------------------------------------
# cardctl ident
Socket 0:
  product info: "FUJITSU", "LAN Card(100BASE-TX)(FMV-J184)", "Ver.01"
  manfid: 0x0004, 0x100f
  function: 6 (network)
  PCI id: 0x1011, 0x0019
Socket 1:
  no product info available
----------------------------------------------------------------------

と,cardctlでは見えているので,認識してくれそうなのですが,駄目でした。
CIS dataをToPIC97がうまく取得できないのが,原因のようです。

 ToPIC97が原因かなぁ。。。

 cardctlで見えているのに,/etc/pcmcia/configが効かないのは,初めて体験
しました(cardbusも初めてです)。

 厳しいチェックに引っかかっているということなのでしょうか?

 /etc/pcmcia.confや,/etc/pcmcia/config.optsの設定不足で,CISが取れな
いことがあるのでしょうか?

 下は,pcmcia.conf,config.optsです。

[/etc/pcmcia.conf]
----------------------------------------------------------------------
PCMCIA=yes
PCIC=i82365
PCIC_OPTS="irq_list=10 poll_interval=100"
CORE_OPTS=
CARDMGR_OPTS=
----------------------------------------------------------------------

[/etc/pcmcia/config.opts]
----------------------------------------------------------------------
#
# Local PCMCIA Configuration File
#
# System resources available for PCMCIA devices
#
include irq10, irq11
include port 0x0580-0x05ff
include memory 0x000cc000-0x000cdfff
include memory 0x0a040000-0x0a0cffff
include memory 0x60000000-0x60ffffff
----------------------------------------------------------------------

 ソース(cistpl.c)を変更すると,pcmia-cs-3.1.24も問題なく動作するようで
す。

 以上が,確認結果でした。

 ToPIC97だから,ほっとかないとだめかなぁと思っておりましたら,3.1.24の
PCMCIA-HOWTOでは,

  Support for Toshiba's ToPIC bridges was hindered for a long time by a
  lack of sufficiently detailed technical documentation.  While some
  datasheets have been available, a few idiosyncracies of the ToPIC
  chips were not adequately explained.  Toshiba has now started giving
  direct technical help on some of these issues and I expect that the
  major ones will soon be resolved.

と,状況が変わりつつあるようです。

 以上です。何か,判りましたら,よろしくお願いいたします。

--
たむき


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