ZOOM faxmodem - slow fax reception

Dmitry Pogosyan (pogosyan@cita.utoronto.ca)
Tue, 4 May 1999 20:52:10 -0400


Hi, I just recently started using mgetty/sendfax/vgetty package, and
first of all would like to thank authors for their work !

I use mgetty-1.1.19-1 from RPM distribution together with
mgetty-sendfax-1.1.19-1.rpm and mgetty-voice-1.1.19-1.rpm
My modem is ZOOM 2919 dual 56KFlex (Rockwell chip, I guess).

Now, everything seems to work well (although I did not check 
extensively voice, to be sure). One problem is, that all fax
receiptions I was able to get were in transmission mode

	+FDCS 0,0,0,0,0,0,0,5
i.e very slow 2400 bps, no error correction, and only normal resolution.

I tried 2 different fax machines to send myself a fax - with the same
results. (and I did request fine resolution and error correction on
those fax machines - but the mode was switched to normal/no ecc
as soon as connection was established). Otherwise reception was 
succesfull.

I have included below the log of the session. Sorry it is somewhat long,
but I tried to delete everything irrelevant. Seems my modem goes straight
into this lowest 0,0,0,0,0,0,0,5 mode, not as the result of falling down
from something better. I'd appreciate to get any advice. Can somebody
share their experiences with ZOOM modems ?


On the other had, sending fax works all right. sendfax.log is almost
identical to the example in mgetty manual. Typical transmission mode
I get is +FDCS 1,3,0,2,1,0,0,2. I'm not going to include this log
here, but, BTW, modem quirks are detected to be 0004 - If I knew what
it means. Still, a minor question on sending: In the beginnig of
session (before any conections) I have
	tss: set speed to 38400 (017)
Why is it so, if in all config files I set speed to 115200 ?

			Thanks, Dmitri Pogosyan


--------- Reception Log --------------------------------------
	 
05/03 20:59:33 yS3  waiting...
05/03 21:04:14 yS3    select returned 1
05/03 21:04:14 yS3   checking lockfiles, locking the line
05/03 21:04:14 yS3   makelock(ttyS3) called
05/03 21:04:14 yS3   do_makelock: lock='/var/lock/LCK..ttyS3'
05/03 21:04:14 yS3   lock made
05/03 21:04:14 yS3    vgetty: number of rings (5) was set directly
05/03 21:04:14 yS3    vgetty: decremented number of rings (5) by 0
05/03 21:04:14 yS3  wfr: waiting for ``RING''
05/03 21:04:14 yS3   got: [0d][0a]RING[0d]
05/03 21:04:14 yS3    CND: RING
05/03 21:04:14 yS3   wfr: rc=0, drn=0
/*	5 times the same			-my comment DP */
05/03 21:04:38 yS3    CND: check no: 'none'
05/03 21:04:38 yS3  reading ring_type ring configuration from config file
					 /etc/mgetty+sendfax/voice.conf
