HYLAFAX-LOG(5)

✨ HYLAFAX-LOG(5) ✨

okay bestie so this one is from the File Formats Manual and it's literally the tea on your session log files πŸ’…


🌸 NAME 🌸

log/* β€” session log files 🫢


πŸ’– DESCRIPTION πŸ’–

So the files in the log directory inside the HylaFAX spooling area? They hold all the logging/tracing info about your transmit and receive sessions. There's one file per inbound or outbound call, and the filename looks like cXXXXXXXX where XXXXXXXX is a decimal sequence number β€” that's what we call a communication identifier ✨

How much and what kind of tracing gets recorded for a call is decided by the SessionTracing parameter that you set in the modem configuration file β€” go peek at hylafax-config(5) for that.

Heads up though: logging/tracing info that the server generates outside of a session gets sent to the syslog(3) service instead, and that is controlled by the LogFacility and ServerTracing parameters in the modem configuration file. no cap.
[NB: The remainder of this manual page is out of date.] β€” yeah, they said it, not me 😭

πŸ”₯ SERVER OPERATION πŸ”₯

These are the messages that may pop up when server operation tracing (bit 1) is enabled:

  • MODEM: Unknown type "%s" ignored. β€” the ModemType configuration parameter was not recognized. rude, honestly.
  • MODEM %s %s/%s. β€” this one shows up every single time the modem is reset and made ready for use. it's giving "fresh start" energy ✨
  • %s: Can not lock device.. β€” the UUCP lockfile for the modem couldn't be created because another process already has a lockfile in place. πŸ’€
  • %s: Can not open modem (%m). β€” open(2) on the special device file for the modem failed; the error status is shown; c.f. intro(2).
  • %s: Can not open modem (timed out).. β€” open(2) on the special device file blocked and then timed out. usually this is because the system doesn't support a non-blocking mechanism for opening the device, and the interface it's presenting requires that carrier be present before the open can succeed.
  • %s: setuid root failed (%m). β€” the server process couldn't establish root privileges. usually this means the server was improperly installed πŸ™ˆ
  • %s: fcntl: %m. β€” the server couldn't turn off the O_NDELAY bit 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.) a schedctl(2) system call to set the server process priority failed.
  • sched policy=%d, priority=%d. β€” (only on POSIX compliant systems.) describes a setscheduler(2) system call to enhance real-time job scheduling.
  • Unable to set %s scheduling parameters: %m. β€” (only on SVR4-style systems.) a priocntl system call to set the server process priority failed.
  • priocntl(%s): %m. β€” (only on SVR4-style systems.) a priocntl system 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 of PriorityScheduling.
  • %s: Can not deduce modem type.. β€” the server couldn't reset and initialize the modem. this can be caused by so many things: wrong device filename, improper cabling, incorrect modem type, incorrect modem configuration, etc. it's giving chaos πŸŒͺ️
  • RECV: Permission denied (unacceptable client TSI). β€” a receive request was denied because the client got denied access through the TSI access control list mechanism; c.f. tsi(5).
  • RECV: Unable to create file "%s" for received data. β€” the server couldn't create a file to write the received facsimile data into. check the permission on the recvq subdirectory. also beware: the server uses tempnam(3) to create these files, and if the TMPDIR environment variable is set, it may cause the server to try to create files in a directory that isn't the recvq directory πŸ‘€
  • RECV data in "%s". β€” just an info message bestie; the received facsimile is being placed in the specified filename.
  • RECV: empty file "%s" deleted. β€” a receive operation ended without any good pages being received, so the empty file gets deleted. bye bye πŸ¦‹
  • ACCEPT TSI "%s". β€” the TSI received during a receive operation was accepted and the receive will continue. slay ✨
  • REJECT TSI "%s". β€” the TSI received during a receive operation was rejected and the receive will be aborted at the next opportunity. not slay πŸ’€
  • POLL: Unable to create file "%s" for received data. β€” the server couldn't create a file for the polled data. see also above under ``RECV: Unable...''.
  • POLL: empty file "%s" deleted. β€” a poll operation ended without any good pages being received, so the empty file gets deleted.
  • internal muckup, lost polling request. β€” this message should not appear; it means the server went to do a poll but didn't find the user-specified poll request in its job description; c.f. sendq(5).
  • SEND FAILED: %s. β€” a transmission failed for the reason shown.
  • SEND: Can not open document file "%s", dirnum %d. β€” the server couldn't open the TIFF document file that was supposed to be transmitted.
  • SEND: Can not set directory in document file "%s", dirnum %d. β€” the server couldn't 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. three strikes fr fr 😭
  • 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. periodt.
  • 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 say this data format isn't 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 the client doesn't support. 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 the client doesn't support. 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 happens when an outbound call is made through the modem: the echo from data written to the modem causes the fax server to wake up, 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. the way that it just waits... iconic patience πŸ’…
  • 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 configured GettyArgs parameter is null.
  • ANSWER: Could not switch modem to data service. β€” the server couldn't initiate service for an incoming data call because of some problem 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 couldn't initiate service for an incoming voice call because of some problem 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 couldn't create an internal data structure used to track a getty process.
  • GETTY: can not fork. β€” the server couldn't fork(2) a new process in order to start up the getty program.
  • runGetty::setregid: %m. and runGetty::setreuid: %m. β€” the server couldn't 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. the dialtest(8) program should be used to debug the problem πŸ”
  • Unknown answer type "%s". β€” the AnswerRotary configuration parameter has an invalid answer type string; consult hylafax-config(5).
  • 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, so when you turn on the facsimile protocol tracing β€” that's bit 2, iykyk β€” these messages can pop up. They're like the group chat receipts of your fax session. Let's decode every single one, no skips, periodt. πŸ’…

  • %s: %s (Phase B). β€” Something went sideways in Phase B of the Group 3 protocol processing. Not the vibe. 😭
  • Bad HDLC terminating flag received.. β€” During Class 1 ECM, a terminating flag for an HDLC frame was corrupt. The double dot is in the original, bestie, don't come for me. πŸ’€
  • DELAY %u ms. β€” The host took a lil nap for %u milliseconds. A whole host-side pause. ✨
  • DIAL %s. β€” The phone number %s was dialed. ⚠️ Note: this is the number passed as an argument to the ModemDialCmd parameter, so it might not include any extra dialing prefixes that get sent to the modem. Just so you know. 🫢
  • Error sending T.30 prologue frames. β€” Tried to send the T.30 DCS frames and it errored out. The prologue frames said no. πŸ™ˆ
  • HDLC frame length invalid. β€” An ECM HDLC protocol message was way too long. It's giving overachiever but in a bad way. 😭
  • HDLC frame not byte-oriented. Trailing byte: %#x. β€” Got an ECM HDLC message with a bit count that just doesn't fit byte-orientation. Trailing byte was %#x. Messy. πŸ’…
  • HDLC frame too short (%u bytes). β€” An HDLC protocol message was too short β€” it needs to be at least 3 bytes outside ECM, or at least 5 bytes inside ECM. It was only %u bytes. Not enough. 🚫
  • HDLC frame with bad address field %#x. β€” An HDLC message had an address field that wasn't 0xff. It was %#x. Wrong address, no cap. 🏠
  • HDLC frame with bad control field %#x. β€” An HDLC message had an invalid control field: %#x. Control issues, literally. πŸ˜…
  • MODEM ERROR: %s. β€” While waiting for a modem response/result, an error popped off β€” like an ERROR result code. %s is the tea. β˜•
  • MODEM protocol botch ("%s"), cannot parse PPR. β€” The Class 2 modem driver couldn't parse the post-page response code inside a +FPTS: status message. It said %s and just gave up. πŸ’€
  • MODEM protocol botch, can not parse "%s". β€” Class 2 modem driver couldn't parse the session capabilities string: %s. Usually this means host-modem communication is acting up, but sometimes it's just bogus modem firmware. πŸ™ƒ
  • MODEM protocol botch: OK without +FPTS:. β€” Class 2 modem driver hit an error in the host-modem protocol for receiving fax. While waiting for the post-page status (+FPTS:), it got an OK first. This should never happen. 🚨
  • MODEM protocol botch: +FET: without +FPTS:. β€” Class 2 modem driver error again. Waiting for post-page status (+FPTS:), but got a +FET: status message first. Should never happen. Periodt. πŸ›‘
  • POLL with CIG "%s". β€” A poll operation is starting! The Calling Subscriber Identification string sent to the peer is %s. πŸ“ž
  • POLL: begin. β€” Server is starting a polled receive operation. Let's go. ✨
  • POLL: end. β€” Server just wrapped a polled receive operation. Done and dusted. πŸ’…
  • POLL: %s (begin). β€” This error happened when kicking off the poll: %s. (begin) πŸ™ˆ
  • POLL: %s (end). β€” This error happened while ending the poll: %s. (end) 😭
  • Problem receiving post-page HDLC frame. β€” Error while receiving the HDLC frame that should hold the post-page message. The post-page HDLC frame is not cooperating. 🫠
  • Problem sending TCF data. β€” Error while sending TCF data during training. Training arc, but make it messy. 😩
  • RECV PPM: %s. β€” Received this post-page message during a receive: %s. πŸ“₯
  • RECV PPR: %s. β€” Transmitted this post-page response during a receive: %s. πŸ“€
  • RECV training at %s %s. β€” During receive, training starts at modulation %s and signalling rate %s. Lock in. πŸ”’
  • RECV: begin. β€” Server is starting a receive operation. Incoming! πŸ“¨
  • RECV: end. β€” Server just finished a receive operation. That's a wrap. 🎬
  • RECV: %d bytes of data. β€” During receive, got %d bytes of fax data for the current page. Data received, slay. πŸ’Ύ
  • RECV: %lu bytes, %lu total rows. β€” Received %lu bytes of fax data, and the running total of rows in the current page is %lu. Keeping count, bestie. πŸ”’
  • RECV: %s (begin). β€” This error hit when starting the receive: %s. (begin) 🚧
  • RECV: %s (end). β€” This error hit while ending the receive: %s. (end) πŸ›‘
  • RECV: TCF %u bytes, %u%% non-zero, %u zero-run. β€” During training receive, the TCF had %u bytes, %u%% were non-zero, and the longest zero-run was %u. Stats check. πŸ“Š
  • RECV: reject TCF (too many non-zero, max %u%%). β€” TCF rejected: too many non-zero bytes, max allowed is %u%%. The Class1TCFMaxNonZero config parameter makes this call. 🚫
  • RECV: reject TCF (zero run too short, min %u). β€” TCF rejected: zero run too short, minimum is %u. The Class1TCFMinZero config parameter decides this. πŸ‘Ž
  • RECV: bad code word 0x%x, len %d, row %lu.
  • RECV: begin page. β€” During receive, a new page of data is about to be received on the high speed message carrier. New page, who dis? πŸ“„
  • RECV: end page. β€” During receive, the page of data on the high speed message carrier just finished coming in. Page complete. βœ…
  • RECV frame FCS check failed. β€” During ECM, an HDLC frame failed the CRC check and got marked corrupt. FCS said no. πŸ’€
  • RECV: premature EOF. β€” Server didn't get <DLE><ETX> to signal the end of a page during receive. Premature EOF, awkward. 😬
  • REMOTE supports POSTSCRIPT transfer. / REMOTE does not support POSTSCRIPT transfer. β€” The peer either does or doesn't support Adobe POSTSCRIPT transfer extensions to T.30. These two messages tell you which. πŸ–¨οΈ
  • RECV: Missing EOL after 5 seconds. β€” Server timed out waiting for EOL after 5 seconds while receiving page data. Usually a flow control config issue is stopping data from modem to host. Fix your flow, bestie. 🌊
  • RECV: %u bytes of data, %lu total lines. β€” While receiving page data, got %u bytes of raw data, and the current total rows in the page is %lu. Raw data go brrr. πŸ“ˆ
  • RECV: %lu bad lines %lu consecutive bad lines. β€” After a page receive, this shows %lu bad lines and %lu consecutive bad lines. These should always be zero unless copy quality checking runs on the host. Red flag if not. 🚩
  • RECV received %u frames of block %u of page %u. β€” When server does Class 1 ECM, a complete block was received: %u frames in block %u of page %u. Block party. πŸŽ‰
  • RECV received assumed RCP frame with block end. β€” Class 1 ECM: got the block-end indicator without a proper RCP frame, so an RCP frame was assumed (or feigned). Fake it till you make it. πŸ’…
  • RECV received frame number %u. β€” Class 1 ECM: received image frame number %u. Got it. πŸ“Έ
  • RECV received RCP frame. β€” Class 1 ECM: first RCP frame received β€” that means the image block is done. End of an era. 🏁
  • RECV: REJECT page quality, %u%% good lines (%u%% required). β€” Copy quality check says no: only %u%% good lines, but %u%% required. The PercentGoodLines config parameter controls this. Page quality is not giving. πŸ“‰
  • RECV: REJECT page quality, %u-line run (max %u). β€” Copy quality check rejects the page: bad line run is %u lines, max allowed is %u. The MaxBadLines config parameter sets that threshold. Too many bad lines, bestie. 😭
  • RECV sent fourth PPR. β€” Class 1 ECM: server rejected the same image block four times in a row. Now the sender can either keep retransmitting or just end it. Fourth time's the charm? Or not. πŸ”
  • REMOTE HANGUP: %s (code %s). β€” Modem sent a hangup status code (+FHNG: or +FHS:) to the host: %s (code %s). This means a protocol problem was found inside the modem, and usually the server can't work around it. It's giving internal drama. ☎️
  • REMOTE TSI "%s". β€” During receive, got this TSI: %s. It gets checked against the TSI access control list in tsi(5). Security vibes. πŸ”’
  • REMOTE best format %s. β€” Peer's "best" data format from the DIS frame: %s. And "best" here means they think 2DMMR > 2DMR with optional uncompressed data > 2DMR > 1DMH. Ranking tea. πŸ†
  • REMOTE best rate %s. β€” Peer's best signalling rate from the DIS frame: %s. Speed check. ⚑
  • REMOTE best vres %s. β€” Peer's best vertical resolution from the DIS frame: %s. Vertical? More like vertical slay. πŸ“
  • REMOTE has document to POLL. β€” Peer says it has a document ready for retrieval. Polling time. πŸ“„
  • REMOTE max %s. β€” Peer's max page width/length from the DIS frame: %s. Size matters. πŸ“
  • REMOTE supports error correction. β€” Peer supports the optional Error Correct Mode (ECM) according to the DIS frame. Error correction? We love to see it. βœ…
  • REMOTE wants %s. β€” The DCS frame says the peer wants this capability: %s. Give the people what they want. πŸ™Œ
  • SEND file "%s". β€” About to transmit this file: %s. Sending it. πŸ“€
  • SEND 1D RTC. / SEND 2D RTC. β€” Sent a 1D or 2D encoded Return To Control (RTC) packet to end the page transmission. RTC said bye. πŸ‘‹
  • SEND begin page. β€” A page of fax data is about to be sent on the high speed message carrier. Page start, let's go. πŸš€
  • SEND end page. β€” Page transmission on the high speed message carrier is done. Page out. 🏁
  • SEND training at %s %s. β€” About to send training to the peer using modulation %s and signalling rate %s. Training arc begins. πŸ’ͺ
  • SENT %u bytes of data. β€” Sent %u bytes of raw fax page data on the high speed message carrier. Data delivered. πŸ“¦
  • TRAINING failed. / TRAINING succeeded. β€” Peer training either failed or succeeded. When sending, it's based on a message from the peer. When receiving, it's based on analysis of the received TCF data. Training era: success or flop. πŸŽ“
  • USE %s. β€” Use this session capability during send or receive: %s. It's based on the peer's best capabilities, the modem's capabilities, and β€” when transmitting β€” the document's characteristics. Capability check. ✨

πŸ“ž MODEM OPERATIONS

okay bestie so these messages show up when you turn on modem operation tracing (that's bit 3) πŸ’…

  • MODEM set baud rate: %d baud, input flow %s, output flow %s. β€” the DTE-DCE communication rate got set to %d bits/sec on the host, and the flow control method you specified got set up for data coming in from the modem (input) and data going out to the modem (output) ✨
  • MODEM set baud rate: %d baud (flow control unchanged). β€” the DTE-DCE communication rate changed but the current flow control setup was left exactly as it was, no touchy πŸ™ˆ
  • 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 moving between host and modem got changed. The NOW, DRAIN, and FLUSH actions tell you when it happened: immediately, after any pending data is transmitted to the modem, or after pending data is discarded. On input, XON/XOFF characters are either ignored (passed straight through to the server, uninterpreted) or interpreted (by the system's terminal driver, to control the flow of data). Same energy on output: XON/XOFF characters are either disabled (not generated by the terminal driver) or generated (by the terminal driver, to effect flow control of data from the modem to the host). it's giving very particular πŸŽ€
  • MODEM input buffering enabled.
  • MODEM input buffering disabled. β€” on systems that buffer input data in the operating system before delivering it to applications, the server will enable and disable buffering as best it can in those cases where low input latency is critical. main character behavior fr
  • TIMEOUT: %s. β€” a timeout happened while doing a modem-related operation, typically reading or writing data 😭
  • Error #%u reading from modem. β€” a read(2) system call returned an error. This usually happens when the modem prematurely drops the DCD signal. not the DCD signal bailing early πŸ’€

πŸ¦‹ MODEM COMMUNICATION

these ones pop up when modem communication tracing (bit 4) is enabled:

  • --> [%d:%s]. β€” a %d-byte line of data was received from the modem. Printable data are displayed ✨
  • <-- data [%d]. β€” %d bytes of unprintable data were sent to the modem, typically facsimile data πŸ™ˆ
  • <-- [%d:%s]. β€” %d bytes of printable data were sent to the modem. The data are displayed.

⏰ TIMEOUTS

these show up when timeout tracing (bit 5) is enabled:

  • start %d second timer,
  • stop timer β€” stop the current timeout before it expires
  • stop timer - timer expired β€” the current timeout 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, the address field specified for dialup communication. The second byte should be a frame control field. The contents of the frame is displayed as a sequence of bytes in hexadecimal. lowkey iconic honestly πŸ‘‘


πŸ’€ 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 means %u bytes of data were transferred. The data is displayed as a sequence of bytes in hexadecimal. hex girl summer fr 🧚


πŸ‘‘ SERVER STATE TRANSITIONS

bit 8 controls the tracing of state transitions in the facsimile server. There are currently eight states:

  • BASE β€” during startup and initialization
  • RUNNING β€” normal operation
  • MODEMWAIT β€” waiting for the modem to come ready after a reset
  • LOCKWAIT β€” waiting for a UUCP lockfile to be removed
  • GETTYWAIT β€” waiting for a getty process to terminate
  • SENDING β€” transmitting a facsimile
  • ANSWERING β€” answering an incoming telephone call
  • RECEIVING β€” receiving a facsimile

and the messages themselves:

  • STATE CHANGE: %s -> %s (timeout %ld). β€” the server is changing its internal state. The timeout (in seconds) is used when polling for asynchronous events such as a modem becoming ready.
  • STATE CHANGE: %s -> %s. β€” the server is changing its internal state without starting a timeout.

glow up moment ✨


πŸŽ€ QUEUE MANAGEMENT

bit 9 controls the tracing of the management of the job queue.

  • SEND NOT READY: "%s" in %s. β€” it was not time to send the specified job; it will 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 will 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 will be requeued for the indicated time interval.
  • JOB "%s". β€” the specified job is about to be processed. go bestie go 🫢
  • CONVERT POSTSCRIPT: "%s". β€” the server is about to invoke the POSTSCRIPT interpreter to image a document; the shell command used is 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. no thoughts, queue 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 is adjusted (downward) by %lu. This is done to handle the case where garbage data are received after the RTC, resulting in some number of consecutive bad rows after the page data.
  • 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 occurs the server will scan for an EOL code and then regenerate the bad row with the last good row of data.
  • RECV/CQ: Premature EOL (%s), row %lu, x %d. β€” an EOL code was encountered before a complete row of pixels was received. When this occurs the server will discard the bad row and replace 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 pixel count greater than the negotiated page width. When this occurs the server will discard the bad row and replace 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 occurs the server will scan for an EOL code and regenerate the row using the last good received row. bestie PANIC?? no it's fine it self-heals πŸ’–

πŸ‘€ SEE ALSO


and that's the whole page, bestie!! πŸŽ€ this beauty is from May 12, 1996 and it's the HYLAFAX-LOG(5) manual page β€” yes she's an elder but she ATE and left no crumbs, we stan a vintage queen πŸ‘‘πŸ’– mwah, go read your logs ✨

πŸ“¦ where this page comes from