Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Feb 1999 13:53:57 -0500
From:      Nathan Dorfman <nathan@rtfm.net>
To:        hackers@FreeBSD.org
Subject:   pccard problems
Message-ID:  <19990220135357.A783@rtfm.net>

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

I'm having problems with pccard (3.1-R) and my PCCARD controller. This is
a Fujitsu LifeBook 280dx, Lose95 identifies the controller as a
Texas Instruments PCI-1220.

chip3: <PCI to CardBus bridge (vendor=104c device=ac17)> rev 0x02 int a irq 9
on pci0.19.0
chip4: <PCI to CardBus bridge (vendor=104c device=ac17)> rev 0x02 int a irq 9
on pci0.19.1

It operates in some kind of Intel-compatible mode, and works just fine with
PAO (pao3 and 3.0-R) and Linux (2.0.35 with pcmcia-cs 3.0.8). Stock
3.1-RELEASE pccard doesn't like it, however.

a) it doesn't recognize card inserts/removes. the only way to get it to
see a card as present is if the card is inserted at the time pcic is loaded

b) allocate_driver() (userland calls the PIOCSDRV ioctl, which in turn
calls this) locks up the machine in a very interesting way. The LED for
the slot in question goes on, and the machine stops responding. At this
point, I can't do *anything*, not even Ctrl+PrintScreen to drop to DDB.
Now, if I eject the card in question, the system returns to normal.
The ioctl(PIOCSDRV) returns errno 6 (ENXIO - No such device or address).
This seems to indicate that find_driver("ed0") returns 0. I also get
a few console messages:

ed0: Unload
Return IRQ=11

Because of problem a), I can't do anything now, not even read CIS data
from the card, because it doesn't see that I've re-inserted the card
(or removed it to begin with, for that matter).

Now for more details:

Card in question is an el cheapo NE2K clone. I stole a pccard.conf entry
for it from PAO's pccard.conf (PAO, by the way, works perfectly, but I
don't want to be stuck at 2.2.x or 3.0-R, and there is no PAO for 3.1-R;
I'm also more interested in seeing pccard fixed in -stable so I can track
it). The values I'm trying to use are:

host address: 0xd4000
size 16k
io 0x300-31f
irq 11

These are the same values that lose95 uses (pccard works there too).
The controller is on IRQ 9 in both cases. lose95 sets the pccard memory
address to 0xc0000; I use 0xd0000 (FreeBSD's default), 0xc0000 causes
garbled CIS data (that address is probably used, I don't know).

I'm deeply grateful for any pointers in the right direction on this one.
I'd really love to have this working soon so I can bring a working FreeBSD
laptop to the FreeBSD Users New York group meeting on February 26.

-- 
Nathan Dorfman <nathan@rtfm.net>         The statements and opinions in my
Unix Admin @ Frontline Communications    public posts are mine, not FCC's.
"The light at the end of the tunnel is the headlight of an approaching
train." --/usr/games/fortune


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




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