Subject: pcmcia modem card (3CXM756)
To: None <email@example.com>
From: None <firstname.lastname@example.org>
Date: 09/04/2002 17:13:16
The pcmcia modem card 3CXM756 did not not work for me
in a Dell latitude C600 laptop using NetBSD 1.5.2.
dmesg reports the dell is using a
Texas Instruments PCI1420 PCI-CardBus Bridge.
Investigation showed that I/O reads to the card were returning the same
data as was last written to the card(on any card port address), i.e.
the I/O ports did not seem to be mapped
(and by the way this ended up reporting a working fifo).
By changing in the file src/sys/arch/i386/i386/rbus_machdep.c
in routine rbus_pccbb_parent_io the variable
start to 0 instead of 0x2000 (or 0x4000 in newer code),
the card would now work.
So it would seem to me the cardbus bridge is passing all 16 bits of I/O
address space whereas the code is only expecting 10, or 12 bits.
Interesting however, the cis info for the modem card indicated
it was only using 10 bits of I/O address.
I am not sure if this means the code needs to be changed for newer bridges,
or more likely I am missing something else going on
(particularly considering the above cis info comment).
I don't understand this well enough to suggest a fix other
than the above mentioned quick hack.
Maybe someone familiar with the bridge I/O mapping code
has a comment?
Cliff Wright (email@example.com)