Updating the Zaurus to accept new CF cards

From OESF

(Difference between revisions)
Jump to: navigation, search
Current revision (20:33, 5 October 2007) (edit) (undo)
(remove gibberish)
 

(2 intermediate revisions not shown.)

Line 43:

Line 43:

*To find out what driver to use for a Bluetooth card, look at this web page: http://www.holtmann.org/linux/bluetooth/devices.html
*To find out what driver to use for a Bluetooth card, look at this web page: http://www.holtmann.org/linux/bluetooth/devices.html
-
After saving the configuration file with the correct entry, the new CF card should be recognised by your Zaurus.
+
After saving the configuration file with the correct entry and running '/etc/rc.d/init.d/pcmcia restart', the new CF card should be recognised by your Zaurus.

Current revision

The Zaurus comes with a wide range of drivers for different Compact Flash peripherals that work with many different brands of cards because usually there are only a few chipsets that are used by many manufacturers. However, for the Zaurus to know what type of card you insert into it and what drive to use with your brand of card there are a few configuration files that must match up with the card details.

This howto explains how to update these configuration files if you have a new brand or model of CF card that the Zaurus has never seen before.

All the Compact Flash configuration files are located under the directory /etc/pcmcia and are named according to the type of device:

  • For !WiFi cards it is 'wlan-ng.conf' (there is also 'spectrum.conf' but that is only for Spectrum cards)
  • For Bluetooth cards it is 'bluetooth.conf' (if you have installed bluetooth drivers)
  • For all other types of cards, including memory, Ethernet, modem and other I/O cards the configuration file is 'config'

Every recognised card has an entry in the appropriate configuration file of the format:

card "Card description"
  manfid 0x0001, 0x0001
  bind "driver_name"

or:

card "Card description"
  version "Vendor name", "Model description"
  bind "driver_name"

The information for these entries comes from the command 'cardctl'. To get this information for any Compact Flash card, insert the card into your Zaurus and run the following command:

cardctl ident

This will give output similar to this:

Socket 0:
  product info: "Vendor name", "Model description"
  manfid: 0x0001, 0x0001
  function: 254 ((null))
Socket 1:
  no product info available

To make this card be recognised, open the appropriate configuration file with your favourite editor and at the end of the file create a new entry in one of the two formats above using the information from the 'cardctl' output. For the "Card description" give it an appropriate name and if you want to use the second type of entry, the 'version' information is the same as the 'product info' text from the 'cardctl' output. The 'manfid' or 'version' text must match the 'cardctl' output exactly.

The tricky bit is specifying the correct driver to bind the card with. If you know another card with the same chipset then look up that card's entry and use the same driver name for the 'bind' information.

In general:

  • Most !WiFi cards use the prism2 chipset, which requires the "prims2_cs" driver.
  • Most modem cards use a serial interface that requires the "serial_cs" driver.
  • Ethernet cards use a lot of different drivers, but the most common driver required is "pcnet_cs".
  • To find out what driver to use for a Bluetooth card, look at this web page: http://www.holtmann.org/linux/bluetooth/devices.html

After saving the configuration file with the correct entry and running '/etc/rc.d/init.d/pcmcia restart', the new CF card should be recognised by your Zaurus.

Personal tools