LaserWriter 12/640 PS: IP Address Reads 0.0.0.0

My LaserWriter 12/640 PS printer's Startup Page reads that it has an IP address of 0.0.0.0 even though I've configured it via ping to have an IP address, and I can print to it over TCP/IP. Why does the Startup Page not show an IP address?
This article has been archived and is no longer updated by Apple.
If you configured your Laserwriter 12/640 PS printer's IP address with ping, RARP, or BOOTP and you can print to the printer through TCP/IP, the Startup Page will always report an IP address of 0.0.0.0. If the IP address is set using the Apple Printer Utility or telnet, the address will appear on the Startup Page and Configuration Page. However, the printer will not save configuration changes if the Communication switch is in the Reset (out) position, or when a serial cable is connected to its LocalTalk port.

More in-depth information follows, based on actual observations of the LaserWriter 12/640 PS printer:

Initial Factory Setup
TCP/IP default setting is enabled with the IP address set to 0.0.0.0.

When the LaserWriter 12/640 PS first starts up, it issues a RARP request and a BOOTP request every 5 seconds for approximately one minute.

If the printer receives no responses to these initial requests, it will not respond to ICMP echo or ARP requests and cannot be printed to with TCP/IP. However, the printer will accept an ICMP echo request when the destination Ethernet address matches its Ethernet address (ping assignment) - the printer will adopt the destination IP address as its IP address, and then will respond to ARP and echo requests and accept lpd print jobs. It will also report its new IP address through utilities and on the Configuration Page (but not the Startup Page).

Behavior On Restarting (TCP Port Enabled)
What happens depends on how the IP address was previously set:
  • Initial factory setup (or reset via a utility to 0.0.0.0): described above.
  • IP address previously set through ping assignment: the Startup Page shows the IP address as 0.0.0.0. The pinter issues RARP and BOOTP requests and will take a new IP address if a response is received. If no response is received, the IP address previously set through the ping assignment will be used.
  • IP address previously set through RARP or BOOTP: the Startup Page shows the IP address as 0.0.0.0. The printer transmits RARP and BOOTP requests and will take a new IP address if a response is received. If no response is received, the IP address previously obtained through RARP or BOOTP is used.
  • IP address set through Apple Printer Utility, Apple LaserWriter Utility for Windows, or telnet: the Startup Page shows the IP address as set by the utility. The printer will not transmit RARP or BOOTP requests. The IP address can not be changed through ping assignment. ICMP echo requests with a different target IP address are ignored.

Behavior On Restarting (TCP/IP Port Disabled)
In all cases the printer does not respond to ARPs or ICMP echo packets, and no packets in the IP protocol suite are transmitted by the printer. All indications are that IP is completely turned off. Whether the IP address is printed on the startup page and reported through the utilities depends on how it had been previously set:
  • IP address previously set through ping assignment: the Startup Page shows the IP address as 0.0.0.0. Utilities show the address as the value previously set through ping assignment.
  • IP address previously set through RARP or BOOTP: the Startup Page shows the IP address as 0.0.0.0. Utilities show the address as the value previously set.
  • IP address set through Apple Printer Utility, Apple LaserWriter Utility for Windows, or telnet: The Startup Page and utilities show the IP address as set via the utility.

Behavior With DHCP
With a Windows NT server, per Microsoft's documentation, the DHCP implementation in version 3.5.1 Service Pack 5 only responds to DHCP requests and, BOOTP requests are discarded. If you are using DHCP on Windows NT version 3.5.1 Service Pack 5, devices using BOOTP will have to be assigned a fixed IP address. Microsoft indicates a subsequent version supports BOOTP, and should let IP addresses be picked from a range of addresses. In both cases, the address would be given an "infinite lease".

The RFC 1534 document describes how a compliant DHCP server should support BOOTP clients as described below:
    The format of DHCP messages is defined to be compatible with the format of BOOTP messages, so that existing BOOTP clients can interoperate with DHCP servers. Any message received by a DHCP server that includes a 'DHCP message type' (51) option is assumed to have been sent by a DHCP client. Messages without the DHCP Message Type option are assumed to have been sent by a BOOTP client. Support of BOOTP clients by a DHCP server is optional at the discretion of the local system administrator. If a DHCP server that is not configured to support BOOTP clients receives a BOOTREQUEST message from a BOOTP client, that server silently discards the BOOTREQUEST message.

    If a DHCP server is configured to support BOOTP clients, it may be configured to supply static addresses, automatic addresses or both. Static addresses are those that have been previously assigned by a system administrator and are stored in a database available to the DHCP server. Automatic addresses are those selected by the DHCP server from its pool of unassigned addresses.

    Since BOOTP clients may not be prepared to receive automatic addresses, the decision to allow a DHCP server to return automatic addresses must be under the control of the system administrator. If a DHCP server supports supplying automatic addresses to BOOTP clients, this feature must be configurable and the feature must default to off. Enabling of the feature must be the result of an active decision by the system administrator.

    If a DHCP server returns a automatic address, the BOOTP client will not be aware of the DHCP lease mechanism for network address assignment. Thus the DHCP server must assign an infinite lease duration for automatic addresses assigned to BOOTP clients. Such network addresses cannot be automatically reassigned by the server. The local system administrator may choose to manually release network addresses assigned to BOOTP clients.

    A DHCP server that supports BOOTP clients MUST interact with BOOTP clients according to the BOOTP protocol. The server MUST formulate a BOOTP BOOTREPLY message rather than a DHCP DHCPOFFER message (i.e., the server MUST NOT include the 'DHCP message type' option and MUST NOT exceed the size limit for BOOTREPLY messages). The server marks a binding for a BOOTP client as BOUND after sending the BOOTP BOOTREPLY, as a non-DHCP client will not send a DHCPREQUEST message nor will that client expect a DHCPACK message.

    DHCP servers MAY send any DHCP Options to a BOOTP client as allowed by the "DHCP Options and BOOTP Vendor Extensions" RFC [2].

The BOOTP request packets issued by LaserWriter 12/640 PS printer correctly follow the BOOTP specification.
Last Modified: Feb 20, 2012

Additional Product Support Information