You are not logged in.

#1 2022-01-12 21:25:33

Wispy
Member
Registered: 2021-04-02
Posts: 39

Can't seem to get Pantum P2500W working on my Arch system

I have bought a new printer, which promised Linux compatibility. However, on their website there's only a driver for Ubuntu. Later, I installed cups. cups-filters, the Pantum drivers from AUR, ghostscript and system-config-printer. I'm using KDE, so I set up my printer through System Settings. Everything seems to be working properly. But whenever a job is created, the printer warms up and job ends without a single page printed. I tried using this printer on an Ubuntu and Windows WMs and it works off the bat.
There weren't any errors in the /var/log/cups/error_log, and I'm not sure what to look for. I've read many forums, but none were of help. Arch Wiki's Troubleshooting CUPS page wasn't useful either. Any ideas? Also I'm not sure what additional information to provide.

Thanks in advance!

/var/log/cups/error_log:

D [13/Jan/2022:00:17:53 +0300] Report: printers=1
D [13/Jan/2022:00:17:53 +0300] Report: stringpool-string-count=4405
D [13/Jan/2022:00:17:53 +0300] Report: stringpool-alloc-bytes=12112
D [13/Jan/2022:00:17:53 +0300] Report: stringpool-total-bytes=86696
D [13/Jan/2022:00:17:53 +0300] [Client 232] POST / HTTP/1.1
D [13/Jan/2022:00:17:53 +0300] cupsdSetBusyState: newbusy="Active clients", busy="Active clients"
D [13/Jan/2022:00:17:53 +0300] [Client 232] Read: status=200, state=6
D [13/Jan/2022:00:17:53 +0300] [Client 232] No authentication data provided.
D [13/Jan/2022:00:17:53 +0300] [Client 232] 2.0 Renew-Subscription 157
D [13/Jan/2022:00:17:53 +0300] Renew-Subscription /
D [13/Jan/2022:00:17:53 +0300] cupsdIsAuthorized: requesting-user-name="wispy"
D [13/Jan/2022:00:17:53 +0300] cupsdMarkDirty(----S)
D [13/Jan/2022:00:17:53 +0300] cupsdSetBusyState: newbusy="Active clients and dirty files", busy="Active clients"
D [13/Jan/2022:00:17:53 +0300] [Client 232] Returning IPP successful-ok for Renew-Subscription (/) from localhost.
D [13/Jan/2022:00:17:53 +0300] [Client 232] Content-Length: 106
D [13/Jan/2022:00:17:53 +0300] [Client 232] cupsdSendHeader: code=200, type="application/ipp", auth_type=0
D [13/Jan/2022:00:17:53 +0300] [Client 232] con->http=0x55c5cd7cbd10
D [13/Jan/2022:00:17:53 +0300] [Client 232] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=106, response=0x55c5cd82c110(IPP_STATE_DATA), pipe_pid=0, file=-1
D [13/Jan/2022:00:17:53 +0300] [Client 232] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
D [13/Jan/2022:00:17:53 +0300] [Client 232] bytes=0, http_state=0, data_remaining=106
D [13/Jan/2022:00:17:53 +0300] [Client 232] Flushing write buffer.
D [13/Jan/2022:00:17:53 +0300] [Client 232] New state is HTTP_STATE_WAITING
D [13/Jan/2022:00:17:53 +0300] [Client 232] Waiting for request.
D [13/Jan/2022:00:17:53 +0300] cupsdSetBusyState: newbusy="Dirty files", busy="Active clients and dirty files"
I [13/Jan/2022:00:17:54 +0300] Expiring subscriptions...
I [13/Jan/2022:00:18:24 +0300] Saving subscriptions.conf...
D [13/Jan/2022:00:18:24 +0300] cupsdSetBusyState: newbusy="Not busy", busy="Dirty files"
I [13/Jan/2022:00:18:24 +0300] Expiring subscriptions...
D [13/Jan/2022:00:32:39 +0300] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
D [13/Jan/2022:00:32:39 +0300] [Client 233] Server address is "/run/cups/cups.sock".
D [13/Jan/2022:00:32:39 +0300] [Client 233] Accepted from localhost (Domain)
D [13/Jan/2022:00:32:39 +0300] [Client 233] Waiting for request.
I [13/Jan/2022:00:32:39 +0300] Expiring subscriptions...
D [13/Jan/2022:00:32:39 +0300] cupsdAddCert: Adding certificate for PID 0
D [13/Jan/2022:00:32:39 +0300] Report: clients=2
D [13/Jan/2022:00:32:39 +0300] Report: jobs=2
D [13/Jan/2022:00:32:39 +0300] Report: jobs-active=0
D [13/Jan/2022:00:32:39 +0300] Report: printers=1
D [13/Jan/2022:00:32:39 +0300] Report: stringpool-string-count=4405
D [13/Jan/2022:00:32:39 +0300] Report: stringpool-alloc-bytes=12112
D [13/Jan/2022:00:32:39 +0300] Report: stringpool-total-bytes=86696
D [13/Jan/2022:00:32:39 +0300] [Client 233] POST / HTTP/1.1
D [13/Jan/2022:00:32:39 +0300] cupsdSetBusyState: newbusy="Active clients", busy="Active clients"
D [13/Jan/2022:00:32:39 +0300] [Client 233] Read: status=200, state=6
D [13/Jan/2022:00:32:39 +0300] [Client 233] No authentication data provided.
D [13/Jan/2022:00:32:39 +0300] [Client 233] 2.0 Renew-Subscription 481
D [13/Jan/2022:00:32:39 +0300] Renew-Subscription /
D [13/Jan/2022:00:32:39 +0300] cupsdIsAuthorized: requesting-user-name="wispy"
D [13/Jan/2022:00:32:39 +0300] cupsdMarkDirty(----S)
D [13/Jan/2022:00:32:39 +0300] cupsdSetBusyState: newbusy="Active clients and dirty files", busy="Active clients"
D [13/Jan/2022:00:32:39 +0300] [Client 233] Returning IPP successful-ok for Renew-Subscription (/) from localhost.
D [13/Jan/2022:00:32:39 +0300] [Client 233] Content-Length: 106
D [13/Jan/2022:00:32:39 +0300] [Client 233] cupsdSendHeader: code=200, type="application/ipp", auth_type=0
D [13/Jan/2022:00:32:39 +0300] [Client 233] con->http=0x55c5cd9185d0
D [13/Jan/2022:00:32:39 +0300] [Client 233] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=106, response=0x55c5cd8388c0(IPP_STATE_DATA), pipe_pid=0, file=-1
D [13/Jan/2022:00:32:39 +0300] [Client 233] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
D [13/Jan/2022:00:32:39 +0300] [Client 233] bytes=0, http_state=0, data_remaining=106
D [13/Jan/2022:00:32:39 +0300] [Client 233] Flushing write buffer.
D [13/Jan/2022:00:32:39 +0300] [Client 233] New state is HTTP_STATE_WAITING
D [13/Jan/2022:00:32:39 +0300] [Client 233] Waiting for request.
D [13/Jan/2022:00:32:39 +0300] cupsdSetBusyState: newbusy="Dirty files", busy="Active clients and dirty files"
I [13/Jan/2022:00:32:40 +0300] Expiring subscriptions...
I [13/Jan/2022:00:32:54 +0300] Expiring subscriptions...
D [13/Jan/2022:00:32:54 +0300] Closing client 232 after 900 seconds of inactivity.
D [13/Jan/2022:00:32:54 +0300] [Client 232] Closing connection.
D [13/Jan/2022:00:32:54 +0300] cupsdSetBusyState: newbusy="Dirty files", busy="Dirty files"
I [13/Jan/2022:00:33:10 +0300] Saving subscriptions.conf...
D [13/Jan/2022:00:33:10 +0300] cupsdSetBusyState: newbusy="Not busy", busy="Dirty files"
I [13/Jan/2022:00:33:10 +0300] Expiring subscriptions...
I [13/Jan/2022:00:47:40 +0300] Expiring subscriptions...
D [13/Jan/2022:00:47:40 +0300] cupsdAddCert: Adding certificate for PID 0
D [13/Jan/2022:00:47:40 +0300] Closing client 233 after 900 seconds of inactivity.
D [13/Jan/2022:00:47:40 +0300] [Client 233] Closing connection.
D [13/Jan/2022:00:47:40 +0300] cupsdSetBusyState: newbusy="Not busy", busy="Not busy"
D [13/Jan/2022:00:47:40 +0300] Report: clients=0
D [13/Jan/2022:00:47:40 +0300] Report: jobs=2
D [13/Jan/2022:00:47:40 +0300] Report: jobs-active=0
D [13/Jan/2022:00:47:40 +0300] Report: printers=1
D [13/Jan/2022:00:47:40 +0300] Report: stringpool-string-count=4405
D [13/Jan/2022:00:47:40 +0300] Report: stringpool-alloc-bytes=12112
D [13/Jan/2022:00:47:40 +0300] Report: stringpool-total-bytes=86696
D [13/Jan/2022:01:01:53 +0300] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
D [13/Jan/2022:01:01:53 +0300] [Client 234] Server address is "127.0.0.1".
D [13/Jan/2022:01:01:53 +0300] [Client 234] Accepted from localhost:46172 (IPv4)
D [13/Jan/2022:01:01:53 +0300] [Client 234] Waiting for request.
I [13/Jan/2022:01:01:53 +0300] Expiring subscriptions...
D [13/Jan/2022:01:01:53 +0300] cupsdAddCert: Adding certificate for PID 0
D [13/Jan/2022:01:01:53 +0300] Report: clients=1
D [13/Jan/2022:01:01:53 +0300] Report: jobs=2
D [13/Jan/2022:01:01:53 +0300] Report: jobs-active=0
D [13/Jan/2022:01:01:53 +0300] Report: printers=1
D [13/Jan/2022:01:01:53 +0300] Report: stringpool-string-count=4405
D [13/Jan/2022:01:01:53 +0300] Report: stringpool-alloc-bytes=12112
D [13/Jan/2022:01:01:53 +0300] Report: stringpool-total-bytes=86696
I [13/Jan/2022:01:01:54 +0300] Expiring subscriptions...
D [13/Jan/2022:01:01:58 +0300] [Client 234] HTTP_STATE_WAITING Closing for error 32 (Broken pipe)
D [13/Jan/2022:01:01:58 +0300] [Client 234] Closing connection.
D [13/Jan/2022:01:01:58 +0300] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
I [13/Jan/2022:01:01:58 +0300] Expiring subscriptions...
I [13/Jan/2022:01:01:59 +0300] Expiring subscriptions...

