dip-3.3.7-uri, 57600bps & ZyXEL 6.12

dip-3.3.7-uri, 57600bps & ZyXEL 6.12

Post by Delman L » Sat, 07 May 1994 20:55:46



Hi! I am having problems with my autologin script for dip since I
upgraded to the latest ZyXEL 6.12 ROM. The dip autologin script works
fine with my old 6.00 ROM.

I am using dip-3.3.7-uri (18 Apr 94), Linux 1.1.11, a ZyXEL U-1496E
modem.

As I understand it, in dip-3.3.7, setting the speed to 57600 means
that the port speed is set to 38400 and then a flag (spd_hi) is set in
the serial driver to use 57600 when 38400 is requested. Basically
elminating the need to run "setserial /dev/cua1 spd_hi" before
starting dip.

I issue the following in the test mode of dip:

<1> port cua1              # set the port
<2> speed 57600            # set the speed
<3> send at\r              # sent at\r to the line
<4> wait OK 2              # wait for the string "OK" from the
                           # line for 2 secconds

Step <4> returns with an error message like "getc: I/O error". After I
exited dip, and use kermit to look at the line /dev/cua1, I find that
it is in a strange state. i.e. typing AT\r does not give me an OK, the
cursor jumps to the beginning of the line and that's it. "+++", "ATZ"
does not help. The only sure way to get out of this state is to power
down and power up the modem.

The occasion when the above with "speed 57600" works is when the
machine is rebooted, and dip is run during bootup.

If I replace step <2> with "speed 38400", everything is fine.

I am lost as to what is causing the problem. Could be the new ROM,
could be a bug in dip which only shows up with the new ROM, or a bug
in the serial driver in Linux. I suspect it's dip's fault, because the
following seems to work.

<1> I run "setserial /dev/cua1 spd_normal", which means when 38400 is
    selected it means 38400.
<2> I run kermit asking for speed 38400, and connect to the line.
<3> Type AT\r and then AT&V\r to see the S20 register, which tells me
    what DTE speed my modem has detected. It's 38400.
<4> In another window I run "setserial /dev/cua1 spd_hi", which means
    when 38400 is selected it means 57600.
<5> Type AT\r and then AT&V\r to see the S20 register. It tells me it
    has detected 57600.

I repeat the above with alternating spd_hi and spd_normal, and the
modem always detect the right DTE speed. Therefore, I suspect there is
something strange with the way dip switches the DTE speed that
confuses the modem.

Anybody out there having a similar problem? Any Linuxers that uses dip
and have a ZyXEL modem with the latest ROM?

Thanks in advance!

Delman.
--
______________________________________________________________________

  Delman Lee                                 Tel.: +1-215-662-6780
  Medical Image Processing Group,            Fax.: +1-215-898-9145
  University of Pennsylvania,
  4/F Blockley Hall, 418 Service Drive,                        
  Philadelphia, PA 19104-6021,

______________________________________________________________________

 
 
 

dip-3.3.7-uri, 57600bps & ZyXEL 6.12

Post by Rob Janss » Sun, 08 May 1994 18:09:32



Quote:>Hi! I am having problems with my autologin script for dip since I
>upgraded to the latest ZyXEL 6.12 ROM. The dip autologin script works
>fine with my old 6.00 ROM.
>I am using dip-3.3.7-uri (18 Apr 94), Linux 1.1.11, a ZyXEL U-1496E
>modem.
>As I understand it, in dip-3.3.7, setting the speed to 57600 means
>that the port speed is set to 38400 and then a flag (spd_hi) is set in
>the serial driver to use 57600 when 38400 is requested. Basically
>elminating the need to run "setserial /dev/cua1 spd_hi" before
>starting dip.

[...]

Quote:>Anybody out there having a similar problem? Any Linuxers that uses dip
>and have a ZyXEL modem with the latest ROM?

I wrote that addition to DIP (the 57600 bps setting internal to DIP),
and my own modem is a ZyXEL running the 6.11 firmware.  I have not had
problems with it.  Maybe I'm in for some trouble at the next upgrade?

I have seen some problem with automatic speed detection in this and
other modems before.  The crucial point is that there has to be some delay
(silence) BEFORE each AT command.  It often does not work ok when you
send a command to the modem immediately after detecting an OK response.
In another program (a voice answering machine I wrote for the ZyXEL), I
first wait for the <lf> in the OK<cr><lf> sequence, and then wait another
20ms before sending the next command.
In DIP, there are much longer delays in certain places, but you can also
send rapid commands by programming your own script, and maybe this confuses
the modem.

