PRINT SELECTION FOR APAR - II06091 92/07/14 APAR= II06091 SER= DD DOC INFORMATION REGARDING INTERRUPTS AND 2.0 OS/2 IN AT BUS SYSTEMS ( OS2INFOAPAR OS2 INFOAPAR INFO APAR R200 OS2OTHER ) STAT= INTRAN FESN5NFO000-000 CTID= II0000 ISEV= 4 SB92/06/11 RC CL PD SEV= 4 PE= TYPE= I RCOMP= INFOPCLIB PC LIB INFO ITE RREL= R001 FCOMP= PFREL= F TREL= T ACTION= SEC/INT= DUP/ USPTF= PDPTF= DUPS 0 DW92/06/11 RT SC FT RE PT UP LP PV AP EN FL LC92/06/22 RU92/06/11 CUST INST LVL/SU= FAILING MODULE= FAILING LVL/SU= SYSROUTE OF: RET APAR= PS= COMP OPER ENV= SYSRES= SYSIN= SYSOUT= CPU= RE-IPL= OPTYPE= SPECIAL ACTIVITY= REGRESSION= PRE-SCREEN NO.= RSCP= RS000 ERROR DESCRIPTION: Information regarding interrupts and OS/2 2.0 in AT BUS systems --------------------------------------------------------------- ... Under OS/2 interrupts can not be shared. Results are unpredictable if interrupts are shared. Sharing interrupts is not a problem under DOS. It is possible for devices that are sharing interrupts to work perfectly under DOS and have problems under OS/2. ... On an ISA machine there are a total of 15 IRQ levels available. The standard settings, in order of priority, is as follows: ... ... IRQ# Device Associated ---- ----------------- 0 System Timer 1 Keyboard 2 Secondary Interrupt Controller (see note) 8 Realtime Clock 9 --- (see note) 10 --- free 11 --- free 12 --- free - reserved for aux dev 13 Math Coprocessor 14 Hard Disk 15 --- free 3 COM2 (Serial Communications Port #2) 4 COM1 (Serial Communications Port #1) 5 LPT2 (Parallel Printer Port #2 - add. 278) 6 Diskette 7 LPT1 (Parallel Printer Port #1 - add. 3BC and 378) ... ... (Note: On the IBM-AT (ISA bus) the IRQ9 pin is identical with the IRQ22 pin on the original IBM-PC. If you have an older, 8-bit adapter whose documentation states that it uses IRQ2 then be aware that this will actually be seen as IRQ9 when plugged into the 16-bit ISA bus.) ... ... If multiple hardware adapters of any kind (not just communications) are using the same IRQ level then the effect on your computer will be unpredictable. However, with single tasking systems like DOS, the two adapters which are sharing the interrupt may never cause any problems since they may never be in use at the same time. ... OS/2, however, presents a different set of problems. If we have two, three or four adapters, the probability is now high that they are used at the same time. If some of adapters had been set up using shared interrupts then the scene is set for mysterious things to occur in OS/2. ... OS/2 can, however, detect that an interrupt line is shared and will disallow the simultaneous use. Assume that COM1 and COM3 were sharing IRQ4 (a fairly common real situation). If we tried to use both COM ports at the same time OS/2 would refuse to allow the second one to start. A well written OS/2 communications program would see and report the error from OS/2 that the port could not be opened. A DOS application, however, will likely be unprepared to respond to this strange situation and it may simply hang there waiting forever for the port that will never open. ... The solution for all of this is to make sure that all of your hardware adapters have their own unique I/O addresses and IRQ assignments. Unfortunately, on an ISA machine, OS/2 has no way to query the computer to find out what these settings are. Therefore, after checking and setting the adapters according to the instruction manuals you must also tell OS/2 what you've done by placing explicit information into the CONFIG.SYS file. ... ... To summarize: ------------- ... *) Even though there is some flexibility for Printer & Comm. port assignment try to stick to the standard assignment as shown in IRQ table at the beginning of document. ... *) Available interrupts, in order of priority, are: IRQ10, IRQ11, IRQ12, IRQ15, IRQ3 (if not used for COM2), and IRQ5 (if not used for LPT2). ... *) Addresses and interrupts can be assigned in OS2 to comm ports as described in info apar II06069. Standard assigment is as follows: COM1 - 3F8 - IRQ 4 (default) COM2 - 2F8 - IRQ 3 (default) COM3 - 3E8 COM4 - 2E8 There is no OS/2 default setting for COM3 and COM4. It must be specified by the device=com.sys statement in config.sys. ... *) Printer port addresses and IRQ levels are hardcoded in OS/2 as follows: 3BC and 378 ==> IRQ7 (LPT1) 278 ==> IRQ5 (LPT2) Unlike the the comm ports, where the addresses and the interrupts can be modified by the device=com.sys in config.sys, the printer port addresses and IRQ shown above are fixed. OS2 assigns LPT1 to the highest printer port address being used. The printer address is specified in the printer adapter board. With OS/2 you can not use both addresses 3BC and 378 as printer port addresses. Both LPTs would be sharing IRQ7. Unlike DOS, OS/2 uses interrupts for printing. The interrupt is triggered by a signal line from the printer, ACK. If the IRQs are not configured correctly, or the printer cable is missing the ACK line the printer may work under DOS and have problems under OS/2. ... An example of address and interrupt assignment is follows: COM1 - 3F8,IRQ4 COM2 - 2F8,IRQ3 COM3 - 3E8,IRQ5 (IRQ5 not being used by lpt2) COM4 - 2E8,IRQ10 ... LPT1 - 378,IRQ7 ... *) If interrupt devices are occasionally losing data, try moving to a higher priority unused interrupt. LOCAL FIX: