Next-in-Thread Next Message

Idea ToPIC masquerading 

Forum: PCMCIA on Toshiba laptops
Date: 2000, Aug 07
From: Henk Fijnvandraat Fijnvandraat

Some observations regarding ToPic masquerading ;-)

The machine is a Toshiba Satellite Pro 4270. The original 6Gb disk has been replaced
with a 12 Gb unit. W98 is installed on the first 6Gb, Linux on the second

SuSE Linux 6.4, pcmcia 3.1.11

There are 3 possible PCMCIA settings in the BIOS:

- Automatic
- PCIC
- Cardbus / 16-bit

W98 reacts differently on these settings:

- Automatic makes W98 use ToPIC100 drivers. This is the way W98 was installed

after changing the BIOS settings to:
- PCIC makes W98 "find" new hardware at startup and starts installing PCIC drivers.
- Cardbus / 16-bit makes W98 "find" new hardware at startup and starts installing ToPIC95 drivers !!!


Now Linux:

PCIC setting loads all modules without errors, but the keyboard is dead after Linux is started, i can't login.

Cardbus / 16-bit setting, but started with NOPCMCIA=yes.
Then loading the modules by hand:

>probe
PCI bridge probe: Toshiba ToPIC95-B found, 2 sockets.

>lsmod
Module Size Used by
nls_iso8859-1 2268 1 (autoclean)
nfsd 146188 4 (autoclean)
serial 42612 0 (autoclean)
memstat 1476 0 (unused)

>dump_i365
Intel PCIC probe: not found.

>modprobe pcmcia_core
=== no comment ===

>lsmod
Module Size Used by
pcmcia_core 45184 0 (unused)
nls_iso8859-1 2268 1 (autoclean)
nfsd 146188 4 (autoclean)
serial 42612 0 (autoclean)
memstat 1476 0 (unused)

=== /var/log/messages
Aug 7 19:55:32 Traveller kernel: Linux PCMCIA Card Services 3.1.11
Aug 7 19:55:32 Traveller kernel: kernel build: 2.2.14 #1 Sat Mar 25 00:46:59 GMT 2000
Aug 7 19:55:32 Traveller kernel: options: [pci] [cardbus] [apm]
Aug 7 19:55:32 Traveller kernel: PCI routing table version 1.0 at 0xf0190
Aug 7 19:55:32 Traveller kernel: 00:0b.0 -> irq 11
Aug 7 19:55:32 Traveller kernel: 00:0b.1 -> irq 11

>modprobe i83265
/lib/modules/2.2.14/pcmcia/i82365.o: init_module: Device or resource busy
/lib/modules/2.2.14/pcmcia/i82365.o: insmod /lib/modules/2.2.14/pcmcia/i82365.o failed
/lib/modules/2.2.14/pcmcia/i82365.o: insmod i82365 failed

=== /var/log/messages
Aug 7 19:58:14 Traveller kernel: i82365.c 1.293 2000/02/14 23:01:29 (David Hinds)
Aug 7 19:58:14 Traveller kernel: Intel PCIC probe:
Aug 7 19:58:14 Traveller kernel: Bridge register mapping failed: check cb_mem_base setting
Aug 7 19:58:14 Traveller kernel: not found.

Now i'm stubborn !
>modprobe i83265
=== no comment ===

>lsmod
Module Size Used by
i82365 24656 0 (unused)
pcmcia_core 45184 0 [i82365]
nls_iso8859-1 2268 1 (autoclean)
nfsd 146188 4 (autoclean)
serial 42612 0 (autoclean)
memstat 1476 0 (unused)

=== /var/log/messages
Aug 7 20:00:14 Traveller kernel: i82365.c 1.293 2000/02/14 23:01:29 (David Hinds)
Aug 7 20:00:14 Traveller kernel: Intel PCIC probe:
Aug 7 20:00:14 Traveller kernel: Toshiba ToPIC95-B PCI-to-CardBus at slot 00:0b, mem 0x68000000
Aug 7 20:00:14 Traveller kernel: host opts [0]: [slot 0xf0] [ccr 0x10] [cdr 0x86] [rcr 0xc000000] [pci irq 11] [lat 64/176] [bus 20/20]
Aug 7 20:00:14 Traveller kernel: host opts [1]: [slot 0xf0] [ccr 0x20] [cdr 0x86] [rcr 0xc000000] [pci irq 11] [lat 64/176] [bus 21/21]
Aug 7 20:00:14 Traveller kernel: ISA irqs (default) = 4,5,7,9,10 PCI status changes

