From owner-freebsd-questions Sun Jul 6 19:14:05 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id TAA18128 for questions-outgoing; Sun, 6 Jul 1997 19:14:05 -0700 (PDT) Received: from genesis.atrad.adelaide.edu.au (genesis.atrad.adelaide.edu.au [129.127.96.120]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id TAA18111; Sun, 6 Jul 1997 19:13:59 -0700 (PDT) Received: (from msmith@localhost) by genesis.atrad.adelaide.edu.au (8.8.5/8.7.3) id LAA26928; Mon, 7 Jul 1997 11:43:44 +0930 (CST) From: Michael Smith Message-Id: <199707070213.LAA26928@genesis.atrad.adelaide.edu.au> Subject: Re: pccard services -current and my eth card, no go. In-Reply-To: <19970705013334.52823@mpress.com> from Brian Litzinger at "Jul 5, 97 01:33:34 am" To: brian@mpress.com (Brian Litzinger) Date: Mon, 7 Jul 1997 11:43:44 +0930 (CST) Cc: freebsd-questions@FreeBSD.ORG, freebsd-mobile@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL28 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-questions@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Brian Litzinger stands accused of saying: > 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. This is an "NE2000 compatible" PCCARD? > My card does not get properly initialized because, for whatever > reason, it hits the return (-2) in pccard/pccardd/cardd.c: This is usually because it's screwing its interpretation of the CIS values. > ... > * 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; This code is pretty disgusting. 8( Some trace information at this point would be handy; in particular, knowing the value of mp->length would be useful. > # Generally available IO ports > io 0x240-0x360 > # Generally available IRQs > irq 10 11 13 15 > # Available memory slots > memory 0xd4000 96k Are you _very_ confident that the above is correct? IRQ13 is almost never available. > # CNet CN30BC Ethernet Card > card "CNet " "CN30BC" > config 0x1 "ed0" 10 > ether 0xff0 > insert /etc/pccard_ether ed0 > remove /sbin/ifconfig ed0 delete That all looks OK. > 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 OK, I'm wrong; this is a WD8013-compatible adapter by the looks of it. I wonder if the dual memory regions are confusing pccardd. 8( -- ]] Mike Smith, Software Engineer msmith@gsoft.com.au [[ ]] Genesis Software genesis@gsoft.com.au [[ ]] High-speed data acquisition and (GSM mobile) 0411-222-496 [[ ]] realtime instrument control. (ph) +61-8-8267-3493 [[ ]] Unix hardware collector. "Where are your PEZ?" The Tick [[