Installing a zebra bluetooth printer

WARNING: This is a series of notes intended for internal purposes rather than a howto,  If the information provided within is of benefit to you then great, but please read it within the context that it has been written.

This is a how to for installing a zebra printer using bluetooth,  theoretically it should work for any printer albeit you would probably want to use a printer driver rather than a the raw printer that you would use with zebra.

First you need to install a couple of packages using your OS’ package manager

bluez, bluez-utils and bluez-cups

Now you can scan for your bluetooth printer by running the command

bluetoothctl

and then issuing the command

scan on

This should display a list of devices that will hopefully include your printer.  If it does not then check if the device is listed in the list of bluetooth devices in your gui, if it is then delete and it should show up in the scan.

Record the mac address for later use.

cups-bluez does not appear to be supported by the web user interface so you will have to install the printer using lpadmin.

lpadmin -p QLN320BT -E -v bluetooth://AB12SD123241 -m raw

Where the “AB12SD123241” is the MAC address of the printer

NOTE: -p = name of the print queue, -E is to enable the printer and -m is to set the model.  In the case of the Zebra we just want to use a raw print queue.  Raw print queues are apparently depreciated in CUPS, which is slowly but surely being destroyed by APPLE so hopefully it will be forked before too long.

You should now be able to send ZPL directly to the printer using the lpr command.  If you make up a file and then it is simply a matter of issuing

lpr -P QLN320BT ./myzplfilename

at the command prompt and the printer should print the file.

 

PRINTER LANGUAGE

Our applications all use ZPL (The Zebra Programming Language) to send files to the printer.  In order to use ZPL we need to make sure that the printer is in ZPL mode.  To do so open communications with the printer using Zebra setup utilities issue the following commands:

! U1 setvar "device.languages" "zpl"
! U1 setvar "device.pnp_option" "zpl"
! U1 do "device.reset" "" <CR>

The printer will reboot and when it does it will be in ZPL mode.  You may have to reinstall the printer driver to ensure that the version of the driver matches the language on the printer.

To check what mode the printer is currently set to issue:

! U1 getvar "device.languages" <cr>

 

MISSING SWISS FONT

If you are having issues with the built in zebra swiss font then you probably need to download it to the printer.  To do so, rather than using the font downloader or following the somewhat dated instructions within the font folder open the zebra utility, select the printer, then navigate to the action tab and then send file.  The file that you want to be sending is 77849_002.ZSU; select it and hit send.  That should be it.

To check that the file is installed open communications and enter

! U1 do "file.dir" "E:" <cr>

NOTE:  You need a new line character <enter> at the end of that line or it will not work.  Hit send to printer and the font “TT0003M_.TTF” should be listed

DELETING FILES

If you want to delete a single file from E: (which is normally where custom files are) then you need to use the ^ID command thus:

^XA^IDE:MYFILE.SUFFIX^XZ

Change “MYFILE.SUFFIX” for the name of the file that you want to delete (This can be a font or a template or anything).

To delete everything you need to do something like this:

^XA
^IDe:*.CPF^FS
^IDe:*.pcx^FS
^IDe:*.FMT^FS
^IDe:*.TTF^FS
^HWE:
^HWR:
^HWA:
^HWB:
^XZ

NOTE: you should reinstall the Swiss Font using the instructions above if you do this.