You are not logged in.
Pages: 1
Hello,
I am an inexperienced Arch Linux user, and I have been trying to set up my USB-connected Brother DCP-J105 printer with CUPS, according to the instructions that I saw on the official Arch Wiki (https://wiki.archlinux.org/title/CUPS) and on the internet. Unfortunately, after downloading the .rpm ports for drivers for my printer from the AUR (https://aur.archlinux.org/packages/brother-dcpj105) and hooking up the installed "/opt/brother/Printers/dcpj105/cupswrapper/brother_dcpj105_printer_en.ppd" to my printer entry through the CUPS web interface on localhost, I am receiving errors in logs (/var/log/cups/error_log) when trying to print a test page or some PDF document:
E [29/Mar/2024:18:36:20 +0100] [Client 53] Returning HTTP Forbidden for CUPS-Get-Devices (no URI) from localhost
All my perms in /etc/cups/cupsd.conf seem to be alright. I enabled a few additional options in the web frontend (Administration > Server > Server Settings) just to be sure.
LogLevel debug
MaxLogSize 1m
ErrorPolicy stop-printer
# Only listen for connections from the local machine.
Listen localhost:631
Listen /run/cups/cups.sock
# Disable printer sharing.
Browsing Off
DefaultAuthType Basic
WebInterface Yes
IdleExitTimeout 60
<Location />
# Restrict access to the server...
Order allow,deny
</Location>
<Location /admin>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow all
</Location>
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order deny,allow
Order allow,deny
Allow all
</Location>
<Location /admin/log>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow all
</Location>
<Policy default>
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
<Limit Create-Job Print-Job Print-URI Validate-Job>
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit CUPS-Get-Document>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
<Policy authenticated>
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Default
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
<Policy kerberos>
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Negotiate
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Negotiate
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Negotiate
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>When trying to print anything, the printer acknowledges input but soon returns to idle state, leaving the aforementioned error message in the log file.
Last edited by pitchredtape (2024-04-01 10:15:36)
Offline
E [29/Mar/2024:18:36:20 +0100] [Client 53] Returning HTTP Forbidden for CUPS-Get-Devices (no URI) from localhost
that's for the browser config, http//localhost:631/
Please post the entire log.
But first:
after downloading the .rpm ports for drivers for my printer from the AUR
Errr… you didn't just install the AUR package??
https://wiki.archlinux.org/title/Aur
Offline
Yeah, exactly, I installed the package (through yay). Just wanted to specify, for whatever reason, that they source from the manufacturer's .rpm instead of .deb.
Anyway, here are the complete logs that pop up whenever I want to print a document - in this case it's the printer test page as selected in the CUPS printer interface on the web frontend.
I have the log level on "LogLevel debug" in /etc/cups/cupsd.conf just in case.
Offline
Did you somehow edit that file? The line breaks are a mess…
[Job 56] chmod: cannot access \'/usr/share/ppd/Brother
brother_dcpj105_printer_en.ppd\': No such file or directory
D [30/Mar/2024:11:14:15 +0100] [Job 56] rm: cannot remove \'/usr/lib/cups/filter
brother_lpdwrapper_dcpj105\': Permission denied
D [30/Mar/2024:11:14:15 +0100] [Job 56] cp: cannot create regular file \'/usr/lib/cups/filter
brother_lpdwrapper_dcpj105\': Permission denied
D [30/Mar/2024:11:14:15 +0100] [Job 56] rm: cannot remove \'/usr/lib64/cups/filter
brother_lpdwrapper_dcpj105\': Permission denied
D [30/Mar/2024:11:14:15 +0100] [Job 56] cp: cannot create regular file \'/usr/lib64/cups/filter
brother_lpdwrapper_dcpj105\': Permission denied
D [30/Mar/2024:11:14:15 +0100] [Job 56] ppdFilterLoadPPD: Color profile qualifier determined
from job and PPD data \'..\'This looks like a problem.
hooking up the installed "/opt/brother/Printers/dcpj105/cupswrapper/brother_dcpj105_printer_en.ppd"
https://aur.archlinux.org/packages/brot … ent-905611
What *exactly* did you do there?
Your goal is to have the PPD in /usr/share/cups/model and the filter in /usr/lib/cups/filter, in doubt just symlink them from the /opt path.
Offline
Sorry about the line breaks, I copied it to pastebin weirdly.
What *exactly* did you do there?
I originally created the symlink from the install location of the filter file "/opt/..." to the CUPS location at "/usr/lib/cups/filter" as said in the comment on the printer drivers package's site.
Instead of moving or linking the .ppd file though, I chose the "choose a ppd file" option from the web frontend when creating my printer and submitted the "/opt..." .ppd file. It seemed to work fine on that end if I were to guess.
To be sure now, I created a symlink (I eventually got rid of both symlinks and copied the files themselves - even the filter file, I renamed the "/usr/lib/cups/filter" copy from "cupswrapperdcpj105" to "brother_lpdwrapper_dcpj105" just to be extra sure.) in the "/usr/share/cups/model" location pointing to the .ppd file as well and re-created my printer in the web tool. This time, the gui correctly displayed the Brother manufacturer option and my printer's drivers' option right away in the menu.
To no avail though, as after trying to print a test page the same "Permission denied" errors appear in the logs.
I tried to modify the directory perms with chmod to be sure that *this* was not the issue, but it did not work still, so I reverted the changes.
All files and dirs there seem to have the correct perms though (-rwxr-xr-x).
Offline
Please post the updated cups log,
sudo cat /var/log/cups/error_log | curl -F 'file=@-' 0x0.stand also
pacman -Qilkk brother-dcpj105Offline
The cups log: http://0x0.st/XzBW.txt
"pacman -Qilkk brother-dcpj105" output:
Name : brother-dcpj105
Version : 3.0.0-668
Description : CUPS driver for Brother DCP-J105 printer
Architecture : x86_64
URL : http://solutions.brother.com/linux/en_us/index.html
Licenses : custom:Brother Industries
Groups : None
Provides : None
Depends On : cups tcsh lib32-libstdc++5 lib32-libcups
Optional Deps : None
Required By : None
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 5.25 MiB
Packager : Unknown Packager
Build Date : Fri 29 Mar 2024 15:08:34 CET
Install Date : Fri 29 Mar 2024 15:08:45 CET
Install Reason : Explicitly installed
Install Script : Yes
Validated By : None
brother-dcpj105 /opt/
brother-dcpj105 /opt/brother/
brother-dcpj105 /opt/brother/Printers/
brother-dcpj105 /opt/brother/Printers/dcpj105/
brother-dcpj105 /opt/brother/Printers/dcpj105/cupswrapper/
brother-dcpj105 /opt/brother/Printers/dcpj105/cupswrapper/brcupsconfpt1
brother-dcpj105 /opt/brother/Printers/dcpj105/cupswrapper/brother_dcpj105_printer_en.ppd
brother-dcpj105 /opt/brother/Printers/dcpj105/cupswrapper/cupswrapperdcpj105
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/ImagingArea
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/PaperDimension
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/brdcpj105func
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/brdcpj105rc
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/lut/
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/lut/BRPRI13IA.BCM
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/lut/BRPRI13IC.BCM
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/lut/BRPRI13ID.BCM
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/lut/BRPRI13IE.BCM
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/lut/BRPRI13IF.BCM
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/lut/BRPRI13IG.BCM
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/lut/BRPRI13IH.BCM
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/lut/BRPRI13II.BCM
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/lut/BRPRI13IK.BCM
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/lut/BRPRI13IL.BCM
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/lut/BRPRI13IM.BCM
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/paperinfij2
brother-dcpj105 /opt/brother/Printers/dcpj105/inf/setupPrintcapij
brother-dcpj105 /opt/brother/Printers/dcpj105/lpd/
brother-dcpj105 /opt/brother/Printers/dcpj105/lpd/brdcpj105filter
brother-dcpj105 /opt/brother/Printers/dcpj105/lpd/filterdcpj105
brother-dcpj105 /opt/brother/Printers/dcpj105/lpd/psconvertij2
brother-dcpj105 /usr/
brother-dcpj105 /usr/bin/
brother-dcpj105 /usr/bin/brprintconf_dcpj105Offline
I [30/Mar/2024:21:12:02 +0100] [Job 61] Started filter /usr/lib/cups/filter/brother_lpdwrapper_dcpj105 (PID 10451)Seems to try to rewrite the filesystem
D [30/Mar/2024:21:12:02 +0100] [Job 61] mkdir: cannot create directory \'/usr/share/cups/model/Brother\': Permission denied
D [30/Mar/2024:21:12:02 +0100] [Job 61] mkdir: cannot create directory \'/usr/share/ppd/Brother\': Permission denied
D [30/Mar/2024:21:12:02 +0100] [Job 61] cp: cannot create regular file \'/usr/share/cups/model/Brother/brother_dcpj105_printer_en.ppd\': No such file or directory
D [30/Mar/2024:21:12:02 +0100] [Job 61] chmod: cannot access \'/usr/share/cups/model/Brother/brother_dcpj105_printer_en.ppd\': No such file or directory
D [30/Mar/2024:21:12:02 +0100] [Job 61] cp: cannot stat \'/usr/share/cups/model/Brother/brother_dcpj105_printer_en.ppd\': No such file or directory
D [30/Mar/2024:21:12:02 +0100] [Job 61] chmod: cannot access \'/usr/share/ppd/Brother/brother_dcpj105_printer_en.ppd\': No such file or directory
D [30/Mar/2024:21:12:02 +0100] [Job 61] rm: cannot remove \'/usr/lib/cups/filter/brother_lpdwrapper_dcpj105\': Permission denied
D [30/Mar/2024:21:12:02 +0100] [Job 61] cp: cannot create regular file \'/usr/lib/cups/filter/brother_lpdwrapper_dcpj105\': Permission denied
D [30/Mar/2024:21:12:02 +0100] [Job 61] rm: cannot remove \'/usr/lib64/cups/filter/brother_lpdwrapper_dcpj105\': Permission denied
D [30/Mar/2024:21:12:02 +0100] [Job 61] cp: cannot create regular file \'/usr/lib64/cups/filter/brother_lpdwrapper_dcpj105\': Permission denied
D [30/Mar/2024:21:12:04 +0100] [Job 61] lpadmin: Unable to open PPD \"/usr/share/cups/model/Brother/brother_dcpj105_printer_en.ppd\": Unable to open PPD file on line 0.broter printers are essentially malware… ![]()
Make sure these exist:
/usr/share/cups/model/Brother/brother_dcpj105_printer_en.ppd # nb. the Brother subdirectory
/usr/lib/cups/filter/brother_lpdwrapper_dcpj105And are readable by the cups user.
/usr/lib/cups/filter/brother_lpdwrapper_dcpj105 most likely will have to be executable.
/opt/brother/Printers/dcpj105/cupswrapper/brcupsconfpt1 doesn't seem to exist.
The driver package in the AUR is
Offline
I created the required Brother directory and moved the .ppd file there ("/usr/share/cups/model/Brother/brother_dcpj105_printer_en.ppd"). It is read and recognized by cups.
I created /usr/share/ppd/Brother/brother_dcpj105_printer_en.ppd to get rid of the Permission denied error about it that popped up too.
/usr/lib/cups/filter/brother_lpdwrapper_dcpj105 does exist and is readable and executable.
/opt/brother/Printers/dcpj105/cupswrapper/brcupsconfpt1 does exist and is readable and executable.
The same issue still takes place though. When trying to print, the printer acknowledges input and refuses to print anything returning to idle state instead.
full log (contains two print instances, one from 20:03 and another from 20:07): http://0x0.st/XzSY.txt
D [31/Mar/2024:20:07:52 +0200] [Job 66] rm: cannot remove \'/usr/share/cups/model/Brother/brother_dcpj105_printer_en.ppd\': Permission denied
D [31/Mar/2024:20:07:52 +0200] [Job 66] cp: cannot create regular file \'/usr/share/cups/model/Brother/brother_dcpj105_printer_en.ppd\': Permission denied
D [31/Mar/2024:20:07:52 +0200] [Job 66] cp: cannot create regular file \'/usr/share/ppd/Brother/brother_dcpj105_printer_en.ppd\': Permission denied
D [31/Mar/2024:20:07:52 +0200] [Job 66] rm: cannot remove \'/usr/lib/cups/filter/brother_lpdwrapper_dcpj105\'ppdFilterLoadPPD: Color profile qualifier determined from job and PPD data \'..\'
D [31/Mar/2024:20:07:52 +0200] [Job 66] cp: cannot create regular file \'/usr/lib/cups/filter/brother_lpdwrapper_dcpj105\'DEBUG: cfFilterUniversal: Adding pdftopdf to chain
D [31/Mar/2024:20:07:52 +0200] [Job 66] rm: cannot remove \'/usr/lib64/cups/filter/brother_lpdwrapper_dcpj105\': Permission denied
D [31/Mar/2024:20:07:52 +0200] [Job 66] cp: cannot create regular file \'/usr/lib64/cups/filter/brother_lpdwrapper_dcpj105\': Permission deniedIs it possible that the filter or whatever is working in the background trying to modify the filesystem just doesn't have the proper perms, whatever that entails, to do its job? Maybe it is trying to overwrite of fix the .ppd and filter file somehow.
Offline
The package says you'll have to run /opt/brother/Printers/dcpj105/cupswrapper/cupswrapperdcpj105 once as root.
https://aur.archlinux.org/cgit/aur.git/ … er-dcpj105
This should be a copy of the script for those interested:
https://github.com/illwieckz/debian_cop … perdcpj105
Edit: It looks like the printer supports apple airprint, so you should be able to use it with ipp-usb and driverless printing (and scanning with sane-airscan). Discovery requires then avahi or you'll have to find out how to get the assigned port without any good documentation.
https://support.apple.com/en-us/HT201311
Last edited by progandy (2024-03-31 18:43:11)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |
Offline
All works now, problem solved.
Thank you very much for the help!
Offline
Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.
Offline
Pages: 1