Solaris(TM) 2.4 x86 PCMCIA Driver Update 8 Guide 2550 Garcia Avenue Mountain View, CA 94043 U.S.A. Part No: 802-4923-05 SunSoft, Inc. Revision A, October 1995 A Sun Microsystems, Inc. Business (c) 1995 Sun Microsystems, Inc. All rights reserved. 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A. (c) 1993-1995 X Inside Incorporated. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Portions of this product may be derived from the UNIX(R) system, licensed from UNIX System Laboratories, Inc., a wholly owned subsidiary of Novell, Inc., and from the Berkeley 4.3 BSD system, licensed from the University of California. Third-party software, including font technology in this product, is protected by copyright and licensed from Sun's suppliers. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR 52.227-19. The product described in this manual may be protected by one or more U.S. patents, foreign patents, or pending applications. TRADEMARKS Sun, Sun Microsystems, the Sun logo, SunSoft, the SunSoft logo, Solaris, Solaris PEX, SunOS, OpenWindows, DeskSet, ONC, ONC+, NFS, Wabi, XGL, and XIL are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and may be protected as trademarks in other countries. UNIX is a registered trademark in the United States and other countries, exclusively licensed through X/Open Company, Ltd. OPEN LOOK is a registered trademark of Novell, Inc. PostScript and Display PostScript are trademarks of Adobe Systems, Inc. Intel is a registered trademark of Intel Corporation. All SPARC trademarks, including the SCD Compliant Logo, are trademarks or registered trademarks of SPARC International, Inc. in the United States and may be protected as trademarks in other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. The OPEN LOOK(R) and Sun(TM) Graphical User Interfaces were developed by Sun Microsystems, Inc. for its users and licensees. Sun acknowledges the pioneering efforts of Xerox in researching and developing the concept of visual or graphical user interfaces for the computer industry. Sun holds a non-exclusive license from Xerox to the Xerox Graphical User Interface, which license also covers Sun's licensees who implement OPEN LOOK GUIs and otherwise comply with Sun's written license agreements. X Window System is a trademark of X Consortium, Inc. THIS PUBLICATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THIS PUBLICATION COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN. THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THE PUBLICATION. SUN MICROSYSTEMS, INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAMS(S) DESCRIBED IN THIS PUBLICATION AT ANY TIME. Contents About This Book 1. Solaris 2.4 x86 Driver Update 8 PCMCIA Support PCMCIA Driver Update Contents Understanding PCMCIA Hardware Configuring PCMCIA Devices Configuring the PCMCIA Controller Hot-Plugging PCMCIA Cards Installing the PCMCIA Driver Update PCMCIA Release Notes Adding a PCMCIA Network Card Using PCMCIA Memory Cards Known Problems Troubleshooting PCMCIA Device Configuration A. Device Reference Pages PCMCIA Controllers PCMCIA 3Com EtherLink III (3C589) Card PCMCIA Modem and Serial Cards PCMCIA SRAM and DRAM Devices About This Book This document provides information about PCMCIA device functionality now supported on the Solaris(TM) 2.4 computing environment. You can use the PCMCIA diskette with Driver Update 8 to update your installed Solaris 2.4 system PCMCIA drivers. Information regarding the availability of new drivers can be obtained by calling SunSoft's Automated Support System at 1-800-SUNSOFT (options 4,1,1) or by sending electronic mail to support@cypress.West.Sun.COM. Before You Read This Book This document contains additional device configuration information for newly supported hardware. The importance of properly configured hardware prior to installing Solaris is discussed in the x86 Device Configuration Guide. This document assumes you have fully read and understood that guide; Appendix A, "Device Reference Pages," in this document is an addendum to that guide. Likewise, the installation instructions for this PCMCIA Driver Update are very brief and serve only to supplement the instructions found in x86: Installing Solaris Software. How This Book Is Organized A brief description of the contents of the PCMCIA functionality diskette is followed by installation instructions for the new drivers, and detailed configuration instructions for the hardware devices that are supported by the new drivers. Note - Even though the instructions for installing the new drivers are presented first, read and follow the appropriate hardware configuration instructions in Appendix A, "Device Reference Pages," before installing the new drivers. The hardware must be configured properly for the Solaris software to install and run correctly. Chapter 1, "Solaris 2.4 x86 Driver Update 8 PCMCIA Support" provides information about what is new in this release and how to install it. Appendix A, "Device Reference Pages," provides device configuration information for PCMCIA devices. This appendix should be read and the hardware configured prior to installing the Driver Update software. Related Books You may need to refer to the following books when installing the Driver Update: o x86 Device Configuration Guide Describes how to configure x86 devices before installing Solaris software. o x86: Installing Solaris Software Describes how to install the Solaris software on x86 systems. o Solaris 2.4 Open Issues and Late-Breaking News Describes late-breaking news about running Solaris software, including known problems with supported hardware or device drivers. o Solaris 2.4 x86 Hardware Compatibility List Contains a list of supported hardware on Solaris 2.4 x86 systems. How to Obtain the Solaris 2.4 x86 Hardware Compatibility List The Solaris 2.4 x86 Hardware Compatibility List is updated monthly and is available from the following sources: o email o ASCII version-Send electronic mail to x86hcl@Sun.COM. o PostScript(TM) version-Send electronic mail to x86hcl.ps@Sun.COM. o CompuServe-Type `go sunsoft` and go to the Solaris x86 library. o The WWW (http://access1.Sun.COM)-Click on "SunSoft's Support Resolutions Answer Center," select "Solaris," and then click on "x86 Hardware Compatibility List." o ASK-IT-SunSoft's Automated Support Fax-on-Demand Service o In North America, call 1-800-SUNSOFT, and use prompts 4, 1, 1, respectively. You can also call (310) 348-6219 and choose option 1. o In locations other than North America, use the following numbers to request this document: Singapore 65-733-3405 Taiwan 886-2-719-8069 Japan 03-5717-2560 United Kingdom 44-1494-510981 How to Obtain Driver Updates This Driver Update is posted on: o CompuServe-Type `go sunsoft` and go to the Solaris x86 library. o FTP-Use anonymous FTP to access: o ftp.uu.net, then go to /vendor/sun/sun-doc/x-86-driver/2.4 o sunsite.unc.edu, then go to /pub/sun-info/solaris-x86/sunsoft-drivers o WWW o Open URL http://access1.Sun.COM and click on "SunSoft's Support Resolutions Answer Center," select "Solaris," and then click on "x86 Driver Information." o Open URL http://sunsite.unc.edu/pub/sun-info/solaris-x86/sunsoft-drivers How to Obtain Technical Support To obtain technical support in North America, customers should call 1-800-SUNSOFT and choose option 4. Outside North America, contact your local Support provider. 1. Solaris 2.4 x86 Driver Update 8 PCMCIA Support A description of the contents of the PCMCIA support included in this Driver Update is followed by a brief overview of PCMCIA hardware, installation instructions, release notes, and troubleshooting information. Appendix A, "Device Reference Pages," provides additional information about the PCMCIA device configuration in this release. Read through the entire chapter once before installing the PCMCIA support in Solaris 2.4 x86 Driver Update 8. PCMCIA Driver Update Contents Solaris 2.4 x86 Driver Update 8 contains one diskette labeled: "Solaris 2.4 x86 Driver Update 8 Distribution (PCMCIA)." The PCMCIA Driver Update Distribution diskette is intended to be used on Solaris 2.4 x86 systems only. The PCMCIA Driver Update Distribution diskette contains the drivers listed in Table 1-1. A new Section 7 manual page for each of the drivers will also be installed in the appropriate manual page directory during installation. Note - Support for a specific controller (adapter) chip does not guarantee that PCMCIA support will work on a platform, though it will increase the likelihood. Check the Solaris 2.4 Hardware Compatibility List to be certain. Table 1-1 PCMCIA Drivers Supported in This Driver Update PCMCIA Drivers pcic Intel i82365SL PC Interface Controller driver that supports controllers based on the following chips: Intel 82365SL, Vadem VG365/VG465/VG468/VG469, Cirrus Logic PD6710/PD6720, Ricoh RF5C366, and Toshiba pcelx 3Com EtherLink III (3C589) PCMCIA Ethernet driver pcram PCMCIA memory card driver that supports PCMCIA SRAM and DRAM cards pcser PCMCIA serial card device driver that supports PCMCIA modem and serial cards based on the 16550 UART and its variants Appendix A contains device pages that explain the configuration for each of the types of PCMCIA devices listed above. The PCMCIA Driver Update also includes pcmcia, the PCMCIA nexus driver that provides card and socket services for PCMCIA device drivers (such as pcic); pcmem, the PCMCIA memory card nexus driver that supports PCMCIA memory card client drivers (such as pcram); and pcmciad, the PCMCIA user daemon that provides user-level services for pcmcia and PCMCIA card client drivers. See pcmcia(4), pcmem(7), and pcmciad(1M). Other manual pages have been updated for PCMCIA support and will be installed in the appropriate manual page directory. See fdformat(1), add_drv(1M), drvconfig(1M), dkio(7), and pcfs(7). For a complete list of the contents of the PCMCIA Driver Update diskette, see the README files that are installed in the patch directories /var/sadm/patch/, where is one of the following for Solaris 2.4 x86 Driver Update 8 PCMCIA: 101908-05, 101924-02, and 101938-01. Understanding PCMCIA Hardware A PCMCIA controller may be built into your computer (as on most notebook computers) or it may be an add-on card. Most have either one or two sockets, and the PCMCIA controller is, itself, a device on another bus (usually ISA). The PCMCIA controller controls the PCMCIA bus and maps PCMCIA devices onto the main bus (for example, ISA). The PCMCIA bus was originally developed for memory cards and notebook computers. It is now used for a wide variety of devices (including modems, network interfaces, disk drives, SCSI HBAs, sound cards, and graphics adapters) on machines of all sizes and architectures. In the Solaris operating environment, sockets are numbered, starting with zero. However, whether they are numbered top-to-bottom or bottom-to-top is platform-dependent. Though sometimes they are marked as "1/2" or "A/B," usually sockets are not marked. To find out how sockets are numbered, either consult your platform documentation or insert a card and see which device got created. Three types of PCMCIA device are supported by Solaris device drivers. They are about the size of credit cards, but have different thicknesses: o Type I: 3.3 mm o Type II: 5 mm o Type III: 10.5 mm Lower type cards can be used in higher type sockets. For example, a controller with Type-III PCMCIA sockets should be able to support Type-III, Type-II, and Type-I cards. But a controller with Type-I sockets will only support Type-I devices. PCMCIA devices are autoconfigured; that is, I/O ports and IRQs are assigned automatically by the Solaris system when each device is plugged in. PCMCIA devices are hot-pluggable-they can be safely inserted and removed while a machine is running. Configuring PCMCIA Devices The PCMCIA software should automatically recognize any supported PCMCIA card when it is plugged in and then load the appropriate device driver. If you have a device that is compatible with a supported device, but it is not included in the supported devices database, /etc/driver_aliases, you can manually add your new card to the list. Mostly, this process is applicable to modem cards and is described in "Identifying an Unrecognized Card" in the "PCMCIA Modem and Serial Cards" Device Reference Page in Appendix A. You may also have to define aliases for a small percentage of SRAM cards that have "Attribute Memory." Configuring the PCMCIA Controller While PCMCIA devices are autoconfigured, it may be necessary to perform some configuration for the PCMCIA controller itself. The pcmcia nexus driver must know which resources are already allocated in order to assign IRQs and ports to PCMCIA devices. During the installation process, a script attempts to automatically determine which resources are already allocated on the system. Some systems may require that resource allocation information be provided manually. See "PCMCIA Controllers" in Appendix A. Hot-Plugging PCMCIA Cards Hot-plugging a PCMCIA card means that a PC card can be inserted or removed at any time, even while the machine is powered on and the Solaris software is running. Since this isn't the usual procedure for adding and removing devices, the following sections explain hot-plugging procedures. Inserting Cards PCMCIA cards can be inserted at any time into any empty PCMCIA socket. If there is driver support for the card, the card is recognized and a device node is created. When the /usr/lib/pcmciad daemon is running (which is by default), the driver is also loaded and the /dev entries for the device are created as appropriate. The name of the /dev entry is often based upon the name of the device driver and usually encodes the socket number where the card was inserted. For example, the entry for the 3Com 3C589 inserted in socket 0 will be /dev/pcelx0. The Device Reference Pages in Appendix A and the PCMCIA driver manual pages describe the /dev entries for each device driver. Recognizing Cards PCMCIA cards are "recognized" when they are inserted and the appropriate devices and /dev entries are created. If you are not sure if your card has been recognized, perform the following checks: o Use the prtconf command to see that the pcmcia, pcic, and the name of the driver that supports the card you inserted appear in the output. o Check to see that the/devices/pcmcia directory includes devices in one of these forms: driver@socket or driver@socket:driver. Since these are specific to each device driver, consult the Device Reference Pages in Appendix A. o Check that the /dev directory includes the pcmcia device entry. Entries for the network device are also under /dev. Other entries appear in subdirectories of /dev; see the Device Reference Pages in Appendix A for each driver. Identifying Unrecognized Cards PCMCIA cards are "unrecognized" if the prtconf command doesn't show a correct entry for the device and if /devices and /dev entries don't exist. Two symptoms you might see for an unrecognized card are: o An entry is listed under pcmcia in the prtconf output that is not a device driver name and says "(driver not attached)." o An erroneous pcmem device is detected when the card inserted is a non-memory card. Cards are not recognized because they don't implement the full Card Information Structure (CIS) or there is a memory conflict. o If you see "(driver not attached)", you can add a new alias to /etc/driver_aliases by following the instructions in "PCMCIA Modem and Serial Cards" in Appendix A, only if the "model" property is also defined. o If you see an erroneous pcmem entry appear, follow the instructions under "Correcting Possible Conflicts" in the "PCMCIA Controllers" Device Reference Page in Appendix A, or see "Troubleshooting PCMCIA Device Configuration" later in this chapter. Removing Cards PCMCIA cards can be removed at any time. The framework notifies the PCMCIA device driver that the card has been removed. Each driver will then deal with the unplugged card in its own way. See "PCMCIA 3Com EtherLink III (3C589) Card," "PCMCIA Modem and Serial Cards," and "PCMCIA SRAM and DRAM Devices" in Appendix A, "Device Reference Pages." Installing the PCMCIA Driver Update Note - Before installing this PCMCIA Driver Update, read the information in the PCMCIA Device Reference Pages in Appendix A. Also be sure that you have filled out the Device Configuration Worksheet and check that all hardware resources for your system are accounted for. Then if you have trouble with identifying PCMCIA devices, you can consult the worksheet to see what possible device conflicts exist. The contents of the "Solaris 2.4 x86 Driver Update 8 Distribution (PCMCIA)" diskette is installed as a combination of patches and packages on your Solaris 2.4 x86 system. To install the PCMCIA Driver Update, you must already have Solaris 2.4 and Solaris 2.4 x86 Driver Update 8 installed and running on your x86 system. Note - If you have an add-on PCMCIA controller, be sure to install it before installing the PCMCIA Driver Update. Note - If you are using a notebook computer with a docking bay, be sure the notebook is in the docking bay before you install the PCMCIA Driver Update. This is necessary so that the system can identify the resources used by cards in the docking bay. ----------------------------------- To see if Volume Management software is running, type: ps -e | fgrep vold. For more information about managing diskettes and drives, see Solaris 2.4 Open Issues and Late-Breaking News. ----------------------------------- 1. Insert the "Solaris 2.4 x86 Driver Update 8 Distribution (PCMCIA)" diskette into drive 0. 2. Become root. 3. Use cpio to copy files off the diskette, and run the installation script. The following commands assume the Solaris Volume Management software is running on your system. If it isn't, volcheck should not be run, and the device name of the diskette drive must be replaced with /dev/diskette0. # mkdir /tmp/Drivers # cd /tmp/Drivers # volcheck & # cpio -iduBI /vol/dev/aliases/floppy0 # ./installdu.sh 4. Remove the diskette from drive 0. 5. Clean up the temporary workspace. # cd / # rm -fr /tmp/Drivers 6. Perform a reconfiguration boot to enable the new PCMCIA support. # touch /reconfigure # reboot I/O ports, IRQs, and memory addresses available for use by PCMCIA devices should be configured automatically. For information about manual configuration of PCMCIA devices, see "PCMCIA Controllers" in Appendix A, "Device Reference Pages." If you insert a PCMCIA device into your system, it should be automatically recognized and configured. For more information, see the "Hot-Plugging" sections on the individual PCMCIA Device Reference Pages in Appendix A. If you have a 3Com PCMCIA Ethernet card, follow the additional installation instructions in the next section to enable the new network interface. Note - Reconfigure boots or use of the drvconfig command should not be necessary with PCMCIA devices. Any use of these features will cause the /kernel/drv/pcic.conf file to be overwritten, so changes to the smi property will be lost (#exclude: lines will remain intact). These features should only be used when non-PCMCIA devices are added or removed. PCMCIA Release Notes Adding a PCMCIA Network Card Typically, a network interface is configured when Solaris is first installed on the system. However, because the pcmem PCMCIA Ethernet device driver does not support network booting and installation, you must update several network configuration files and enable the network interface before the card can be used. To use a 3Com 3C589 PCMCIA card, you must update several network configuration files: 1. Create a /etc/hostname.pcelx# file (where # is a socket number) to specify the host name associated with this interface. 2. Add an IP address for the new host name to the file /etc/inet/hosts. 3. Ensure that the associated network is listed in /etc/inet/netmasks. 4. Ensure that the Name Service Switch /etc/nsswitch.conf configuration file includes the network and local services you need. 5. Reboot the system. Note - This process is described in TCP/IP Network Administration Guide. Using PCMCIA Memory Cards PCMCIA memory cards can be used like diskettes. They can be used to store data, or they can have file systems containing files and directories. PCMCIA memory devices don't need to have file systems on them, though typically, before using a new PCMCIA memory card, you will want to create a file system on it. DOS pcfs is a good format to use. Although you can use virtually any file system format on a PCMCIA memory card, most other file system formats are platform-dependent, making them unsuitable for moving data between different types of machines. Note - If you want to redirect the output of a tar command (or dd or cpio) to a PCMCIA memory device, you must first create a file system on the card, using the fdformat command without arguments. The card will need to be reformatted before it can be written on again. The method for creating a file system is different depending on whether or not the Solaris Volume Management software is used. Both methods are described below. Using PCMCIA Cards Without Volume Manager ----------------------------------- Device naming for PCMCIA memory cards is discussed in pcram(7), fdformat(1), and "PCMCIA SRAM and DRAM Devices" in Appendix A, "Device Reference Pages." ----------------------------------- 1. Become root. 2. If you do not want to use vold to manage your PCMCIA memory cards, comment out the use pcmem line in the /etc/vold.conf file. To comment out a line in /etc/vold.conf, add a # character to the beginning of the line using a text editor. The line would then look similar to the following: # use pcmem drive /dev/rdsk/c*s2 dev_pcmem.so pcmem%d forceload=true 3. Stop and restart Volume Manager so the change will take effect. # /etc/init.d/volmgt stop # /etc/init.d/volmgt start 4. Use the fdformat command to create a pcfs file system on the PCMCIA memory card. Note - fdformat will destroy all existing data on the memory card. For example, a DOS pcfs file system can be created on a PCMCIA memory card in socket 0 by typing: # fdformat -t dos /dev/dsk/c1t6d0s2 5. Use the mount command to mount the device. For example, to mount the pcfs file system created in the previous step, on to the mount point /mnt, type: # /etc/mount -F pcfs /dev/dsk/c1t6d0s2 /mnt Using the Volume Management Software to Manage PCMCIA Memory Cards Since the Solaris Volume Management software recognizes PCMCIA memory cards, no special vold configuration is required. 1. Become root. 2. Use the fdformat command to create a pcfs file system on the PCMCIA memory card. See fdformat(1M). For example, a DOS pcfs file system can be created on a PCMCIA memory card in socket 0 by typing: # fdformat -t dos /vol/dev/aliases/pcmem0 3. After formatting is complete, Volume Manager will automatically mount the device only after the card is physically removed and reinserted. To check this, run the mount command after reinserting the card. Known Problems o (1188733) On some systems, a 3Com EtherLink III PCMCIA Ethernet card can only be used in one socket and will not work if removed and plugged into another socket. This problem can be avoided by always plugging in your PCMCIA Ethernet card into socket 0. If you want to reinsert the card, insert it into the same socket you used before; that is, socket 0. Warning - The following problem has occurred on PCMCIA machines using the Vadem VG469 PCMCIA controller chip. To avoid this problem, ground yourself by touching some metal on the computer case while inserting and removing the PCMCIA cards. o Sometimes the PCMCIA controller will cause the machine to lock up. The prtconf command output may indicate that the device is in two sockets after a card is inserted in one socket. Subsequent card insertions and removals may not be detected, and the machine locks up. The machine must then be reset or powercycled. Troubleshooting PCMCIA Device Configuration When a PCMCIA device doesn't work, you must isolate the problem. First, determine that the nexus and adapter drivers have loaded successfully: o Use the prtconf command to see if the device nodes for both pcic and pcmcia exist. o If they do, the software has loaded and successfully identified a PCMCIA controller. Any card that is inserted should be identified as an entry under the pcmcia node. If it is a supported card, then it should be usable when inserted and the prtconf output identifies the card. It should not say "(driver not attached)" or be falsely identified as a pcmem card. See "Identifying Unrecognized Cards" earlier in this chapter. o If neither device driver is recognized, your system does not have a supported PCMCIA controller. If a PCMCIA card is recognized as present when the card is in the socket before the system is booted, but is not recognized as present when the card is hot-plugged, do the following: o If you have an AST PowerExec notebook computer: o Remove IRQ 15 from the list of usable interrupts. o Define the smi property to be 9. See "PCMCIA Resource Configuration Information" in the Device Reference Page for "PCMCIA Controllers" in Appendix A for instructions. o If your notebook computer is not an AST PowerExec, try overriding the default interrupt by using the smi property as described in "PCMCIA Controllers" in Appendix A. If that does not work, try several different IRQ levels. If a PCMCIA card is not identified when inserted prior to booting the system, do the following: o Make sure that the I/O, memory, and interrupt resources listed in the /kernel/drv/pcic.conf file are correct.These properties are described in the "PCMCIA Controllers" Device Reference Page under "PCMCIA Resource Configuration Information." If the information there is accurate, contact SunSoft Customer Support at 1-800-SUNSOFT. The Intergraph TD-30 and TD-40 machines exhibit PCMCIA memory conflicts which can be corrected by adding one set of the following two lines to the /kernel/drv/picic.conf file and then rebooting the system. #exclude:td30 res-memory c0000 10000 #exclude:td30 res-memory d0000 40000 or #exclude:td40 res-memory c0000 10000 #exclude:td40 res-memory d0000 40000 A. Device Reference Pages This appendix supplements Appendix B, "Device Reference Pages," in the x86 Device Configuration Guide. It includes necessary device configuration information for hardware supported by the new or updated drivers. PCMCIA Controllers Description The Solaris pcic driver supports PCMCIA controllers based on the Intel(R) 82365SL and the Cirrus Logic PD6710/PD6720 chips. There is support for up to eight sockets (Type I, II, or III). Other controllers that use chips based on the Intel 82365SL design may also be supported. At the time of this Driver Update, controllers based on the following chips have also been tested: Vadem VG365/VG465/VG468/VG469, Ricoh RF5C366, and Toshiba. Most systems using one of these chips should work. The latest version of Solaris 2.4 x86 Hardware Compatibility List includes a list of systems that have been tested. (See "How to Obtain the Solaris 2.4 x86 Hardware Compatibility List" in the front of this document.) Device Configuration Preparing for Configuration Resource requirements for a system depend on the combination of devices to be used. A typical two-socket notebook computer needs at least 8 Kbytes of address space, 16 bytes of I/O space, and three free IRQs. The following are general guidelines: Address space At least 8 Kbytes are required with 4 Kbytes per socket in the 640K-1Mb range (not necessarily contiguous); if you have three sockets, at least 12 Kbytes are needed. I/O space At least 8 and preferably 16 bytes per socket. IRQs At least one per socket, plus an additional IRQ for the pcic device driver, itself. Controller Configuration o If you have an add-on PCMCIA controller, install it on your system prior to installing the PCMCIA Driver Update software. o Some notebook computers have their built-in PCMCIA controller disabled by default. Enable it prior to installing the Solaris PCMCIA Driver Update. o If your system has a supported PCMCIA controller configured at a known address, it should be recognized automatically. No manual configuration should be necessary. Configuration of PCMCIA Cards The Solaris PCMCIA nexus driver automatically allocates address space, I/O ports, and IRQs to new cards when they are inserted. To do this, the nexus driver must have sufficient free resources and recognize what resources are already used by other drivers. o During installation of the PCMCIA Driver Update software, a system initialization script maps out the resources used by all the other devices in the system. Resources not known to be used by another driver are assumed free for use by PCMCIA drivers. Note - If you are using a notebook with a docking bay, keep the notebook in the docking bay during the installation of the PCMCIA Driver Update software. This ensures that the system can identify the resources used by cards in the docking bay. o Reconfiguration usually works automatically, but some machines may require that you provide information about resources already allocated. Three cases have been encountered: o Case 1: Some device drivers do not export properties describing the resources they use, so an automatic scan cannot determine what resources are allocated to those drivers. This situation is detected automatically by the scan, and the script prints out a warning message and request for manual assistance. See "Correcting Possible Conflicts" later in this Device Reference Page. o Case 2: Some machines may have devices for which no Solaris driver exists, and this can't be detected automatically. You will have to enter the descriptions of their resource requirements manually. o Case 3: Some machines may have reserved additional ports, memory, or IRQs that are not detected by the automatic scan. In cases like these, the PCMCIA software may appear to configure properly, but some PCMCIA devices may simply not work (because they are sharing resources with other hardware). For example, some notebooks reserve an IRQ for power management use. In cases such as this, read through the hardware documentation that accompanies the machine. PCMCIA Resource Configuration Information In most cases, the available resources will be determined automatically and recorded in the file /kernel/drv/pcic.conf. For proper operation, this information must be accurate. If not, ports, memory addresses, or IRQs that are in use by other devices will be allocated to PCMCIA devices. This can cause unpredictable and serious consequences. The resources available for PCMCIA devices are defined by three properties in the pcic.conf file: res-irq This property is a complete list of the IRQ levels available for use by the pcic driver. For example, if IRQ levels 3, 9, and 15 are available, they are listed as: res-irq=3,9,15 Each PCMCIA I/O card that needs an interrupt is assigned a different IRQ level. In addition, the PCMCIA controller itself uses one IRQ level. In this example, only two PCMCIA I/O cards can be used simultaneously. res-memory This property is a list of memory base and length pairs. The length is in number of 4-Kbyte pages available. For example, if there are two blocks of memory available, one starting at 0xcc000 with 8 pages available, and another at 0xd0000 with 4 pages available, the property is set up as: res-memory=0xcc000,0x8,0xd0000,0x4 Many notebook computers have all the memory between 0xcc000 and 0xeffff available. This would be listed as: res-memory=0xcc000,0x14 If the notebook computer is to be used in a docking bay, be sure that the configuration also accounts for any devices installed in it. res-ioaddr This property, like the res-memory property, is a list of base address and length pairs. The length is in bytes, and the base address refers to I/O space. For example, if 32 bytes of I/O space are available at 0x200, and 16 bytes are available at 0x300, the property is listed as: res-ioaddr=0x200,0x32,0x300,0x16 If the available resources recorded by the PCMCIA software in the /kernel/drv/pcic.conf file includes resources that are actually in use by other devices in the system, you must manually edit the file to remove them. See "Correcting Possible Conflicts" below. Note - Anytime you modify the pcic.conf file, you must reboot the system for the changes to take effect. Correcting Possible Conflicts When the PCMCIA software cannot automatically determine which resources are available, information must be added manually to the /kernel/drv/pcic.conf file to identify the unavailable resources. The resources available for PCMCIA devices are defined by three properties, which are described above. 1. To include information about unavailable resources, edit the /kernel/drv/pcic.conf file and add #exclude: lines. a. Each line that describes a set of reserved resources must begin with #exclude: . b. Non-blank characters after the colon are treated as a comment and ignored. For example, the string "pm" in the example below shows that you are disabling IRQ 15 because of a conflict with the Power Management resource. c. The next field should specify the res-irq, res-memory, or res-ioaddr property. See pcic(7). d. For res-irq lines, the following field should be a decimal IRQ number. Example: If a notebook computer uses IRQ 15 for Power Management, you can exclude IRQ 15 by adding the following line: #exclude:pm res-irq 15 The PCMCIA software would then know that IRQ 15 is not available for use by PCMCIA devices. e. For res-memory and res-ioaddr lines, the next two fields should be a hexadecimal base and byte count. The leading 0x should not be included. For example, if the Solaris smc Ethernet device driver does not identify allocated resources automatically, add the following lines to the pcic.conf file: #exclude:smc res-irq 3 #exclude:smc res-ioaddr 280 10 #exclude:smc res-memory dc000 2000 The #exclude: lines identify IRQ 3, ports Ox280-28F, and addresses 0xDC000-0xDDFFF as unavailable for PCMCIA device use. 2. Reboot the system. # reboot Changing the Default IRQ There is one optional property that may be defined in the /kernel/drv/pcic.conf file. If specified, the smi property overrides the default IRQ level used by the pcic driver itself. By default, the second to the last IRQ in the res-irq list is used. If that value is unusable, or if you prefer another value, specify the IRQ level using the smi property. 1. To override the default IRQ level for the pcic driver, edit the /kernel/drv/pcic.conf file and add a line that contains `smi='. (Be sure to add this line before the ; character in the file.) Example: To change to IRQ 9, add the following line to pcic.conf: smi=9 2. Reboot the system. # reboot Note - In the "Changing the Default IRQ" example, a resource is being made available to the PCMCIA devices. In the "Correcting Possible Conflicts" examples, the #exclude: lines identify resources that are unavailable to PCMCIA devices. PCMCIA 3Com EtherLink III (3C589) Card Description The 3Com 3C589 EtherLink III adapter is a Type-II (5 mm) PCMCIA Ethernet card. Device Configuration Preparing for Configuration At this time, it is not possible to boot or install the Solaris system using a PCMCIA 3Com EtherLink III card. Configuring the Device If the 3Com PCMCIA card is recognized, the pcelx driver will be automatically loaded, ports and IRQs will be automatically allocated, and the special files will be automatically created (if they don't already exist). No manual configuration is necessary or possible. If you have inserted a 3Com PCMCIA card and it has not been recognized (no special files created), you can use the prtconf command to help identify the problem. Identifying an Unrecognized Card 1. Run the prtconf command to see if your 3Com 3C589 card is recognized: # prtconf If the device is recognized, lines similar to the following will be included in the prtconf output: pcmcia, instance #0 pcelx, instance #0 2. If pcelx does not appear in the prtconf output, there is a problem with the PCMCIA controller configuration or with the hardware. Check to see whether the problem is with the card or the controller by trying to use the card on another machine and by seeing if it works on the same machine using DOS. Special Files Device naming in /dev follows standard LAN device naming except that the PPA unit number is the socket where the card resides, not the instance. That is, for the pcelx driver, /dev/pcelx0 (or PPA 0 of /dev/pcelx) is the card in socket 0, while a card in socket 1 is /dev/pcelx1 (or PPA 1 of /dev/pcelx). See pcelx(7). Additional Software Configuration Because the PCMCIA Ethernet card is not yet supported during the installation of the Solaris operating system, a number of network configuration files must be updated before it can be used as a network interface. See "Adding a PCMCIA Network Card" in Chapter 1 for instructions. Hot-Plugging If you remove the card, any information you send is discarded, but no error messages are issued. The 3Com EtherLink III PCMCIA Ethernet card can only be used in one socket and will not work if removed and plugged into another socket. This problem can be avoided by always plugging in your PCMCIA Ethernet card into socket 0. If you want to reinsert the card, insert it into the same socket you used before; that is, socket 0. This is documented as bug 1188733. PCMCIA Modem and Serial Cards Description The pcser driver supports a wide range of PCMCIA modem and serial cards (based on the 8250, 16550, or compatible UART) at speeds up to 115 Kbps. Device Configuration Configuring the Device If a PCMCIA modem or serial card is recognized, the pcser device driver is automatically loaded, ports and IRQs are automatically allocated, and the special files are automatically created (if they do not already exist). No manual device configuration is necessary or possible. If you have inserted a PCMCIA modem or serial card and it has not been recognized (no special files created), use the prtconf command to help identify the problem. Identifying an Unrecognized Card 1. Run the prtconf command to see if your modem or serial card is recognized: # prtconf o If the device is recognized, the prtconf output will include lines similar to the following: pcmcia, instance #0 pcser, instance #0 o If the device is not recognized, the prtconf output may include lines such as: pcmcia, instance #0 PC,111.222/Data Masher (driver not attached) or pcmcia, instance #0 pcmem, instance #0 pcram, instance #0 2. If your device is not recognized as "(driver not attached)", use the add_drv command to add the name of your device as another known alias for pcser devices. Use the identification string listed in the output from prtconf. Typically, the part of the identification string following the slash can be treated as a comment, so use the entire string in the add_drv command. For example: # add_drv -i '"PC,111.222"' pcser or # add_drv -i '"PC,111.222/Data Masher"' pcser Note - Be sure to include the double quotes in single quotes to keep the shell from stripping out the double quotes. See add_drv(1M). 3. If your device is erroneously recognized as a memory card, determine why this is happening and manually update the pcic.conf file. Special Files PCMCIA serial devices are named based on socket number and located in /dev/term and /dev/cua. A card inserted in socket 0 is pc0 and socket 1 is pc1. See pcser(7). Additional Software Configuration When adding a new serial port or modem to the system, you often need to edit configuration files so that applications can use the new communications port. For example, the /etc/uucp/Devices file needs to be updated in order to use UUCP and PPP. See "UUCP Databases and Programs" in TCP/IP Network Administration Guide. Hot-Plugging If a PCMCIA modem or serial card is unplugged while it's in use, the device driver will return errors until the modem or serial card has been replaced in the socket. The device needs to be closed and re-opened with the card reinserted in order to get it working again. How this happens depends on the application. For example, a tip session automatically exits when a card in use is unplugged. To start using the system again, you must restart the tip session. Warnings Because manufacturers interpret the PCMCIA specifications in different ways, some devices do not work, or work poorly. Consult the latest Solaris 2.4 x86 Hardware Compatibility List for a list of modems that have been tested. See "How to Obtain the Solaris 2.4 x86 Hardware Compatibility List" in the front of this document. PCMCIA SRAM and DRAM Devices Description The pcram driver supports a wide range of PCMCIA SRAM (Static RAM) and DRAM (Dynamic RAM) cards. It does not yet support Flash RAM cards. Device Configuration Configuring the Device If a PCMCIA memory card is recognized, the pcram device driver is automatically loaded, the physical address is allocated, and the special files are created (if they do not already exist). No manual configuration is necessary or possible. If you have inserted a memory card and it has not been recognized (no special files created), use the prtconf command to help identify the problem. Identifying an Unrecognized Card 1. Run the prtconf command to see if your memory card is recognized: # prtconf If the device is recognized, lines similar to the following will be included in the prtconf output: pcmcia, instance #0 pcmem, instance #0 pcram, instance #0 2. If your memory card does not appear in the prtconf output, it is not supported and cannot be used with the pcram device driver. Special Files The special files created for PCMCIA memory cards act like disks and have names in the form of /dev/dsk/c#t#d#p# or /dev/dsk/c#t#d#s# (see pcram(7)). These are described below: c# controller # t# card technology type #, defined as follows: 0 Null - no device 1 ROM 2 OTPROM (One Time PROM) 3 UV EPROM 4 EEPROM 5 Flash EPROM 6 SRAM 7 DRAM d# device region of type #, usually zero p# fdisk partition # s# Solaris slice # Note - A device name can be specified either by a partition name (p#) or a slice name (s#), but not both. Using PCMCIA Memory Cards Since the Solaris Volume Management software recognizes PCMCIA memory cards, no special vold configuration is required. o If you do not want to use vold to manage your PCMCIA memory cards, comment out the "use pcmem" line in the /etc/vold.conf file. To comment out a line in /etc/vold.conf, add a # character to the beginning of the line. PCMCIA memory devices don't need to have file systems on them, though typically, before using a new PCMCIA memory card, you will want to create a file system on it. DOS pcfs is the best format to use. Although you can use virtually any file system format on a PCMCIA memory card, most other file system formats are platform-dependent, making them unsuitable for moving data between different types of machines. See "Using PCMCIA Memory Cards" in Chapter 1 for an example of how to create a pcfs file system on a PCMCIA memory card. Note - If you want to redirect the output of a tar command (or dd or cpio) to a PCMCIA memory device, you must first create a file system on the card, using the fdformat command without arguments. The card will need to be reformatted before it can be written on again. Hot-Plugging If a memory card is removed while it's in use, the device driver returns errors until a memory card is inserted into the appropriate socket. The device needs to be closed and then re-opened with the card reinserted in order to get it working again. If you removed the card while it was in use as a file system, unmount the file system with the umount command. Then reinsert the card and remount the file system with the mount command. Similarly, if you interrupt a tar or cpio process by removing the card, you must stop the process, reinsert the card in the socket, and then restart the process. Copyright 1995 Sun Microsystems, Inc. Tous droits réservés. 2550 Garcia Avenue, Mountain View, Californie 94043-1100 USA. Copyright 1993-1995 X Inside Incorporated. Tous droits réservés. Ce produit ou document est protégé par un copyright et distribué avec des licences qui en restreignent l'utilisation, la copie, et la décompliation. Aucune partie de ce produit ou de sa documentation associée ne peuvent être reproduits sous aucune forme, par quelque moyen que ce soit sans l'autorisation préalable et écrite de Sun et de ses bailleurs de licence, s'il en a. Des parties de ce produit pourront être derivées du système UNIX(R), licencié par UNIX Systems Laboratories Inc., filiale entierement detenue par Novell, Inc. ainsi que par le système 4.3. de Berkeley, licencié par l'Université de Californie. Le logiciel détenu par des tiers, et qui comprend la technologie relative aux polices de caractères, est protégé par un copyright et licencié par des fourmisseurs de Sun. LEGENDE RELATIVE AUX DROITS RESTREINTS : l'utilisation, la duplication ou la divulgation par l'administation americaine sont soumises aux restrictions visées a l'alinéa (c)(1)(ii) de la clause relative aux droits des données techniques et aux logiciels informatiques du DFAR 252.227- 7013 et FAR 52.227-19. Le produit décrit dans ce manuel peut être protégé par un ou plusieurs brevet(s) americain(s), etranger(s) ou par des demandes en cours d'enregistrement. MARQUES Sun, Sun Microsystems, le logo Sun, SunSoft, le logo SunSoft, Solaris OpenWindows, DeskSet, ONC, ONC+ et NFS sont des marques deposées ou enregistrées par Sun Microsystems, Inc. aux Etats-Unis et dans certains autres pays. UNIX est une marque enregistrée aux Etats-Unis et dans d'autres pays, et exclusivement licenciée par X/Open Company Ltd. OPEN LOOK est une marque enregistrée de Novell, Inc., PostScript et Display PostScript sont des marques d'Adobe Systems, Inc. Toutes les marques SPARC sont des marques deposées ou enregitrées de SPARC International, Inc. aux Etats-Unis et dans d'autres pays. Les produits portant les marques sont basés sur une architecture développée par Sun Microsytems, Inc. Les utilisateurs d'interfaces graphiques OPEN LOOK(R) et Sun(TM) ont été développés par Sun Microsystems, Inc. pour ses utilisateurs et licenciés. Sun reconnait les efforts de pionniers de Xerox pour la recherche et le développement du concept des interfaces d'utilisation visuelle ou graphique pour l'industrie de l'informatique. Sun détient une licence non exclusive de Xerox sur l'interface d'utilisation graphique, cette licence couvrant aussi les licencies de Sun qui mettent en place OPEN LOOK GUIs et qui en outre se conforment aux licences écrites de Sun. Le système X Window est un produit du X Consortium, Inc. CETTE PUBLICATION EST FOURNIE "EN L'ETAT" SANS GARANTIE D'AUCUNE SORTE, NI EXPRESSE NI IMPLICITE, Y COMPRIS, ET SANS QUE CETTE LISTE NE SOIT LIMITATIVE, DES GARANTIES CONCERNANT LA VALEUR MARCHANDE, L'APTITUDE DES PRODUITS A REPONDRE A UNE UTILISATION PARTICULIERE OU LE FAIT QU'ILS NE SOIENT PAS CONTREFAISANTS DE PRODUITS DE TIERS. CETTE PUBLICATION PEUT CONTENIR DES MENTIONS TECHNIQUES ERRONEES OU DES ERREURS TYPOGRAPHIQUES. DES CHANGEMENTS SONT PERIODIQUEMENT APPORTES AUX INFORMATIONS CONTENUES AUX PRESENTES, CES CHANGEMENTS SERONT INCORPORES AUX NOUVELLES EDITIONS DE LA PUBLICATION. SUN MICROSYSTEMS INC. PEUT REALISER DES AMELIORATIONS ET/OU DES CHANGEMENTS DANS LE(S) PRODUIT(S) ET/OU LE(S) PROGRAMME(S) DECRITS DANS DETTE PUBLICATION A TOUS MOMENTS.