Difference between revisions of "Brother DCP-150C"

From ArchWiki
Jump to: navigation, search
m (Scanner: fixed sane installation process)
(Redirected to CUPS/Printer-specific problems, since this page is now redundant.)
 
(32 intermediate revisions by 11 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-150C printer/scanner work on Arch. While this tutorial is based on the DCP-150C specifically, it can be used as a general guide for most Brother USB printers.
 
On [http://solutions.brother.com/linux/en_us/index.html Brother's Linux Driver page] you can find extra information along with drivers for different printer models.
 
 
 
= Printer =
 
== Prerequisites ==
 
This tutorial assumes you have the following packages installed. Failure to do so may result in hard to trace issues with printing.
 
* cups
 
* ghostscript
 
* gsfonts
 
* foomatic-filters
 
* arch x86_64 requires lib32-libcups
 
 
 
If you previously tried to install the printer in CUPS, remove it and any remaining driver files!!
 
 
 
 
 
Brother's scripts make use of the C Shell (csh) instead of the more common Bash. We must install tcsh from the "extra" repo.
 
# pacman -S tcsh
 
 
 
Your user is a member of the printer group (lp). Be sure to logout for changes to take affect.
 
# usermod -aG lp [username]
 
 
 
Additional info about setting up [[CUPS]] if needed.
 
 
 
== Installing printer drivers ==
 
You can get DCP-150C drivers from [[AUR]]:
 
$ yaourt -S dcp150c
 
 
 
== Installing the printer (Local USB) ==
 
 
 
The kernel module {{ic|usblp}} must be blacklisted before installing the driver, otherwise the Device URI will be wrong and the printer won't work.
 
 
 
{{Warning|Blacklisting modules in rc.conf has been obsoleted and no longer works in initscripts 2011.06.1-1, so you'll have to use the following method.}}
 
 
 
To disable the module, create a {{ic|.conf}} file inside {{ic|/etc/modprobe.d/}} as follows:
 
 
 
{{hc|/etc/modprobe.d/blacklist.conf|<nowiki># Do not load the usblp module on boot
 
blacklist usblp</nowiki>}}
 
 
 
{{Note|The {{ic|blacklist}} command will blacklist a module so that it will not be loaded automatically, but may be loaded if another non-blacklisted module depends on it, or if it is loaded manually.
 
 
 
However, there is a workaround for this behaviour; the {{ic|install}} command instructs modprobe to run a custom command instead of inserting the module in the kernel as normal, so you can force the module to always fail loading with:
 
 
 
{{hc|/etc/modprobe.d/blacklist.conf|...
 
install usblp /bin/false
 
...}}
 
 
 
This will effectively "blacklist" that module and any other that depends on it.}}
 
 
 
Reboot the box to take effect, or manually remove the module without rebooting:
 
 
 
# modprobe -r usblp
 
 
 
You have to start the cups daemon (as root, of course) if it doesn't run already, otherwise the installation script won't work and throws a failure.
 
 
 
# systemctl start cupsd.service
 
 
 
Now lets plug in the printer and run the script to install the driver for us.
 
 
 
As root in terminal:
 
# /usr/local/Brother/Printer/dcp150c/cupswrapper/cupswrapperdcp150c
 
 
 
It will stop the cups daemon, and restart it.
 
 
 
{{Warning|Daemon may fail to start due to bug in csh. If "Unknown colors variable `mh'." message is displayed, before starting daemon, execute:}}
 
 
 
unset LS_COLORS
 
 
 
Now go to the CUPS setup page: http://localhost:631/
 
Click on '''Manage Printers''' you should see your DCP150C printer automatically installed and configured. Print a test page!
 
 
 
If the test page fails with error "Printer not connected; will retry in 30 seconds..." then.
 
# Click Delete Printer and remove the automatically created printer.
 
# Click Administration --> Find New Printers
 
# You should see your Brother printer listed here, add it!
 
# Print a test page
 
 
 
NOTE: Be sure to add '''cupsd''' to the DAEMON line in rc.conf so it loads everytime at startup.
 
 
 
== Installing the printer (Network, Ethernet) ==
 
Now lets run the script to install the driver for us.
 
 
 
As root in terminal:
 
/usr/local/Brother/Printer/dcp150c/cupswrapper/cupswrapperdcp150c
 
 
 
It will stop the cups daemon if it's running, and restart it.
 
 
 
{{Warning|Daemon may fail to start due to bug in csh. If "Unknown colorls variable `mh'." message is displayed, before starting daemon, execute:}}
 
 
 
unset LS_COLORS
 
 
 
Now go to the CUPS setup page: http://localhost:631/
 
# Click Manage Printers --> Delete Printer and remove the automatically created printer.
 
# Click Administration --> Find New Printers
 
# You should see your Brother printer listed here, add it!
 
# Print a test page
 
 
 
If Find New Printers doesn't list any printers you can try to set it up manually.
 
# Click Add Printer
 
# Location can be left blank, but can have something in it for reference sake, Description can be left blank, but can also have something in it for reference sake. Click continue
 
# Choose the device "Appsocket/HP JetDirect" then click continue
 
# Set the Device URI to <i>socket://192.168.0.10:9100</i>
 
# Select the make <i>Brother</i>
 
# Select the printer <i>Brother DCP-150C CUPS</i>
 
# Click finish and print a test page.
 
 
 
NOTE: Be sure to make '''cups''' load at startup with.
 
# systemctl enable cups.service
 
 
 
=Scanner=
 
First, make sure you install [https://wiki.archlinux.org/index.php/Sane sane] with.
 
# pacman -S sane
 
 
 
This scanner works with Brother's [http://solutions.brother.com/linux/sol/printer/linux/sane_drivers.html brscan2] driver. It can be found on [[AUR]]:
 
$ yaourt -S brscan2 brscan2-network
 
 
 
Let driver configure:
 
# /usr/local/Brother/sane/setupSaneScan2 -i
 
 
 
To test the scanner, you can install xsane:
 
# pacman -S xsane
 
 
 
And run it to verify the installation (as a user):
 
$ xsane
 
 
 
==Scan Key Install (Optional)==
 
This allows the scanner to be recognized in other programs such as GIMP.  This information is a condensed and consolidated version off of Brother's linux support site ([http://solutions.brother.com/linux/en_us/instruction_scn3.html#config1 Link])
 
 
 
Scan Key Tool can be found on [[AUR]]:
 
$ yaourt -S brscan-skey
 
 
 
Run the setup script for brscan-key:
 
# /usr/local/Brother/sane/brscan-skey-0.2.1-1.sh
 
 
 
Execute the tool to verify that the previously installed scanner is recognized:
 
# brscan-skey -l
 
 
 
Expect the following output:
 
# brscan-skey -l
 
 
 
DCP150C          : brother2:net1;dev0  : 10.1.1.90            Active
 
 
 
NOTE: To let GIMP see the scanner be sure to install '''xsane-gimp''' with.
 
# pacman -S xsane-gimp
 
 
 
After you receive the above output via brscan-key, check the File-> Create list in GIMP (tested v. 2.8) and there should be two more entries:
 
XSane: Device Dialog...
 
XSane: brother2:net1;dev0
 
 
 
If the new entries appear, congratulations!  Your Brother scanner is now available via any XSane interface!
 
 
 
==Troubleshooting==
 
===Shifted printer output===
 
Take a look at file {{ic|/usr/local/Brother/Printer/dcp150c/inf/brdcp150crc}} and verify if the value of ''PaperType'' matches your paper size.
 
 
 
(Change "Letter" to "A4")
 

Latest revision as of 00:33, 27 October 2015