05/03 21:04:38 yS3   reading /etc/mgetty+sendfax/voice.conf...
05/03 21:04:38 yS3   conf lib: read: 'part generic'
05/03 21:04:38 yS3   found CT_KEYWORD part generic
05/03 21:04:38 yS3   conf lib: read: 'voice_log_level 6'
05/03 21:04:38 yS3   conf lib: read: 'voice_dir /var/spool/voice'
05/03 21:04:38 yS3   conf lib: read: 'phone_owner root'
05/03 21:04:38 yS3   conf lib: read: 'phone_group phone'
05/03 21:04:38 yS3   conf lib: read: 'phone_mode 0660'
05/03 21:04:38 yS3   conf lib: read: 'message_flag_file .flag'
05/03 21:04:38 yS3   conf lib: read: 'receive_dir incoming'
05/03 21:04:38 yS3   conf lib: read: 'message_dir messages'
05/03 21:04:38 yS3   conf lib: read: 'message_list Index'
05/03 21:04:38 yS3   conf lib: read: 'backup_message standard.rmd'
05/03 21:04:38 yS3   conf lib: read: 'port_speed 115200'
05/03 21:04:38 yS3   conf lib: read: 'voice_shell /bin/sh'
05/03 21:04:38 yS3   conf lib: read: 'port_timeout 10'
05/03 21:04:38 yS3   conf lib: read: 'dial_timeout 90'
05/03 21:04:38 yS3   conf lib: read: 'command_delay 100'
05/03 21:04:38 yS3   conf lib: read: 'dtmf_len 30'
05/03 21:04:38 yS3   conf lib: read: 'dtmf_threshold 40'
05/03 21:04:38 yS3   conf lib: read: 'dtmf_wait 7'
05/03 21:04:38 yS3   conf lib: read: 'ignore_fax_dle false'
05/03 21:04:38 yS3   conf lib: read: 'raw_data false'
05/03 21:04:38 yS3   conf lib: read: 'rec_compression 0'
05/03 21:04:38 yS3   conf lib: read: 'rec_speed 0'
05/03 21:04:38 yS3   conf lib: read: 'rec_silence_len 70'
05/03 21:04:38 yS3   conf lib: read: 'rec_silence_threshold 40'
05/03 21:04:38 yS3   conf lib: read: 'rec_remove_silence false'
05/03 21:04:38 yS3   conf lib: read: 'rec_max_len 300'
05/03 21:04:38 yS3   conf lib: read: 'rec_min_len 0'
05/03 21:04:38 yS3   conf lib: read: 'do_hard_flow true'
05/03 21:04:38 yS3   conf lib: read: 'beep_frequency 933'
05/03 21:04:38 yS3   conf lib: read: 'beep_length 1500'
05/03 21:04:38 yS3   conf lib: read: 'max_tries 3'
05/03 21:04:38 yS3   conf lib: read: 'retry_delay 5'
05/03 21:04:38 yS3   conf lib: read: 'watchdog_timeout 60'
05/03 21:04:38 yS3   conf lib: read: 'receive_gain -1'
05/03 21:04:38 yS3   conf lib: read: 'transmit_gain -1'
05/03 21:04:38 yS3   conf lib: read: 'enable_command_echo false'
05/03 21:04:38 yS3   conf lib: read: 'poll_interval 10'
05/03 21:04:38 yS3   conf lib: read: 'program vgetty'
05/03 21:04:38 yS3   conf lib: read: 'rings 5'
05/03 21:04:38 yS3   conf lib: read: 'answer_mode voice:fax:data'
05/03 21:04:38 yS3   conf lib: read: 'force_autodetect true'
05/03 21:04:38 yS3   conf lib: read: 'toll_saver_rings 0'
05/03 21:04:38 yS3   conf lib: read: 'rec_always_keep true'
05/03 21:04:38 yS3   conf lib: read: 'button_program '
05/03 21:04:38 yS3   conf lib: read: 'call_program '
05/03 21:04:38 yS3   conf lib: read: 'dtmf_program dtmf.sh'
05/03 21:04:38 yS3   conf lib: read: 'message_program '
05/03 21:04:38 yS3   conf lib: read: 'do_message_light false'
05/03 21:04:38 yS3   conf lib: read: 'program vm'
05/03 21:04:38 yS3   conf lib: read: 'voice_devices ttyS3'
05/03 21:04:38 yS3   conf lib: read: 'dialout_timeout 90'
05/03 21:04:38 yS3   conf lib: read: 'program pvf'
05/03 21:04:38 yS3   conf lib: read: 'port ttyS0'
05/03 21:04:38 yS3   conf lib: read: 'port ttyS5'
05/03 21:04:38 yS3   conf lib: read: 'ring_type virtual'
05/03 21:04:38 yS3   section: ring_type virtual, ignore
05/03 21:04:38 yS3   conf lib: read: 'answer_mode fax:data'
05/03 21:04:38 yS3   conf lib: read: 'ring_type ring'
05/03 21:04:38 yS3   section: ring_type ring, **found**
05/03 21:04:38 yS3   conf lib: read: 'ring_type ring1'
05/03 21:04:38 yS3   section: ring_type ring1, ignore
05/03 21:04:38 yS3   key: 'part', type=6, flags=4, data=(ignored)
05/03 21:04:38 yS3   key: 'program', type=6, flags=4, data=(ignored)
05/03 21:04:38 yS3   key: 'port', type=6, flags=4, data=(ignored)
05/03 21:04:38 yS3   key: 'ring_type', type=6, flags=4, data=(ignored)
05/03 21:04:38 yS3   key: 'voice_log_level', type=0, flags=3, data=6
05/03 21:04:38 yS3   key: 'voice_shell', type=1, flags=3, data=/bin/sh
05/03 21:04:38 yS3   key: 'port_speed', type=0, flags=3, data=115200
05/03 21:04:38 yS3   key: 'port_timeout', type=0, flags=3, data=10
05/03 21:04:38 yS3   key: 'dial_timeout', type=0, flags=3, data=90
05/03 21:04:38 yS3   key: 'command_delay', type=0, flags=3, data=100
05/03 21:04:38 yS3   key: 'dtmf_len', type=0, flags=3, data=30
05/03 21:04:38 yS3   key: 'dtmf_threshold', type=0, flags=3, data=40
05/03 21:04:38 yS3   key: 'dtmf_wait', type=0, flags=3, data=7
05/03 21:04:38 yS3   key: 'ignore_fax_dle', type=3, flags=3, data=FALSE
05/03 21:04:38 yS3   key: 'raw_data', type=3, flags=3, data=FALSE
05/03 21:04:38 yS3   key: 'rec_compression', type=0, flags=3, data=0
05/03 21:04:38 yS3   key: 'rec_speed', type=0, flags=3, data=0
05/03 21:04:38 yS3   key: 'rec_silence_len', type=0, flags=3, data=70
05/03 21:04:38 yS3   key: 'rec_silence_threshold', type=0, flags=3, data=40
05/03 21:04:38 yS3   key: 'rec_remove_silence', type=3, flags=3, data=FALSE
05/03 21:04:38 yS3   key: 'rec_max_len', type=0, flags=3, data=300
05/03 21:04:38 yS3   key: 'rec_min_len', type=0, flags=3, data=0
05/03 21:04:38 yS3   key: 'do_hard_flow', type=3, flags=3, data=TRUE
05/03 21:04:38 yS3   key: 'force_autodetect', type=3, flags=3, data=TRUE
05/03 21:04:38 yS3   key: 'watchdog_timeout', type=0, flags=3, data=60
05/03 21:04:38 yS3   key: 'receive_gain', type=0, flags=3, data=-1
05/03 21:04:38 yS3   key: 'transmit_gain', type=0, flags=3, data=-1
05/03 21:04:38 yS3   key: 'enable_command_echo', type=3, flags=3, data=FALSE
05/03 21:04:38 yS3   key: 'poll_interval', type=0, flags=3, data=10
05/03 21:04:38 yS3   key: 'rings', type=1, flags=3, data=5
05/03 21:04:38 yS3   key: 'answer_mode', type=1, flags=3, data=voice:fax:data
05/03 21:04:38 yS3   key: 'toll_saver_rings', type=0, flags=3, data=0
05/03 21:04:38 yS3   key: 'rec_always_keep', type=3, flags=3, data=TRUE
05/03 21:04:38 yS3   key: 'voice_dir', type=1, flags=3, data=/var/spool/voice
05/03 21:04:38 yS3   key: 'phone_owner', type=1, flags=3, data=root
05/03 21:04:38 yS3   key: 'phone_group', type=1, flags=3, data=phone
05/03 21:04:38 yS3   key: 'phone_mode', type=0, flags=3, data=432
05/03 21:04:38 yS3   key: 'message_flag_file', type=1, flags=3, data=.flag
05/03 21:04:38 yS3   key: 'receive_dir', type=1, flags=3, data=incoming
05/03 21:04:38 yS3   key: 'message_dir', type=1, flags=3, data=messages
05/03 21:04:38 yS3   key: 'message_list', type=1, flags=3, data=Index
05/03 21:04:38 yS3   key: 'backup_message', type=1, flags=3, data=standard.rmd
05/03 21:04:38 yS3   key: 'button_program', type=1, flags=3, data=
05/03 21:04:38 yS3   key: 'call_program', type=1, flags=3, data=
05/03 21:04:38 yS3   key: 'dtmf_program', type=1, flags=3, data=dtmf.sh
05/03 21:04:38 yS3   key: 'message_program', type=1, flags=3, data=
05/03 21:04:38 yS3   key: 'do_message_light', type=3, flags=3, data=FALSE
05/03 21:04:38 yS3   key: 'beep_frequency', type=0, flags=3, data=933
05/03 21:04:38 yS3   key: 'beep_length', type=0, flags=3, data=1500
05/03 21:04:38 yS3   key: 'max_tries', type=0, flags=3, data=3
05/03 21:04:38 yS3   key: 'retry_delay', type=0, flags=3, data=5
05/03 21:04:38 yS3   key: 'dialout_timeout', type=0, flags=1, data=90
05/03 21:04:38 yS3   key: 'voice_devices', type=1, flags=1, data=
05/03 21:04:38 yS3    vgetty: answer mode was set directly
05/03 21:04:38 yS3    vgetty: answer mode is [data|fax|voice]
05/03 21:04:38 yS3    vgetty: opening list file /var/spool/voice/messages/Index
05/03 21:04:38 yS3    vgetty: message name is
                                   /var/spool/voice/messages/standard.rmd
