Subject: fax with mgetty and Dr. Neuhaus modem
To: None <port-mac68k@netbsd.org>
From: D. Gassen <gadi0013@fh-karlsruhe.de>
List: port-mac68k
Date: 03/09/1999 18:35:02
Hi,

does anybody use mgetty to receive fax? I successfully installed mgetty
from the package system (works really great!) and mgetty seems to work
correctly. The only problem is that nearly every fax is aborted due to
timeouts. The modem is listed in docs/modems.db as working under Linux.
I even implemented the proposed patch with no success.

I use a selfmade cable:

HSKi  2 ----------------------  5 CTS
TxD-  3 ----------------------  2 TxD
GND   4 ----------------------  7 SG
RxD-  5 ----------------------  3 RxD
GPi   7 ----------------------  8 DCD
HsKo  1 ------------------+--- 20 DTR
GND   4 ---+              !
           !              !
RxD+  8 ---+              +---  4 RTS

I used this cable with success to connect to my internet provider (only
problem: silo overflows with high speeds).

Kernel version is 1.3.2, entry in /etc/ttys:

	tty01 "/usr/local/sbin/mgetty tty01" vt100 on insecure

Modem initialisation string (as proposed in doc/modems.db):

	AT&F0S0=0M0L3\Q3\J1

Here are the messages of the initialisation from /var/log/mgetty.tt01:

03/06 15:55:34 y01  mgetty: experimental test release 1.1.19-Nov24
03/06 15:55:35 y01  check for lockfiles
03/06 15:55:35 y01   checklock: stat failed, no file
03/06 15:55:35 y01  locking the line
03/06 15:55:35 y01   makelock(tty01) called
03/06 15:55:35 y01   do_makelock: lock='/var/spool/lock/LCK..tty01'
03/06 15:55:35 y01   lock made
03/06 15:55:35 y01  tio_get_rs232_lines: TIOCMGET failed: Inappropriate
ioctl fo
r device
03/06 15:55:35 y01   tio_get_rs232_lines: status: RTS DSR DCD
03/06 15:55:35 y01  lowering DTR to reset Modem
03/06 15:55:36 y01   tss: set speed to 38400 (113000)
03/06 15:55:36 y01   tio_set_flow_control( HARD )
03/06 15:55:36 y01   waiting for line to clear (VTIME), read: 
03/06 15:55:36 y01  send: AT&F0S0=0M0L3\Q3\J1[0d]
03/06 15:55:36 y01  mdm_send: 'AT+FCLASS=2'
03/06 15:55:36 y01    got:AT&F0S0=0M0L3\Q3\J1[0d]
03/06 15:55:36 y01   mdm_command: string 'AT&F0S0=0M0L3\Q3\J1'
03/06 15:55:36 y01    got:[0d][0a]OK[0d]
03/06 15:55:36 y01   mdm_command: string 'OK' -> OK
03/06 15:55:36 y01  mdm_send: 'AT+FAA=0;+FCR=1'
03/06 15:55:36 y01    got:[0a]AT+FCLASS=2[0d]
03/06 15:55:36 y01   mdm_command: string 'AT+FCLASS=2'
03/06 15:55:36 y01    got:[0d][0a]OK[0d]
03/06 15:55:36 y01   mdm_command: string 'OK' -> OK
03/06 15:55:36 y01  mdm_send: 'AT+FBOR=0'
03/06 15:55:36 y01    got:[0a]AT+FAA=0;+FCR=1[0d]
03/06 15:55:37 y01   mdm_command: string 'AT+FAA=0;+FCR=1'
03/06 15:55:37 y01    got:[0d][0a]OK[0d]
03/06 15:55:37 y01   mdm_command: string 'OK' -> OK
03/06 15:55:37 y01  mdm_send: 'AT+FLID="0721-9375329"'
03/06 15:55:37 y01    got:[0a]AT+FBOR=0[0d]
03/06 15:55:37 y01   mdm_command: string 'AT+FBOR=0'
03/06 15:55:37 y01    got:[0d][0a]OK[0d]
03/06 15:55:37 y01   mdm_command: string 'OK' -> OK
03/06 15:55:37 y01  mdm_send: 'AT+FDCC=1,5,0,2,0,0,0,0'
03/06 15:55:37 y01    got:[0a]AT+FLID="0721-9375329"[0d]
03/06 15:55:37 y01   mdm_command: string 'AT+FLID="0721-9375329"'
03/06 15:55:37 y01    got:[0d][0a]OK[0d]
03/06 15:55:37 y01   mdm_command: string 'OK' -> OK
03/06 15:55:37 y01   waiting for line to clear (VTIME), read: AT+FDCC=1,5,0,2,0,
0,0,0[0d][0d][0a]OK[0d][0a]
03/06 15:55:37 y01  mdm_send: 'AT+FLID="0721-9375329"'
03/06 15:55:37 y01    got:[0a]AT+FBOR=0[0d]
03/06 15:55:37 y01   mdm_command: string 'AT+FBOR=0'
03/06 15:55:37 y01    got:[0d][0a]OK[0d]
03/06 15:55:37 y01   mdm_command: string 'OK' -> OK
03/06 15:55:37 y01  mdm_send: 'AT+FDCC=1,5,0,2,0,0,0,0'
03/06 15:55:37 y01    got:[0a]AT+FLID="0721-9375329"[0d]
03/06 15:55:37 y01   mdm_command: string 'AT+FLID="0721-9375329"'
03/06 15:55:37 y01    got:[0d][0a]OK[0d]
03/06 15:55:37 y01   mdm_command: string 'OK' -> OK
03/06 15:55:37 y01   waiting for line to clear (VTIME), read: AT+FDCC=1,5,0,2,0,
0,0,0[0d][0d][0a]OK[0d][0a]
03/06 15:55:37 y01   removing lock file
03/06 15:55:37 y01  waiting...


