4 Problems with specific cards

Contents of this section

4.1 Why doesn't my modem work?

That's a broad question, but here's a quick troubleshooting guide.

4.2 Why does my Megahertz modem sometimes fail to work?

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.

4.3 Why doesn't my ethernet card work?

Here's another quick troubleshooting guide.

4.4 How do I select the transceiver type for my 3c589 card?

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"

4.5 My network performance stinks. What can I do?

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.

4.6 How do I add support for an NE2000-compatible ethernet card?

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.

4.7 How do I use my PCMCIA floppy interface?

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.

4.8 What's up with support for Xircom cards?

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