With 6.11 in the modem, I use scripts like this for dialling:

  # Set the desired serial port and speed.
  port ttyS5
  if $errlvl != 0 goto modem_trouble
  speed 76800

  # Reset the modem and terminal line.
  # This seems to cause trouble for some people!
  reset
  init ATM3

  if $errlvl != 0 goto modem_trouble
  dial 123456
  if $errlvl != 0 goto modem_trouble
  wait CONNECT 60
  if $errlvl != 0 goto modem_trouble

This works ok.  Note that I do not attempt to use "send AT, wait for OK"
sequences, but use the higher-level commands that have built-in waits.

Rob
--
-------------------------------------------------------------------------


-------------------------------------------------------------------------

 
 
 

dip-3.3.7-uri, 57600bps & ZyXEL 6.12

Post by Uri Blumenth » Tue, 10 May 1994 03:08:20



Quote:> I am using dip-3.3.7-uri (18 Apr 94), Linux 1.1.11, a ZyXEL U-1496E
> modem.

Good for you! (:-)

Quote:> As I understand it, in dip-3.3.7, setting the speed to 57600 means
> that the port speed is set to 38400 and then a flag (spd_hi) is set in
> the serial driver to use 57600 when 38400 is requested. Basically
> elminating the need to run "setserial /dev/cua1 spd_hi" before
> starting dip.

WRONG! You still HAVE to run "setsserial /dev/cua1 spd_hi".

Quote:> I issue the following in the test mode of dip:
> <1> port cua1              # set the port
> <2> speed 57600            # set the speed
> <3> send at\r              # sent at\r to the line
> <4> wait OK 2              # wait for the string "OK" from the
>                            # line for 2 secconds

This would be correct, if you didn't try to outsmart the driver (:-)
and didn't eliminate that setserial... All the rest loks kosher...
 
 
 

dip-3.3.7-uri, 57600bps & ZyXEL 6.12

Post by Paul Si » Tue, 10 May 1994 21:53:52


|> Hi! I am having problems with my autologin script for dip since I
|> upgraded to the latest ZyXEL 6.12 ROM. The dip autologin script works
|> fine with my old 6.00 ROM.
|>
|> I am using dip-3.3.7-uri (18 Apr 94), Linux 1.1.11, a ZyXEL U-1496E
|> modem.
|>
|> As I understand it, in dip-3.3.7, setting the speed to 57600 means
|> that the port speed is set to 38400 and then a flag (spd_hi) is set in
|> the serial driver to use 57600 when 38400 is requested. Basically
|> elminating the need to run "setserial /dev/cua1 spd_hi" before
|> starting dip.
|>
|> I issue the following in the test mode of dip:
|>
|> <1> port cua1              # set the port
|> <2> speed 57600            # set the speed
|> <3> send at\r              # sent at\r to the line
|> <4> wait OK 2              # wait for the string "OK" from the
|>                            # line for 2 secconds
|>
|> Step <4> returns with an error message like "getc: I/O error". After I
|> exited dip, and use kermit to look at the line /dev/cua1, I find that
|> it is in a strange state. i.e. typing AT\r does not give me an OK, the
|> cursor jumps to the beginning of the line and that's it. "+++", "ATZ"
|> does not help. The only sure way to get out of this state is to power
|> down and power up the modem.
|>
|> The occasion when the above with "speed 57600" works is when the
|> machine is rebooted, and dip is run during bootup.
|>
|> If I replace step <2> with "speed 38400", everything is fine.
|>
|> I am lost as to what is causing the problem. Could be the new ROM,
|> could be a bug in dip which only shows up with the new ROM, or a bug
|> in the serial driver in Linux. I suspect it's dip's fault, because the
|> following seems to work.
|>
|> <1> I run "setserial /dev/cua1 spd_normal", which means when 38400 is
|>     selected it means 38400.
|> <2> I run kermit asking for speed 38400, and connect to the line.
|> <3> Type AT\r and then AT&V\r to see the S20 register, which tells me
|>     what DTE speed my modem has detected. It's 38400.
|> <4> In another window I run "setserial /dev/cua1 spd_hi", which means
|>     when 38400 is selected it means 57600.
|> <5> Type AT\r and then AT&V\r to see the S20 register. It tells me it
|>     has detected 57600.
|>
|> I repeat the above with alternating spd_hi and spd_normal, and the
|> modem always detect the right DTE speed. Therefore, I suspect there is
|> something strange with the way dip switches the DTE speed that
|> confuses the modem.
|>
|> Anybody out there having a similar problem? Any Linuxers that uses dip
|> and have a ZyXEL modem with the latest ROM?
|>
|> Thanks in advance!
|>
|> Delman.
|> --
|> ______________________________________________________________________
|>
|>   Delman Lee                                 Tel.: +1-215-662-6780
|>   Medical Image Processing Group,            Fax.: +1-215-898-9145
|>   University of Pennsylvania,
|>   4/F Blockley Hall, 418 Service Drive,                        
|>   Philadelphia, PA 19104-6021,

