Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbatt!ihnp4!qantel!lll-lcc!lll-crg!rutgers!caip!princeton!astrovax!wls From: wls@astrovax.UUCP (William L. Sebok) Newsgroups: net.unix-wizards Subject: Re: problem with tip (cu) Message-ID: <809@astrovax.UUCP> Date: Sun, 28-Sep-86 16:43:03 EDT Article-I.D.: astrovax.809 Posted: Sun Sep 28 16:43:03 1986 Date-Received: Tue, 30-Sep-86 19:45:06 EDT References: <26@sdsu.UUCP> Reply-To: wls@astrovax.UUCP (William L. Sebok) Organization: Princeton University, Dept. of Astrophysics Lines: 32 In article <26@sdsu.UUCP> dlong@sdsu.UUCP (Dean Long) writes: > I can't get tip (cu) to work. The problem is that it can't open() the >tty device. This device is used by uucp with no problems. I looked at >some of the code for uucp. I saw that uucp uses /dev/kmem to to "enable" >and "disable" the device before attempting an open. To me it looked like >it was just setting some bits. Is this really necessary? As the one who originated this I feel I should comment. In my original posting on this subject (made several years ago) I had provided dialin/dialout mods to both uucico and to tip (4.2 BSD). Provided that your version hasn't changed too much from the stuff I did in that posting, what I say here should apply. I'm guessing that you are using the 4.3 BSD version. I am also guessing that in 4.3 BSD they forgot to provide similar dialin/dialout mods to tip as they applied to uucico. Enable/Disable device means to enable/disable logins on the device. In other words, contrary to your intuition, the device must be "disabled" before being used for dialing out. /dev/kmem is being poked to turn off modem control when the device is "disabled" and turn it on again when the device is "enabled". If modem control is not turned off when using a line for dialout, then when an attempt is made to open it, it will hang waiting for carrier on the modem. This is a problem, if one needs access to the modem to issue dialing commands and to read the modem's response. Ultrix has provided what I believe are the proper kernel hooks to accomplish this without poking /dev/kmem. One opens the device with the O_NDELAY option and then issues an ioctl to the device that allows one to talk to it in the absence of carrier. -- Bill Sebok Princeton University, Astrophysics {allegra,akgua,cbosgd,decvax,ihnp4,noao,philabs,princeton,topaz}!astrovax!wls