TODO Merge this page into the API-description.

There 3 different type of printers:

USB(idVendor, idProduct, interface, in_ep, out_ep)

Based on pyusb and libusb-1.0

  • idVendor is the Vendor ID
  • idProduct is the Product ID
  • interface is the USB device interface (default = 0)
  • in_ep is the input end point (default = 0x82)
  • out_ep is the output end point (default = 0x01)

Serial(“devfile”, baudrate, bytesize, timeout)

Based on pyserial, default values are based on the defaults set by DIP_SWITCH_1 on the documentation(hardware side).

  • devfile is an alphanumeric device file name under /dev filesystem (default = /ev/ttyS0)
  • baudrate is the Baud rate for serial transmission (default = 9600)
  • bytesize sets the serial buffer size (default = 8)
  • timeout defines Read/Write timeout (default = 1)

Network(“host”, port)

Based on socket * host is an alphanumeric host name, could be either DNS host name or IP address. * port to write to (default = 9100)

Troubleshooting: Problems with a network-attached printer can have numerous causes. Make sure that your device has a proper IP address. Often you can check the IP address by triggering the self-test of the device. As a next step try to send text manually to the device. You could use for example:

echo “OKn” | nc IPADDRESS 9100 # the port number is often 9100

As a last resort try to reset the interface of the printer. This should be described in its manual.


Printcap printers * file_name is the full path to the device file name