>>> Did that chip just change it's id or memory location ???? what was left / changed after the first probe that did this ????
The check "cb_mem_base" suggests the same ?

>modprobe ds
=== no comment ===

>lsmod
Module Size Used by
ds 6568 0 (unused)
i82365 24656 2
pcmcia_core 45184 0 [ds i82365]
nls_iso8859-1 2268 1 (autoclean)
nfsd 146188 4 (autoclean)
serial 42612 0 (autoclean)
memstat 1476 0 (unused)

>cardmgr
=== no comment ===

>lsmod
Module Size Used by
ds 6568 2
i82365 24656 2
pcmcia_core 45184 0 [ds i82365]
nls_iso8859-1 2268 1 (autoclean)
nfsd 146188 4 (autoclean)
serial 42612 0 (autoclean)
memstat 1476 0 (unused)

=== /var/log/messages
Aug 7 20:02:14 Traveller cardmgr[274]: starting, version is 3.1.11
Aug 7 20:02:14 Traveller cardmgr[274]: watching 2 sockets
Aug 7 20:02:14 Traveller kernel: cs: IO port probe 0x0c00-0x0cff: excluding 0xcf8-0xcff
Aug 7 20:02:14 Traveller kernel: cs: IO port probe 0x0800-0x08ff: clean.
Aug 7 20:02:14 Traveller kernel: cs: IO port probe 0x0100-0x04ff: excluding 0x378-0x37f 0x4d0-0x4d7
Aug 7 20:02:14 Traveller kernel: cs: IO port probe 0x0a00-0x0aff: clean.

>ifconfig
lo Link encap:Local Loopback
          inet addr:127.0.0.1 Mask:255.0.0.0
          UP LOOPBACK RUNNING MTU:3924 Metric:1
          RX packets:34 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0

So in the end the system doesn't find the 32-bit cardbus that is inserted in slot0

But don't worry, the story goes on:

Automatic setting, again starting with NOPCMCIA=yes.
Then loading the modules by hand:

>probe
PCI bridge probe: Toshiba ToPIC100 found, 2 sockets.

>lsmod
Module Size Used by
nls_iso8859-1 2268 1 (autoclean)
nfsd 146188 4 (autoclean)
serial 42612 0 (autoclean)
memstat 1476 0 (unused)

>dump_i365
Intel PCIC probe: i82365sl B step found, 2 sockets
Socket 0:
  Identification and revision = 0x83
  Interface status = 0xba
    [bvd2/spkr] [detect] [wrprot] [ready] [gpi]
  Power control = 00
    [resetdrv] [Vcc off] [Vpp off]
  Interrupt and general control = 00
    [reset] [irq=0]
  Card status change = 00
   
  Card status change interrupt control = 00
    [irq = 0]
  Card detect and general control = 00
   
  Global control = 00
   
  Memory window 0: [OFF]
    start = 0000, stop = 0000, offset = 0000
  Memory window 1: [OFF]
    start = 0000, stop = 0000, offset = 0000
  Memory window 2: [OFF]
    start = 0000, stop = 0000, offset = 0000
  Memory window 3: [OFF]
    start = 0000, stop = 0000, offset = 0000
  Memory window 4: [OFF]
    start = 0000, stop = 0000, offset = 0000
  I/O window 0: [OFF]
    start = 0000, stop = 0000
  I/O window 1: [OFF]
    start = 0000, stop = 0000

