Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Jul 1997 01:33:34 -0700
From:      Brian Litzinger <brian@mpress.com>
To:        freebsd-questions@freebsd.org
Cc:        freebsd-mobile@freebsd.org
Subject:   pccard services -current and my eth card, no go.
Message-ID:  <19970705013334.52823@mpress.com>

Next in thread | Raw E-Mail | Index | Archive | Help
I have an Info Express PCMCIA ethernet card which works fine
via PAO pccard services, but I would like to get it working
via the -current pccard services.

My card does not get properly initialized because, for whatever
reason, it hits the return (-2) in pccard/pccardd/cardd.c:

...
                 * Host memory address is required. Allocate one
                 * from our pool.
                 */
                if (sp->mem.size && sp->mem.addr == 0) {
                        sp->mem.addr = alloc_memory(mp->length);
                        if (sp->mem.addr == 0)
******************->            return (-2);	<-**********************
                        sp->config->driver->mem = sp->mem.addr;
                }
                sp->mem.cardaddr = 0x4000;
...


useful stuff (/etc/pccard.conf, /var/log/mesages, pccardc dumpcis) follows.

Thanks for your help,
-- 
Brian Litzinger
brian@mpress.com


----------------------------------------------------------------------------
/etc/pccard.conf:

# $Id: pccard.conf,v 1.39 1996/05/07 13:09:40 hosokawa Exp hosokawa $

# Generally available IO ports
io      0x240-0x360
# Generally available IRQs
irq     10 11 13 15
# Available memory slots
memory  0xd4000  96k

# CNet CN30BC Ethernet Card
card "CNet  " "CN30BC"
	config  0x1 "ed0" 10
	ether 0xff0
	insert  /etc/pccard_ether ed0
	remove  /sbin/ifconfig ed0 delete

----------------------------------------------------------------------------
note that I've also tried it with the line:
        config  0x1 "ed0" 10 0x10

----------------------------------------------------------------------------
PCMCIA related messages from /var/log/messages:

Jul  5 01:16:16 top /kernel.skip: pcic0: <TI 1130 PCMCIA/CardBus Bridge> rev 0x04 int a irq 255 on pci0.7.0
Jul  5 01:16:16 top /kernel.skip: pcic1: <TI 1130 PCMCIA/CardBus Bridge> rev 0x04 int b irq 255 on pci0.7.1 
...
Jul  5 01:16:16 top /kernel.skip: pccard driver ed added  
...
Jul  5 01:16:18 top /kernel.skip: PC-Card VLSI 82C146 (5 mem & 2 I/O windows)
Jul  5 01:16:19 top /kernel.skip: pcic: controller irq 5
Jul  5 01:16:19 top /kernel.skip: Card inserted, slot 1
...
Jul  5 01:16:28 top pccardd[48]: Ether=00:20:e0:0e:13:92
Jul  5 01:16:28 top pccardd[48]: Resource allocation failure for CNet
Jul  5 01:16:28 top pccardd[48]: pccardd started
...

----------------------------------------------------------------------------
pccardc dumpcis:


Code 240 not found
Code 240 not found
code Unknown ignored
Configuration data for card in slot 1
Tuple #1, code = 0x1 (Common memory descriptor), length = 3
    000:  dc 03 ff
	Common memory device information:
		Device number 1, type Function specific, WPS = ON
		Speed = 100nS, Memory block size = 32Kb, 1 units
Tuple #2, code = 0x17 (Attribute memory descriptor), length = 3
    000:  53 01 ff
	Attribute memory device information:
		Device number 1, type FLASH EEPROM, WPS = OFF
		Speed = 150nS, Memory block size = 2Kb, 1 units
Tuple #3, code = 0x21 (Functional ID), length = 2
    000:  06 03
	Network/LAN adapter - POST initialize - Card has ROM
Tuple #4, code = 0x15 (Version 1 info), length = 30
    000:  04 01 43 4e 65 74 20 20 00 43 4e 33 30 42 43 00
    010:  45 54 48 45 52 4e 45 54 00 52 30 31 00 ff
	Version = 4.1, Manuf = [CNet  ],card vers = [CN30BC]
	Addit. info = [ETHERNET],[R01]
Tuple #5, code = 0x1a (Configuration map), length = 5
    000:  01 01 00 01 01
	Reg len = 2, config register addr = 0x100, last config = 0x1
	Registers: X------- 
Tuple #6, code = 0x1b (Configuration entry), length = 25
    000:  c1 81 78 ca 61 00 03 0f 10 03 0f 30 fc be c9 04
    010:  00 00 40 0d 40 40 00 40 0d
	Config index = 0x1(default)
	Interface byte = 0x81 (I/O)  wait signal supported
	Card decodes 10 address lines, limited 8/16 Bit I/O
		I/O address # 1: block start = 0x300 block length = 0x10
		I/O address # 2: block start = 0x310 block length = 0x10
		IRQ modes: Level
		IRQs:  4 5 10 11 12 13 14 15
	Memory descriptor 1
		 blk length = 0x400 card addr = 0x000 host addr = 0xd4000
	Memory descriptor 2
		 blk length = 0x4000 card addr = 0x4000 host addr = 0xd4000
Tuple #7, code = 0x0 (Null tuple), length = 9
    000:  57 42 20 4c 41 4e 20 20 ff
Tuple #8, code = 0x14 (No link), length = 0
Tuple #9, code = 0xff (Terminator), length = 0
2 slots found



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?19970705013334.52823>