User Tools

Site Tools


Navigation Menu

Rustic Retreat

Live broadcasts and documentation from a remote tech outpost in rustic Portugal. Sharing off-grid life, the necessary research & development and the pursuit of life, without centralized infrastructure.

Rustic RetreatSubscribe to our new main project Rustic Retreat on the projects own website.

Hot Projects

SEEDStack

SEEDStack - Open 3D printable seed/sprouting systemDIY Food Hacking

UCSSPM

UCSSPM - Unified Clear-Sky Solar Prediction ModelOpen Solar Power

picoReflow

picoReflow - DIY PID Reflow Oven Controller based on RaspberryPiDIY Reflow Soldering

PiGI

PiGI - DIY Geiger Counter based on RaspberryPiRasPi Geiger Counter

DIY ARA-2000

Active Wideband Receiver Antenna for SDR - ARA-2000Wideband Antenna

DSpace

DSPace - Map everythingMap everything!

Mission-Tags

HOWTO - Update Zebra Printer Firmware on Linux

In case you're in the field and confronted with the task to update a Zebra Printer's Firmware but don't want (or can't) use Zebra's windows-only ZDownloader or Zebra Setup Utilities (both don't seem to work from within Wine) - don't worry: It's actually way easier than it is on Windows and requires only two tools you should have installed on any GNU/Linux or UNIX system anyways: unzip and netcat.

Just follow the next 3 simple steps which worked perfectly for a ZM400 (ZPL) but will probably work for many other Zebra printers as well:

Step 1: Download firmware

You can download the firmware from Zebra's official website:

https://www.zebra.com/us/en/support-downloads/industrial/zm400.html#downloadlistitem_cd8

Latest for ZM400 is currently: v53-17-22z.exe

Step 2: Extract archive

The downloaded .exe is actually a self-extracting zip archive (for windows), we can simply unpack with:

$ unzip v53-17-22z.exe
Archive:  v53-17-22z.exe
  inflating: V53.17.22Z.zpl          
  inflating: 14094L-032_v53_17_22Z.pdf  
  inflating: Firmware Downloader Guide.pdf  

Step 3: Send firmware via netcat

The actual firmware is in V53.17.22Z.zpl and when you look into the file, you see that there is actually ZPL code in it. This lead to the conclusion that it might just be possible to send the content of this file via netcat to the built-in printserver RAW port - 10.1.10.240:9100 in this example, change the IP to whatever your printer is configured to - in order to update the firmware:

$ cat V53.17.22Z.zpl | nc 10.1.10.240 9100

Do not power down, reset the printer or cancel your netcat until the printer is idle again and has printed its configuration sheet - otherwise you may risk bricking the controller.

On the display of your printer it should say “Downloading firmware” after about 2-3 minutes the printer will reboot and do some after flash checks, defrag and print its current configuration before returning to idle. Congratulations, your firmware update is complete now.