Here is the log when receiving a fax:

03/06 16:01:04 y01    select returned 1
03/06 16:01:04 y01   checking lockfiles, locking the line
03/06 16:01:04 y01   makelock(tty01) called
03/06 16:01:04 y01   do_makelock: lock='/var/spool/lock/LCK..tty01'
03/06 16:01:04 y01   lock made
03/06 16:01:04 y01  wfr: waiting for ``RING''
03/06 16:01:04 y01   got: [0a][0d][0a]RING[0d]
03/06 16:01:04 y01    CND: RING
03/06 16:01:04 y01   wfr: rc=0, drn=0
03/06 16:01:05 y01    CND: check no: 'none'
03/06 16:01:05 y01  send: ATA[0d]
03/06 16:01:05 y01  waiting for ``CONNECT''
03/06 16:01:05 y01   got: ATA[0d]
03/06 16:01:05 y01    CND: ATA[0d][0a]+FCON
03/06 16:01:14 y01  found action string: ``+FCON''
03/06 16:01:14 y01  start fax receiver...
03/06 16:01:14 y01   fax receiver: entry
03/06 16:01:14 y01  fax_wait_for(OK)
03/06 16:01:14 y01    got:[0a][0d][0a][0d][0a]+FTSI:"                    "[0d]
03/06 16:01:16 y01   fax_wait_for: string '+FTSI:"                    "'
03/06 16:01:16 y01  fax_id: '+FTSI:"                    "'
03/06 16:01:16 y01    got:[0a][0d][0a]+FDCS:1,5,0,0,0,0,0,0[0d]
03/06 16:01:16 y01   fax_wait_for: string '+FDCS:1,5,0,0,0,0,0,0'
03/06 16:01:16 y01  transmission par.: '+FDCS:1,5,0,0,0,0,0,0'
03/06 16:01:16 y01    got:[0a][0d][0a]OK[0d]
03/06 16:01:16 y01   fax_wait_for: string 'OK'** found **
03/06 16:01:16 y01   utmp + wtmp entry made
03/06 16:01:17 y01   tio_set_flow_control( HARD XON_IN )
03/06 16:01:17 y01  fax_send: 'AT+FDR'
03/06 16:01:17 y01  fax_wait_for(CONNECT)
03/06 16:01:17 y01    got:[0a]AT+FDR[0d]
03/06 16:01:17 y01   fax_wait_for: string 'AT+FDR'
03/06 16:01:17 y01    got:[0d][0a]+FCFR[0d]
03/06 16:01:20 y01   fax_wait_for: string '+FCFR'
03/06 16:01:20 y01    got:[0a][0d][0a]+FDCS:1,5,0,0,0,0,0,0[0d]
03/06 16:01:21 y01   fax_wait_for: string '+FDCS:1,5,0,0,0,0,0,0'
03/06 16:01:21 y01  transmission par.: '+FDCS:1,5,0,0,0,0,0,0'
03/06 16:01:21 y01    got:[0a][0d][0a]CONNECT[0d]
03/06 16:01:21 y01   fax_wait_for: string 'CONNECT'** found **
03/06 16:01:21 y01   sending DC2
03/06 16:01:22 y01   fax_get_page_data: wait for EOL, got: [0a][00]
03/06 16:01:22 y01  fax_get_page_data: receiving /var/spool/fax/incoming/ff6e1433101.01...
03/06 16:02:36 y01  timeout...
03/06 16:02:36 y01  mdm_read_byte: read returned -1: Interrupted system call
03/06 16:02:36 y01  fax_get_page_data: cannot read from port (1)!:
Interrupted system call
03/06 16:02:36 y01  fax_get_page_data: page end, bytes received: 24969
03/06 16:02:36 y01  fax_get_page_data: aborting receive, timeout!
03/06 16:02:36 y01   fax receiver: hangup & end
03/06 16:02:36 y01   fax_notify_mail: sending mail to: faxadmin
03/06 16:02:39 y01   notify: '/usr/local/lib/mgetty+sendfax/new_fax -1 '
       
            ' 1  /var/spool/fax/incoming/ff6e1433101.01 >/dev/console
2>&1 </dev/null'
03/06 16:02:40 ##### fax dev=tty01, pid=474, caller='none', name='',
id='       
             ', +FHNG=-01, pages=1, time=00:01:31


03/06 16:02:40 y01  system() failed: Interrupted system call
03/06 16:02:41 y01  mdm_send: 'ATH0'
03/06 16:02:41 y01    got:ATH0[0d]
03/06 16:02:41 y01   mdm_command: string 'ATH0'
03/06 16:02:41 y01    got:[0d][0a]OK[0d]
03/06 16:02:41 y01   mdm_command: string 'OK' -> OK
03/06 16:02:41 y01   removing lock file


03/06 16:02:40 y01  system() failed: Interrupted system call
03/06 16:02:41 y01  mdm_send: 'ATH0'
03/06 16:02:41 y01    got:ATH0[0d]
03/06 16:02:41 y01   mdm_command: string 'ATH0'
03/06 16:02:41 y01    got:[0d][0a]OK[0d]
03/06 16:02:41 y01   mdm_command: string 'OK' -> OK
03/06 16:02:41 y01   removing lock file


Thanks for any response,

Dirk