How to upgrade Cups and cups-filters in Ubuntu 20.04 to the latest versions that are part of Ubuntu 20.10 to fix multiple copies bug?
Solution 1
It's been a while, but today I found the solution to my specific problem with the Brother MFC-L8900CDW printer, so I post an answer to my own question. Hopefully it will be helpful for other people facing the same problem.
The solution I found comes from here: https://github.com/OpenPrinting/cups-filters/issues/242
It's a post from tillkamppeter from July 12 that finally lead me on the right track.
Actually all I needed to do was altering the ppd file with root rights, so no need to change the cups version in my case. Obviously the ppd file provided by Brother didn't work out correctly.
Here is what helped me:
Stop the CUPS daemon:
sudo systemctl stop cups
Then edit the ppd file (you need to do this with root rights):
sudo nano /etc/cups/ppd/MFCL8900CDW.ppd
You find a line like
*cupsManualCopies: false
near the beginning of the file. Change this line to
*cupsManualCopies: True
Please note it's True, not true (case sensitive). It was mentioned somewhere else in that thread that it has to be written with capital T.
Save the file
CTRL+O
Exit the editor
CTRL+X
and restart cups
sudo systemctl start cups
From this point on things have been working fine.
Thanks for everyone who helped me and for your time.
Solution 2
Try this:
Uninstall cups:
sudo apt-get remove --purge cups*
Download the package from their site: https://github.com/apple/cups/releases/download/v2.3.3/cups-2.3.3-source.tar.gz
Unzip the file and install cups:
cd ~/home/Alyana/Downloads
tar –zxvf cups-2.3.3-source.tar.gz
cd /cups-2.3.3
./configure
make
sudo make install
To uninstall this package:
cd ~/home/Alyana/Downloads/cups-2.3.3
sudo make uninstall
sudo apt-get autoremove --purge
To reinstall the original:
sudo apt-get update
sudo apt-get install cups
Edited: ========================================================
Check first if cups and cups-browsed are not in /etc/init.d/
If they are there, move and activate them
sudo mv /etc/init.d/cups /etc/systemd/system/
sudo mv /etc/init.d/cups-browsed /etc/systemd/system/
sudo systemctl enable cups
sudo systemctl enable cups-browsed
It remains to try the following to install with checkinstall
Install checkinstall
sudo apt-get update
sudo apt-get install --reinstall checkinstall
Uninstall what was installed with make
cd ~/home/Alyana/Downloads/cups-2.3.3
sudo make uninstall
sudo apt-get autoremove --purge
Use checkinstall
sudo checkinstall
The checkinstall "wizard" will open. In it you can modify the information that the package will have, the options are:
Maintainer - The main developer of the package.
Summary: a description of the package.
Name: name that you want to give to the package.
Version: package version.
Release: it is the main version of the package, we can leave it as it comes.
License: application license, it is preferable not to touch it.
Group: group by which it was created, we can leave it as is.
Architecture: package processor architecture.
Source location: name of the folder (only the folder, not the entire path) where the package code is.
Alternate source location: no need to modify.
Requires: dependencies that must be installed for their correct operation.
Provides: name of the package that provides, it is not necessary to modify it.
Conflicts: packages with which it conflicts.
Replaces - Packages it replaces.
There are a wide number of options to modify. Each one has a number on its left, to edit it just type its number and press [Enter].
Those that are usually modified are: Maintainer, Summary, Name and Version.
Once we have modified what we want, we press [Enter] and it will begin to compile and install the package.
When it is finished, a .deb package of the application will have appeared in the directory where we compiled, ready to install on another pc.
In "Version", there should be no letters. Do not edit "Requires".
Related videos on Youtube
![Alyana](https://i.stack.imgur.com/GvoDO.jpg?s=256&g=1)
Alyana
I am a Linux enthusiast. After switching from Windows to Linux when Windows 10 was released (I totally despise Windows 10 and will never ever use it), I have been using various Linux distributions. I have gathered some knowledge and some skills since then, but I am far from being an expert. On my main machine I am currently using Ubuntu 20.04 LTS. Aside using my PCs for work, I am also a gamer. I switched to Linux on gaming as well.
Updated on September 18, 2022Comments
-
Alyana almost 2 years
some printers are affected by the "multiple copies bug" (they do only print one page instead of the desired multiple copies: no matter how many copies you request, only one page comes out of the printer).
Affected are, for example, Brother MFC-L8900CDW, Brother MFC-L8650DW, HP OfficeJet 6950.
They all have one thing in common: they are connected to their PCs via network, using a fixed IP address.
Printing and scanning work fine except that if you want to print multiple copies, which sometimes is necessary, you only get one copy.
After doing some research, I found out, that obviously this bug is fixed in the cups-filters > 1.27.5 (and therefore 1.28.5, that are already part of the groovy distribution). Here is the corresponding page on github: https://github.com/OpenPrinting/cups-filters/issues/255
Now I don't want to switch those production machines from an LTS version to an intermediate 9-month-version only to fix that cups-filters bug.
So my idea is, to upgrade cups to 2.3.3 in Ubuntu 20.04, but I am not skilled enough to do that, and I haven't found a solution yet.
Installing the cups-filters 1.28.5 fails due to the missing dependencies that are not part of the focal repositories. Hence I guess I need to uninstall cups 2.3.1 in 20.04 completely, and install the groovy cups version 2.3.3, that includes these cups-filters.
Is anyone here able to help me out with this, or has an advice how to fix that bug?
Thank you so much for any help
Alyana
-
user535733 over 3 yearsThe bugfix is clear -- there's a patch. You can apply the patch yourself. Or you can wait for the next LTS that includes the patch...in two years. Or you can change your mind and shift to non-LTS for a couple years. Or you can file an SRU request so the patch gets backported to 20.04 in a few months. You have lots of choices. Weighing the pros and cons of each choice, and making the decision that is best for you is entirely up to you. I recommend against using wrong-release packages: A frankensystem is rarely stable or maintainable.
-
-
Alyana over 3 yearsThank you so much for your answer. I did exactly what you wrote, no errors occured, but now I cannot print anymore at all. Restarting my system didn't help either. CUPS isn't present, and it is not possible to open the web interface either. Checking for my installed printers gives the info, that the printing system does not seem to be installed. I tried to enable cups in system.d. Sudo systemctl start cups seems to work, but sudo systemctl enable cups gives "update-rc.d: error: cups Default-Start contains no runlevels, aborting".
-
kyodake over 3 years@Alyana: Try using checkinstall, I edit the post to include the procedure.
-
Alyana over 3 yearsThank you, you are genius! I now have the .deb package, which opens flawlessly in gdebi and all dependencies are satisfied. Installation on my machine failed though, it gave an error when trying to overwrite "/usr/bin/cancel", which is already part of cups 2.3.1. I will try again to get rid of 2.3.1, because when opening cups webinterface it still says 2.3.1. I will try on a different machine too. Thank you so much however for your efforts and your help.
-
Alyana over 3 yearsI tried again, got rid of cups, but installation error is the same when trying to overwrite /usr/bin/cancel. It said, insert-subprocess killed by signal (broken pipe), whatever that means... I will try again maybe I did something wrong in the process.
-
Nick C over 3 yearsEditing the ppd file as described above worked for me, thank you! Only trouble I had was finding the file name of the printer to replace MFCL8900CDW in the example given. Since I'm relatively new to this it was not obvious to me. I ended up finding it after a while by including a dash with my printer model: "MFC-J985DW". Thank you again!
-
Manuzziman about 2 yearsFor our Epson in the ppd file I replaced *cupsManualCopies: true with *cupsManualCopies: True . Solved the problem.