phil@bcscal.UUCP (Phil Kemp) (02/08/89)
About two weeks ago I posted a request to the Net about Microport SysV/AT 2.4 and the Quadram Quadport AT. I received a few responses, some in a similar vein to mine, a couple suggesting solutions. Here in summary is what I found out. The tty driver for Microport SysV/AT 2.4 will upon receiving a tty interrupt, read all port addresses to which the interrupt refers. This is important since the Quadram documentation seems to imply that the device driver should query the Interrupt Request Port and then read only the indentified port address. The way the UNIX driver is written will not in Quadram's opinion cause any problems with the board. The ttypatch utility provided with SysV/AT can be used to set up the necessary address references. >From: Luis Soltero <ubc-cs!uunet!rice.edu!luis> writes: >i am running the quad port/at on my 386 under uPort 3.0e. i know that this >is a totally diffrent os. anyway here is a shell script that i use to install >all 6 of my serial ports. one thing to note is that >the serial port adresses MUST be specified in dec. the quad port manual >specifies them in hex.. >i hope this helps. >--luis@titan.rice.edu >#!/bin/csh >set port = 7 # i start my ports at /dev/tty07 >foreach i ( 648 664 680 696 712 ) > /etc/ttypatch -t$port -i3 -a$i -n1 > @ port++ >end This script will define the kernel relationship between the interrupt, -i3 for interrupt 3 ( DOS COM2: ), the port device number ( -t$port ) and the addresses, specified in the for loop. This works just fine from the UNIX side of things. However the Quadport can not be hardware jumpered to reflect the choice of interrupt. This must be done via software selection. The simplest way to do this is to use the outb.c utility, supplied with the 2.3 and 2.4 systems, ( it and inb.c are in /src )( Thanks very much Ken! ) . Once compiled you can use outb to set the interrupt with something like: cc outb.c a.out 2d3 1 which writes Hex 1 ( Bit one set ) to port address 2d3. Reference: Quadport Operations manual page 23. This assumes JP6 on the Motherboard in position 2-3, which implies that the addresses are set to: Port Hex address Dec address ---- ----------- ----------- 1 280-287 640 2 290-297 656 3 2a0-2a7 672 4 2b0-2b7 688 5 2c0-2c7 704 Luis' script would look something like >#!/bin/csh >set port = 1 # i start my ports at /dev/tty1 >foreach i ( 640 656 672 688 704 ) > /etc/ttypatch -t$port -i3 -a$i -n1 > @ port++ >end Then issue the 'a.out 2d3 1' to set the interrupt and bingo! It should work. (It does on my ancient IBM AT ( original stock and very slow 6MHz ) I have been using this setup for about a week with no problems to this point. I have an entry in /etc/rc2 which issues the interrupt selection whenever I'm in run mode 2: .... # # Initialize the Quadram Quadport AT to use interrupt 3 # /usr/local/bin/outb 2d3 1 ....... A couple of things: Thanks must go out to both Quadram ( phone calls to Georgia are expensive! ) and to Ken Chapin of Microport. Quadram were very helpful in describing the hardware capabilities to a novice hardware tinkerer. I must say that I have had experiences similar to other folks' on the Net with respect to Microport and their support. However, I am extremely pleased with the support I have been given by Ken, John Plocher, and John Sully. They have been responsive, patient, and have treated me as I try to treat my customers, with respect. During their recent move I was very pleased with the response of their reception staff and the efforts they made to keep the phone calls coming in. Flame on ? ( well sort of ) From time to time however I have been assisted, if I could stretch the meaning of the word, by other individuals in Microport's tech. assistance group. These experiences have been expensive, ( no 800 access in Canada ) and frustrating. Unfortunately an organization's reputation is based on the overall impressions left. A few bad experiences negate many good ones. Flame off.... Well I hope that helps any one who is trying to set up the Quadport. Thank's to all who responded to my original request. -- Phil Kemp Boeing Computer Services, Calgary Voice - (403)-269-8281 phil@bcscal.uucp