1. Home
  2. Knowledge Base
  3. OEM
  4. Zebra
  5. How to Troubleshoot, Configure, and Repair Zebra Printers Remotely Using ZPL and SGD Commands?
  1. Home
  2. Knowledge Base
  3. OEM
  4. How to Troubleshoot, Configure, and Repair Zebra Printers Remotely Using ZPL and SGD Commands?

How to Troubleshoot, Configure, and Repair Zebra Printers Remotely Using ZPL and SGD Commands?

The Challenge

Managing a distributed fleet of Zebra printers in warehouses or retail yards often leads to operational downtime when hardware issues, incorrect media settings, or configuration drift occur. Without a way to remotely query status, adjust print darkness, or calibrate media, IT administrators must physically access each unit, driving up support costs and slowing down operations.

Prerequisites

Before you begin, make sure you have the following in place:

  • Zebra Link-OS or supported legacy printer enrolled in the SureMDM management console.
  • Active network connection (Wireless) with the printer status showing as ‘Connected’ (Thing Online).

List Of Commands

The following list identifies popular commands used to query status, manage memory, and perform hardware calibration.

Core System & Status Queries

These commands allow admins to retrieve the current health and configuration of the printer.

  1. ^XA: Starts a new label format.
  2. ^XZ: Ends a label format and triggers printing or processing.
  3. ^FS: Field Separator; marks the end of a command line within a format.
  4. ~HS: Host Status Return; provides a string indicating if the printer is paused, out of paper, or has a buffer full.
  5. ~HQES: Request printer status, including error flags (e.g., printhead open) and warning flags (e.g., clean printhead).
  6. ~HQHA: Returns the hardware address of the internal wired print server.
  7. ~HQJT: Returns a summary of the printer’s printhead test results.
  8. ~HQMA: Retrieves maintenance alert settings, such as intervals for head cleaning.
  9. ~HQMI: Returns general maintenance information.
  10. ~HQOD: Queries the printer’s odometer for total distance printed.
  11. ~HQPH: Provides the printhead life history.
  12. ~HQPP: Returns the printer’s Plug and Play string for identification.
  13. ~HQSN: Retrieves the printer’s serial number.
  14. ~HQUI: Provides USB product ID and BDC release versions.
  15. ~HI: Host Identification; returns model and firmware information.

Configuration & Maintenance Labels

Admins use these to generate physical or digital reports of the printer’s internal state.

  1. ^WC: Prints a standard Printer Configuration Label.
  2. ^WDR:*.*: Prints a label listing all objects in a specific memory location.
  3. ^WDZ:*.BAR: Prints a label listing all resident bar codes.
  4. ^WDZ:*.FNT: Prints a label listing all resident fonts.
  5. ^HWR: Requests a Host Directory Listing returned to the terminal (e.g., ^HWR:*.*).
  6. ~JR: Performs a soft printer reset.
  7. ~JB: Resets the battery condition after a bad battery is replaced.

Hardware Calibration & Control

Used to adjust how the printer physically handles media and ink.

  1. ~SD: Sets the darkness (burn temperature) of the printhead.
  2. ^MD: Media Darkness; adjusts darkness relative to the current configuration.
  3. ^MM: Sets the Print Mode (e.g., Tear-off, Rewind, or Cutter).
  4. ^MN: Media Tracking; tells the printer if the media is continuous, has a gap/notch, or a black mark.
  5. ^LL: Defines the label length in dots.
  6. ^PW: Sets the print width.
  7. ^LH: Sets the label home position.
  8. ^PO: Inverts the print orientation 180 degrees.
  9. ^MU: Units conversion; used to translate 150/200 DPI formats for 300/600 DPI printers.
  10. ~PS: Pauses the printer.
  11. ~PP: Purges the current print job from memory.
  12. ^KV: Calibrates the cutter (Partial vs. Full cut).
  13. ^HR: Initiates RFID transponder calibration.

Memory & File Management

Critical for troubleshooting issues with stored logos, fonts, or label templates.

  1. ^DF: Downloads a format to the printer’s memory for later recall.
  2. ^HF: Recalls a format previously stored in the host memory.
  3. ^ID: Deletes an object (image, font, or format) from a specific memory drive.
  4. ^IM: Image Move; used to move graphics between memory locations.
  5. ^IS: Image Store; saves a graphic into memory.
  6. ^IL: Image Load; recalls a stored graphic into a label format.
  7. ^XG: Recalls a stored graphic to be printed.
  8. ^CME: Changes memory designation (e.g., redirecting A: memory tasks to E:).
  9. ~HZO: Deletes a specific stored graphic.

SGD (Set/Get/Do) Commands

These are sent using the ! U1 prefix to perform advanced administrative tasks.

  1. device.reset: Remotely reboots the printer.
  2. device.languages: Sets the printer to use ZPL, EPL, or XML.
  3. device.restore_defaults: Restores defaults for specific branches like “ip” or “wlan”.
  4. device.reset_button_enable: Enables or disables the physical reset button.
  5. ezpl.head_close_action: Defines what happens when the head is closed (e.g., calibrate, feed, or no motion).
  6. ezpl.media_type: Configures the printer for continuous or gap/notch media.
  7. ezpl.print_method: Toggles between thermal transfer (with ribbon) and direct thermal.
  8. ezpl.manual_calibration: Forces the printer to perform a manual media calibration.
  9. print.tone: Fine-tunes the darkness level.
  10. display.text: Customizes the text shown on the printer’s LCD display.
  11. print.troubleshooting_label_print: When enabled, displays batch counters for troubleshooting.
  12. device.command_override.active: Overrides specific ZPL settings with SGD values.
  13. device.bluetooth_installed: Queries if a Bluetooth radio is present in the hardware.

By leveraging Zebra Printer Jobs, administrators can execute critical ZPL and SGD commands across hundreds of Zebra printers simultaneously eliminating the need for manual on-site intervention, ensuring consistent label formatting, and dramatically reducing device downtime across frontline environments.

Learn more about SureMDM.

Was this helpful?
YesNo
Updated on July 2026
Need Support?
Can't find the answer you're looking for?
Contact Support