HYLAFAX-LOG(5F)
π NAME π
log/* β session log files π«Ά
β¨ DESCRIPTION β¨
okay bestie so listen π
β the files sitting in the log directory inside the HylaFAX spooling area? They're where all the logging/tracing tea about your transmit and receive sessions gets spilled. One file per inbound or outbound call, no cap. And the filename is literally always shaped like this:
cXXXXXXXX
where XXXXXXXX is a decimal sequence number, and we call that lil guy a communication identifier β¨
How much gets traced, and what kind of tracing it is, is decided by the SessionTracing parameter over in the modem configuration file β go peek at hylafax-config(5F) for that π
heads up bestie: any logging/tracing the server makes outside of a session goes to thesyslog(3)service instead, and that is controlled by theLogFacilityandServerTracingparameters in the modem configuration file πΈ
[NB: The remainder of this manual page is out of date.] π
π οΈ SERVER OPERATION π οΈ
Here's the lineup of messages that can show up when server operation tracing (bit 1) is switched on π
MODEM: Unknown type "%s" ignored.β theModemTypeconfiguration parameter was not recognized πMODEM %s %s/%s.β this one drops every single time the modem gets reset and made ready for use β¨%s: Can not lock device.β the UUCP lockfile for the modem could not be created, because another process already has a lockfile in place π%s: Can not open modem (%m).β theopen(2)on the special device file for the modem failed; the error status is presented, c.f.intro(2).%s: Can not open modem (timed out).β theopen(2)on the special device file blocked and then timed out. Typically this happens because the system does not support a non-blocking mechanism for opening the device, and the presented interface requires that carrier be present before the open can succeed π%s: setuid root failed (%m).β the server process was unable to establish root privileges. This is usually caused by the server being improperly installed π%s: fcntl: %m.β the server was unable to turn off theO_NDELAYbit on the open modem file descriptor after doing a non-blocking open of the modem device special file.schedctl: %m.β (only on Silicon Graphics systems) aschedctl(2)system call to set the server process priority failed πsched policy=%d, priority=%d.β (only on POSIX compliant systems) describes asetscheduler(2)system call to enhance real-time job scheduling βUnable to set %s scheduling parameters: %m.β (only on SVR4-style systems) apriocntlsystem call to set the server process priority failed.priocntl(%s): %m.β (only on SVR4-style systems) apriocntlsystem call to get the current process scheduling information failed.sched policy=%d, priority=%d.β (only on POSIX-compliant systems) indicates a possible change in the system job scheduling due to use ofPrioritySchedulingπ₯%s: Can not deduce modem type.β the server was unable to reset and initialize the modem. And bestie, this can be caused by SO many things: wrong device filename, improper cabling, incorrect modem type, incorrect modem configuration, etc. π it's giving "it could be anything"RECV: Permission denied (unacceptable client TSI).β a receive request was denied because the client was denied access through the TSI access control list mechanism; c.f.tsi(5F).RECV: Unable to create file "%s" for received data.β the server was unable to create a file for writing the received facsimile data. Check the permission on therecvqsubdirectory. Also beware: the server usestempnam(3)to create these files, and the presence of theTMPDIRenvironment variable may cause the server to try to create files in a directory other than therecvqdirectory πRECV data in "%s".β this one's just an info message, no drama; the received facsimile is being placed in the specified filename πRECV: empty file "%s" deleted.β a receive operation terminated without any good pages being received, so consequently the empty file gets deleted ποΈACCEPT TSI "%s".β the TSI received during a receive operation was accepted, and the receive will continue βREJECT TSI "%s".β the TSI received during a receive operation was rejected, and the receive will be aborted at the next opportunity βPOLL: Unable to create file "%s" for received data.β the server was unable to create a file for the polled data. See also above under ``RECV: Unable...''.POLL: empty file "%s" deleted.β a poll operation terminated without any good pages being received, so consequently the empty file is deleted ποΈinternal muckup, lost polling request.β this message should not appear. If it does, it means the server went to do a poll but did not find the user-specified poll request in its job description; c.f.sendq(5F)πSEND FAILED: %s.β a transmission failed for the reason shown πSEND: Can not open document file "%s", dirnum %d.β the server was unable to open the TIFF document file that was to be transmitted.SEND: Can not set directory in document file "%s", dirnum %d.β the server was unable to access the TIFF directory associated with the next page to transmit. The document file and directory number for the page are shown πSEND: %s "%s", dirnum %d.β a transmission failed because three attempts were made to transmit the same page. The full reason for the failure is displayed along with the document filename and directory number of the page that failed πSEND: Document is not in a Group 3-compatible format (file %s, compression %d).β the TIFF document submitted for transmission was not compressed with CCITT T.4 compression; the TIFF compression code number is shown. This is treated as a fatal error and the job is aborted πREJECT: Document was encoded with 2DMR, but client does not support this data format.β the document to be transmitted was encoded using the optional 2DMR form of the CCITT T.4 standard, but the client capabilities indicate this data format is not supported. This is not a fatal error; the server will disconnect and reimage the document using 1DMH encoding β¨REJECT: Client does not support document page width, max remote page width %u, image width %lu.β the document to be transmitted was imaged using a page width that is not supported by the client. This is not a fatal error; the server will disconnect and reimage the document using the newly discovered client capabilities πREJECT: High resolution document is not supported by client, image resolution %g line/mm.β the document to be transmitted was imaged using 7 line/mm, but the client only supports 3.85 line/mm. This is not a fatal error; the server will disconnect and reimage the document using the newly discovered client capabilities πΈREJECT: Client does not support document page length, max remote page length %d mm, image length %lu rows (%.2f mm).β the document to be transmitted was imaged using a page length that is not supported by the client. This is not a fatal error; the server will disconnect and reimage the document using the newly discovered client capabilities πABORT: job abort requested.β the server received a request on a command FIFO file to abort the current send/receive job πANSWER: Can not lock modem device.β the server went to answer an incoming call, but found the device locked for use by another process. This is the usual scenario that takes place when an outbound call is made through the modem: the echo from data written to the modem causes the fax server to wakeup, only to discover the UUCP lockfile for the outgoing call. The fax server will discard its handle on the modem and wait for the lockfile to be removed β³ANSWER: FAX CONNECTION.β the server is initiating service for an incoming facsimile call πANSWER: DATA CONNECTION.β the server is initiating service for an incoming data call.ANSWER: Data connections are not permitted.β the server rejected an incoming data call because the configuredGettyArgsparameter is null.ANSWER: Could not switch modem to data service.β the server was unable to initiate service for an incoming data call because of some problem in setting up the modem for data use πANSWER: VOICE CONNECTION.β the server is initiating service for an incoming voice call ποΈANSWER: Could not switch modem to voice service.β the server was unable to initiate service for an incoming voice call because of some problem in setting up the modem for voice use πANSWER: %s.β an error was detected by the modem layer while setting up an incoming call.GETTY: could not create.β the server was unable to create an internal data structure used to track a getty process πGETTY: can not fork.β the server was unable tofork(2)a new process in order to startup the getty program.runGetty::setregid: %m.andrunGetty::setreuid: %m.β the server was unable to change the process identity before starting up the getty program.GETTY: start pid %u, "%s".β the server has started up a getty program to service the incoming data call. The getty process identifier is displayed along with the arguments passed to the program β¨GETTY: terminated, exit status %#o.β the server has reaped a getty process which it started up.Parse error in dial string rules "%s".β the dial string rules in the specified file contain a syntax error. Thedialtest(8C)program should be used to debug the problem πUnknown answer type "%s".β theAnswerRotaryconfiguration parameter has an invalid answer type string; consulthylafax-config(5F).Syntax error, missing ':' in "%s".Syntax error, missing quote mark in "%s".Unknown configuration parameter "%s" ignored.β a syntax error was encountered in the server configuration file or in a message received through the FIFO special file π
β¨ FAX PROTOCOL β¨
okay bestie, when facsimile protocol tracing is enabled (that's bit 2, if you're keeping track), these messages can show up. no cap, here's the whole lore:
%s: %s (Phase B).β something went sideways in Phase B of Group 3 protocol processing.Bad HDLC terminating flag received..β During Class 1 ECM, a terminating flag for an HDLC frame was corrupt. (yes, the double dot is canon π )DELAY %u ms.β The host did a delay of%umilliseconds.DIAL %s.β The phone number%sgot dialed. Heads up: this is the number passed as an argument to theModemDialCmdparameter, so it might not include extra dialing prefixes sent to the modem.Error sending T.30 prologue frames.β An error happened while trying to transmit the T.30 DCS frames.HDLC frame length invalid.β An ECM HDLC protocol message was way too long.HDLC frame not byte-oriented. Trailing byte: %#x.β An ECM HDLC protocol message was received with a number of bits incompatible with the necessary byte-orientation.HDLC frame too short (%u bytes).β An HDLC protocol message was not at least 3 bytes long outside of ECM protocol, or at least 5 bytes long within ECM protocol.HDLC frame with bad address field %#x.β An HDLC protocol message was sent/received with an address field other than0xff.HDLC frame with bad control field %#x.β An HDLC protocol message was sent/received with an invalid control field.MODEM ERROR: %s.β While waiting for a modem response/result, an error was encountered, like anERRORresult code.MODEM protocol botch ("%s"), cannot parse PPR.β The Class 2 modem driver hit an error parsing the post-page response code in a+FPTS:status message.MODEM protocol botch, can not parse "%s".β The Class 2 modem driver hit an error parsing the displayed session capabilities string. This is usually due to a communication problem between host and modem, though bogus modem firmware can cause it too.MODEM protocol botch: OK without +FPTS:.β The Class 2 modem driver hit an error in the host-modem protocol for receiving facsimile. While waiting for the post-page status (+FPTS:), anOKresult was received first. This should never happen.MODEM protocol botch: +FET: without +FPTS:.β The Class 2 modem driver hit an error in the host-modem protocol for receiving facsimile. While waiting for the post-page status (+FPTS:), a+FET:status message was received first. This should never happen.POLL with CIG "%s".β A poll operation is beginning; the Calling Subscriber Identification string transmitted to the peer is displayed.POLL: begin.β The server is beginning a polled receive operation.POLL: end.β The server just completed a polled receive operation.POLL: %s (begin).β The specified error message occurred when initiating the poll operation.POLL: %s (end).β The specified error message occurred while terminating the poll operation.Problem receiving post-page HDLC frame.β An error occurred while receiving the HDLC frame that is expected to hold the post-page message.Problem sending TCF data.β An error occurred while sending the TCF data during training.RECV PPM: %s.β The specified post-page message was received during a receive operation.RECV PPR: %s.β The specified post-page response was transmitted during a receive operation.RECV training at %s %s.β During a receive operation, begin training at the specified modulation and signalling rate.RECV: begin.β The server is beginning a receive operation.RECV: end.β The server just completed a receive operation.RECV: %d bytes of data.β During a receive operation, the specified number of bytes of facsimile data were received for the current page.RECV: %lu bytes, %lu total rows.β During a receive operation, the specified number of bytes of facsimile data were received. The current running total of rows in the current page being received is also displayed.RECV: %s (begin).β The specified error message occurred when initiating the receive operation.RECV: %s (end).β The specified error message occurred while terminating the receive operation.RECV: TCF %u bytes, %u%% non-zero, %u zero-run.β When receiving training, the received TCF had the specified number of bytes, of which a certain percentage was non-zero, and the longest consecutive run of zero data was found.RECV: reject TCF (too many non-zero, max %u%%).β The received TCF was deemed unacceptable because there was too high a percentage of non-zero data in it. TheClass1TCFMaxNonZeroconfiguration parameter controls this decision.RECV: reject TCF (zero run too short, min %u).β The received TCF was deemed unacceptable because the longest run of zero data was too short. TheClass1TCFMinZeroconfiguration parameter controls this decision.RECV: bad code word 0x%x, len %d, row %lu.β literally just that, bestie. no extra lore.RECV: begin page.β During a receive operation, a new page of data is about to be received on the high speed message carrier.RECV: end page.β During a receive operation, receipt of a page of data on the high speed message carrier just completed.RECV frame FCS check failed.β During ECM protocol, a received HDLC frame failed the CRC check and the frame was marked as corrupt.RECV: premature EOF.β The server did not receive<DLE><ETX>to signal the end of a page of facsimile data during a page receive operation.REMOTE supports POSTSCRIPT transfer./REMOTE does not support POSTSCRIPT transfer.β The peer does or does not support the Adobe POSTSCRIPT transfer extensions to the T.30 protocol.RECV: Missing EOL after 5 seconds.β The server timed out while receiving page data. This typically is caused by a flow control configuration problem that causes data from the modem to the host to be stopped.RECV: %u bytes of data, %lu total lines.β While receiving page data,%ubytes of raw data were received; the current total number of rows in the page are also displayed.RECV: %lu bad lines %lu consecutive bad lines.β After the completion of a page receive, the total number of rows received in error and the maximum consecutive rows that were received in error are printed. These numbers should always be zero unless copy quality checking is done in the host.RECV received %u frames of block %u of page %u.β When the server does Class 1 ECM, a complete block has been received with a given number of frames for a named page.RECV received assumed RCP frame with block end.β When the server does Class 1 ECM, the block-end indicator was received without a proper RCP frame, and the receipt of an RCP frame was therefore assumed or feigned.RECV received frame number %u.β When the server does Class 1 ECM, the numbered image frame has been received.RECV received RCP frame.β When the server does Class 1 ECM, the first RCP frame was received, which signifies the end of the image block.RECV: REJECT page quality, %u%% good lines (%u%% required).β When the server does copy quality checking, the received page is deemed to have unacceptable quality because the percentage of good rows in the page is too low. This check is controlled by thePercentGoodLinesconfiguration parameter.RECV: REJECT page quality, %u-line run (max %u).β When the server does copy quality checking, the received page is deemed to have unacceptable quality because the maximum consecutive rows that were received in error exceeds the threshold specified by theMaxBadLinesconfiguration parameter.RECV sent fourth PPR.β During Class 1 ECM, the server has rejected a received image block consecutively four times, at which point the sender is allowed to either continue to retransmit the block or to end retransmissions.REMOTE HANGUP: %s (code %s).β The modem returned a hangup status code (+FHNG:or+FHS:) to the host. This indicates a protocol problem that was determined within the modem; there is usually nothing that the server can do to work around such errors.REMOTE TSI "%s".β During a receive operation, the specified TSI was received. This string is checked against the TSI access control list described intsi(5F).REMOTE best format %s.β The peers' βbestβ data format according to the received DIS frame. βBestβ here is based on the belief that2DMMRdata is better than2DMRwith optional uncompressed data, is better than2DMRdata, is better than1DMHdata.REMOTE best rate %s.β The peers' best signalling rate according to the received DIS frame.REMOTE best vres %s.β The peers' best vertical resolution according to the received DIS frame.REMOTE has document to POLL.β The peer indicates it has a document that is available for retrieval.REMOTE max %s.β The peers' maximum page width/length according to the received DIS frame.REMOTE supports error correction.β The peer supports the optional Error Correct Mode (ECM) according to the received DIS frame.REMOTE wants %s.β The received DCS frame indicates the peer wants the specified capability.SEND file "%s".β The specified file is about to be transmitted.SEND 1D RTC./SEND 2D RTC.β A 1D- or 2D-encoded Return To Control (RTC) packet was sent to terminate the transmission of a page of facsimile data.SEND begin page.β A page of facsimile data is about to be transmitted on the high speed message carrier.SEND end page.β The transmission of a page of facsimile data on the high speed message carrier was completed.SEND training at %s %s.β Training is about to be sent to the peer using the specified modulation and signalling rate.SENT %u bytes of data.β The specified amount of raw facsimile page data was transmitted on the high speed message carrier.TRAINING failed./TRAINING succeeded.β Peer training succeeded or failed. When sending, this is based on a message returned by the peer. When receiving, this is based on an analysis of the received TCF data.USE %s.β Use the specified session capability during a send or receive. The capability is based on the peers' best capabilities, the capabilities of the modem, and, when transmitting, the characteristics of the document.
π MODEM OPERATIONS π
okay bestie, these are the messages that pop up when modem operation tracing (bit 3) is turned on:
MODEM set baud rate: %d baud, input flow %s, output flow %s.β the DTE-DCE communication rate got set to%dbits/sec on the host, and the flow control method you specified got set up for data coming in from the modem (input) and going out to the modem (output). πMODEM set baud rate: %d baud (flow control unchanged).β the DTE-DCE communication rate changed, but literally nothing about the current flow control setup was touched. no cap.MODEM set XON/XOFF/NOW: input %s, output %s.MODEM set XON/XOFF/DRAIN: input %s, output %s.MODEM set XON/XOFF/FLUSH: input %s, output %s.β the software flow control setup for data going back and forth between host and modem got changed. theNOW,DRAIN, andFLUSHactions tell you when it happened: immediately, after any pending data was transmitted to the modem, or after pending data got thrown away. ποΈ
on input, XON/XOFF characters are either ignored (passed straight through to the server, uninterpreted) or interpreted (by the system's terminal driver, so it can control the flow of data). same energy on output: XON/XOFF characters are either disabled (the terminal driver doesn't generate them) or generated (by the terminal driver, to control the flow of data from the modem to the host).
MODEM input buffering enabled.MODEM input buffering disabled.β on systems that buffer input data in the operating system before handing it to applications, the server will enable and disable buffering as best it can in those cases where low input latency is critical. it's giving "doing its best, fr fr". π«ΆTIMEOUT: %s.β a timeout happened while doing a modem-related operation; typically reading or writing data. πError #%u reading from modem.β aread(2)system call returned an error. this usually happens when the modem prematurely drops the DCD signal. rude of it, honestly.
π¦ MODEM COMMUNICATION π¦
these show up when modem communication tracing (bit 4) is on:
--> [%d:%s].β a%d-byte line of data was received from the modem. printable data gets displayed. β¨<-- data [%d].β%dbytes of unprintable data were sent to the modem, typically facsimile data. π<-- [%d:%s].β%dbytes of printable data were sent to the modem. and yes, the data is displayed.
β° TIMEOUTS β°
these appear when timeout tracing (bit 5) is enabled:
start %d second timer,stop timerβ stops the current timeout before it expiresstop timer - timer expiredβ the current timeout actually expired
periodt. β
π HDLC FRAMES π
when tracing of raw HDLC frames (bit 6) is on, every frame sent and received gets logged:
<-- HDLC<%u:%.*s>for sent frames--> HDLC<%u:%.*s>for received frames
these messages mean a %u-byte long HDLC frame was sent or received. the first byte should always be 0xff β that's the address field specified for dialup communication. the second byte should be a frame control field. and the contents of the frame get displayed as a sequence of bytes in hexadecimal. π₯
πΈ BINARY I/O πΈ
when binary input/output (bit 7) is traced, two types of messages get logged:
<-- <%u:%.*s>β for data sent to the modem--> <%u:%.*s>β for data received from the modem
each message tells you that %u bytes of data were transferred. the data is displayed as a sequence of bytes in hexadecimal. π
π SERVER STATE TRANSITIONS π
bit 8 controls tracing of state transitions in the facsimile server. there are currently eight states:
BASEβ during startup and initializationRUNNINGβ normal operationMODEMWAITβ waiting for the modem to come ready after a resetLOCKWAITβ waiting for a UUCP lockfile to be removedGETTYWAITβ waiting for a getty process to terminateSENDINGβ transmitting a facsimileANSWERINGβ answering an incoming telephone callRECEIVINGβ receiving a facsimile
and the messages:
STATE CHANGE: %s -> %s (timeout %ld).β the server is changing its internal state. the timeout (in seconds) is used when polling for asynchronous events, like a modem becoming ready.STATE CHANGE: %s -> %s.β the server is changing its internal state without starting a timeout.
main character energy, truly. β¨
π QUEUE MANAGEMENT π
bit 9 controls tracing of the management of the job queue:
SEND NOT READY: "%s" in %s.β it wasn't time to send the specified job; it'll be requeued for the indicated time interval.SEND BLOCKED BY CONCURRENT CALL: "%s" in %s.β the specified job is blocked by another call to the same phone number; it'll be requeued for the indicated time interval.SEND BLOCKED BY CONCURRENT JOB: "%s" by "%s".β the specified job is blocked by another job to the same phone number; it'll be requeued for the indicated time interval.JOB "%s".β the specified job is about to be processed. it's their moment. πCONVERT POSTSCRIPT: "%s".β the server is about to invoke the POSTSCRIPT interpreter to image a document; the shell command used gets displayed.JOB TIMER START %s.β the timer used to control scanning of the job queue is started with the displayed value.JOB TIMER STOP (Q head %s tts %s).β the timer used to control scanning of the job queue is stopped. the job at the head of the queue and that job's time-to-send are displayed.JOB TIMER STOP (Q empty).β the timer used to control scanning of the job queue is stopped. the job queue was found to be empty. π
π§ COPY QUALITY π§
when doing copy quality checking during a receive operation, these messages may get logged if bit 10 is set:
RECV/CQ: adjusting for trailing noise (%lu run).β the total number of rows of data in the received page gets adjusted (downward) by%lu. this is done to handle the case where garbage data is received after the RTC, which results in some number of consecutive bad rows after the page data. not the vibe, but okay. πRECV/CQ: Invalid %s code word, row %lu, x %d.β an invalid 1D- or 2D- T.4 code word was encountered on the specified row and horizontal offset within the row. when this happens, the server will scan for an EOL code and then regenerate the bad row using the last good row of data. iconic recovery tbh.RECV/CQ: Premature EOL (%s), row %lu, x %d.β an EOL code was encountered before a complete row of pixels was received. when this happens, the server discards the bad row and replaces it with the last good row that was received.RECV/CQ: Bad %s pixel count, row %lu, x %d.β a row of data was received with a pixel count greater than the negotiated page width. when this happens, the server discards the bad row and replaces it with the last good row that was received.RECV/CQ: Panic, bad %s decoding state, row %lu, x %d.β the decoder state machine was found in a bad internal state. when this happens, the server scans for an EOL code and regenerates the row using the last good received row. it's giving "we'll fix it in post". π
β¨ SEE ALSO β¨
faxq(8C), faxgetty(8C), faxsend(8C), hylafax-config(5F)
and that's the whole page, bestie!! π this one's from the May 12, 1996 era, and it lives in the HYLAFAX-LOG(5F) section of the manual. go forth and read your logs like the icon you are ππ¦πΈπ
π¦ where this page comes from
- alpine 3.24: hylafaxplus-doc 7.0.11-r0 Β· MIT
- fedora 43: hylafax+ 7.0.11-4.fc43 Β· libtiff AND LicenseRef-Callaway-BSD-with-advertising
- fedora 43: hylafax+ 7.0.11-4.fc43 Β· libtiff AND LicenseRef-Callaway-BSD-with-advertising
- fedora 44: hylafax+ 7.0.11-5.fc44 Β· libtiff AND LicenseRef-Callaway-BSD-with-advertising
- fedora 44: hylafax+ 7.0.11-5.fc44 Β· libtiff AND LicenseRef-Callaway-BSD-with-advertising
- nixos 26.05: hylafaxplus 7.0.11
- nixpkgs unstable: hylafaxplus 7.0.11
- opensuse-leap 16.0: hylafax+ 7.0.10-bp160.1.20 Β· BSD-3-Clause
- opensuse-leap 16.0: hylafax+ 7.0.10-bp160.1.20 Β· BSD-3-Clause
- opensuse-leap 16.0: hylafax+ 7.0.10-bp160.1.20 Β· BSD-3-Clause
- opensuse-leap 16.0: hylafax+ 7.0.10-bp160.1.20 Β· BSD-3-Clause
- Copyright (c) 1990-1996 Sam Leffler
- Copyright (c) 1991-1996 Silicon Graphics, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms