Brother MFC-L2740DW printer

I followed your guide, and when I select print, for example, in Mozilla Firefox, I can see my printer listed. But it does not let me click on the print button because it is forever reading, “Getting printer information…” as the status.

I know this printer works with Ubuntu (I use Xubuntu to be exact). And I can technically download either the RPM or DEB files directly from the site too. However, it is not needed out of the box with Xubuntu.

The question is, how do we get this working with Arch Linux / Endeavour OS?

1 Like

Playing with the LIVE ISO here are my logs

http://ix.io/2rWG

With a little luck, perhaps this can be useful.

Welcome aboard! :smile:

Did you install the printer driver with terminal command

yay -S brother-mfc-l2740dw

First, a big Welcome to the forums. Thanks for giving EndeavourOS a try. I hope you enjoy your time here.

I assume you are referring to Brother MFC-L2700DW Print driver

I assume you installed EndeavourOS to bare metal and are not running this on a VM?
Not sure if this would work on a VM.
Also, and more importantly, the AUR does not contain a package for MFC-L2740DW and trying to use MFC-L2700DW driver will not work.

When I get some time I will see about writing a PKGBUILD for the MFC-L2740DW.
In the mean time, try this. Goto this URL
Go To this URL
Brother
make sure OS is Linux rpm and click on CUPSwrapper printer driver (rpm package)
It will down load to the Downloads folder. Make a temporary folder such as Temp, then copy
mfcl2700dwcupswrapper-3.2.0-1.i386.rpm from Downloads folder to Temp folder.
In Temp folder, right click on the file and choose “Open with Archive manager” or “Engrampa” or whatever is appropriate and “Extract” the contents of the file.
Once Extracted, you should see a folder named opt. navigate to
/opt/brother/Printers/MFCL2700DW/cupswrapper
In that folder should be brother-MFCL2700DW-cups-en.ppd.

$ sudo pacman -S lib32-glic to install a dependency if not already done.
Now in Firefox or your favorite browser, in the URL field enter localhost:631
Add printer, then root for the user and root’s password
Go through the steps as in the guide above. When you get to this window:
Brother2
At Or Provide a PPD File: click on browse and browse to the ppd file you extracted and select it. then add printer.
This is preferred, but if it doesn’t work, you probably should have an entry
Brother MFC-L2700DW series, fully driverless, cups-filters 1.27.5(en)
Try this as a last resort.

If this works, let me know and I won’t bother writing a PKGBUILD for this printer.

Pudge

2 Likes

What is the sudo root password for the LIVE ISO? As previously notes, I am doing this via the LIVE CD (USB) to see if your distro will work with my computer.

My policy when testing any Linux distro is first to see if I can boot the LIVE image and if that can work. So no, I am not using a VM (virtual machine).

That said, I digress. What is the default root password for your LIVE image?

$ sudo su

You may well be in unexplored territory if you are trying to install a printer on the Live ISO. One of the devs may know more about what you can and cannot do in the Live ISO than I do.

BTW let us know if you are successful.

Pudge

1 Like

While sudo su enables administrator privileges it is not the password for root. Does no one know the password for your root user on the Live image?

1 Like

There is no root password in the Live ISO period. So I don’ know what doesn’t exist.

Pudge

There is a problem with that. localhost:631 will ask for the username and password. root without a password was not a valid answer.

1 Like

@Pudge is a very experienced user. But he is not a psychic. Please try to be friendly and respectful as this is one of the mantras this forum is built on.

That being said did you try liveuser? Or root as user and enter as password?

And that is a very valid point which has never come up yet. I am not the Calamares guy around here, but let me do some checking around and see if there is a work around for this.

This may take awhile, as the devs who know the most about this issue are on Holiday this weekend.

Pudge

Try this:
https://bbs.archlinux.org/viewtopic.php?id=176639

2 Likes

Hello @Elloquin I’m sorry. I do not understand your meaning. I do not recall ever expecting anyone to be a psychic. Nor do I recall ever being rude. I’m sorry if you believe I have been. That is never my intention.

