Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site entropy.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!vax135!cornell!uw-beaver!uw-june!entropy!hubert From: hubert@entropy.UUCP (Steve Hubert) Newsgroups: net.unix-wizards Subject: Re: Problem with modem ports Message-ID: <169@entropy.UUCP> Date: Fri, 17-May-85 21:20:24 EDT Article-I.D.: entropy.169 Posted: Fri May 17 21:20:24 1985 Date-Received: Sat, 18-May-85 23:47:53 EDT References: <235@amdimage.UUCP> Distribution: net Organization: UW MathStat, Seattle Lines: 44 > We seem to be having a problem with our modem ports. We > are running an 11/730 with a dmf-32 interface. I have > the modems into the two modem ports (ports 0 and 1) on the > dmf. It seems to work most of the time, but every now and > then when I logout from the modem line, the system doesn't > drop DTR and hang up the modem. When this happens, if I > hang up the line from the terminal end, the getty on that > port goes away (as it should) and leaves an init, but when > that line is called again I don't get a new getty; the system > just hangs in the init. The only way to get it back is to > go in and kill the init on that line so that the master init > (process 1) will restart a new one. > > Has anyone seen this problem before, and is there a fix? > By the way, we're running 4.2bsd, if that makes a difference. > > Chris Moore (408) 749-4692 > UUCP: {ucbvax,decwrl,ihnp4,allegra}!amdcad!amdimage!cmoore I'm not sure if my problem is the same one but it is certainly similar. My dmf 0 and 1 ports are connected to terminals through a Micom switch at 9600 baud. Sometimes an init will hang in the open on the dmf tty. I am using the standard 4.2 dmf.c (it is version 6.1, 83/07/29). I have looked at the tp->t_state variable of a hung line using adb. One of these lines waiting for its open to complete usually has t_state = 0x2 = TS_WOPEN. If that is the case, the line is not hung and the open will succeed when the carrier is raised on the line. When the line IS hung it has t_state = 0x206 which is TS_WOPEN | TS_ISOPEN | TS_HUPCLS. I can't figure out how the state ever gets set to 206. I don't see anywhere where HUPCLS is set and it doesn't look like ISOPEN and WOPEN should be able to be on at the same time. We must be at the following sleep in dmfopen() waiting for the wakeup in dmfrint(), or maybe not. Any ideas from the wizards? s = spl5(); while ((tp->t_state & TS_CARR_ON) == 0) { tp->t_state |= TS_WOPEN; sleep((caddr_t)&tp->t_rawq, TTIPRI); } Steve Hubert Dept. of Stat., U. of Wash, Seattle {decvax,ihnp4,ucbvax!lbl-csam}!uw-beaver!entropy!hubert hubert%entropy@uw-beaver