Hey, this looks like an amazing project but I feel like I've set it up wrong and I'm clueless as to how to deal with this issue... The printer is in a "paused" state and I can't get it to work.
Nov 30 13:13:06 workstation python3[42788]: detected unhandled Python exception in '/usr/lib/cups/backend/funnyprint'
Nov 30 13:13:06 workstation cupsd[1157]: Xiqi_LX-D02 kragleh 1 [30/Nov/2025:13:13:06 +0100] total 0 - localhost Home - CUPS 2.4.14 - -
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Backend funnyprint returned status 1 (failed)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] The following messages were recorded from 13:13:00 to 13:13:06
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Applying default options...
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Adding start banner page "none".
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Adding end banner page "none".
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] File of type application/pdf queued by "kragleh".
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] hold_until=0
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Queued on "Xiqi_LX-D02" by "kragleh".
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] time-at-processing=1764504780
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] 3 filters for job:
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] pdftopdf (application/pdf to application/vnd.cups-pdf, cost 66)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] gstoraster (application/vnd.cups-pdf to application/vnd.cups-raster, cost 99)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] - (application/vnd.cups-raster to printer/Xiqi_LX-D02, cost 100)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] job-sheets=none,none
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] argv[0]="Xiqi_LX-D02"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] argv[1]="1"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] argv[2]="kragleh"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] argv[3]="Home - CUPS 2.4.14"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] argv[4]="1"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] argv[5]="PageSize=Custom.164.41x113.39 Collate print-color-mode=monochrome Duplex=None job-uuid=urn:uuid:226bd7cd-332e-35c4-58ce-3cfde4e246d2 job-originating-host>
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] argv[6]="/var/spool/cups/d00001-001"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[0]="CUPS_CACHEDIR=/var/cache/cups"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[1]="CUPS_DATADIR=/usr/share/cups"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[2]="CUPS_DOCROOT=/usr/share/cups/www"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[3]="CUPS_REQUESTROOT=/var/spool/cups"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[4]="CUPS_SERVERBIN=/usr/lib/cups"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[5]="CUPS_SERVERROOT=/etc/cups"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[6]="CUPS_STATEDIR=/run/cups"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[7]="HOME=/var/spool/cups/tmp"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[8]="PATH=/usr/lib/cups/filter:/usr/bin:/usr/bin:/bin:/usr/bin"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[9]="SERVER_ADMIN=root@workstation"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[10]="SOFTWARE=CUPS/2.4.14"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[11]="TMPDIR=/var/spool/cups/tmp"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[12]="USER=root"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[13]="CUPS_MAX_MESSAGE=2047"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[14]="CUPS_SERVER=/run/cups/cups.sock"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[15]="CUPS_ENCRYPTION=IfRequested"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[16]="IPP_PORT=631"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[17]="CHARSET=utf-8"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[18]="LANG=en_US.UTF-8"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[19]="PPD=/etc/cups/ppd/Xiqi_LX-D02.ppd"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[20]="CONTENT_TYPE=application/pdf"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[21]="DEVICE_URI=funnyprint://Xiqi/LX-D02?address=C0%3A00%3A00%3A00%3A13%3A90"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[22]="PRINTER_INFO=Xiqi LX-D02"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[23]="PRINTER_LOCATION="
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[24]="PRINTER=Xiqi_LX-D02"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[25]="PRINTER_STATE_REASONS=none"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[26]="CUPS_FILETYPE=document"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[27]="FINAL_CONTENT_TYPE=application/vnd.cups-raster"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] envp[28]="AUTH_I****"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Started filter /usr/lib/cups/filter/pdftopdf (PID 42786)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Started filter /usr/lib/cups/filter/gstoraster (PID 42787)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Started backend /usr/lib/cups/backend/funnyprint (PID 42788)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ppdFilterLoadPPD: Color profile qualifier determined from job and PPD data \'Black..203dpi\'
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ppdFilterLoadPPD: No ICC profiles specified in PPD
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ppdFilterLoadPPD: Searching for profile \"203dpi/-\"...
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ppdFilterLoadPPD: Last filter determined by the PPD: -; Final data MIME type: application/vnd.cups-raster => PDF filter will not log pages in page_log.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ppdFilterLoadPPD: Color profile qualifier determined from job and PPD data \'Black..203dpi\'
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ppdFilterLoadPPD: No ICC profiles specified in PPD
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ppdFilterLoadPPD: Searching for profile \"203dpi/-\"...
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ppdFilterEmitJCL: Filter function (PID 42789) started.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Set job-printer-state-message to "ppdFilterEmitJCL: Filter function (PID 42789) started.", current level=INFO
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ppdFilterLoadPPD: Last filter determined by the PPD: -; Final data MIME type: application/vnd.cups-raster => PDF filter will not log pages in page_log.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Output format: CUPS Raster
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Copying input to temp file \"/var/spool/cups/tmp/0a7236934b252\"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterPDFToPDF: Suppressed page logging selected by options.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterPDFToPDF: Processing PDF input with QPDF: Page-ranges, page-set, number-up, booklet, size adjustment, ...
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterPDFToPDF: \"print-scaling\" IPP attribute: auto
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterPDFToPDF: Print scaling mode: Do not scale, center, crop if needed
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterPDFToPDF: After Cropping: 165.000000 114.000000 164.409454 113.385826
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ppdFilterEmitJCL: Filter function (PID 42789) exited with no errors.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Input format: PDF
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Color space requested: Default
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Final output format: CUPS Raster
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Format of the input document: application/pdf
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Document\'s input format provides absolute size dimensions for each page, using these if no output page size is provided.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Print rendering intent = auto
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Color Manager: Calibration Mode/Off
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Calling FindDeviceById(cups-Xiqi_LX-D02)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Found device /org/freedesktop/ColorManager/devices/cups_Xiqi_LX_D02
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Calling org.freedesktop.ColorManager.Device.Get(ProfilingInhibitors)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Calling FindDeviceById(cups-Xiqi_LX-D02)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] PID 42786 (/usr/lib/cups/filter/pdftopdf) exited with no errors.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Found device /org/freedesktop/ColorManager/devices/cups_Xiqi_LX_D02
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Calling GetProfileForQualifiers(Black..203dpi...)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Failed to send: org.freedesktop.ColorManager.Device.NothingMatched:nothing matched expression \'Black..203dpi,Black..*,Black.*.203dpi,Black.*.*,*\'
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Failed to get profile filename for cups-Xiqi_LX-D02
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Color Manager: ICC Profile: None
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Ghostscript using Any-Part-of-Pixel method to fill paths.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Ghostscript command line: gs -dQUIET -dSAFER -dNOPAUSE -dBATCH -dNOINTERPOLATE -dNOMEDIAATTRS -dUsePDFX3Profile -sstdout=%stderr -sOutputFile>
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Started Ghostscript (PID 42790)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Started logging (PID 42791)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Input data feed completed
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Start rendering...
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Set job-printer-state-message to "cfFilterGhostscript: Start rendering...", current level=INFO
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Processing page 1...
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Set job-printer-state-message to "cfFilterGhostscript: Processing page 1...", current level=INFO
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Got CUPS header. Width: 384, Height: 320, BytesPerLine: 48
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Skip blank lines mode NOT enabled for 58x40mm
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] STATE: -timed-out
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] STATE: +connecting-to-device
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Processing page 2...
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Set job-printer-state-message to "cfFilterGhostscript: Processing page 2...", current level=INFO
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Rendering completed
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Set job-printer-state-message to "cfFilterGhostscript: Rendering completed", current level=INFO
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Ghostscript (PID 42790) exited with no errors.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] cfFilterGhostscript: Logging (PID 42791) exited with no errors.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] PID 42787 (/usr/lib/cups/filter/gstoraster) exited with no errors.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Traceback (most recent call last):
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] File \"/usr/lib/cups/backend/funnyprint\", line 8, in <module>
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] sys.exit(cli())
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ~~~^^
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] File \"/usr/local/lib/python3.14/site-packages/rastertofunnyprint/rastertofunnyprint.py\", line 599, in cli
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] return asyncio.run(main())
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ~~~~~~~~~~~^^^^^^^^
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] File \"/usr/lib64/python3.14/asyncio/runners.py\", line 204, in run
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] return runner.run(main)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ~~~~~~~~~~^^^^^^
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] File \"/usr/lib64/python3.14/asyncio/runners.py\", line 127, in run
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] return self._loop.run_until_complete(task)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] File \"/usr/lib64/python3.14/asyncio/base_events.py\", line 719, in run_until_complete
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] return future.result()
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ~~~~~~~~~~~~~^^
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] File \"/usr/local/lib/python3.14/site-packages/rastertofunnyprint/rastertofunnyprint.py\", line 489, in main
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] await funny.configure()
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] File \"/usr/local/lib/python3.14/site-packages/rastertofunnyprint/rastertofunnyprint.py\", line 361, in configure
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] await self.client.start_notify(self.READ_UUID, partial(self._bleak_callback, self))
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] File \"/usr/local/lib/python3.14/site-packages/bleak/__init__.py\", line 842, in start_notify
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] await self._backend.start_notify(
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] characteristic, wrapped_callback, cb=cb, **kwargs
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] )
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] File \"/usr/local/lib/python3.14/site-packages/bleak/backends/bluezdbus/client.py\", line 964, in start_notify
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] unix_fd = reply.unix_fds[0]
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] ~~~~~~~~~~~~~~^^^
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] IndexError: list index out of range
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] PID 42788 (/usr/lib/cups/backend/funnyprint) stopped with status 1.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Hint: Try setting the LogLevel to "debug" to find out more.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] Printer stopped due to backend errors; please consult the syslog file for details.
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] End of messages
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] printer-state=5(stopped)
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] printer-state-message="cfFilterGhostscript: Rendering completed"
Nov 30 13:13:06 workstation cupsd[1157]: [Job 1] printer-state-reasons=paused
Hey, this looks like an amazing project but I feel like I've set it up wrong and I'm clueless as to how to deal with this issue... The printer is in a "paused" state and I can't get it to work.