Getting Junk out of Modem Speaker/Local Handset

"Stefan Theurer" (theurer@studbox.uni-stuttgart.de)
Thu, 26 Aug 1999 19:05:43 +0200


>    - my configuration file for vm sets the following things:
>         do_hard_flow false
>      interestingly, I use do_hard_flow true in the generic part.

> So, my summary:
>    - there must be a bug in vm which makes do_hard_flow needed.
>    - The work-around is to disable it globally (generic section)
>      and enable it in voice.conf's program vm config.

According to your description above the workaround is to *enable*
do_hard_flow globally and to *disable*  it for vm.
I've set my voice.conf as you have (normally) and I can duplicate your
results. Thank you.

So there is just the thing about the flow-control setting and the speed of
playing files.

To analyze this with a clear head I read - once again - the things they
write in the Elite 2864 manual about flow-control.
My result is: It doesn't matter in which mode (DATA, FAX, VOICE) you are,
the best flow-control you can use is RTS/CTS (Elite 2864 supports this in
every mode). And *only* RTS/CTS. Not both, RTS/CTS & XON/XOFF.
They say this not very clear. But the AT command (AT+FLO=n, n=0,1,2) to set
flow-control is defined in Class 2 and 2.0. n=0 means no flow-control, n=1
XON/XOFF and n=2 RTS/CTS.
So I can't understand why they write things like 'According to Class 2 both
hardware-flow-control (RTS/CTS) and software-flow-control (XON/XOFF) are
activated'. (german manual 2864 series, Rev. 1.0, p15-9). This is confusing.
Other flow-control related pages in the manual:
- p15-15/18 ...when AT+FCLASS=6 is set, RTS/CTS is used always
- p16-10 ...confusing paragraph about flow-control in VOICE-mode

So, if I'm right (one can't use both properly), I found an intersting thing
in my vm-log:
I have set do_hard_flow true in the voice.conf vm-section (and globally), I
type
"vm play -v -s zyxel_2.9600.rmd" or "vm play -v -w -H zyxel_2.9600.rmd", (I
hear garbage...),
but vm-log reports:
08/26 18:02:01    vm: AT+FLO=2
08/26 18:02:01    ZyXEL 2864: OK
08/26 18:02:01   tio_set_flow_control( HARD XON_OUT )
08/26 18:02:01   voice command: 'AT+VTX' -> 'CONNECT'
08/26 18:02:02    vm: AT+VTX
08/26 18:02:02    ZyXEL 2864: CONNECT
I think tio_set_flow_control should set HARD only.
The modem doesn't expect XON(ASCII 0x11h) or XOFF(ASCII 0x13h) but the
computer may send them.
But this isn't really an explanation for the garbage in the internal speaker
/ local handset, because this is done in the same way on the telco line.
'tio_set_flow_control' is also called with 'HARD XON_OUT' when playing and
'HARD XON_IN' when recording, but there is no garbage.

Apropos the thing with the speed (now, do_hard_flow false is set for vm
again). I don't think this is bug of the pvf-tools.
If I play incoming messages (recorded with ZyXEL_2864 2.9600) from the telco
line with vm play -w -H ... the message is played to slow. But if I call my
answering machine and listen to incoming messages (with dtmf.sh) the speed
is correct.
To make things strange the speed is also correct when played with the
internal speaker.

Stefan.