[comp.dcom.lans] !!! HELP !!! Problem with UNIX tip

ssa@mrsvr.UUCP (xxxx) (08/03/88)

	I have a MultiTech 224E modem connected to a Sun 3/50 ttya port.
	I have it set up so it will answer on the third ring, and
	saved this configuration in the non-volitile ram.  The problem
	is every time I dial a number using tip (or cu) the modem 
	resets it self to factory configuration, unless I turn it off
	and on (giving it the ATZ command also works). This is a pain in the 
	neck because I am using my office phone, and if I forget to reset 
	the modem it picks up the phone immidiately, therefore greeting the 
	caller with a high pitch tone! 

	My question is:	is there a way to tell the modem to reset itself
	(ie: give it the ATZ command) after the dialing, and also:
	what makes the modem go back to factory configuration?


	Thanks,   ssa

exodus@daver.uucp (Greg Onufer) (08/04/88)

From article <296@mrsvr.UUCP>, by ssa@mrsvr.UUCP (xxxx):
> 
> 	My question is:	is there a way to tell the modem to reset itself
> 	(ie: give it the ATZ command) after the dialing, and also:
> 	what makes the modem go back to factory configuration?
> 

The problem is that tip/uucico/cu on the Suns and probably other
machines have a pre-determined configuration for your Hayes-
compatible.  Try finding the strings in uucico and tip to see
which commands it sends along.  One of them sets register 0
(number of rings to answer on) to 1.  This is _exactly_ what
tip/uucico shouldn't do unless told to.

 As long as it is somewhat hayes-compatible (joke)....
try this in you /etc/remote file:

	:pn=S0=3DT4159650604:   (replace phone number with whatever you
							 want).

and that will set it to answer on the third ring every time you dial.
I use this 'feature' of tip/cu since my personal machine
uses my home phone to call out.  It became annoying when every time
I called out for news/mail I would have to reset the modem by hand.
So in my uucp.hour script I placed a 'cu S0=0' to reset the modem
so that it would not answer the phone.  I also changed the phone numbers
in my /etc/remote file like shown above.  Now if I could just get my
modem not to dial out when I am talking to somebody.  It doesn't 
behave like it should to the 'W' in the phone number (Wait for
dial tone).

The trick above is documented in the SunOS 4.0 documentation but
works in SunOS 3.5 and maybe even previous releases.

-- 
Greg Onufer   		GEnie: G.ONUFER		University of the Pacific
UUCP:						-= Focus Semiconductor =-
exodus@cheers.uucp ..!sun!daver!cheers!exodus  (and postmaster/exodus@uop.edu)
AT&T: 415-965-0604	USMAIL: #901 1929 Crisanto Ave, Mtn View, CA 94040 

ronbo@vixen.uucp (Ron Hitchens) (08/05/88)

In article <296@mrsvr.UUCP> ssa@mrsvr.UUCP (xxxx) writes:
>
>	I have a MultiTech 224E modem connected to a Sun 3/50 ttya port.
>	I have it set up so it will answer on the third ring, and
>	saved this configuration in the non-volitile ram.  The problem
>	is every time I dial a number using tip (or cu) the modem 
>	resets it self to factory configuration, unless I turn it off
>	and on (giving it the ATZ command also works). This is a pain in the 
>	neck because I am using my office phone, and if I forget to reset 
>	the modem it picks up the phone immidiately, therefore greeting the 
>	caller with a high pitch tone! 
>
>	My question is:	is there a way to tell the modem to reset itself
>	(ie: give it the ATZ command) after the dialing, and also:
>	what makes the modem go back to factory configuration?
>
>	Thanks,   ssa

   Yes, that's easy to fix.  Actually, tip is not setting the modem to
the factory defaults, it's sending down a string to explicitly set certain
values.  Both tip and uucp (they share the same dialing modules) contain
this string, which is part of the Hayes dialing code:

	ATV0Q0E0S0=1S2=255S12=255

   This sets: Not Verbose, Not Quiet, No Echo, Register S0 to 1,
Register S2 to 255 and Register S12 to 255.

   Modem registers S2 and S12 control the modem escape sequence, setting
them both to 255 effectively disables it, allowing the modem to pass
arbitrary binary data.  The setting of register S0 is where your problem
lies, this register indicates which ring to answer the phone on (setting
it to zero will disable answering).

   So, the solution is very simple, all you need to do is to patch this
string in the tip binary from:

	ATV0Q0E0S0=1S2=255S12=255
to:
	ATV0Q0E0S0=3S2=255S12=255
		   ^

   You'll need some sort of binary editor, I use something called bpatch
which I got from the net.  Or, if you have sources you can modify the
source file and recompile.  In either case, be sure to maintain the proper
permissions on /usr/bin/tip when you're finished (patching will probably
reset the setuid bit) so that tip can create and removing the lock files:

-rws--x--x  2 uucp     daemon      98304 Sep 15  1986 /usr/bin/tip

   Hope that sheds some light.

Ron Hitchens		ronbo@vixen.uucp	hitchens@cs.utexas.edu

aad@stpstn.UUCP (Anthony A. Datri) (08/06/88)

In article <248@vixen.uucp> ronbo@vixen.UUCP (Ron Hitchens) writes:
>   You'll need some sort of binary editor, I use something called bpatch
>which I got from the net.  Or, if you have sources you can modify the

Many flavors of Emacs will work as well.

-- 
@disclaimer(Any concepts or opinions above are entirely mine, not those of my
	    employer, my GIGI, or my 11/34)
beak is								  beak is not
Anthony A. Datri,SysAdmin,StepstoneCorporation,stpstn!aad