Last edited by Wispy (2022-01-12 22:05:13)

Offline

#2 2026-06-08 08:33:05

The_Fool
Member
Registered: 2026-06-08
Posts: 1

Re: Can't seem to get Pantum P2500W working on my Arch system

Hey, faced exactly the same issue. Late response, but posting for anyone who finds this via search. Tested via USB, WiFi method might differ.

First off, you should have the driver package installed from AUR:

yay -S pantum-universal-driver

Also make sure you have foomatic-db and foomatic-db-engine installed.

The root cause is a filter bug in the PPD. The pantum-universal-driver gives PPDs for P2500W that reference pt2500Filter. They exist in /usr/lib/cups/filter/., but that didn't seem to work for me, reason unknown.
There is rastertoPantum and rastertoPantumPCL in /usr/lib/cups/filter/., and rastertoPantum works with the P2500W. Worked for me at least. 

Fix is to edit the PPD before adding the printer. First, make a safe copy:

cp /usr/share/cups/model/Pantum/Pantum-P2500W-Series.ppd /tmp/Pantum-P2500W.ppd

Now patch the file:

sed -i 's/pt2500Filter/rastertoPantum/g' /tmp/Pantum-P2500W.ppd

With this pt2500Filter got changed into rastertoPantum. Now CUPS will use this instead of pt2500Filter, which didn't work.

Now remove the printer if you've already added it:

sudo lpadmin -x Pantum-P2500W

Add the printer with the modified PPD:

sudo lpadmin -p Pantum-P2500W -E \
  -v [USB URI] \
  -P /tmp/Pantum-P2500W.ppd

Replace the USB URI with your own. You can get it using:

lpinfo -v | grep usb

Should look something like usb://Pantum/P2500W-series.......

Jobs should print instead of silently completing after this.

Note: Once the printer is added, CUPS stores the PPD at /etc/cups/ppd/ so the /tmp copy can be discarded. If you want to keep a backup of the PPD, you can always copy the file to somewhere other than /tmp/.

Offline

#3 2026-06-08 12:11:56

WorMzy
Administrator
From: Scotland
Registered: 2010-06-16
Posts: 13,534
Website

Re: Can't seem to get Pantum P2500W working on my Arch system

Please consider updating the wiki if this information is missing. Documentation belongs there where it can be maintained.

Mod note: Closing this old thread.


Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

Board footer

Powered by FluxBB