HELIOS Base UB+ User manual


A 3 Technical notes

In the following we describe the structure of the HELIOS printer log file and server log file, and describe error messages.

At the end of the chapter all TCP ports that are used by HELIOS are listed.
Please refer to your UNIX manuals for a description of the "system messages" file. Both files can be inspected in HELIOS Admin by selecting the appropriate item from the Lists menu.

A 3.1 Printer log file structure

Each entry in "HELIOSDIR/var/adm/printer.acct" (with the appendices ".0", yesterday to ".6", seven days ago) has the following format:

status, ptrName, "username", "JobTitle",
startTime, duration, pages, ListOfFonts
Description
status (decimal):
3 General UNIX warning
2 PostScript output
1 UNIX info (e.g. extended print information)
0 OK
-1 Communications error
-2 PostScript error
-3 Terminated job (e.g. killed signal)
-4 UNIX error (e.g. file not found)

ptrName (string): logical (UNIX) printer name

"username" (string): from PostScript header of job

"JobTitle" (string): i.e. document name, from PostScript header of job

startTime (decimal): seconds since 1.1.1970 (UNIX time_t values)

duration (seconds): = endTime-startTime

pages (decimal): = endPage-startPage (determined by printer interrogation with the "pagecount.ps" query.

ListOfFonts (string array): fonts used, space delimited

If status0, the line is followed by the error output of the printer, bracketed by the lines "Error output:" and "End error output". Also, if no printable data are sent to the printer (pages=0), then duration will be "0".

Note: Messages are only written to the printer log file if you activated the Accounting File option when creating the printer queue with HELIOS Admin.
User and document names in print jobs

The user name logged with each print job in the printer log file "HELIOSDIR/var/adm/printer.acct" (and the user to which error messages are sent as mail) is determined by interrogating the PostScript header of the job for the name in the "%%For" comment.

Under Mac System 7.x or later, the name in the "%%For" comment is automatically set to the "Owner Name" specified in the Network Identity section of Apple's File Sharing (Start/Stop) control field. In Mac OS X, the name is taken from the Name entry in the "Accounts" section of the Mac OS X System Preferences.

If the "%%For" comment or the name field is missing, all jobs will be allocated to "nobody" by default.

If a name is specified but cannot be found in the list of long or short names in "/etc/passwd", the specified (unknown) user name will still appear in the printer log file, but any error messages are sent as mail to "root" instead.

Note: Mac OS 8/9:
If you check Save My Name Only or Save My Name and Password in the Apple Chooser, the name saved in the system may not be the same as the name in the File Sharing control field, since it is possible to overwrite the prompted name before saving it. The name stored in File Sharing is the one used by the log file.

Mac OS X:
The name can be obtained from the Computer Name field in System Preferences > Sharing.

The document title is determined by interrogating the PostScript header of the job for the name in the "%%Title" comment.

It may be possible for you to set these comments for UNIX and MS-DOS print jobs, too, in order to ensure that they also have complete records in the printer log file.

A 3.2 Server log file structure

Each entry in "HELIOSDIR/var/adm/server.acct" (with the appendices ".0", yesterday to ".6", seven days ago) has the following format:

status, svrName, ws_address, pe_status, usrname,
startTime, duration, usrTime, sysTime, rusage
Description

status = 1 (normal login)

svrName (string): server name

ws_address (string): workstation network address (TCP/IP or AppleTalk)

pe_status (decimal): UNIX process exit status (0 = OK; 1...127 = error exit, i.e. the program has been terminated; 128... = abnormal termination, ask your system administrator)

usrname (string): user login name

startTime (decimal): login time, seconds since 1.1.1970 (UNIX time_t values)

duration, seconds: = endTime-startTime

usrTime (decimal): processor time consumed by user process

sysTime (decimal): processor time consumed by the process while in system mode

rusage (decimal array): = resource usage information. The structure is operating system dependent - see the description of "getrusage" in your UNIX documentation. Some of the resource usage fields are decoded and used by HELIOS Admin in the Server Log File window.

Each entry in "HELIOSDIR/var/adm/server.acct" has the following format for an unsuccessful login:

status, svrName, ws_address, pid, name, time

where:

status = 2 (bad login)

svrName (string): server name

ws_address (string): workstation network address (TCP/IP or AppleTalk)

pid: process ID

name (string): attempted login name

time (decimal): attempted login time, seconds since 1.1.1970 (UNIX time_t values)

A 3.3 PostScript RIP inits in HELIOS Admin

Printer INITs in HELIOS Admin must not contain the "exitserver" operator, because the following print job will not execute properly. This is because the INIT is sent to the printer in the same PAP (RIP) session as the following job.

Discussion: The INIT does normally not need to permanently change the server dictionary, because it automatically pre-fixes each and every print job. Furthermore, it is not recommended to try and change the server dictionary in an Admin INIT, because serverdict information is written each time you print to RIP EEPROM, and the latter has a programming life of 10,000 cycles only.

Solution: Simplify the INIT by removing the "exitserver" operator.

If possible, the INIT should also be designed to test the parameter it wants to change first in order to see if the parameter has already the required value. This saves RIP processing time, e.g.:

INIT recommended in the RIP manual:

serverdict begin 0 exitserver
statusdict begin 2400 setresolution end

INIT recommended for use in HELIOS Admin:

statusdict begin
resolution 2400 eq not {2400 setresolution} if
end

HELIOS Admin can be extended with custom PostScript calibration tools, which appear automatically in the Edit Initialization menu. HELIOS will provide programming guides for developing such tools to typesetter manufacturers upon request.

Note: INITs cannot contain PostScript code to interrogate the RIP because at present there is no way of returning the response to HELIOS Admin.
Important: Please contact your RIP supplier and not HELIOS if you have any problems and/or questions regarding RIP INITs or RIP configuration!

A 3.4 Error logging

HELIOS error logging can be done with the "syslogd" program on UNIX platforms, and with the "Event Viewer" on Windows platforms.

syslogd

"syslogd", which runs continuously in the background within UNIX, has the task of processing status and error messages from other active programs, and sending them to a specific output device or file in accordance with its configuration. HELIOS Admin uses the services of "syslogd" to output system error messages and warnings.

By changing the configuration file "/etc/syslog.conf" on the server, the administrator is able to exactly control the flow of messages. For example, messages can be automatically passed on to users logged-on to the system (or entire groups), or simply stored in files or output to the system console.

Note: Make sure that "syslogd" is appropriately configured on your operating system. Otherwise the HELIOS services will not log any error messages nor warnings.
Windows event logging

Error logging on Windows platforms can be done e.g. via the "Event Viewer" program (Computer Management > System Tools > Event Viewer), which provides application error records in the "Application" log file, security audit records in the "Security" log file, and system error records in the "System" log file.

A 3.5 UNIX kernel tuning

This section describes optional tuning procedures which require substantial UNIX experience. These procedures should not be attempted by beginners.

If the HELIOS host has plenty of memory, it may be worthwhile adjusting some data structures inside the operating system to be larger than normal. This keeps more information in memory that otherwise may need to be continuously re-read from the disk. Modern operating systems adjust the data structure values depending on the available memory size. See your UNIX documentation for more information.

For more information on UNIX kernel tuning see:

http://www.helios.de/support/unixkernel.phtml

A 3.6 WebShare iPhone

The WebShare login is by default RSA 1024 bit encrypted. This is done within JavaScript in the web browser. The iPhone has a JavaScript time-out, which will result into unsuccessful logins. The following preference allows reducing the login to 640 bits, which is still a very high security and allows the iPhone to work without any time-outs. It can be changed via the following preference:

# prefvalue -k Programs/authsrv/RSABits -t int 640

After restarting "authsrv" or restarting the HELIOS services (stop-helios and start-helios), the new encryption setting is activated. The WebShare login page will now show (Crypted RSA 640 bit).

A 3.7 TCP ports used by HELIOS

Port
Protoc.
Where
Function/Service
67
UDP
Server
PCShare DHCP server port
110
TCP
Server
EtherShare POP 3 mail server
137
UDP
Server
PCShare Browsing
138
UDP
Server
PCShare NetBIOS
139
TCP
Server
PCShare SMB/CIFS
445
TCP
Server
PCShare SMB/CIFS
515
TCP
Server
BSD Remote LPR
5481
TCP
Server
AFP Server
2000
UDP
Server
PCShare 1.x native DOS/Win 3.x
2001
TCP
Server
EtherShare mail server
2001
UDP
Server
PCShare 2.x native DOS/Win 3.x
2002
TCP
Server
ImageServer Event Listener
2002
UDP
Server
syslog messages
2003
TCP
Server
PCShare service port
2004
TCP
Server
EtherShare Admin
2005
TCP
Client
Create PDF Server (Acrobat Distiller)
2006
TCP
Server
HELIOS Admin
2007
TCP
Server
EtherShare print spooler (papsrv)
2008
TCP
Server
Authentication server
2009
TCP
Server
WebShare WebObjects Server
2010
TCP
Server
WebShare File Server
2011 - 2014
TCP
Client
Printing PCShare native DOS printsrv
2011 - 2015
TCP
Server
Temporary ports used by WebShare File Server
2016
TCP
Server
WebShare File Server service port
2017
TCP
Server
Notification server service port
2018
TCP
Server
Create PDF Server (GhostScript)
2019
TCP
Server
Preview rendering server
2021 - 2023
TCP
Client
Printing PCShare native DOS printsrv
2024
TCP
Server
Script Server service port
2025
TCP
Server
Desktop server HelRPC port
2026
TCP
Server
mDNS proxy server registrations
2027
TCP
Server
HELIOS DHCP service port
2028
TCP
Server
DHCP Server HelRPC Port
2209
TCP
Client
HELIOS Admin telnet debugging port
2222
UDP
Server
EtherShare RPC
2223
UDP
Server
PCShare RPC
5353
UDP
Server
mDNS Server ("Bonjour") Port
5354
TCP
Server
mDNS Windows Port (loopback only!)
1
On Mac OS X, if the native OS X AFP services are running when EtherShare starts, then EtherShare "afpsrv" will be assigned a free port. This will be noted in the system log (e.g. "afpsrv[PID]: TCP/IP port 548 busy, using port -").


© 2008 HELIOS Software GmbH