Difference between revisions of "Brother DCP-7020"

From ArchWiki
Jump to: navigation, search
(Redirected to CUPS/Printer-specific problems, since this page is now redundant.)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Printers]]
+
#Redirect[[CUPS/Printer-specific problems]]
[[Category:Imaging]]
+
 
+
=Introduction=
+
 
+
This is a brief tutorial to make the Brother DCP-7020 printer/scanner work on Arch.  It is largely a duplicate of the tutorial for the Brother HL-2030, with changes specific to the Brother DCP-7020.
+
 
+
NOTE: This printer works with the Foomatic driver for the [http://openprinting.org/show_driver.cgi?driver=hl1250 HL-1250].
+
 
+
=Printer=
+
==Download Printer drivers==
+
If you previously tried to install the printer in CUPS, remove it.
+
 
+
 
+
First create a temporary directory.
+
Then you must download the official LPR drivers from the Brother website into that directory. Click [http://www.brother.com/cgi-bin/agreement/agreement.cgi?dlfile=http://solutions.brother.com/Library/sol/printer/linux/rpmfiles/lpr_others/brdcp7020lpr-2.0.1-1.i386.rpm&lang=English_lpr here] (and agree to their terms). This is an RPM archive.
+
You have to download the cupswrapper file [http://www.brother.com/cgi-bin/agreement/agreement.cgi?dlfile=http://solutions.brother.com/Library/sol/printer/linux/rpmfiles/cups_wrapper/cupswrapperDCP7020-2.0.1-1.i386.rpm&lang=English_gpl here] (and agree to their terms). This script creates the filters and PPD file for CUPS automatically. It's an RPM archive too.
+
 
+
 
+
==Extracting the RPM files==
+
Now you need a small script called rpmextract which allows you to get the files included in the RPM you've just downloaded.
+
Log in as root and execute :
+
# pacman -S rpmextract
+
Extract both RPM files :
+
$ rpmextract.sh brdcp7020lpr-2.0.1-1.i386.rpm
+
$ rpmextract.sh cupswrapperDCP7020-2.0.1-1.i386.rpm
+
It should give you two directories : usr and var.
+
 
+
 
+
==Editing files to make it work with Arch==
+
Arch Linux uses its own file system organization, so you have to edit some files.
+
Use your text editor (i.e. vi) to open the file named cupswrapperDCP7020-2.0.1
+
If you created the temporary directory "tmp" in your home, this file will be in /home/(your user)/tmp/usr/local/Brother/cupswrapper/cupswrapperDCP7020-2.0.1
+
 
+
'''In this file, you must replace all the <i>/etc/init.d/</i> occurrences by <i>/etc/rc.d/</i> and <i>/etc/init.d/cups</i> by <i>/etc/rc.d/cupsd</i>.'''
+
 
+
Once you've finished this step, copy all of the files to their corresponding directories in your file system :
+
# cp -r /home/user/tmp/usr/* /usr
+
# cp -r /home/user/tmp/var/* /var
+
 
+
==Installing the driver and printer==
+
Last step!
+
 
+
Go into /usr/local/Brother/cupswrapper/ and run the cupswrapper file :
+
# cd /usr/local/Brother/cupswrapper/
+
# ./cupswrapperDCP7020-2.0.1
+
It will stop the cups daemon if it's running, and restart it.<br/><br/>
+
Now go to the CUPS page : http://localhost:631/ <br/><br/>
+
Under the Printers tab you should see a DCP7020 printer <b>automatically</b> installed and configured.  You'll want to modify the printer options to suite your situation.
+
 
+
Thanks to the creator of the HL-2030 page for making this much easier than I expected it would be!
+
 
+
=Scanner=
+
First, make sure you [http://wiki.archlinux.org/index.php/Scanner_setup_%26_configure set up SANE].
+
 
+
 
+
This scanner works with Brother's [http://solutions.brother.com/linux/sol/printer/linux/sane_drivers.html brscan2] driver.  ([http://www.brother.com/cgi-bin/agreement/agreement.cgi?dlfile=http://solutions.brother.com/Library/sol/printer/linux/rpmfiles/sane_others/brscan2-0.2.4-0.i386.rpm&lang=English_sane 32 bit] | [http://www.brother.com/cgi-bin/agreement/agreement.cgi?dlfile=http://solutions.brother.com/Library/sol/printer/linux/rpmfiles/sane_others/64bit/brscan2-0.2.4-0.x86_64.rpm&lang=English_sane 64 bit])
+
 
+
You can install this manually, using the following instructions, or else there's now a package in the AUR too, [https://aur.archlinux.org/packages.php?ID=19856 here].
+
 
+
You'll need to extract the files to a temp path:
+
$ rpmextract brscan2-0.2.4-0.i386.rpm
+
or, for 64 bit:
+
$ rpmextract brscan2-0.2.4-0.x86_64.rpm
+
 
+
Now copy the files to their corresponding directories in your file system:
+
# cp -r /path/to/brscan/usr/* /usr
+
 
+
Now you'll need to add "brother2" to the end of /etc/sane.d/dll.conf<br />
+
Brother felt it necessary to include a script to do that, so you can also run:
+
# /usr/local/Brother/sane/setupSaneScan2 -i
+
 
+
==Troubleshooting==
+
===I can scan as root, but not as a normal user===
+
Make sure your user is in the scanner group:
+
# gpasswd -a username scanner
+
then log out and back in.
+
 
+
If you still can't scan as a normal user, check that /usr/lib/sane (or /usr/lib64/sane for 64 bit) are readable and executable for your user/group.
+
 
+
===64 bit caveat===
+
The 64 bit RPM has two files in /usr/lib64/, along with two symlinks to each file. However, the Arch64 Sane package will probably look in  /usr/lib/ rather than /usr/lib64/, so we'll need to create some more symlinks.  And since the symlinks reference the absolute path, not the relative path, ie:
+
linkedfile -> /usr/lib64/originalfile
+
rather than
+
linkedfile -> ./originalfile
+
a simple cp -r /path/to/brscan/usr/lib64/* /usr/lib/ won't do.
+
 
+
# ln -s /usr/lib64/libbrcolm2.so.1.0.1 /usr/lib/
+
# ln -s /usr/lib64/libbrscandec2.so.1.0.0 /usr/lib/
+
# ln -s /usr/lib64/sane/libsane-brother2.so.1.0.7 /usr/lib/sane/
+
# cd /usr/lib
+
# ln -s libbrcolm2.so.1.0.1 libbrcolm2.so.1
+
# ln -s libbrcolm2.so.1 libbrcolm2.so
+
# ln -s libbrscandec2.so.1.0.0 libbrscandec2.so.1
+
# ln -s libbrscandec2.so.1 libbrscandec2.so
+
# cd sane
+
# ln -s libsane-brother2.so.1.0.7 libsane-brother2.so.1
+
# ln -s libsane-brother2.so.1 libsane-brother2.so
+
 
+
Here's all of that in a nice bash friendly string:
+
ln -s /usr/lib64/libbrcolm2.so.1.0.1 /usr/lib/; ln -s /usr/lib64/libbrscandec2.so.1.0.0 /usr/lib/; ln -s /usr/lib64/sane/libsane-brother2.so.1.0.7 /usr/lib/sane/; cd /usr/lib; ln -s libbrcolm2.so.1.0.1 libbrcolm2.so.1; ln -s libbrcolm2.so.1 libbrcolm2.so; ln -s libbrscandec2.so.1.0.0 libbrscandec2.so.1; ln -s libbrscandec2.so.1 libbrscandec2.so; cd sane; ln -s libsane-brother2.so.1.0.7 libsane-brother2.so.1; ln -s libsane-brother2.so.1 libsane-brother2.so
+

Latest revision as of 23:51, 26 October 2015