* * COMPONENT_NAME: ARTIC960 (tm) Support for AIX * * FUNCTIONS: help.readme * The information contained in this file consists of hints for using the product, help with functions that may not be apparent, and last minute updates to the existing documentation. Review this file whenever the product updates are applied. ======================================================================== CONTENTS To go directly to an item, search for the item number and the first word. (Example: 2.Adapter Exception) 1.Driver Configuration 2.Adapter Exception 3.Dynamic Unloading Device Driver ======================================================================== 1.Driver Configuration If one of the following messages is displayed while trying to dynamically install the ARTIC960 device driver, follow the corrective action procedure. Error Message: For an ARTIC960 Micro Channel Adapter: Method error (/etc/methods/cfgddricio): 0514-038 Error loading kernel extension. For an ARTIC960 PCI Adapter: Method error (/etc/methods/cfgddriciop): 0514-038 Error loading kernel extension. Corrective Action Procedure: 1) Start tracing the adapter by entering the following at the command line: trace -j 29f -a 2) Dynamically install the device driver by entering: "mkdev -l ddricioX" for an ARTIC960 Micro Channel Adapter where X is the failing card number "mkdev -l ddriciopX" for an ARTIC960 PCI Adapter where X is the failing card number 3) Stop tracing the adapter by entering the following at the command line: trcstop 4) Create a trace report by entering the following at the command line: trcrpt -O'exec=y' -O'pid=n' -O'svc=y' -O'timestamp=1' 5) Determine what error code was logged. Look for the errno field on ddricio exit_config. If the number is 0x70 or higher it is an internal error code listed below. Internal Installation Error Codes --------------------------------- 0x70 Invalid System Base IO address. 0x71 Invalid interrupt level. On Micro Channel the only valid interrupt levels are 7, 9, 10, 14. 0x72 Invalid card number, only 0 - 7 supported. Issue rmdev -l ddricioX -d for an ARTIC960 Micro Channel or rmdev -l ddriciopX for an ARTIC960 PCI where X is the invalid card number and redefine a valid card number. 0x73 Invalid read/write to adapter. Examine system error log to get more information on the error. Look for the message, "IBM ARTIC960: I/O ERROR". 0x74 Resource currently busy. Try to reconfigure the device driver again. 0x76 Interrupt level conflict. The ARTIC960 Micro Channel adapter only supports four interrupt levels. The adapter should be moved to the lowest possible slot number. Prior to shutting down the system to move the adapter, execute the following command to see which device conflicts with the failing ARTIC960 adapter: "/etc/methods/cfgbus -l bus0 -d" for an ARTIC960 Micro Channel or "/etc/methods/cfgbus_pci -l bus0 -d" for an ARTIC960 PCI This command creates the file BUS.out. Page down to the bottom of the file. Under the "Summary of bus resource assignments" table, find the "I"s in the far left column. Find the device or devices which share the interrupt level with the ARTIC960. Determine which conflicting adapters need to be moved to get the ARTIC960 adapter in a lower slot number. For each adapter that needs to be moved, issue the following command: rmdev -l -d Shutdown and move the adapters appropriately. 0x79 Not enough memory to pin the device driver. Need more system memory. 0x7A uiomove kernel service failure. This is returned when there is a filesystem error or no more memory. 0x7B Invalid card number. See 0x72. 0x7C devswadd kernel service failure. No more memory. 0x7E devswdel kernel service failure. Call support. Common errno codes ------------------ EIO Could be returned for an ARTIC960 Micro Channel adapter, if one of the following conditions exist: 1) If Secondary Arbitration level is enabled, the same arbitration levels numbers could have been assigned to both the first arbitration level and the second arbitration level. To determine if this is the condition, execute the following: lsattr -E -l ricioX where X is minor number of the parent device of the failing logical card number. If dma_lvl is assigned the same number as dma_lvl2, this is an error condition. To get a new arbitration level assigned to dma_lvl2 enter the following: [/] rmdev -l ddricioX -d where X is the number of the failing logical card number. [/] rmdev -l ricioX -d where X is the parent of the failing logical card number. [/] /etc/methods/cfgbus -l bus0 -d [/] mkdev -l ricioX [/] mkdev -l ddricioX 2) Ran out of Micro Channel arbitration levels. To determine this, execute the following command: /etc/methods/cfgbus -l bus0 -d This command creates the file BUS.out. Browse this file and page down to the bottom of the file and look for the section marked "Summary of bus resource assignments :" On the far left column, look for the RESRC type of A, arbitration level, and look to the far right for the current arbitration level assigned. See if any of the devices are trying to share the same arbitration level or an error message indicating a conflict on the bus exists. If so, this confirms running out of arbitration levels is the problem. Below is a possible corrective action: Corrective Action ----------------- If peer to peer dma is not needed for any of the installed ARTIC960 adapters, set the ODM attribute DMA2Enable to no. Execute the following command to accomplish this: a) make sure the DMA2Enable is set to no (Secondary Arbitration Level=disable). Enter the following command for each logical adapter not needing peer to peer dma: [/] chdev -l ricioX -a DMA2Enable=no where X is the logical adapter number ------------------------------------------------------------------------------ 2.Adapter Exception An Adapter Exception (Exception Code 0x21, SCB Subsystem Failure, reported by ricstat) in a Micro Channel RISC System/6000 could be caused by not having the Secondary Arbitration Level enabled and a card attempts to issue a peer to peer dma operation. Corrective Action ----------------- Set Secondary Arbitration Level to enable by issuing the following command for each card that requires a peer to peer connection: [/] chdev -l ricioX -a DMA2Enable=yes where X is the logical adapter number ------------------------------------------------------------------------------ 3.Dynamic Unloading of Device Driver The device driver can not be unloaded or have a driver attribute changed when an application has the device driver "opened" for use. Example, ricmbx opens the ARTIC960 Device Driver when installed. Corrective Action ----------------- Stop the application processes that have the ARTIC960 device driver opened.