Socket 1:
  Identification and revision = 0x83
  Interface status = 0xb2
    [bvd2/spkr] [wrprot] [ready] [gpi]
  Power control = 00
    [resetdrv] [Vcc off] [Vpp off]
  Interrupt and general control = 00
    [reset] [irq=0]
  Card status change = 00
   
  Card status change interrupt control = 00
    [irq = 0]
  Card detect and general control = 00
   
  Global control = 00
   
  Memory window 0: [OFF]
    start = 0000, stop = 0000, offset = 0000
  Memory window 1: [OFF]
    start = 0000, stop = 0000, offset = 0000
  Memory window 2: [OFF]
    start = 0000, stop = 0000, offset = 0000
  Memory window 3: [OFF]
    start = 0000, stop = 0000, offset = 0x0001
  Memory window 4: [OFF]
    start = 0000, stop = 0000, offset = 0000
  I/O window 0: [OFF]
    start = 0000, stop = 0000
  I/O window 1: [OFF]
    start = 0000, stop = 0000

Hey, the probe found something now !
looks great let's continue
(lsmod info is the same when not given)

>modprobe pcmcia_core
=== no comment ===

=== /var/log/messages
Aug 7 21:01:53 Traveller kernel: Linux PCMCIA Card Services 3.1.11
Aug 7 21:01:53 Traveller kernel: kernel build: 2.2.14 #1 Sat Mar 25 00:46:59 GMT 2000
Aug 7 21:01:53 Traveller kernel: options: [pci] [cardbus] [apm]
Aug 7 21:01:53 Traveller kernel: PCI routing table version 1.0 at 0xf0190
Aug 7 21:01:53 Traveller kernel: 00:0b.0 -> irq 11
Aug 7 21:01:53 Traveller kernel: 00:0b.1 -> irq 11

>modprobe i83265
/lib/modules/2.2.14/pcmcia/i82365.o: init_module: Device or resource busy
/lib/modules/2.2.14/pcmcia/i82365.o: insmod /lib/modules/2.2.14/pcmcia/i82365.o failed
/lib/modules/2.2.14/pcmcia/i82365.o: insmod i82365 failed

=== /var/log/messages
Aug 7 21:03:12 Traveller kernel: i82365.c 1.293 2000/02/14 23:01:29 (David Hinds)
Aug 7 21:03:12 Traveller kernel: Intel PCIC probe:
Aug 7 21:03:12 Traveller kernel: Bridge register mapping failed: check cb_mem_base setting
Aug 7 21:03:12 Traveller kernel: not found.

>dump_i365
Intel PCIC probe: not found.

Now where did that chip go ??? Changed it's id or address again ??

I'm still stubborn ! (don't call me a mule)
>modprobe i83265
=== no comment ===

=== /var/log/messages
Aug 7 21:04:52 Traveller kernel: i82365.c 1.293 2000/02/14 23:01:29 (David Hinds)
Aug 7 21:04:52 Traveller kernel: Intel PCIC probe:
Aug 7 21:04:52 Traveller kernel: Toshiba ToPIC100 PCI-to-CardBus at slot 00:0b, mem 0x68000000
Aug 7 21:04:52 Traveller kernel: host opts [0]: [slot 0xf0] [ccr 0x10] [cdr 0x86] [rcr 0xc000000] [pci irq 11] [lat 64/176] [bus 20/20]
Aug 7 21:04:52 Traveller kernel: host opts [1]: [slot 0xf0] [ccr 0x20] [cdr 0x86] [rcr 0xc000000] [pci irq 11] [lat 64/176] [bus 21/21]
Aug 7 21:04:52 Traveller kernel: ISA irqs (default) = 4,5,7,9,10 PCI status changes
Aug 7 21:05:07 Traveller kernel: cs: cb_alloc(bus 20): vendor 0x1011, device 0x0019

>cardmgr
=== no comment ===