05/03 21:04:38 yS3   vgetty: entering voice mode

/*	I'll skip voice negotiation part			DP */

05/03 21:04:46 yS3    vgetty: trying data and fax connection
05/03 21:04:46 yS3   voice command: 'AT#CLS=2' -> 'OK'
05/03 21:04:46 yS3    vgetty: AT#CLS=2
05/03 21:04:46 yS3    Rockwell: OK
05/03 21:04:46 yS3   voice command: 'AT' -> 'OK'
05/03 21:04:47 yS3    vgetty: AT
05/03 21:04:47 yS3    Rockwell: OK
05/03 21:04:47 yS3   voice command: 'AT+FAA=1' -> 'OK'
05/03 21:04:47 yS3    vgetty: AT+FAA=1
05/03 21:04:47 yS3    Rockwell: OK
05/03 21:04:47 yS3   vgetty: Restoring signal handlers
05/03 21:04:47 yS3  mdm_send: 'AT+FBOR=0'
05/03 21:04:47 yS3    got:[0a][0d][0a]OK[0d]
05/03 21:04:47 yS3   mdm_command: string 'OK' -> OK
05/03 21:04:47 yS3  send: ATA[0d]
05/03 21:04:47 yS3  waiting for ``CONNECT''
05/03 21:04:47 yS3   got: [0d]
05/03 21:04:53 yS3    CND: OK[0a]+FCON
05/03 21:04:53 yS3  found action string: ``+FCON''
05/03 21:04:53 yS3  start fax receiver...
05/03 21:04:53 yS3   fax receiver: entry
05/03 21:04:53 yS3  fax_wait_for(OK)
05/03 21:04:53 yS3    got:[0a][0d][0a][0d][0a]+FDCS: 0,0,0,0,0,0,0,5[0d]
05/03 21:04:54 yS3   fax_wait_for: string '+FDCS: 0,0,0,0,0,0,0,5'
05/03 21:04:54 yS3  transmission par.: '+FDCS: 0,0,0,0,0,0,0,5'
05/03 21:04:54 yS3    got:[0a][0d][0a]OK[0d]
05/03 21:04:54 yS3   fax_wait_for: string 'OK'** found **
05/03 21:04:54 yS3    looking for utmp entry... (my PID: 24315)
05/03 21:04:54 yS3   utmp + wtmp entry made
05/03 21:04:54 yS3   tio_set_flow_control( HARD XON_IN )
05/03 21:04:54 yS3  fax_send: 'AT+FDR'
05/03 21:04:54 yS3  fax_wait_for(CONNECT)
05/03 21:04:54 yS3    got:[0a][0d][0a]+FCFR[0d]
05/03 21:04:57 yS3   fax_wait_for: string '+FCFR'
05/03 21:04:57 yS3    got:[0a][0d][0a]+FDCS: 0,0,0,0,0,0,0,5[0d]
05/03 21:04:59 yS3   fax_wait_for: string '+FDCS: 0,0,0,0,0,0,0,5'
05/03 21:04:59 yS3  transmission par.: '+FDCS: 0,0,0,0,0,0,0,5'
05/03 21:04:59 yS3    got:[0a][0d][0a]CONNECT[0d]
05/03 21:04:59 yS3   fax_wait_for: string 'CONNECT'** found **
05/03 21:04:59 yS3   sending DC2
05/03 21:04:59 yS3   fax_get_page_data: wait for EOL, got: [0a]~[7f][c0][00]
05/03 21:04:59 yS3  fax_get_page_data: receiving
                                  /var/spool/fax/incoming/fn72e47a6S3.01...
