0

I need to test an Epson POS printer, TM-U220PD. I have it connected by a Parallel converter to my laptop. It's completely installed, but when I test it with python escpos shows me the following error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/escpos/escpos.py", line 437, in text
    self._raw(txt.encode())
  File "/usr/local/lib/python2.7/dist-packages/escpos/printer.py", line 85, in _raw
    self.device.write(self.out_ep, msg, self.timeout)
  File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 948, in write
    self.__get_timeout(timeout)
  File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 824, in bulk_write
    timeout)
  File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 920, in __write
    _check(retval)
  File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 595, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 32] Pipe error

This is the code used to test:

>>> from escpos.printer import Usb
>>> p = Usb(0x067b, 0x2305)
>>> p.open()
>>> p.text()
RooYnnER
  • 23
  • 3

1 Answers1

0

Such a USB-to-Parallel-converter should be mounted by your system into the filesystem (I assume you are on a *nix judging from your trace). Usually this is something like /dev/usb/lp0.

For first debugging you can try to just writing to this "file":

echo "Test\n" > /dev/usb/lp0

If this works you should be able to successfully print with:

from escpos.printer import File
p = File(devfile='/dev/usb/lp0')
p.text("some text\n")
Marc Balmer
  • 1,780
  • 1
  • 11
  • 18