That's a broad question, but here's a quick troubleshooting guide.
/usr/adm/messages
and
make sure that cardmgr
identifies the card correctly and starts up the
serial_cs
driver. If it doesn't, you may need to add a new entry to
your /etc/pcmcia/config
file so that it will be identified properly.
See section
3.6
for details./usr/adm/messages
and look for messages from the serial_cs driver. If
you see ``register_serial() failed'', you may have an I/O port conflict
with another device. Another
tip-off of a conflict is if the device is reported to be an 8250; most
modern PCMCIA modems should be identified as 16550A UART's. If you
think you're seeing a port conflict, edit /etc/pcmcia/config
and exclude the port range that was allocated for the modem. /usr/adm/messages
looks good,
but the modem just doesn't seem to work, try using setserial
to
change the irq to 0, and see if the modem works. This causes the
serial driver to use a slower polled mode instead of using interrupts.
If this seems to fix the problem, it is likely that some other device
in your system is using the interrupt selected by serial_cs. You
should add a line to /etc/pcmcia/config
to exclude this interrupt.Earlier versions of the PCMCIA drivers often failed to properly initialize some Megahertz modems, specifically the 2144 model. This problem should be fixed in current releases.
I've also received one report from someone with a newer Megahertz
modem that has a 16550-type UART. He says that he wasn't able to get
this modem to work under Linux with cu
until he configured the modem
with:
echo 'ATS=QV1X4&C1&D2S95=2W1&K3S36=7S95=255' > /dev/modem
This initialization string was supplied by Megahertz tech support.
Here's another quick troubleshooting guide.
/usr/adm/messages
and make sure that cardmgr
identifies
the card correctly and starts up one of the network drivers. If it
doesn't, your card might still be usable if it is compatible with a
supported card. This will be most easily done if the card claims to
be "NE2000 compatible".cardmgr
, but still doesn't work, there
might be an interrupt or port conflict with another device. Find out
what resources the card is using (from /usr/adm/messages
),
and try excluding these in /etc/pcmcia/config
to force the
card to use something different./usr/adm/messages
matches your connection./etc/pcmcia/network
script. Make
sure your drop cable, ``T'' jack, terminator, etc are working.It would be nice if the driver could autodetect the difference between
a 10baseT and a 10base2 connection, but I don't know how to do that.
For now, you need to edit /etc/pcmcia/config and add an
if_ports=#
option to the 3c589_cs
module definition. Check
the tc589_cs
man page for more details, but to select 10base2
(also known as BNC, or thin net, or coax), change:
module "3c589_cs"
to:
module "3c589_cs" opts "if_port=3"
If you have an IBM CCAE, NE4100, Thomas Conrad, or Kingston adapter,
increase the memory access
time with the mem_speed=#
option to the ibmcc_cs
module
definition. Try speeds of up to 1000 (in nanoseconds).
For other cards, you may need to try changing your socket driver
timing parameters. Check the man page for your socket driver
(i82365
or tcic
) to see what parameters are available.
First, see if the card is already recognized by cardmgr
. Some
cards not listed in SUPPORTED.CARDS
are actually OEM versions of
cards that are supported. If you find a card like this, let me know
so I can add it to the list.
If your card is not recognized, follow the instructions in section
3.6
to create a config entry for your card,
but bind the card to the memory card driver, pcmem_cs
for now.
Restart cardmgr
to use the new updated config file.
You will need to know your card's hardware ethernet address. This address is a series of six two-digit hex numbers, often printed on the card itself. If it is not printed on the card, you may be able to use a DOS driver to display the address. In any case, once you know it, run:
dd if=/dev/pcmem0a count=20 | od -Ax -t x1
and search the output for your address. Record the hex offset of the
first byte of the address. Now, edit modules/de650_cs.c
and
find the hw_info
structure. You'll need to create a new entry
for your card. The first field is the offset multiplied by two. The
next three fields are the first three bytes of the hardware address.
The final field is just a descriptive name.
After editing de650_cs.c
, compile and install the new module.
Edit /etc/pcmcia/config
again, and change the card binding
from pcmem_cs
to de650_cs
. Follow the instructions for
reloading the config file, and you should be all set. Please send me
copies of your new hw_info
and config entries.
If you can't find your card's hardware address in the hex dump, as a
method of last resort, it is possible to ``hardwire'' the address when
the de650_cs
module is initialized. Edit
/etc/pcmcia/config
and add a hw_addr=
option, like so:
module "de650_cs" opts "hw_addr=0x00,0x80,0xc8,0x80,0x05,0x76"
Substitute your own card's hardware address in the appropriate spot, of course.
The PCMCIA floppy interface used in the Compaq Aero and a few other laptops is not yet supported by this package. If your laptop can initialize this card before Linux boots, you should be able to use it by telling Card Services to ignore that socket. Note that you will not be able to hot swap this card.
The snag in supporting the Aero floppy is that the Aero seems to use a proprietary PCMCIA controller to support DMA to the floppy. Without knowing exactly how this is done, there isn't any way to implement support under Linux.
To configure Card Services to ignore a socket, use the ignore=#
parameter when you load the i82365
or tcic
driver. See the
man pages for more details.
Xircom does not share technical information about its cards without a non-disclosure agreement. This means that it is not really possible to develop freely distributable drivers for Xircom cards without doing legally dubious things like reverse engineering DOS drivers.
There is some indication that Xircom may start supporting Linux directly. Xircom tech support says that future products will include Linux drivers. Their plans for older Xircom products are less clear.
The Xircom CreditCard Ethernet+Modem II card can be used as a modem under Linux, with no special configuration.
Next Chapter, Previous Chapter
Table of contents of this chapter, General table of contents
Top of the document, Beginning of this Chapter