05/03 21:05:24 yS3  fax_get_page_data: page end, bytes received: 7390
05/03 21:05:24 yS3  fax_wait_for(OK)
05/03 21:05:24 yS3    got:[0d][0a]+FPTS: 1,2219,0,0[0d]
05/03 21:05:24 yS3   fax_wait_for: string '+FPTS: 1,2219,0,0'
05/03 21:05:24 yS3  page status: +FPTS: 1,2219,0,0
05/03 21:05:24 yS3   2219 lines received, 0 lines bad, 0 bytes lost
05/03 21:05:24 yS3    got:[0a][0d][0a]+FET: 2[0d]
05/03 21:05:25 yS3   fax_wait_for: string '+FET: 2'
05/03 21:05:25 yS3    got:[0a][0d][0a]OK[0d]
05/03 21:05:25 yS3   fax_wait_for: string 'OK'** found **
05/03 21:05:25 yS3  fax_send: 'AT+FDR'
05/03 21:05:25 yS3  fax_wait_for(CONNECT)
05/03 21:05:25 yS3    got:[0a][0d][0a]+FHNG: 0[0d]
05/03 21:05:28 yS3   fax_wait_for: string '+FHNG: 0'
05/03 21:05:28 yS3  connection hangup: '+FHNG: 0'
05/03 21:05:28 yS3   (Normal and proper end of connection)** found **
05/03 21:05:28 yS3   fax receiver: hangup & end
05/03 21:05:28 yS3   fax_notify_mail: sending mail to: root
05/03 21:05:28 yS3   notify: '/usr/local/lib/mgetty+sendfax/new_fax 0 '' 1
/var/spool/fax/incoming/fn72e47a6S3.01 >/dev/console 2>&1 </dev/null'
05/03 21:05:28 ##### fax dev=ttyS3, pid=24315, caller='none', name='',
 id='', +FHNG=000, pages=1, time=00:00:50

---------------------------------------------------------------------------
Dmitri Pogosian					102 Aldwych Ave.
tel/fax: 1-416-466-4028				Toronto, ON M4J 1X6
 e-mail: pogosyan@cita.utoronto.ca		Canada
---------------------------------------------------------------------------