Brother printer drivers installed - will not print on ethernet

My Brother DCP-L2550DW printer, connected on USB and which was working fine with Qubes 4.1, will not as yet work on a new-from-scratch installation of 4.1.1. I believe, that I have done the setup just as in past. As a bit of background I only use the printer on the one Qubes computer, turning it on and attaching it through the Qubes Devices widget, when occasional printing is to be done. In past I have been using the printer via a debian-11 hvm template. But in 4.1.1 I have been trying to set the printer up as in past (I think), but on the pvh debian template. This morning though I did also clone the pvh template and change the clone to hvm, with the subsequent result of still no printing or scanning. Reading another thread here, I have enabled cups in both the template and working VM, with still no printing.

Installation procedure used:
Networking temporarily installed on the template VM to add simple-scan program and then to install the Brother printer drivers. After installation, networking was set back to None. The printer and scanner installation tool, downloaded into the personal VM, for the printer from the Brother site was gunzipped, copied to the template VM, moved to Downloads. Then with the printer attached to the template, the driver tool was run in Terminal with: sudo bash linux-brprinter-installer-2.2.3-1 , rejecting the option “Specify a URI?” because I was using USB, as per the Brother instructions, which I’ve used many times successfully in the past.
As in past installations, I have modified lib/udev/rules.d/60-libsane1.rules with vim, adding the following lines for Brother scanners:
#Brother scanners
ATTRS{idVendor}==“04f9”, ENV{libsane_matched}=“yes”

A check of the lib64 folder shows the ld-linux-x86-64.so.2 file and also the sane folder, which holds libsane-brother4.so , libsane-brother4.so.1 and libsane-brother4.so.1.0.7

The default printer driver was set with the gui to DCPL2550DW in Print Settings and the computer was rebooted. I have also tried the available Generic-CUPS-BRF-Printer driver as the default driver. By past experience all should then have worked. Printer can be attached to personal VM using the widget in Qubes Devices, showing a successful attachment. Then in Terminal on the personal VM,
lsusb produces:
Bus 002 Device 002: ID 04f9:0424 Brother Industries, Ltd DCP-L2550DW series

dpkg -l | grep Brother in the personal VM Terminal produces:
brscan-skey 0.3.1-2 amd64 Brother Linux scanner S-KEY tool
ii brscan4 0.4.11-1 amd64 Brother Scanner Driver
ii dcpl2550dwpdrv:i386 4.0.0-1 i386 Brother DCP-L2550DW printer driver (lpd/cups)

Opening Print Settings shows the printer connected to the Network.

All attempts to print from a file from libreoffice or through Firefox appear to be proceeding just fine, except that actual printing doesn’t occur. The yellow printer icon appears on the top menu bar, and I can then cancel the print process to try again, but with no subsequent printing done.

For scanning, I open Document Scanner from the Qubes Menu and my Brother DCP-L2550DW appears in the window as being present. But when I press Scan an error message appears, “Failed to scan. Unable to connect to scanner”

I’m stumped. Might I need a chmod somewhere? In Qube Settings there are no special firewall rules added, in Devices there are no devices transferred across from Available to Selected and in Services there are only the updating and cups additions listed.

1 Like

By the way, I am going to revert now back to the Brother default printer driver and to the pvh template, so that i will be comparing apples to apples, for any suggestions. Many thanks.

Update: In the working VM’s Firefox, I entered: http://localhost:631/printers
and it spewed out, Queue name and Description of DCPL2550DW, Make and Model of Brother DCPL2550DW for CUPS and Status of Idle. The printer seems to be there, but still won’t print.

This is giving me fits, I’m afraid. Because the printer worked fine in 4.1 I’m considering dumping my 4.1.1 installation and going back to 4.1, to see if I can get the Brother printer to work as before. Out of interest firstly though, has anyone gotten a Brother printer to work in 4.1.1 using USB, with the printer attached to a working VM through the Qubes Devices widget? cheers

Before switching back to a previous version of Qubes to try and get my printer working, I’ve reinstalled 4.1.1 debian-based for a last try. Still will not work. Here is the step by step installation procedure, as precise as I can make it for printer and scanner installation:

Install 4.1.1 debian-based with the standard installation settings.
Make temporary, cloned test template (based on the vanilla debian-11 PVH template) and working vm (based on Personal vm.) to keep the originals vanilla.
Update all vm’s to latest.
In Qube Settings for the testing template (“template” from here on in), add Print Settings and Vim to Applications. For Services, add Cups .
Net qube was set to sys-net (current) for the template.

Copy the Driver Installer Tool from the Brother.ca website into the template and then move it to Downloads. Gunzip the Brother linux-brprinter-installer-2.2.3-1.gz file . This file is used to install the LPR, CUPSwrapper and scanner drivers and is an established 2021 installer.

Turn on the DCP-L2550DW, connect the USB cable (which has always worked) to the printer and USB 2 socket in the desktop box. Attach the printer to the template with the Qubes Devices widget. This was successful according to the widget with the printer being present on sys-usb:2.7 . Back in Terminal, lsusb gives Bus 001 Device 002 ID 04f9:0424 Brother Industries Ltd DCP-L2550DW series. ← The printer is definitely there.