|> ______________________________________________________________________

--
Paul Sitz                                                          
Empros                             Facility Code:  PLY067

Plymouth, MN  55441-3694           screammail:     (612) 553-4516

 
 
 

dip-3.3.7-uri, 57600bps & ZyXEL 6.12

Post by Delman L » Wed, 11 May 1994 06:02:11



   Newsgroups: comp.os.linux.admin,comp.dcom.modems,
   Date: 8 May 1994 18:08:20 GMT

   > As I understand it, in dip-3.3.7, setting the speed to 57600 means
   > that the port speed is set to 38400 and then a flag (spd_hi) is set in
   > the serial driver to use 57600 when 38400 is requested. Basically
   > elminating the need to run "setserial /dev/cua1 spd_hi" before
   > starting dip.

   WRONG! You still HAVE to run "setsserial /dev/cua1 spd_hi".

Emm...as I understand from the source code of dip, spd_hi IS set when
57600 is selected. Also if one does a "setserial -a /dev/cua1" after
running dip with 57600, one will see that spd_hi is set. Are there
other reasons why "setsserial /dev/cua1 spd_hi" needs to be run before
running dip?

Cheers, Delman.
--
______________________________________________________________________

  Delman Lee                                 Tel.: +1-215-662-6780
  Medical Image Processing Group,            Fax.: +1-215-898-9145
  University of Pennsylvania,
  4/F Blockley Hall, 418 Service Drive,                        
  Philadelphia, PA 19104-6021,

______________________________________________________________________

 
 
 

dip-3.3.7-uri, 57600bps & ZyXEL 6.12

Post by Floyd Davids » Wed, 11 May 1994 11:59:38




>> As I understand it, in dip-3.3.7, setting the speed to 57600 means
>> that the port speed is set to 38400 and then a flag (spd_hi) is set in
>> the serial driver to use 57600 when 38400 is requested. Basically
>> elminating the need to run "setserial /dev/cua1 spd_hi" before
>> starting dip.

>WRONG! You still HAVE to run "setsserial /dev/cua1 spd_hi".

>> I issue the following in the test mode of dip:
>> <1> port cua1              # set the port
>> <2> speed 57600            # set the speed
>> <3> send at\r              # sent at\r to the line
>> <4> wait OK 2              # wait for the string "OK" from the
>>                            # line for 2 secconds

>This would be correct, if you didn't try to outsmart the driver (:-)
>and didn't eliminate that setserial... All the rest loks kosher...

Not quite there yet.

First set the port with setserial (setserial /dev/cua1 spd_hi).

Then, in your dip session or script:

    port cua1
    speed 38400         # actually sets port to 57.6K
    ...
    dial nnn-nnnn
    wait 57600 60       # the connect message will show 57600, not 38400

Note that when setserial has been used with "spd_hi" setting the
port to 38400 will actually set it to 57600.  To actually set it
to 38400, use "spd_normal".  To actually it to 115200 use
"spd_vhi".

But in all cases the way to set it is first give the proper
setserial command, and then use a command that normally would set
38400.  In fact what will be set depends on the "spd_*" argument.

--

Salcha, Alaska              system at the University of Alaska at Fairbanks.

 
 
 

dip-3.3.7-uri, 57600bps & ZyXEL 6.12

Post by Delman L » Wed, 11 May 1994 23:44:48


   I wrote that addition to DIP (the 57600 bps setting internal to DIP),
   and my own modem is a ZyXEL running the 6.11 firmware.  I have not had
   problems with it.  Maybe I'm in for some trouble at the next upgrade?

   I have seen some problem with automatic speed detection in this and
   other modems before.  The crucial point is that there has to be some delay
   (silence) BEFORE each AT command.  It often does not work ok when you
   send a command to the modem immediately after detecting an OK response.
   In another program (a voice answering machine I wrote for the ZyXEL), I
   first wait for the <lf> in the OK<cr><lf> sequence, and then wait another
   20ms before sending the next command.
   In DIP, there are much longer delays in certain places, but you can also
   send rapid commands by programming your own script, and maybe this confuses
   the modem.

I tried adding delay before sending the AT command. Actually I added a
1sec pause (in tty_putc) before the sending of each character. Doesn't
seem to help. The following dip script eventually fails after a few
goes.

  port cua1
  speed 57600
  send at\r
  wait OK 2

[Even though I don't think it will help, I tried using "setserial
/dev/cua1 spd_hi" before entering dip as suggested by someone, but no
use either.] When speed is changed to 38400, it works.

