Skip to content

macos: Invalid endpoint address #646

@ajsirota

Description

@ajsirota

I have:

  • searched open and closed issues for duplicates

Behavior

With this script:

from escpos.printer import Usb

p = Usb(0x0483, 0x5743)

if __name__ == '__main__':
    p.text("Hello, world!")
    p.cut()

I get this output:

Traceback (most recent call last):
  File "/Users/ajs256/code/pyESCPOS/.venv/lib/python3.12/site-packages/usb/core.py", line 236, in get_interface_and_endpoint
    return self._ep_info[endpoint_address]
           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
KeyError: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/ajs256/code/pyESCPOS/main.py", line 8, in <module>
    p.text("Hello, world!")
  File "/Users/ajs256/code/pyESCPOS/.venv/lib/python3.12/site-packages/escpos/escpos.py", line 863, in text
    self.magic.write(str(txt))
  File "/Users/ajs256/code/pyESCPOS/.venv/lib/python3.12/site-packages/escpos/magicencode.py", line 282, in write
    self.write_with_encoding(encoding, to_write)
  File "/Users/ajs256/code/pyESCPOS/.venv/lib/python3.12/site-packages/escpos/magicencode.py", line 304, in write_with_encoding
    self.driver._raw(
  File "/Users/ajs256/code/pyESCPOS/.venv/lib/python3.12/site-packages/escpos/printer/usb.py", line 190, in _raw
    self.device.write(self.out_ep, msg, self.timeout)
  File "/Users/ajs256/code/pyESCPOS/.venv/lib/python3.12/site-packages/usb/core.py", line 986, in write
    intf, ep = self._ctx.setup_request(self, endpoint)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ajs256/code/pyESCPOS/.venv/lib/python3.12/site-packages/usb/core.py", line 113, in wrapper
    return f(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ajs256/code/pyESCPOS/.venv/lib/python3.12/site-packages/usb/core.py", line 228, in setup_request
    intf, ep = self.get_interface_and_endpoint(device, endpoint_address)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ajs256/code/pyESCPOS/.venv/lib/python3.12/site-packages/usb/core.py", line 113, in wrapper
    return f(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ajs256/code/pyESCPOS/.venv/lib/python3.12/site-packages/usb/core.py", line 244, in get_interface_and_endpoint
    raise ValueError('Invalid endpoint address ' + hex(endpoint_address))
ValueError: Invalid endpoint address 0x1

Any ideas on how to fix this?

Device info

Printer: Generic OCPP-80G

  • python-escpos version: 3.1
  • python version: CPython v3.12.0
  • platform: macOS-14.5-arm64-arm-64bit
  • printer driver USB is usable: True
  • printer driver File is usable: True
  • printer driver Network is usable: True
  • printer driver Serial is usable: False
  • printer driver LP is usable: True
  • printer driver Dummy is usable: True
  • printer driver CupsPrinter is usable: False
  • printer driver Win32Raw is usable: False

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions