Return to BSD News archive
Newsgroups: comp.unix.bsd Path: sserve!manuel.anu.edu.au!munnari.oz.au!sgiblab!darwin.sura.net!jvnc.net!yale.edu!think.com!ames!decwrl!csus.edu!netcom.com!alm From: alm@netcom.com (Andrew Moore) Subject: minor tip patch Message-ID: <1992Oct27.230346.7183@netcom.com> Organization: Netcom - Online Communication Services (408 241-9760 guest) Date: Tue, 27 Oct 1992 23:03:46 GMT Lines: 75 The hayes modem dialer does blind dialing, but doesn't initialize the modem accordingly (with ATX0 or ATX5). BTW, if you can't get /etc/phones working, it's because tip assumes each line is a system entry (no comments allowed). The following patch is relative to Chris Demetriou's tip-diffs (was part of his com package). *** /usr/src/usr.bin/tip/aculib/hayes.c.pl1 Tue Oct 27 14:48:32 1992 --- /usr/src/usr.bin/tip/aculib/hayes.c Tue Oct 27 15:39:19 1992 *************** *** 92,107 **** fflush(stdout); ioctl(FD, TIOCHPCL, 0); ioctl(FD, TIOCFLUSH, 0); /* get rid of garbage */ ! write(FD, "ATv0\r", 5); /* tell modem to use short status codes */ gobble("\r"); gobble("\r"); ! write(FD, "ATTD", 4); /* send dial command */ write(FD, num, strlen(num)); state = DIALING; write(FD, "\r", 1); connected = 0; if (gobble("\r")) { ! if ((dummy = gobble("01234")) != '1') error_rep(dummy); else connected = 1; --- 92,115 ---- fflush(stdout); ioctl(FD, TIOCHPCL, 0); ioctl(FD, TIOCFLUSH, 0); /* get rid of garbage */ ! #ifdef ATX5 ! write(FD, "ATm0x5v0\r", 9); /* mute speaker; short status codes */ ! #else /* ATX5 */ ! write(FD, "ATx0v0\r", 7); /* short status codes */ ! #endif /* ATX5 */ gobble("\r"); gobble("\r"); ! #ifdef PULSE_DIAL ! write(FD, "ATD", 3); /* send dial command */ ! #else /* PULSE_DIAL */ ! write(FD, "ATDT", 4); /* send dial command */ ! #endif /* PULSE_DIAL */ write(FD, num, strlen(num)); state = DIALING; write(FD, "\r", 1); connected = 0; if (gobble("\r")) { ! if ((dummy = gobble("012345678")) != '1') error_rep(dummy); else connected = 1; *************** *** 228,233 **** --- 236,253 ---- printf("CONNECT 1200"); break; + case '6': + printf("NO DIALTONE"); + break; + + case '7': + printf("BUSY"); + break; + + case '8': + printf("NO ANSWER"); + break; + default: printf("Unknown Modem error: %c (0x%x)", c, c); } END_OF_PATCH