Difference between revisions of "Brother DCP-135C"
(Initial commit) |
(→"Waiting for printer to become avaiable" printer status: Typo) |
||
Line 168: | Line 168: | ||
then log out and back in. | then log out and back in. | ||
− | ==="Waiting for printer to become | + | ==="Waiting for printer to become available" printer status=== |
Create a {{filename|10-cups-usb.rules}} file in {{filename|/etc/udev/rules.d/}} as follows: | Create a {{filename|10-cups-usb.rules}} file in {{filename|/etc/udev/rules.d/}} as follows: | ||
Revision as of 11:18, 23 October 2011
Contents
Introduction
This is a brief tutorial to make the Brother DCP-135C printer/scanner work on Arch. While this tutorial is based on the DCP-135C specifically, it can be used as a general guide for most Brother USB printers. On 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
Brother's scripts look for C Shell in /bin/csh but will fail with the error "Bad Interpreter" unless we correct this to /usr/bin/tcsh. As root lets create a symbolic link:
# ln -s /usr/bin/tcsh /bin/csh
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-135C drivers from AUR:
$ yaourt -S dcp135c
Installing the printer (Local USB)
The kernel module Template:Codeline must be blacklisted before installing the driver, otherwise the Device URI will be wrong and the printer won't work.
To disable the module, create a Template:Filename file inside Template:Filename as follows:
However, there is a workaround for this behaviour; the Template:Codeline 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:
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
Now lets plug in the printer and run the script to install the driver for us.
As root in terminal:
# /usr/local/Brother/Printer/dcp135c/cupswrapper/cupswrapperdcp135c
It will stop the cups daemon if it's running, and restart it.
unset LS_COLORS
Now go to the CUPS setup page: http://localhost:631/ Click on Manage Printers you should see your DCP135C 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/dcp135c/cupswrapper/cupswrapperdcp135c
It will stop the cups daemon if it's running, and restart it.
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 socket://192.168.0.10:9100
- Select the make Brother
- Select the printer Brother DCP-135C CUPS
- Click finish and print a test page.
NOTE: Be sure to add cups to the DAEMON line in rc.conf so it loads everytime at startup.
NOTE: for Brother DCP-135C. If you would like to print wireless, try and modify the previous added printer using Cups:
- Click Printers.
- Click Modify Printer for the printer you installed previously
- Click Continue
- Choose LPD/LPR Host or Printer
- Write in the filed Device URI: lpd://192.168.1.199/binary_p1. Of course, replace that ip with yours.
- Choose Brother manufacturer and Brother DCP-135C Cups wrapper driver in the next screen
- Click on Modify Printer
and you will be able to print also using wifi of DCP-135C.
Scanner
First, make sure you set up SANE.
This scanner works with Brother's brscan2 driver. It can be found on AUR:
$ yaourt -S brscan2
To test the scanner, you can install xsane:
# pacman -S xsane
And run it to verify the installation (as a luser):
$ 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 (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 DCP135C : brother2:net1;dev0 : 10.1.1.90 Active
After you receive the above output via brscan-key, check the File-> Create list in GIMP (tested v. 2.6.4) and there should be two more entries:
XSane: Device Dialog... XSane: brother2:net1;dev0
If the new entries appear, congratulations! Your (networked) Brother scanner is now available via any XSane interface!
Troubleshooting
I can scan as root, but not as a normal user
Add following lines to your Template:Filename:
Make sure your user is in the scanner group:
# usermod -aG scanner [username]
then log out and back in.
"Waiting for printer to become available" printer status
Create a Template:Filename file in Template:Filename as follows:
Template:File Finally unplug and plug again the printer.