Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Dec 1997 17:04:49 +0000
From:      Bob Bishop <rb@gid.co.uk>
To:        hosokawa@ntc.keio.ac.jp (HOSOKAWA Tatsumi)
Cc:        mobile@FreeBSD.ORG
Subject:   Re: Multifunction PC-card support
Message-ID:  <l03020903b0cadbc0f658@[194.32.164.2]>
In-Reply-To: <199712150557.OAA02926@afs.ntc.mita.keio.ac.jp>
References:  Your message of "Sun, 14 Dec 1997 21:17:57 -0700". <199712150417.VAA03645@mt.sri.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

This information may help a bit. I have a Grey Cell GCS3000 modem/ethernet
card here, which I think is a well-behaved multifunction card. I have
ethernet working on ed1 (it's a NE2000 clone) using the following
pccard.conf entry:

--------------------------------------------------------------------------
card "Grey Cell" "GCS3000"
	config	0x28 "ed1" 10
	insert	echo Grey Cell Ethernet inserted
	insert	/etc/pccard_ether ed1
	remove	echo Grey Cell Ethernet removed
	remove	/sbin/ifconfig ed1 delete
--------------------------------------------------------------------------

...but I haven't managed to get the modem working.

Here is the output of pccardc dumpcis; note that the first address in each
config entry looks like an ed ethernet port and the second looks like a
serial port. Also that tuple 20 (code 0x21) shows "Multifunction card":

--------------------------------------------------------------------------
Configuration data for card in slot 1
Tuple #1, code = 0x1 (Common memory descriptor), length = 3
    000:  dc 00 ff
	Common memory device information:
		Device number 1, type Function specific, WPS = ON
		Speed = 100nS, Memory block size = 512b, 1 units
Tuple #2, code = 0x17 (Attribute memory descriptor), length = 3
    000:  49 00 ff
	Attribute memory device information:
		Device number 1, type EEPROM, WPS = ON
		Speed = 250nS, Memory block size = 512b, 1 units
Tuple #3, code = 0x20 (Manufacturer ID), length = 4
    000:  43 01 41 33
	PCMCIA ID = 0x143, OEM ID = 0x3341
Tuple #4, code = 0x15 (Version 1 info), length = 30
    000:  04 01 47 72 65 79 20 43 65 6c 6c 00 47 43 53 33
    010:  30 30 30 00 47 6f 6c 64 20 33 00 31 00 ff
	Version = 4.1, Manuf = [Grey Cell],card vers = [GCS3000]
	Addit. info = [Gold 3],[1]
Tuple #5, code = 0x1a (Configuration map), length = 5
    000:  01 2f f8 03 03
	Reg len = 2, config register addr = 0x3f8, last config = 0x2f
	Registers: XX------
Tuple #6, code = 0x1b (Configuration entry), length = 26
    000:  e4 81 9d 3f 55 4d 5d 86 76 36 e6 46 fc 24 ca 61
    010:  00 03 1f f8 02 07 30 38 9e 08
	Config index = 0x24(default)
	Interface byte = 0x81 (I/O)  wait signal supported
	Vcc pwr:
		Nominal operating supply voltage: 5 x 1V
		Minimum operating supply voltage: 4.5 x 1V
		Maximum operating supply voltage: 5.5 x 1V
		Continuous supply current: 1 x 100mA, ext = 0x76
		Max current average over 1 second: 3 x 100mA
		Max current average over 10 ms: 6 x 100mA, ext = 0x46
	Wait scale Speed = 1.5 x 10 us
	Card decodes 4 address lines, 8 Bit I/O only
		IRQ modes: Level
		IRQ level = 4
	Max twin cards = 2
	Misc attr: (Audio-BVD2) (Ext byte = 0x61)
Tuple #7, code = 0x1b (Configuration entry), length = 10
    000:  25 08 ca 61 20 03 1f f8 02 07
	Config index = 0x25
	Card decodes 10 address lines, limited 8/16 Bit I/O
		I/O address # 1: block start = 0x320 block length = 0x20
		I/O address # 2: block start = 0x2f8 block length = 0x8
Tuple #8, code = 0x1b (Configuration entry), length = 10
    000:  26 08 ca 61 40 03 1f f8 02 07
	Config index = 0x26
	Card decodes 10 address lines, limited 8/16 Bit I/O
		I/O address # 1: block start = 0x340 block length = 0x20
		I/O address # 2: block start = 0x2f8 block length = 0x8
Tuple #9, code = 0x1b (Configuration entry), length = 10
    000:  27 08 ca 61 60 03 1f f8 02 07
	Config index = 0x27
	Card decodes 10 address lines, limited 8/16 Bit I/O
		I/O address # 1: block start = 0x360 block length = 0x20
		I/O address # 2: block start = 0x2f8 block length = 0x8
Tuple #10, code = 0x1b (Configuration entry), length = 10
    000:  28 08 ca 61 00 03 1f e8 03 07
	Config index = 0x28
	Card decodes 10 address lines, limited 8/16 Bit I/O
		I/O address # 1: block start = 0x300 block length = 0x20
		I/O address # 2: block start = 0x3e8 block length = 0x8
Tuple #11, code = 0x1b (Configuration entry), length = 10
    000:  29 08 ca 61 20 03 1f e8 03 07
	Config index = 0x29
	Card decodes 10 address lines, limited 8/16 Bit I/O
		I/O address # 1: block start = 0x320 block length = 0x20
		I/O address # 2: block start = 0x3e8 block length = 0x8
Tuple #12, code = 0x1b (Configuration entry), length = 10
    000:  2a 08 ca 61 40 03 1f e8 03 07
	Config index = 0x2a
	Card decodes 10 address lines, limited 8/16 Bit I/O
		I/O address # 1: block start = 0x340 block length = 0x20
		I/O address # 2: block start = 0x3e8 block length = 0x8
Tuple #13, code = 0x1b (Configuration entry), length = 10
    000:  2b 08 ca 61 60 03 1f e8 03 07
	Config index = 0x2b
	Card decodes 10 address lines, limited 8/16 Bit I/O
		I/O address # 1: block start = 0x360 block length = 0x20
		I/O address # 2: block start = 0x3e8 block length = 0x8
Tuple #14, code = 0x1b (Configuration entry), length = 10
    000:  2c 08 ca 61 00 03 1f e8 02 07
	Config index = 0x2c
	Card decodes 10 address lines, limited 8/16 Bit I/O
		I/O address # 1: block start = 0x300 block length = 0x20
		I/O address # 2: block start = 0x2e8 block length = 0x8
Tuple #15, code = 0x1b (Configuration entry), length = 10
    000:  2d 08 ca 61 20 03 1f e8 02 07
	Config index = 0x2d
	Card decodes 10 address lines, limited 8/16 Bit I/O
		I/O address # 1: block start = 0x320 block length = 0x20
		I/O address # 2: block start = 0x2e8 block length = 0x8
Tuple #16, code = 0x1b (Configuration entry), length = 10
    000:  2e 08 ca 61 40 03 1f e8 02 07
	Config index = 0x2e
	Card decodes 10 address lines, limited 8/16 Bit I/O
		I/O address # 1: block start = 0x340 block length = 0x20
		I/O address # 2: block start = 0x2e8 block length = 0x8
Tuple #17, code = 0x1b (Configuration entry), length = 10
    000:  2f 08 ca 61 60 03 1f e8 02 07
	Config index = 0x2f
	Card decodes 10 address lines, limited 8/16 Bit I/O
		I/O address # 1: block start = 0x360 block length = 0x20
		I/O address # 2: block start = 0x2e8 block length = 0x8
Tuple #18, code = 0x14 (No link), length = 0
Tuple #19, code = 0x40 (Version 2 Info), length = 38
    000:  00 00 00 00 00 00 00 00 01 47 72 65 79 20 43 65
    010:  6c 6c 20 53 79 73 74 65 6d 73 20 4c 74 64 00 47
    020:  6f 6c 64 20 33 00
Tuple #20, code = 0x21 (Functional ID), length = 2
    000:  00 00
	Multifunction card
Tuple #21, code = 0xff (Terminator), length = 0
--------------------------------------------------------------------------

Note that no serial interface or modem capabilities are visible.

I can dump off parts of the attribute memory if that will help you, but it
looks rather different from your Mariner card.


--
Bob Bishop              (0118) 977 4017  international code +44 118
rb@gid.co.uk        fax (0118) 989 4254  between 0800 and 1800 UK





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?l03020903b0cadbc0f658>