=== /var/log/messages
Aug 7 21:05:34 Traveller cardmgr[276]: starting, version is 3.1.11
Aug 7 21:05:34 Traveller cardmgr[276]: watching 2 sockets
Aug 7 21:05:34 Traveller kernel: cs: IO port probe 0x0c00-0x0cff: excluding 0xcf8-0xcff
Aug 7 21:05:34 Traveller kernel: cs: IO port probe 0x0800-0x08ff: clean.
Aug 7 21:05:34 Traveller kernel: cs: IO port probe 0x0100-0x04ff: excluding 0x378-0x37f 0x4d0-0x4d7
Aug 7 21:05:34 Traveller kernel: cs: IO port probe 0x0a00-0x0aff: clean.
Aug 7 21:05:34 Traveller cardmgr[276]: initializing socket 0
Aug 7 21:05:34 Traveller cardmgr[276]: socket 0: UMAX Technologies UMAX250 Fast Ethernet
Aug 7 21:05:34 Traveller cardmgr[276]: executing: 'insmod /lib/modules/2.2.14/pcmcia/cb_enabler.o'
Aug 7 21:05:34 Traveller cardmgr[276]: executing: 'insmod /lib/modules/2.2.14/pcmcia/tulip_cb.o'
Aug 7 21:05:34 Traveller kernel: cs: cb_config(bus 20)
Aug 7 21:05:34 Traveller kernel: fn 0 bar 1: io 0x200-0x27f
Aug 7 21:05:34 Traveller kernel: fn 0 bar 2: mem 0x600c0000-0x600c03ff
Aug 7 21:05:34 Traveller kernel: fn 0 rom: mem 0x60080000-0x600bffff
Aug 7 21:05:34 Traveller kernel: cs: cb_enable(bus 20)
Aug 7 21:05:34 Traveller kernel: bridge io map 0 (flags 0x21): 0x200-0x27f
Aug 7 21:05:34 Traveller kernel: bridge mem map 0 (flags 0x1): 0x60080000-0x600c0fff
Aug 7 21:05:34 Traveller kernel: tulip_reap()
Aug 7 21:05:34 Traveller kernel: tulip_attach(bus 20, function 0)
Aug 7 21:05:34 Traveller 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)
Aug 7 21:05:34 Traveller kernel: eth0: Digital DS21143 Tulip rev 65 at 0x200, 00:10:7A:15:7E:B9, IRQ 11.
Aug 7 21:05:34 Traveller kernel: eth0: EEPROM default media type Autosense.
Aug 7 21:05:34 Traveller kernel: eth0: Index #0 - Media MII (#11) described by a 21142 MII PHY (3) block.
Aug 7 21:05:34 Traveller kernel: eth0: MII transceiver #1 config 1000 status 7849 advertising 01e1.
Aug 7 21:05:34 Traveller cardmgr[276]: executing: './network start eth0'

Won a lottery ?

>lsmod
Module Size Used by
tulip_cb 32528 2
cb_enabler 2600 2 [tulip_cb]
ds 6568 2 [cb_enabler]
i82365 24656 2
pcmcia_core 45184 0 [cb_enabler ds i82365]
nls_iso8859-1 2268 1 (autoclean)
nfsd 146188 4 (autoclean)
serial 42612 0 (autoclean)
memstat 1476 0 (unused)

>ifconfig
eth0 Link encap:Ethernet HWaddr 00:10:7A:15:7E:B9
          inet addr:192.168.100.51 Bcast:192.168.100.255 Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:11 Base address:0x200

lo Link encap:Local Loopback
          inet addr:127.0.0.1 Mask:255.0.0.0
          UP LOOPBACK RUNNING MTU:3924 Metric:1
          RX packets:34 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0

>dump_cis
Socket 0:
  vers_1 5.0, "NETGEAR", "FA510", "Fast Ethernet CardBus Card", "1.00"
  manfid 0x9513, 0x0081
  funcid network_adapter
  lan_technology ethernet
  lan_speed 10 mb/sec
  lan_speed 100 mb/sec
  lan_media unshielded_twisted_pair
  BAR 1 size 128b [io] [prefetch]
  config_cb base 0x0000 last_index 0x01
  cftable_entry_cb 0x01 [default]
    [master] [invalidate] [parity] [wait] [serr] [fast back]

Socket 1:
  no CIS present

As you can see the whole system is working now!

You can also try to be too smart: if i place 2 consecutive modprobes i82365 in the startup
script, even with a sleep statement in between, the modules load OK but the keyboard freezes
again after the boot process.

I think we need a strait-jacket: the ToPIC100 has a split personality

If you want me to do some more testing, tell me!
By the way, the 6Gb disk was transferred to my "old" Toshiba Satellite Pro 440 CDT. I'm still
busy installing Linux there too. I might do some testing there - if i only had time !!

Aug 7 2000, Henk Fijnvandraat

Next-in-Thread Next Message

Members Subscribe No Frames Help for HyperNews at pcmcia-cs.sourceforge.net 1.10