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.2
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 NE4100 or IBM CCAE 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 it is not recognized, cardmgr
will normally bind the ``memory
card'' driver to the card. Check your system log to verify this,
because you'll need to use this driver. You will also 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
, install the new module. Edit
/etc/pcmcia/config
and create an entry for your card. See
section
3.2
for details. And please send me
copies of your new hw_info
and config entries.
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.
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. Unless their policy changes, it is doubtful that Linux drivers for Xircom products will ever become available.
The Qlogic FastSCSI and New Media Bus Toaster cards now work under
Card Services. As of 1.1.81, the Linux kernel supports loadable SCSI
driver modules, but you should try to use the latest available kernel.
The PCMCIA driver modules for these cards are built by linking some
PCMCIA-specific code (in qlogic_cs.c
and toaster_cs.c
) with
a normal Linux SCSI driver. The Qlogic PCMCIA driver links with the
normal QLogic driver; the Bus Toaster driver links with the Adaptec
152x driver. Pre-1.2.2 kernels require a patch for the Adaptec driver
to make it PCMCIA-ready: the patch should be available from all the
FTP sites mirroring cb-iris.stanford.edu
.
The Adaptec SlimSCSI adapter is not currently supported. This card was originally sold under the Trantor name, and is not compatible with any of the existing Adaptec drivers for Linux. I'm not sure how hard it would be to write a driver; I don't think anyone has obtained the technical information from Adaptec.
Be very careful about ejecting a SCSI adapter. Be sure that all associated SCSI devices are unmounted and closed before ejecting the card. For now, all SCSI devices should be powered up before plugging in a SCSI adapter, and should stay connected until after you unplug the adapter and/or power down your laptop.
Roger Pao (rpao@paonet.org
) adds:
Make sure there is a device capable of supplying termination power both to the terminating target device and to the PCMCIA SCSI card. This is vitally important as most PCMCIA SCSI cards do not supply termination power to its own terminators nor to the SCSI bus. This is usually to save laptop battery power and to isolate the laptop from the SCSI bus.
For a recommendation, the APS SCSI Sentry 2 ($100) is an external Centronics active terminator block (male on one end, female on the other) which uses an external power supply (115/230VAC) to supply termination power (5VDC 2.0A) to its own active terminator and to the PCMCIA SCSI card's terminators (be it active or passive). For more details, APS Technical Support can be reached at 800-334-7550.
Next Chapter, Previous Chapter
Table of contents of this chapter, General table of contents
Top of the document, Beginning of this Chapter