Back in Terminal, with superuser rights, install the drivers with the installer tool:
bash linux-brprinter-installer-2.2.3-1
Accept the installation of the three drivers.
For the printer driver, accept Eula and decline setting a device URI (as I’ve always done in linux and Qubes, since I’m connecting through USB, as per Brother’s instructions.)
At end of printer driver installation, enter yes to print a test page. No test page was printed.
Then installer asks for Eula and the ok to install the scanner driver. Yes to that and the scanner driver was installed.
Then ditto for the brscan-key installation, which was done successfully.

dpkg -l | grep Brother → All three drivers are present.
From past experience, I always need to modify the /lib/udev/rules.d/60-libsane1.rules file with Vim to add the Brother scanner just before the final line. This was done, adding:
#Brother scanners
ATTRS{idVendor}==“04f9”,Env{libsane_matched}=“yes”

Add the Document Scanner application to the template with,
apt install simple-scan
This is the scanner program I have always successfully used and it was successfully installed. Close the Terminal.

Open Print Settings and the DCPL2550DW button is there. Rt click and set as Default. Checked as Default.

Open Firefox and browse to http//localhost:631/printers and the result is DCPL2550DW, DCPL2550DW, DCPL2550DW with Cups and status of Idle.

Shut down computer, restart and in the working vm add Print Settings to Applications and Cups to Services. Then maybe not needed, but shut down again, restart.

Start up the working vm’s Print Settings to start the vm, attach the printer to the working vm via the Qubes Devices widget. In Print Settings the default DCP-L2550DW is checkmarked and the message at the bottom of the box states, “Connected to localhost”.
Open Firefox in the working vm (with the Menu bar enabled.) With a text webpage on screen, click File, click on Print in the submenu and the “cups?” printing submenu appears. Click on Print and … Nothing. The Document Print Status icon appears on the top menu and opening it shows the document and “Processing”, but nothing happens.

Next from the Qubes menu, open Document Scanner in the working vm. Document scanner opens and shows a checkmarked Default DCPL2550DW scanner device. But a click on Scan immediately produces an Unable to Connect error message and a failure to scan.

Has something maybe changed with 4.1.1 from 4.1 to stop the Brother from being able to print? I cannot think of anything, which I have or haven’t done in the setup, which would cause this problem.

Printing and scanning are finally working. After another sift through the Brother site, I found the troubleshooting item below:
I cannot print or scan via USB on Debian 11 or later, Ubuntu 20.04 or later and on their derivatives (Linux)

So I started again from scratch and cloned new testing template and working vm’s from the vanilla 4.1.1 installation vm’s. As my old template in 4.1 was hvm, I changed this new test template to hvm at the start. Don’t know if this was necessary.
I installed the Brother patch from the file link above, using:

dpkg -i brotherlegacyusb-1.1.0-0.all.deb

Then before using the Brother driver installation tool, I unplugged the printer for a few seconds as per Brother’s instructions, plugged back in and installed the drivers using the same method as in my last post above.

Next I set the default printer in the template, using the Print Settings gui method, as I have always done. But a test print again didn’t work. As a very last resort, I tried a method I had not tried yet of entering system-config-printer in the template’s Terminal, found in another post and setting the default printer there. Finally I got a successful printout in the template. After a restart, I opened the working vm and got a successful printout with Firefox.

Scanning is now working also.

So I don’t know if the Brother patch was needed, as I had been successfully printing and scanning in debian-11, when I was using Qubes 4.1 . And I don’t know if the change to hvm in the template was needed. But the Terminal entry was either entirely or partly the successful solution in the end. That is a new one on me, because I have never needed to use anything either than the gui method to set my default printer before in Qubes and get a working printer. Does anyone have any input on why the need for the Terminal command instead of Print Settings is needed in the template? Also I know Qubes has been generally switching over to pvh from hvm, according to the release notes. Should hvm be necessary any longer for printing? cheers

2 Likes

Thank you for your series of posts and for reporting back with what finally worked for you.

I installed brother printer drivers yesterday and everything was working except scanning. It had took me a while to get that far so I shelved the scanner for another day.

Just read your post and thought I’d try running system-config-printer in the template’s terminal just as you did.

Started up a corresponding disposable vm, attached the printer using the Qubes Devices widget and tested printing - still works. Then tested scanning using the Document Scanner application - now also working for the first time - excellent - thank you.

I didn’t install the Brother patch and I’m using a cloned fedora-34 template with PVH (with AppVM set as disposable template and printing from the resulting DispVM).

AndyZ; Glad you got it working. Thanks for the feedback. Yes, I doubt the patch was needed in my case either. But too much on the go right now I’m afraid, to clone another couple vm’s and test that theory out. Too bad Brother printers always need special treatment to get the printing and scanning running. Better than it used to be, but still not seamless. cheers

I am not a Linux expert and this may be a stupid solution…but it worked. I have a Brother MFCJ995DW which is a wireless printer. I originally configured the printer as CUPS-BRF which did not work. Print settings found the printer and driver, I could ping the printer with no issues but nothing would print. I looked at the Brother site and it recommended using http protocol. I went to localhost:631/printers clicked on my printer → clicked on administration → modify printer. This is when I was prompted with a login. I tried the user name and pwd i established in the qubes install but they did not work. I opened a terminal “su root” then “passwd user” and set the password to the same as the account I setup. I still could not access Modify printer… after some research i added the lpadmin group to user “sudo usermod -a -G lpadmin user” . After this I was able to access Modify Printer. I switched to “internet printing protocol (http)” and entered the IP address from the printer… hit continue. Then went to “maintenance” and printed a test page and it worked fine. hope that helps anyone with wireless printer setup issues. this was all on qubes 4.1