I am leaning towards blaming the PROM for it, because similar problem
occurs when I use kermit. After setting spd_hi, typing the following
in kermit sometimes causes the problem:

  set line /dev/cua1
  set speed 38400
  output at\13
  input 2 OK

Waiting for OK will fail sometimes. If I look at the line (i.e. doing
a connect after "output at\13", I see the AT command BUT the cursor
is under "A" and not in the next line. If I then hit a return, it
returns an ERROR. Typing AT<CR> on the keyboard, always returns OK.

I am puzzled. I will send more emails to ZyXEL and see what they say.

Delman.

--
______________________________________________________________________

  Delman Lee                                 Tel.: +1-215-662-6780
  Medical Image Processing Group,            Fax.: +1-215-898-9145
  University of Pennsylvania,
  4/F Blockley Hall, 418 Service Drive,                        
  Philadelphia, PA 19104-6021,

______________________________________________________________________

 
 
 

dip-3.3.7-uri, 57600bps & ZyXEL 6.12

Post by u.. » Thu, 12 May 1994 01:59:10



Quote:>Not quite there yet.
>First set the port with setserial (setserial /dev/cua1 spd_hi).
>Then, in your dip session or script:
>    port cua1
>    speed 38400             # actually sets port to 57.6K

WRONG again. You should BOTH use "setserial" AND tell the true speed
to DIP.
--
Regards,

-----------
<Disclaimer>
 
 
 

dip-3.3.7-uri, 57600bps & ZyXEL 6.12

Post by Rob Janss » Mon, 16 May 1994 05:57:24




>>Not quite there yet.
>>First set the port with setserial (setserial /dev/cua1 spd_hi).
>>Then, in your dip session or script:
>>    port cua1
>>    speed 38400         # actually sets port to 57.6K
>WRONG again. You should BOTH use "setserial" AND tell the true speed
>to DIP.

Uri,

I tried to mail you but it first bounced, and the second try apparently
went in a black hole.

When you have taken over my patches for the higher speeds, (and I think you
did) it is unneccessary to use setserial.  Just use "speed 57600" etc.

Rob
--
-------------------------------------------------------------------------


-------------------------------------------------------------------------

 
 
 

dip-3.3.7-uri, 57600bps & ZyXEL 6.12

Post by Floyd Davids » Mon, 16 May 1994 11:02:04




>>Not quite there yet.
>>First set the port with setserial (setserial /dev/cua1 spd_hi).
>>Then, in your dip session or script:
>>    port cua1
>>    speed 38400         # actually sets port to 57.6K

>WRONG again. You should BOTH use "setserial" AND tell the true speed
>to DIP.

Yup.   I'm not using your version of DIP...  thats the way it works on
other versions.  (I hacked mine to default to 38.4K and I don't even
use the "speed" command in the script...)

   Floyd

--

Salcha, Alaska              system at the University of Alaska at Fairbanks.

 
 
 

1. diplogin -> dip-3.3.7-uri or dip-3.3.7i?

I am still trying to straighten out using Linux as
a SLIP server.  Should diplogin link to dip-3.3.7-uri
or should it point to dip-3.3.7i?  I want to use
diplogin in the passwd file as the "shell":

Slip::501:100:Slip user:/tmp:/sbin/diplogin

Right now I have:

lrwxrwxrwx   1 root     root        10 Sep 26 12:11 dip -> dip-3.3.7i*
-rwxr-xr-x   1 root     bin      25604 Feb 12  1994 dip-3.3.7*
-rwxr-xr-x   1 root     bin      29700 Apr 15  1994 dip-3.3.7-uri*
-rwxr-xr-x   1 root     bin      33880 Sep 11 23:21 dip-3.3.7i*
lrwxrwxrwx   1 root     root        13 Jan 31 20:54 diplogin -> dip-3.3.7-uri*

When I try to dialin to the Linux machine with this configuration,
after the user name and password I get:

DIP: Dialup IP Protocol
Then the phone line hangs up.

Any ideas?

--
----------------------------------------------------------------------------
Andrew Mitz, Biomedical Eng., National Institutes | Opinions are mine alone

----------------------------------------------------------------------------

2. RedHat 6.1 binaries and RPM's available for KDE2 PreAlph

3. DIP-3.3.7-uri (was Re: Bizzare DIP/CSLIP problem

4. fvwm: acroread fullscreen mode problem

5. DIP-3.3.7-uri tty_notlocal problem

6. Help on Failing Slip Line

7. strange behaviour of dip-3.3.7-uri

8. Suggestion: Bill clients the cost of using NT

9. DIP-3.3.7-uri dialin problem

10. New DIP-3.3.7-uri released

11. Compiling dip-3.3.7-uri

12. New DIP-3.3.7-uri released

13. dip-3.3.7h-uri & Zyxel U1496E SOLVED!!!