DOCUMENT ID: 1475-02 SYNOPSIS: Standard Port & IRQ Assignments for PCs OS RELEASE: Solaris x86 2.4 PRODUCT: KEYWORDS: standard port irq assignments pc i/o card SYMPTOMS: The new I/O card you installed does not work or has intermittent problems. DESCRIPTION: Either Solaris does not recognize an I/O card (either new or existing), or your card works eratically. This starts either when you change your hardware configuration or your software driver configuration (enabling new features is a typical case). SOLUTION: Check for conflicting I/O ports and IRQs. In come cases default settings between two boards will conflict and you must pick good alternatives. This document will list standard I/O and IRQ settings in a single document. It also will list several standard alternate IRQ settings for particular devices. As a standard practice it is also a good idea to write a label with the I/O, IRQ, DMA, and memory addresses for every device in your machine. Paste this either on the back or inside the case. You should also save it as a file on your disk that you can update and refer to when needed. If you use MS-DOS or some other OS you should also keep a file in that file system (CONFIG.SYS works great for MS-DOS). It is very important to note the RANGE of I/O addresses for a device. Many of the documents you see only list the STARTING address of a device. Always try to get the entire range documented to insure that you don't have a conflict later when you add another device. Included is the Adaptec 154x SCSI controller as an example of where a SCSI host adapter is commonly placed in the system. Please note that when a SCSI adapter is used as the primary controller, it often needs to be placed at the default addresses for I/O, DMA, etc. so that the system can find it when it is booting. If that conflicts with another card, like a network card, then you should change the other card to an alternate address. Once the system has been booted it can read the other cards configuration from a driver configuration file. STANDARD I/O PORTS: I/O ADDRESSES | DEVICE --------------------------------------------------- 1F0 - 1F8 | Fixed Disk (ST-506) 200 - 207 | Game I/O 260 - 268 | IDE Controller (Primary?) 278 - 27F | Parallel Port 2 - LPT2 2E8 - 2EF | Serial Port 4 - COM4 2F8 - 2FF | Serial Port 2 - COM2 300 - 31F | Prototype or network card 330 - 334 | Adaptec 154x SCSI controllers 360 - 363 | PC network (low address) 368 - 36B | PC network (high address) 378 - 37F | Parallel Port 1 - LPT1 380 - 38F | SDLC, Bisynchronous 3A0 - 3AF | Bisynchronous (primary) 3B0 - 3BF | Monochrome (IBM) display adapter 3C0 - 3CF | EGA/VGA display adapter 3D0 - 3DF | CGA/MCGA display adapter 3E8 - 3EF | Serial Port 3 - COM3 3F0 - 3F7 | Diskette controller 3F8 - 3FF | Serial Port 1 - COM1 STANDARD IRQs: IRQ # | ASSIGNMENT ------------------------------------ NMI | Reports memory parity errors 0 | System timer 1 | Keyboard 2 | Cascade to (from?) IRQ 9 (Used by some VGA and network cards {NE2000}) 3 | COM2 and COM4 4 | COM1 and COM3 5 | LPT2 6 | Floppy disk controller 7 | LPT1 8 | Realtime clock 9 | Software redirected to interrupt 0AH 10 | 11 | Adaptec 154x SCSI controllers 12 | 13 | Coprocessor 14 | Primary IDE interface 15 | Secondary IDE interface NOTE: The IRQs with no assignment are often the target of SCSI, network, and sound cards. These are often the safest place to use for a new IRQ, but be sure it is not in use already. The next best places are the IRQs for LPT2, Game cards, or IRQ2 & IRQ15. These are good alternates because they are IRQs for devices you probably do not have on a Solaris x86 system. STANDARD DMA CHANNELS: DMA # | ASSIGNMENT ------------------- 0 | RAM Refresh 2 | Floppy disk controller 5 | Adaptec 154x SCSI controllers STANDARD MEMORY ADDRESSES: ADDRESSES | CARD -------------------------- C0000-C7FFF | SVGA CC000-CFFFF | Network card DC000-DFFFF | Adaptec 154x SCSI controllers E0000-EFFFF | EMS page frame buffer F0000-FFFFF | BIOS ROM DATE APPROVED: 07/28/95