Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!rice!uw-beaver!milton!roger From: roger@wrq.com (Roger Fulton) Newsgroups: comp.sys.ibm.pc.hardware Subject: Re: COM3/IRQ4 Keywords: IRQ4 Message-ID: <16490@milton.u.washington.edu> Date: 15 Feb 91 18:24:55 GMT References: <6820@rossignol.Princeton.EDU> <992@csource.oz.au> <59904@eerie.acsu.Buffalo.EDU> Sender: news@milton.u.washington.edu Organization: Walker Richer & Quinn, Inc., Seattle, WA Lines: 97 In article <59904@eerie.acsu.Buffalo.EDU> dmarcher@acsu.buffalo.edu (david m archer) writes: >In article <992@csource.oz.au> david@csource.oz.au (david nugent) writes: >>> If yes, then what is the use of having COM3 and COM4 ? >> >>Hanging different devices off each port. You may not be able to use two >>devices (on serial ports with the same IRQ) concurrently, but it sure >>beats switching cables all the time. :-) > >But I can't even do this much! > >I have an internal modem at COM3, and it's mere existance >renders my COM1 as unusable, even if COM3 hasn't been >accessed since power-up. Following is an article that I wrote and placed on my company's BBS. In the following, "Reflection" refers to our Reflection Series Software, which is our line of terminal emulation products. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ What Are IRQ's, and Why Should I Care About Them? One of the most frequent calls we get in Technical Support goes something like this: "I've been using Reflection just fine on COM1, but I added an internal modem on COM3 and now Reflection can't work with either the modem or my COM1 port. What's the problem?" This is a classic case of what we refer to as "the IRQ conflict problem." One aspect of Reflection is that for each serial device (COM port) Reflection uses, that device must be the only device in the PC using the IRQ line for which that device is configured. "OK, but what's an 'IRQ line'?" Without getting too technical: IRQ stands for Interrupt ReQuest. An IRQ line is a physical, electrical line in the PC that a device, like a COM port, can use to signal to the rest of the computer, "Hey, some critical event (like receipt of an incoming character) just occurred with me, so you'd better interrupt whatever you're doing now and take care of me!" In PC and XT class machines, there are eight IRQ lines: IRQ0 through IRQ7. In AT class machines, there are sixteen IRQ lines: IRQ0 through IRQ15. In PC, XT, and AT class machines, COM1, by definition, uses IRQ4, and COM2, by definition, uses IRQ3. Beyond COM2, there are no standards. However, it is quite common to have a serial device (such as a serial card or internal modem) that does COM3 and COM4 use IRQ4 for COM3 and IRQ3 for COM4. When two or more devices are configured to use the same IRQ line, the potential exists for an IRQ conflict to occur. Consider the following example: a PC contains a serial card configured for COM1/IRQ4 and an internal modem configured for COM3/IRQ4. With this configuration, it is possible that the modem could interfere with an interrupt request from the serial card (or vice versa). The problems one can experience with an IRQ conflict range from missing characters to a completely locked up PC. Reflection is an interrupt driven program. In designing Reflection, a decision was made to circumvent any potential IRQ conflict situations. This is accomplished by providing default Datacomm Port configurations in Reflection that can't result in an IRQ conflict. Thus, the following Datacomm Port configurations are possible with Reflection: COM PORT IRQ LINE -------- -------- 1 4 2 3 3 10, 5, or 2 4 11, 5, or 2 So, it is evident that in order to use COM3 and COM4 with Reflection, you can either use IRQ10 with COM3 and IRQ11 with COM4 (although cards that do IRQ10 or IRQ11 are quite rare), or you can use IRQ5 or IRQ2 for either COM3 or COM4. (Note that you can't use IRQ10 or IRQ11 on PC or XT class machines, since they only go up to IRQ7.) There are other potential sources of IRQ conflicts. Bus mouse cards and LAN cards (for example) use IRQ lines, and if they are configured to use an IRQ line that is the same as the IRQ line of a COM port that Reflection is trying to use, an IRQ conflict can occur. One of the utilities shipped with Reflection is called COMCHECK. With COMCHECK, it is possible to determine what COM ports are installed in the PC, as well as whether the COM ports are configured for the correct IRQ line. However, COMCHECK can't always detect a potential IRQ conflict situation. -- Roger Fulton roger@wrq.com