YES, I have tried both liveuser and root. liveuser:liveruser liveuser:root root:root root:liveuser and both without a password too.

1 Like

Thank you, that gave me root access.

For future reference if anyone stumbles over this thread:

sudo su
echo “root:root” | chpasswd

That will make the root password root (which should be simple enough for a temp work on a Live CD). :smile:

2 Likes

Hello @manuel I do not want you thinking I missed your reply. The release via AUR which is from 2015 does not seem to work. In fact it seems to freeze out. I should have explained this.

yay -S brother-mfc-l2740dw
:: Checking for conflicts...
:: Checking for inner conflicts...
[Aur: 1]  brother-mfc-l2740dw-3.2.0-1

:: Downloaded PKGBUILD (1/1): brother-mfc-l2740dw
  1 brother-mfc-l2740dw              (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 1
diff --git /home/liveuser/.cache/yay/brother-mfc-l2740dw/PKGBUILD /home/liveuser/.cache/yay/brother-mfc-l2740dw/PKGBUILD
new file mode 100644
index 0000000..43434e0
--- /dev/null
+++ /home/liveuser/.cache/yay/brother-mfc-l2740dw/PKGBUILD
@@ -0,0 +1,53 @@
+# Maintainer: David Waldeck < mail at david-waldeck dot de
+pkgname="brother-mfc-l2740dw"
+pkgver="3.2.0"
+pkgrel=1
+pkgdesc="LPR and CUPS driver for the Brother MFC-l2740DW"
+url="http://solutions.brother.com/linux/en_us/"
+arch=("i686" "x86_64")
+license=('custom:brother commercial license')
+depends=("cups")
+depends_x86_64=('lib32-glibc')
+install="$pkgname.install"
+source=(
+       "http://download.brother.com/welcome/dlf101729/mfcl2740dwlpr-$pkgver-$pkgrel.i386.rpm"
+       "http://download.brother.com/welcome/dlf101728/mfcl2740dwcupswrapper-$pkgver-$pkgrel.i386.rpm"
+)
+md5sums=(
+       'e4e27264d8255274c6ad8af1e65588b7'
+       '399fde3fff6c41338b0fe84517f7148b'
+)
+prepare() {
+  #  do not install in '/usr/local'
:...skipping...
diff --git /home/liveuser/.cache/yay/brother-mfc-l2740dw/PKGBUILD /home/liveuser/.cache/yay/brother-mfc-l2740dw/PKGBUILD
new file mode 100644
index 0000000..43434e0
--- /dev/null
+++ /home/liveuser/.cache/yay/brother-mfc-l2740dw/PKGBUILD
@@ -0,0 +1,53 @@
+# Maintainer: David Waldeck < mail at david-waldeck dot de
+pkgname="brother-mfc-l2740dw"
+pkgver="3.2.0"
+pkgrel=1
+pkgdesc="LPR and CUPS driver for the Brother MFC-l2740DW"
+url="http://solutions.brother.com/linux/en_us/"
+arch=("i686" "x86_64")
+license=('custom:brother commercial license')
+depends=("cups")
+depends_x86_64=('lib32-glibc')
+install="$pkgname.install"
+source=(
+       "http://download.brother.com/welcome/dlf101729/mfcl2740dwlpr-$pkgver-$pkgrel.i386.rpm"
+       "http://download.brother.com/welcome/dlf101728/mfcl2740dwcupswrapper-$pkgver-$pkgrel.i386.rpm"
+)
+md5sums=(
+       'e4e27264d8255274c6ad8af1e65588b7'
+       '399fde3fff6c41338b0fe84517f7148b'
+)
+prepare() {
+  #  do not install in '/usr/local'
+  if [ -d $srcdir/usr/local/Brother ]; then
+    install -dm755 "$srcdir/usr/share"
+    mv "$srcdir/usr/local/Brother/" "$srcdir/usr/share/brother"
+    rm -rf "$srcdir/usr/local"
+    sed -i 's|/usr/local/Brother|/usr/share/brother|g' `grep -lr '/usr/local/Brother' ./`
+  fi
+  
+  # create cups-directories
+  install -dm755 "$srcdir/usr/share/cups/model"
+  install -dm755 "$srcdir/usr/lib/cups/filter"
+  
+  # copy ppd and filter file to their destination dirs
+  cd `find . -type d -name 'cupswrapper'`
+  cp *lpdwrapper* "$srcdir/usr/lib/cups/filter/"
+  cp *.ppd "$srcdir/usr/share/cups/model/"
+
+  # set the basedir to an absolute path in the perl-lpdwrapper-script
+  # the relative path,generated on the basis of the caller, does not work in this case
+  cd "$srcdir"
+  # get absolute printer path
+  _baseDir="\"/$(find opt -maxdepth 3 -depth -print -quit -type d)\""
+  # replace the dynamic basedir var with the absolute path
+  sed -i "s|\`readlink\ \$0\`|$_baseDir|" $srcdir/usr/lib/cups/filter/*lpdwrapper*
+
+  # /etc/printcap is managed by cups
+   rm "$(find $srcdir -type f -name 'setupPrintcap*')"
+  }
+
+  package() {
+    cp -R "$srcdir/usr" "$pkgdir"
+    cp -R "$srcdir/opt" "$pkgdir"
:

And there is where my terminal is and has not moved for well over 45 minutes.

Before I go searching for the file you suggested I use, I did want you to know that CUPS does find my printer (4x).

I do not know how this forum works. Let’s hope this image is not to large.

Screenshot_2020-07-18_15-20-14

1 Like

Your image is fine.
One thing is with Brother networked printers I get the most consistent results with choosing
Internet Printing Protocol (ipp)
then on the next page
ipps://the ip address of your printer

Good luck.

1 Like

WORKS! :innocent:

Solution:

OK, I needed this to be dynamic. I change devices regularly and occasionally even routers. This means I did not want a static IP address. Out of the box in Xubuntu is dynamic too.

First, for good measure I selected the first option, CUPS-PDF (Virtual PDF Driver). I used the file brother-MFCL2700DW-cups-en.ppd previously extracted. This will give you a virtual dummy printer. You’re not going to be able to print with this printer over the network, just as before.

Next, I went back and selected Internet Printing Protocol (IPP). Rather than provide an IP address I provided the host name (BRW90489A96863B). Which I easily found via my router. Which ultimately means I used ipp://BRW90489A96863B I left the menu selected as IPP Everywhere (which was the default) and clicked on modify printer, which completed the process.

The end result is when you select print you will see 2 printers. The one that is forever reading “Getting printer information…” as the status and the 2nd printer, which you can actually print from.

This may seem a little hackish with 2 printers listed, but this is how Ubuntu does it too. And a working printer is a working printer.

Screenshot_2020-07-18_15-54-05

Thank you very much @Pudge @Elloquin and @manuel for your efforts. Knowing now that I can actually setup my printer, means I can indeed install the OS locally and safely use my computer. Thank you! :sunglasses:

edit: Making this post as the solution but you (whoever you are, reader) should read the whole thread to understand everything. :wink:

2 Likes

The pic seems to suggest you are checking the diffs on the pkgbuild and not installing that AUR package

You put number 1 on the question “Diffs to show”

1 Like

Well done. Let us know your experience if you do install on bare metal for use.

I have already entered the
sudo su
echo “root:root” | chpasswd
into zim on my main computer. Nobody has ever come across this in the year prior to now. However, if it ever comes up again, I have it.

As a postmortem, I got into the Live ISO and tried to compile the PKGBUILD from the AUR
and as @inffy pointed out at “Diffs to show” I just hit enter which chose none by default, and it compiled to completion.

If you stick around with Arch, and we hope you do, a tip is when compiling from the AUR it is best to just hit enter for every question and accept the defaults unless there is a known good reason to do otherwise.

Again, welcome to the forum. We hope you stick around.

Pudge

3 Likes