Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!samsung!zaphod.mps.ohio-state.edu!wuarchive!udel!sbcs!bnlux0!adelphi!promark!mark From: mark@promark.UUCP (Mark J. DeFilippis) Newsgroups: comp.unix.xenix Subject: Re: COM3 & COM4 under SCO Xenix ? Summary: I havn't seen this around, and I saved it, hope it helps.... Keywords: xenix com serial Message-ID: <2324@promark.UUCP> Date: 21 Mar 90 03:01:12 GMT References: <3347@trantor.harris-atd.com> Distribution: na Organization: Promark Data Concepts, Garden City, NY Lines: 156 In article <3347@trantor.harris-atd.com>, wcurtiss@x102c.harris-atd.com (Curtiss WC 67625) writes: > I am trying to install a serial card configured for COM3 and COM4 (INT 3 & 4, > I/O Addr 3E8 & 2E8) in a machine which already has COM1 and COM2 (INT 3 & 4, > I/O Addr 3F8 & 2F8). SCO says it can't be done and I should get a multiport I saved this last time I saw it around. Hope it helps... How to add comm3 and comm4 under SCO Xenix Coert Vonk October 22, 1989 The basement of the following text was extracted from a usenet message in comp.unix.xenix. It describes how to add additional IBM-Standard COMM PORTS as comm3 and comm4 under SCO Xenix. 1. what do we have? ~~~~~~~~~~~~~~~~~~~~ IBM-Standard COMM PORTS may be characterized as: name base irq address --------------------------- comm1 0x3f8 4 comm2 0x2f8 3 comm3 0x3e8 5 comm4 0x2e8 2 If you think this looks to organized I can set you at ease. At the time IBM released his PC-XT/AT machines, only comm1 and comm2 were defined. Pushed by the demand of the market clone manufactures developed two other sio ports. Due to the lack of concerted attention there exist almost more characteristics for these ports than manufactures. With the release of PS/2 machines IBM set the standard for the comm3 and comm4 ports as represented above. Although all kinds of sio ports may be added, I focus to the standard address and irq of comm3. By the way if you intend to your another irq, you could check if it's is currently in by the /usr/sys/conf/vectorsinuse command (or read the master file yourself, more about this later). 2. edit sioconf.c ~~~~~~~~~~~~~~~~~~ Add new a descriptor to /usr/sys/io/sioconf.c using an ordinary text editor (i.e. vi,lyrix). It should have the format as descripted in /usr/sys/io/sioconf.h : int b_num; /* board number */ int b_type; /* each manufacturer gets a different one */ int b_pcnt; /* port count on the board */ int b_vec; /* interrupt vector */ int b_dev; /* minor dev base */ sd b_addr; /* base address of board */ int b_poll; /* interrupt poll addr */ int b_inc; /* increment (spacing) of io ports on board */ int b_outbits; /* value for OUT1/OUT2 bits in MCR */ Doing so we get: {2,IBM_BOARD, 1,5,4, (sd)0x3e8,0, 0,MCRBIT3}, /*ibm COM3*/ Some remarks on this: -- the next available IBM_BOARD board number is 2 (3 for comm4) -- I use irq5 for the board (irq2 for comm4) -- the minor device base is 4 (could be 12 for comm4) -- the base address is 0x3e8 (0x2e8 for comm4) 3. edited master ~~~~~~~~~~~~~~~~~ The /usr/sys/conf/master file contains information about different devices including interrupt vectors used. Serial (marked sio) devices used originally irqs 3,4,33 and 34. The irq33 and irq34 were originally placed in the table because Xenix got confused by the comm3 or comm4 port, and took it for a 4-port. vec.cnt irqA irqB irqC irqD ------------------------------------------------------------- sio 4 0577 104 sio 0 0 5 1 7 3 4 33 34 pa 2 0133 004 pa 0 0 6 1 2 5 7 0 0 When we correct this recognition problem we get: sio 2 0577 104 sio 0 0 5 1 7 3 4 0 0 pa 2 0133 004 pa 0 0 6 1 2 5 7 0 0 If we want to use irq5 for comm3, we have to steal if from parallel adapter. This brings the vector count for pa down to 1. sio 2 0577 104 sio 0 0 5 1 7 3 4 0 0 pa 1 0133 004 pa 0 0 6 1 2 7 0 0 0 By now it is time to introduce my new comm port. Filling in it's irq vector of 5, increments the sio vector count by one. Yielding in: sio 3 0577 104 sio 0 0 5 1 7 3 4 5 0 pa 1 0133 004 pa 0 0 6 1 2 7 0 0 0 I think now the time has come to make the machine contribute his/her part ... 4. make ~~~~~~~~ I recompiled all modified sources with make (yes, you need development system to do this) and copied the just linked new kernel to the root directory (/xenix.comm3). 5. reboot ~~~~~~~~~~ I rebooted my system and to the boot-prompt I entered xenix.comm3 (name of the new untested kernel). Everything worked fine, comm1, comm2, and comm3 were found. Help save the world! Communicate any problems and suggestions to me, mcsun!hp4nl!neabbs!coertvnk (Coert Vonk). ____ By the way, I am interested in an internship at an American University. Any ideas ..., please e-mail them. ____ / / Uucp address: Mailing address: / ___ __ __ __/ mcsun!hp4nl!neabbs!coertvnk Eikstraat 17 / / / /_/ / / Telephone: 4621 JL Bergen op Zoom /___ /__/ /__ / /__ + 31 1640 42366 The Netherlands -- Mark J. DeFilippis SA @ Department of Mathematics and Computer Science Adelphi University, Garden City, NY 11530 (516) 663-1170 UUCP: philabs!sbcs!bnlux0!adelphi!markd