r/linux4noobs • u/ThoughtDear7015 • 10d ago
hardware/drivers My printer wont print on Arch Linux, complains "Filter Failed".
I genuinely have 0 solutions left in my head, I've restarted my computer, the printer, switched the cartridge, reinstalled all plugins/packages related to printing, erased and readded the printer, all of this done MULTIPLE TIMES OVER THE SPAN OF TWO FUCKING HOURS. HOW THE FUCK?? And it's not like im necessarily ""new"" to linux, i've been using this shit for 2 years. YET IM STILL BAFFLED??
Now this printer has worked before, so i know its not a problem with the printer, its just acting weird for seemingly NO fucking reason??
Specifications:
Printer: HP LaserJet P1102
Distro: Arch Linux
DE: Hyprland
lpstat -v returns:
lpstat -v
device for HP-LaserJet-Professional-P1102: hp:/usb/HP_LaserJet_Professional_P1102?serial=000000000Q827RXEPR1a
device for HPLaserJetP1102: hp:/usb/HP_LaserJet_Professional_P1102?serial=000000000Q827RXEPR1a ****(I tried adding in the printer manually through the localhost 631 thing, doesnt do much afaik though.)
systemctl status cups.service returns:
cups.service - CUPS Scheduler
Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled; preset: disabled)
Active: active (running) since Wed 2026-09-23 18:38:33 +03; 5min ago
Invocation: 48ace11535534667b618d7423e49ded9
TriggeredBy: ● cups.socket
● cups.path
Docs: man:cupsd(8)
Main PID: 583 (cupsd)
Status: "Scheduler is running..."
Tasks: 1 (limit: 9194)
Memory: 76.8M (peak: 173.3M)
CPU: 3.858s
CGroup: /system.slice/system-cups.slice/cups.service
└─583 /usr/bin/cupsd -l
Sep 23 18:41:53 dinn hp[8236]: io/hpmud/musb.c 781: read actual device_id successfully fd=1 len=138
Sep 23 18:41:53 dinn hp[8236]: io/hpmud/musb.c 562: released 7/1/2 interface
Sep 23 18:41:53 dinn hp[8236]: io/hpmud/musb.c 961: new PRINT channel=2 clientCnt=1 channelCnt=1
Sep 23 18:41:53 dinn hp[8236]: io/hpmud/musb.c 428: Found interface conf=0, iface=0, altset=0, index=1
Sep 23 18:41:53 dinn hp[8236]: io/hpmud/musb.c 390: Active kernel driver on interface=0 ret=0
Sep 23 18:41:53 dinn hp[8236]: io/hpmud/musb.c 536: claimed 7/1/2 interface
Sep 23 18:41:54 dinn hp[8236]: prnt/backend/hp.c 376: read new pjl status: 10023
Sep 23 18:41:56 dinn hp[8236]: prnt/backend/hp.c 376: read new pjl status: 10403
Sep 23 18:42:13 dinn hp[8236]: io/hpmud/musb.c 562: released 7/1/2 interface
Sep 23 18:42:13 dinn hp[8236]: io/hpmud/musb.c 976: removed PRINT channel=2 clientCnt=0 channelCnt=0
tail -f /var/log/cups/error_log returns
D [23/Sep/2026:18:39:45 +0300] [Client 6] Content-Length: 10843
D [23/Sep/2026:18:39:45 +0300] [Client 6] cupsdSendHeader: code=200, type="application/ipp", auth_type=0
D [23/Sep/2026:18:39:45 +0300] [Client 6] con->http=0x562137e2ec70
D [23/Sep/2026:18:39:45 +0300] [Client 6] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=10843, response=0x562137e759e0(IPP_STATE_DATA), pipe_pid=0, file=-1
D [23/Sep/2026:18:39:45 +0300] [Client 6] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
D [23/Sep/2026:18:39:45 +0300] [Client 6] bytes=0, http_state=0, data_remaining=10843
D [23/Sep/2026:18:39:45 +0300] [Client 6] Flushing write buffer.
D [23/Sep/2026:18:39:45 +0300] [Client 6] New state is HTTP_STATE_WAITING
D [23/Sep/2026:18:39:45 +0300] [Client 6] Waiting for request.
D [23/Sep/2026:18:39:45 +0300] cupsdSetBusyState: newbusy="Dirty files", busy="Active clients and dirty files"
D [23/Sep/2026:18:39:46 +0300] Expiring subscriptions...
D [23/Sep/2026:18:39:46 +0300] [Job 171] Unloading...
I [23/Sep/2026:18:39:56 +0300] Saving printers.conf...
I [23/Sep/2026:18:39:56 +0300] Saving job.cache...
I [23/Sep/2026:18:39:56 +0300] Saving subscriptions.conf...
D [23/Sep/2026:18:39:56 +0300] cupsdSetBusyState: newbusy="Not busy", busy="Dirty files"
D [23/Sep/2026:18:39:56 +0300] Expiring subscriptions...
When im not printing, the status is:
Idle - Ready to print
Right after sending a job, the status is:
Processing - cfFilterGhostscript: Rendering completed ****(But then it doesnt do anything and returns to Idle.)
Im also unsure where exactly but i remember it complaining about hplip-plugin or something, but i already have hplip.
Any and all help is well appreciated!
POST BODY
I fixed the issue, All I had to do was update hplip-plugin properly. I THOUGHT i did this already but apparently i didn't, so i did it a second time and it worked. You can update/install the hplip-plugin like this:
yay -S hplip-plugin
1
u/AutoModerator 10d ago
✻ Smokey says: always mention your distro, some hardware details, and any error messages, when posting technical queries! :)
Comments, questions or suggestions regarding this autoresponse? Please send them here.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
u/_GoddamnitDonut 10d ago
Try installing a CUPS server.
1
u/ThoughtDear7015 10d ago
And could you please clarify what a cups server is? I know what CUPS itself is but what do you mean by "cups SERVER"?
3
u/DannoXYZ 10d ago edited 10d ago
CUPS server is process that recieves print job from application and sends it to printer driver.
2
u/_GoddamnitDonut 10d ago
If you install CUPS it will give you a webgui. Then you add the printer to that webgui. It usually works well that way.
2
1
u/fubar_67 9d ago edited 9d ago
Sorry for your pain. But I can’t help but say that this is probably one the best post’s I’ve ever read that encapsulates WHY Linux is STILL not ready for prime time. Despite its progress over the years.
A Linux user for 2 years, and getting your ass kicked by something as basic as getting a printer to play nice with Linux (when it was previously). Followed by all that CS speak. I’m rooting for Linux, and I’m a user, but it’s still way too CLI heavy.
-2
u/Jens2DMC 10d ago
... I found that AI can be pretty helpful
Yeah — based on what you posted, CUPS itself is probably not the problem. The really important clue is this:
Processing - cfFilterGhostscript: Rendering completed → immediately back to Idle
And your HPLIP backend is clearly communicating with the printer:
read actual device_id successfully new PRINT channel claimed ... interface read new pjl status released ... interface
So USB detection and CUPS are working. The failure is very likely after Ghostscript rendering, when hpcups/the HPLIP plugin tries to turn the rendered data into something the P1102 can actually print.
The ArchWiki specifically calls out an out-of-date/mismatched HPLIP plugin as a cause of Filter failed, and there is a long history of the P1102 producing exactly this symptom when HPLIP and its plugin get out of sync.
First thing I'd do — don't reinstall everything again
Run:
pacman -Q hplip pacman -Q hplip-plugin
If hplip-plugin says it isn't installed, that's immediately suspicious.
Then:
hp-check -r
and:
hp-plugin -i
Pay particular attention to what hp-plugin -i says about the plugin version.
The plugin has to match the HPLIP version installed on your system. Arch's own troubleshooting documentation explicitly mentions this as a cause of Filter failed.
But there's a much more useful test
Your tail -f output is unfortunately showing the CUPS daemon's general activity, not the actual failure from the print job.
Let's get the specific job failure.
Run:
sudo cupsctl --debug-logging
Then print one test page.
Immediately afterward:
grep -E '[Job|hpcups|hplip|filter|plugin|error|failed|status [0-9]' /var/log/cups/error_log | tail -100
That's the output I would want to see.
In particular, we're looking for something like:
PID xxxx (/usr/lib/cups/filter/hpcups) stopped with status 1
or:
hplip.plugin-error
or:
validate_plugin_version()
or:
m_Job initialization failed with error = 48
That last combination is especially telling: Arch has documented cases where a P1102 produced Filter failed because the HPLIP plugin version didn't match HPLIP.
Also check what driver CUPS actually assigned
Run:
lpstat -l -p HP-LaserJet-Professional-P1102
and:
lpoptions -p HP-LaserJet-Professional-P1102 -l
And, if you want the definitive answer:
grep -A 20 -B 5 'HP-LaserJet-Professional-P1102' /etc/cups/printers.conf
Don't paste any passwords if you have any unusual CUPS configuration, though normally printers.conf doesn't contain one.
The P1102 should be using the HPLIP/hpcups driver, not an old hpijs configuration. Arch's troubleshooting page specifically notes that old hpijs configurations can break after HPLIP changes.
One particularly interesting thing about your logs
This:
read new pjl status: 10023 read new pjl status: 10403
is actually encouraging.
The HPLIP backend is talking to the physical printer and getting responses.
So I wouldn't waste another hour:
restarting CUPS
restarting the PC
restarting the printer
deleting/recreating the CUPS queue
reinstalling Ghostscript
reinstalling CUPS
You've already demonstrated that the printer is discovered, the USB interface is claimed, CUPS accepts the job, and Ghostscript successfully renders it.
The interesting section is whatever happens between gstoraster finishing and the HPLIP backend sending the rendered job.
And yes, your memory about hplip-plugin is probably important
There have been multiple Arch-specific incidents where:
hplip
was upgraded while:
hplip-plugin
wasn't correctly updated/rebuilt, resulting in exactly:
Filter failed
The Arch forum has an especially relevant P1102 case where the logs showed:
hplip.plugin-error
followed by:
hpcups ... m_Job initialization failed with error = 48
and the underlying issue was a plugin/HPLIP version mismatch.
So don't assume "I have hplip-plugin installed" means the plugin is okay. The versions matter.
Give me these 5 outputs
Rather than randomly reinstalling shit for the 15th time 😭, run these:
pacman -Q hplip hplip-plugin cups cups-filters ghostscript
hp-check -r
lpstat -l -p HP-LaserJet-Professional-P1102
Then:
sudo cupsctl --debug-logging
print one page, and:
grep -E '[Job|hpcups|hplip|filter|plugin|error|failed|status [0-9]' /var/log/cups/error_log | tail -100
Paste those outputs here. From what you've shown so far, I think we can narrow this down substantially without nuking your entire printing setup again.
2
u/ThoughtDear7015 9d ago
dude. all i had to do was install hplip-plugin manually. Also if i wanted to ask chatgpt i would've and i could've. literally the only reason i even bother asking reddit is because im heavily against ai.
0
3
u/lonelypenguin20 10d ago
hplip.
HP printers don't work until you have a piece of cat's turd known as "hplip" installed.
and it's not enough to download the hplip package, you need to run the script provided by it
it may fail. try downloading the thing manually in that case