Device Not Responding After Labels Print

Description

When connecting to a printer via TCP/IP, a device enters an error state with the following message:

Message
Device not responding 

In order to clear the error, the LPS service needs to be restarted.  

The symptom that makes this different from a truly unreachable printer is that the printer completes the print job before going offline, rather than going offline and keeping the job in pending.  

Another possible symptom of this error occurs when the LPS service is restarted:

Message
(M4879) Got an update for Job# %d but was already printed!

This issue has been seen with Intermec Direct Protocol and SATO printers.

Cause

The cause for this issue is that after the LPS service sends a print stream and closes it, the printer continues sending data back (usually status messages). As a result, there is an internal buffer that fills and the proper end of the session cannot be read. One way to troubleshoot is to use the Wireshark tool, and the screenshot below is an example of what can be seen.

Solution

There is an optional configuration to LPS's llmwdn32.ini file.  Add the following to the end of your llmwdn32.ini

    [Socket]
    WaitRead=1

To Open llmwdn32.ini, go to Start > All Programs > Loftware Labeling > System Folders, and click Configuration.  This is a shortcut to the configuration folder.  Open the llmwdn32.ini file with your preferred text editor.

Result

LPS will clear its internal buffer as needed to complete the socket connection.  The "Device Not Responding" state should not appear any longer due to adding to the WaitRead parameter to the ini file.

Additional Resources

http://en.wikipedia.org/wiki/Transmission_Control_Protocol#Protocol_operation