Getting Junk out of Modem Speaker/Local Handset

Marc SCHAEFER (schaefer@alphanet.ch)
Sat, 21 Aug 1999 17:54:21 +0200



> Does anyone have access playing messages to internal speaker or local
> handset with ZyXEL Elite 2864I?
> "vm play -v -s zyxel_2.9600.rmd" or "vm play -v -w -H zyxel_2.9600.rmd"

So, I just tried the first command. Details:

   - it did not produce garbled output.

   - command was
        /usr/lib/mgetty/vm-1.1.21 play -v -s /usr/spool/voice/mailboxes/0/msg_990821173101_from_-1_12013

   - the file is:
        modem type is: "ZyXEL 2864"
        compression method: 0x0002
        sample speed: 9600
        bits per sample: 2

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

   - If I change do_hard_flow to true for vm:
        I get a lot of noise at end.

   - If I change vgetty to do_hard_flow false (generic section)
        No change.

   - If I try ADPCM 4 from an au audio file conversion, on vm, with
     my usual configuration

gzip -d < /share/archives/sounds/generiques/startrek.au.gz |
/usr/lib/mgetty/pvftools-1.1.21/autopvf |
/usr/lib/mgetty/pvftools-1.1.21/pvfspeed -s 9600
| /usr/lib/mgetty/pvftools-1.1.21/pvftormd ZyXEL_2864 4 > /tmp/a1;
/usr/lib/mgetty/vm-1.1.21 play -s /tmp/a1

     It works perfectly with vm, and also with vgetty.     
(Except maybe the sound was a little shifted upwards from 8000 to 9600
Hz --- I think that's a bug with pvfspeed, it just fakes the speed,
doesn't resample. You need sox for resampling).

> I also tried different versions of m/vgetty (now v1.1.21) and the modem
> firmware (now 2.99i/2.01d). No success.

I use 2.11 at this time.

> I switched from  do_hard_flow true to false. Then some messages were

seems bizarre

> very stable if I use do_hard_flow true...

and if you specify true for vm and false for mgetty

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.