BRIEF GUIDE FOR INSTALLING IKON HARDCOPY BOARD AND DRIVER IN HP-UX VERSION 10.X EISA MACHINES File Name = INSTALL_GUIDE.10 IKON Corporation 2617 Western Avenue Seattle, Washington 98121 phone: (206) 728-6465 fax (206) 728-1633 17 May, 1996 INSTALL NOTES & DRIVER FOR HP-UX 10.X VERSIONS This guide includes instructions for installing an IKON Model 10092, 10097, or 10111 ISA/EISA hardcopy board and driver on an HP 700 series machine. Please note that only the 10111 is "officially" supported by this driver. 1) Configure and install the board in the appropriate EISA slot. All board configuration is done via switches. See the appropriate board manual. *A* Select a board address suitable for your configuration. If there are no conflicts with other vendor's board addresses, 0x310 (slot 1) is recommended. It will be used in the following as an example. Refer to the individual board manual for switch configuration information. The driver is currently available in three versions - ik310, ik320, and ik330, each of which each supports a different board address and a different slot. The addresses and slots are 0x310 & slot 1, 0x320 & slot 2, and 0x330 & slot 3, respectively. This allows up to three IKON boards to be installed in a system. It also allows selecting a particular address and driver combination to avoid another vendor's fixed board address. The assignment of a specific slot to an address and driver is done to avoid problems when multiple ISA cards (10111s or other ISA boards) are installed in the same machine. HP-UX calls each ISA board's driver for each board installed. If there are three ISA boards installed, each attach will be called three times. Since each driver probes all slots with a ISA read to determine if a board is installed, each driver will try to attach its board every time it is called. To avoid this problem, each 10111 driver will only respond to an attach call if it is called for the slot in which it expects the board to be installed. This is a terribly crude approach, but does avoid the problem. It requires that that each board address, driver, and slot be used as a set. *B* Select a suitable DMA channel and interrupt level, and - in the case of a 10111 - decide whether the DMA channel will be used in byte or word mode. Since the 10111 can handle odd byte counts when used with a 16 bit channel, selecting 16 bit operation will give maximum efficiency. The 10092, and 10097 will select byte or word operation depending on the DMA channel chosen. Channels 0, 1, 2, and 3 are byte channels, 5, 6, and 7 are word channels. The board(s) and driver(s) will support any DMA channel and interrupt level available on the bus. Make sure that the channel and level selected do not conflict with other devices on the EISA bus. *C* Configure the other options on the board appropriately for your device and application. EG: Below is a sample switch set-up for a 10111 board. It is configured for DMA channel 7 in 16 bit mode with no byte swapping, an interrupt level 9, and an address of 0x310. Tri-state DMA and interrupt control is disabled. The device-related portion of the switch set-up is: Special handshake off, BUSY used in handshake, 8 bit data streaming (although data streaming probably won't be enabled by the driver), and the second-fastest device handshake timing. The above device-related portion of the setup presumes that the board's interface select jumper cable is connected to the internal CENTRONICS connector. This set-up can also be used in a Versatec configuration, but the handshake mode switches would have no effect on the operation of the board. Note that the address select switch bits at U5 are complemented; OFF or OPEN decodes a 1 in that address bit position. W S S B D T T I I I I D D D Z S S S S S S S R W P S S S S S S S S S S S E A A A A A A A D P C Y T 0 1 0 1 2 3 0 1 2 N 3 4 5 6 7 8 9 ----------------- ----------------- ----------------- ON |*| | | |*| | |*| |*| | |*|*|*|*| | | |*| |*|*|*| | | CLOSED ----------------- ----------------- ----------------- OFF | |*|x|*| |*|*| | | |*|*| | | | |*| |x| |*| | | |*|*| OPEN ----------------- ----------------- ----------------- VALUES U2 U4 U5 2) Create a directory called IKON that will be used as a base for install cleanup, test. It will contain the IKON provided files and the results of compile operations. Copy the IKON files to this directory. 3) Use the eisa_config command to configure the board into the system. (consult the eisa_config man pages.) The add command within eisa_config will be used: add !IKN1110.CFG 1 The 1 above refers to slot number. Replace with the appropriate number if the board is not in slot 1. Remember that drivers, addresses, and slots must be used in sets. ik310 with slot 1, ik320 with slot 2, and ik330 with slot 3. Slot 1 is the first available slot. Slot 0 refers to the system board. "save" the new configuration, then "quit" eisa_config. 4) If any changes are to be made to the driver source code, make them now. The source modules are: ikreg.h provides "internal" definitions used by all versions of the driver ikio.h provides "external" ioctl command definitions used by all versions of the driver, and by the calling application. Included in ik3x0.c ik310.c, ik320.c, ik330.c Three separate source code modules for unique board address in slot 1, 2 or 3. 5) Install the driver (ik_install) Type "./ik_install " where is the number of the EISA slot the IKON board will occupy. For example, "./ik_install 1" will perform the installation of the driver for a board in slot 1, including generation of a new kernel as "vmunix_test" in the /stand/build directory. The script will also back up the original /stand/vmunix as "/stand/vmunix.back", if the backup does not already exist, and will copy /stand/build/vmunix_test to "/stand/vmunix". 6) Reboot the system During reboot, the ik310 attach code should display a message confirming that the board is attached, listing the board address, DMA channel, interrupt level, interface selection, and DMA mode. 7) Make the Device Node (ik_mknod) for each board / driver combination that is being used. run: "./ik_mknod " (slot = 1, 2, or 3 as above) The device file name will be "/dev/ihcp", where "" is 1 less than the slot number. At this point, the device should be available for application programs. NOTE: Included on the distribution media is a file called iktest.c. This sample program demonstrates the calling sequences required to issue ioctls to issue board commands and/or set driver parameters, to write to the device attached to the board, and to read back the board's registers. Compile it to run the test, if desired, but make sure the device number is correct first. Test files iktest1, iktest2, and iktest3 have been compiled with 10.10 to test a board in each slot. DEINSTALLING (ik_clean) : If an IKON board has been moved, necessitating a new install for a different slot, or removed, the unwanted files may be removed, if desired. The unused drivers will not interfere with the correct functioning of the system, but may be removed to avoid confusion. To perform the cleanup operation, attach to the IKON directory and type "./ik_clean ", where "slot" is defined as above. This will remove the entry from the /stand/system file, remove the library file from /usr/conf/lib and the master file from the /etc/conf/master.d directory, and remove the device file from /dev. NOTE: "./ik_clean 0" will remove the IKN1110.CFG file if no IKON boards are to be left in the system.