Previous Next Contents

5. Dealing with unsupported cards

5.1 Configuring unrecognized cards

Assuming that your card is supported by an existing driver, all that needs to be done is to add an entry to /etc/pcmcia/config to tell cardmgr how to identify the card, and which driver(s) need to be linked up to this card. Check the man page for pcmcia for more information about the config file format. If you insert an unknown card, cardmgr will normally record some identification information in the system log that can be used to construct the config entry.

Here is an example of how cardmgr will report an unsupported card in /usr/adm/messages.

cardmgr[460]: unsupported card in socket 1
cardmgr[460]: version info: "MEGAHERTZ", "XJ2288", "V.34 PCMCIA MODEM"

The corresponding entry in /etc/pcmcia/config would be:

card "Megahertz XJ2288 V.34 Fax Modem"
  version "MEGAHERTZ", "XJ2288", "V.34 PCMCIA MODEM"
  bind "serial_cs"

You can use ``*'' to match strings that don't need to match exactly, like version numbers. When making new config entries, be careful to copy the strings exactly, preserving case and blank spaces. Also be sure that the config entry has the same number of strings as are reported in the log file.

After editing /etc/pcmcia/config, you can signal cardmgr to reload the file with:

kill -HUP `cat /var/run/cardmgr.pid`

If you do set up an entry for a new card, please send me a copy so that I can include it in the standard config file.

5.2 Adding 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/pcnet_cs.c and find the hw_info structure. You'll need to create a new entry for your card. The first field is a descriptive name. The next field is the offset multiplied by two. The next three fields are the first three bytes of the hardware address. The final field contains some flags for specific card features; to start, try setting it to 0.

After editing pcnet_cs.c, compile and install the new module. Edit /etc/pcmcia/config again, and change the card binding from pcmem_cs to pcnet_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 pcnet_cs module is initialized. Edit /etc/pcmcia/config and add a hw_addr= option, like so:

module "pcnet_cs" opts "hw_addr=0x00,0x80,0xc8,0x01,0x02,0x03"

Substitute your own card's hardware address in the appropriate spot, of course.

5.3 PCMCIA floppy interface cards

The PCMCIA floppy interface used in the Compaq Aero and a few other laptops is not yet supported by this package. The snag in supporting the Aero floppy is that the Aero seems to use a customized 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.

If the floppy adapter card is present when an Aero is booted, the Aero BIOS will configure the card, and Linux will identify it as a normal floppy drive. When the Linux PCMCIA drivers are loaded, they will notice that the card is already configured and attached to a Linux driver, and this socket will be left alone. So, the drive can be used if it is present at boot time, but the card is not hot swappable.

5.4 What's up with support for Xircom cards?

For a long time, Xircom cards were not supported because Xircom had a company policy of not disclosing technical information about their cards. This has changed, but Xircom ethernet cards are still unsupported, because no one has written a driver. Here is Xircom's statement:


Tracking #269248

There are no drivers currently.  There has been a great request for 
this type of driver.  After many letters, the marketing team has 
created a way for freeware users to gain access to the information 
needed to create their own drivers.  If you are interested in creating 
you own driver fax your request for information to Carin DeGorff at 
(805)376-9311. 

Should you have any further questions, Please don't hesitate to 
contact us again.

Please send all correspondences to CS@XIRCOM.COM, all others will be 
forwarded resulting in a longer reply time!

The Xircom CreditCard Ethernet+Modem II card can be used as a modem under Linux, with no special configuration.

I've set up a HyperNews forum specifically for discussion of Xircom driver development, at http://hyper.stanford.edu/HyperNews/get/pcmcia/xircom.html.


Previous Next Contents