Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Dec 1998 02:54:58 -0800
From:      Mike Smith <mike@smith.net.au>
To:        MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
Cc:        mike@smith.net.au, current@FreeBSD.ORG
Subject:   Re: PAO Integration? 
Message-ID:  <199812141054.CAA00320@dingo.cdrom.com>
In-Reply-To: Your message of "Sat, 12 Dec 1998 16:06:54 %2B0900." <199812120706.QAA22991@lavender.sanpei.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
> mike@smith.net.au wrote:
> >> > 
> >> > Do NE2000 Compatible PCMCIA cards work under PAO3, as it is now?
> >> > If so, is the  development snapshot available anywhere? 
> >> 
> >> They work fine under stock 2.2 and 3.0 (this message is being sent 
> >> using one).
> Content-Type: Text/Plain; charset=us-ascii
> Content-Transfer-Encoding: 7bit
> 
>   I have three NE2000 compatible PCMCIA cards. 
>   I can use two cards with FreeBSD-current which added some lines to
> /etc/pccard.conf, but can't use another one.  
>   Under PAO, I can use all these cards.
> 
>   I compare these CIS via pccardc dumpcis command.
> 	o unusable cards has memory descriptor.
> 	o usable cards does not have it.
> 
> 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:  2 3 4 5 6 7 9 10 11 12 13 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
> ----------
>   Review pccardd.
>   PAO's assign_io function in pccardd/cardd.c has related code but
> it's comment is ``XXX -- dirty hack for some 'ed' cards that have
> incomplete iomem CIS tupples.''
>   But FreeBSD-current's assign_io function does not have it.
> 
>   I think that Mike's card does not have Memory descriptor..  Is
> that right?

Yes; there's a long-standing bug in the way that the stock pccardd 
deals with memory blocks < 4096 bytes, where it tries to allocate a 
zero-sized window, which fails and thus the card is rejected.

The memory region in question's not actually used for the card's 
operation; the simplest fix would be to correct pccardd to either 
expand any window < 4096 to 4096 or to just not map it (bad but 
simpler).

-- 
\\  Sometimes you're ahead,       \\  Mike Smith
\\  sometimes you're behind.      \\  mike@smith.net.au
\\  The race is long, and in the  \\  msmith@freebsd.org
\\  end it's only with yourself.  \\  msmith@cdrom.com



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



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