Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!think.com!mintaka!spdcc!tauxersvilli!alphalpha!nazgul From: nazgul@alphalpha.com (Kee Hinckley) Newsgroups: comp.sys.apollo Subject: Re: 4500, 10.3, BSD, 2400 modem? Message-ID: <1991Mar8.233359.13061@alphalpha.com> Date: 8 Mar 91 23:33:59 GMT References: <1991Mar8.073658.12083@world.std.com> <9103081115.aa05182@concour.cs.concordia.ca> Organization: asi Lines: 98 In article <9103081115.aa05182@concour.cs.concordia.ca> goldfish@CONCOUR.CS.CONCORDIA.CA writes: > * APOLLO SERIAL PORTS DON'T WORK * If anyone cares, it's because the person doing the SR10 work for them left in the middle and noone ever finished it. Did you care? I thought not. > 1) handshaking: the DSR-DTR interaction is broken. HP knows > it is broken, Apollo knew it was broken before the merger. For what it's worth, I think CTS works but RTS doesn't, or some such. > 1a) The computer will drop the DTR occasionally and hang up > your MODEM. Ah. That explains a lot. > 1b) Upon hanging up the MODEM, it will not terminate the > session so the next caller gets your session already > logged in. (caution boys and girls, don't try this See my source below. > 2) BAUD switching: The word I got from HP (semi-official) was > that BAUD switching was not supported in the Domain-OS. Ditto. > 3) The SIO and TTY drivers do NOT maintain consistent > internal structures. (can you say "probably written in > unstructured COBOL" everyone?) No, that's almost certainly due to having it dropped in the middle. > 3) talk to a single speed MODEM if you are careful We drive a Telebit T2500 succesfully, although we do so by having the following entry in /etc/ttys: tty02 "/etc/fakegetty std.9600" dialin It all seems to work pretty well, although of course none of it should be necessary. Apollo proper does actually have dialin lines, and they were constantly screwing up until they got a terminal concentrator - but they aren't heavily used, so things never got fixed. Terminals are obsolete, you see... Here's fakegetty.c: #include #include main(argc,argv) int argc; char **argv; { int fd; char dpn[100]; struct sgttyb sgbuf; strcpy(dpn, "/dev/"); strcat(dpn, argv[2]); fd = open(dpn, O_RDWR|O_NDELAY); if (fd < 0) { perror("dpn"); exit(1); } if (ioctl(fd, TIOCGETP, &sgbuf) < 0) { perror("getp"); exit(1); } sgbuf.sg_flags &= ~ECHO; sgbuf.sg_ispeed = B2400; sgbuf.sg_ospeed = B2400; if (ioctl(fd, TIOCSETN, &sgbuf) < 0) { perror("setn"); exit(1); } sleep(2); write(fd, "+++", 3); sleep(2); write(fd, "ATZ\r", 4); sleep(2); if (ioctl(fd, TIOCNOTTY, 0) < 0) { perror("notty"); exit(1); } close(fd); execv("/etc/uugetty", argv); } -- Alfalfa Software, Inc. | Poste: The EMail for Unix nazgul@alfalfa.com | Send Anything... Anywhere 617/646-7703 (voice/fax) | info@alfalfa.com I'm not sure which upsets me more: that people are so unwilling to accept responsibility for their own actions, or that they are so eager to regulate everyone else's.