You are not logged in.

#1 2010-12-04 22:57:48

guga31bb
Member
Registered: 2010-11-01
Posts: 19

[Solved] Brother HL-2270DW?

I decided to buy a new printer after getting fed up with my LaserJet usblp + cups 1.4 issues. I've seen good reviews for the Brother 2170W, and it seems like it works well on Arch, but the HL-2270DW is newer and (for some reason) cheaper on Amazon. Does anyone have experience with getting this to play nicely with Arch? A google search didn't turn up anything.

Last edited by guga31bb (2010-12-09 06:55:54)

Offline

#2 2010-12-05 01:39:16

lagagnon
Member
From: an Island in the Pacific...
Registered: 2009-12-10
Posts: 1,076
Website

Re: [Solved] Brother HL-2270DW?

I cannot see there would be a problem as Brother released a Linux driver for that printer on Oct 4th this year:

http://welcome.solutions.brother.com/bs … #HL-2270DW


Philosophy is looking for a black cat in a dark room. Metaphysics is looking for a black cat in a dark room that isn't there. Religion is looking for a black cat in a dark room that isn't there and shouting "I found it!". Science is looking for a black cat in a dark room with a flashlight.

Offline

#3 2010-12-05 07:00:19

guga31bb
Member
Registered: 2010-11-01
Posts: 19

Re: [Solved] Brother HL-2270DW?

Thanks for this. It looks like there are drivers packaged with either rpm or deb -- should I unpack the rpm and try using that? The closest thing I could find was this page (https://wiki.archlinux.org/index.php/Brother_HL-2030) which talks about extracting and editing rpm files (cupswrapper) for use on Arch, since lines like "/etc/init.d/cupsys restart" will obviously not work. I plan on buying the printer tomorrow and will post my experience.

Last edited by guga31bb (2010-12-05 07:05:43)

Offline

#4 2010-12-08 21:04:45

guga31bb
Member
Registered: 2010-11-01
Posts: 19

Re: [Solved] Brother HL-2270DW?

EDIT -- the steps below don't work for me. I now use the Foomatic/hl1250 drivers and it works.

Driver:    Brother DCP-1200 Foomatic/hl1250 (recommended) (grayscale, 2-sided printing)
Connection:    http://192.168.1.222:80

-------------

UPDATE -- working printer! Here's how I did it: (inspired mostly by https://wiki.archlinux.org/index.php/Brother_HL-2030)

1. Go to the Brother site and download both .rpm files (LPR and cupswrapper)

2. Extract the .rpm files (you'll need rpmextract) -- I put them in my ~

3. Go into ~/usr/local/Brother/Printer/HL2270DW/cupswrapper/cupswrapperHL2270DW-2.0.4 and change all instances of "init.d" to "rc.d".

4. Go into ~/usr/local/Brother/Printer/HL2270DW/inf/setupPrintcap2 and change "printcap.local" to "printcap" -- I think there was only 1 instance of this.

5. sudo cp -r ~/tmp/usr/* /usr && sudo cp -r ~/tmp/var/* /var

6. Go to /usr/local/Brother/Printer/HL2270DW/cupswrapper/ and run cupswrapperHL2270DW-2.0.4 . If you are using a USB connection it might work (I have no idea, printer is connected to router by ethernet).

HOWEVER, the file only works for usb connections -- the very end of the file goes as follows:

port2=`lpinfo -v | grep -i 'usb://Brother/HL2270DW' | head -1`
if [ "$port2" = '' ];then
  port2=`lpinfo -v | grep -i 'usb://Brother/' | head -1`
  if [ "$port2" = '' ];then
       port2=`lpinfo -v | grep 'ipp' | head -1`
  fi
fi
port=`echo $port2| sed s/network//g`
if [ "$port" = '' ];then
    port=usb:/dev/usb/lp0
fi
lpadmin -p HL2270DW -E -v $port -P $ppd_file_name
  exit 0

So no matter what, it adds a usb printer. This gave me 'printer not found' errors, for good reason. Here's the easy workaround:

7. Immediately after runnings the cupswrapper, give 2 commands:
i -- sudo lpadmin -x HL2270DW
ii -- sudo lpadmin -p HL2270DW -E -v dnssd://Brother%20HL-2270DW%20series._pdl-datastream._tcp.local/ -P /usr/share/cups/model/HL2270DW.ppd

This removes the printer and then adds it back with the correct URI. I found the URI by using 'lpinfo -v' and playing around with the different outputs until one worked.

I printed a test page and 2 pages from my document (duplex even works!)

Last edited by guga31bb (2011-06-24 01:29:00)

Offline

#5 2011-02-19 09:34:32

mrman
Member
Registered: 2010-02-05
Posts: 26

Re: [Solved] Brother HL-2270DW?

I was only able to print a test page from the cups web admin interface with the official driver. I had to use the foomatic driver to be able to print from applications. I am also printing wirelessly.

Last edited by mrman (2011-02-19 09:37:37)

Offline

#6 2011-04-15 23:10:28

airencracken
Member
From: California
Registered: 2010-04-17
Posts: 23

Re: [Solved] Brother HL-2270DW?

Just picked this printer up, but I'm having problems with the steps you outlined. I get an unable to locate printer error in cups. There doesn't appear to be a compatible driver in foomatic either. mrman if you could elaborate on what you did, I'd appreciate it. Or if you could elaborate on the URI changing you're doing guga31bb, that'd be cool too. My primary goal is to get the wireless working.

Thanks in advance.

Last edited by airencracken (2011-04-15 23:54:02)

Offline

#7 2011-04-15 23:41:11

lagagnon
Member
From: an Island in the Pacific...
Registered: 2009-12-10
Posts: 1,076
Website

Re: [Solved] Brother HL-2270DW?

guga31bb wrote:

UPDATE -- working printer! Here's how I did it: (inspired mostly by

It would be great if you could add a wiki page with your info!


Philosophy is looking for a black cat in a dark room. Metaphysics is looking for a black cat in a dark room that isn't there. Religion is looking for a black cat in a dark room that isn't there and shouting "I found it!". Science is looking for a black cat in a dark room with a flashlight.

Offline

#8 2011-04-15 23:42:50

lagagnon
Member
From: an Island in the Pacific...
Registered: 2009-12-10
Posts: 1,076
Website

Re: [Solved] Brother HL-2270DW?

guga31bb wrote:

UPDATE -- working printer! Here's how I did it: (inspired mostly by

It would be great if you could add a wiki page with your info!


Philosophy is looking for a black cat in a dark room. Metaphysics is looking for a black cat in a dark room that isn't there. Religion is looking for a black cat in a dark room that isn't there and shouting "I found it!". Science is looking for a black cat in a dark room with a flashlight.

Offline

#9 2011-06-24 00:40:32

nk1eto
Member
Registered: 2011-06-24
Posts: 2

Re: [Solved] Brother HL-2270DW?

to use brother's driver's:
with cups running, save and run as root:

#!/bin/bash
# https://bbs.archlinux.org/viewtopic.php?id=109570
# thx https://bugs.gentoo.org/show_bug.cgi?id=285166#c12
[[ $UID -ne 0 ]] && echo "run as root." && exit 1
STARTDIR=$(pwd)
mkdir br_tmp && cd br_tmp
wget http://www.brother.com/pub/bsc/linux/dlf/hl2270dwlpr-2.1.0-1.i386.rpm
wget http://www.brother.com/pub/bsc/linux/dlf/cupswrapperHL2270DW-2.0.4-2.i386.rpm
if [ ! -f hl2270dwlpr-2.1.0-1.i386.rpm ] || [ ! -f cupswrapperHL2270DW-2.0.4-2.i386.rpm ]; then
    echo -e "One or both files not found: \n  hl2270dwlpr-2.1.0-1.i386.rpm \n  cupswrapperHL2270DW-2.0.4-2.i386.rpm \n\n Was there a problem with the download?"
    exit 1;
fi
bsdtar -xf hl2270dwlpr-2.1.0-1.i386.rpm && bsdtar -xf cupswrapperHL2270DW-2.0.4-2.i386.rpm
cd usr/local/Brother/Printer/HL2270DW/inf/ || exit 1
perl -pi -e 's/printcap.local/printcap/g' setupPrintcap2
cd ../cupswrapper/ || exit 1
perl -pi -e 's/init.d/rc.d/g' cupswrapperHL2270DW-2.0.4
cd "$STARTDIR"/br_tmp/
cp -r usr/* /usr/ && cp -r var/* /var/
cd ../ && rm -rf br_tmp
echo "If I hang here, be patient...."
/usr/local/Brother/Printer/HL2270DW/cupswrapper/cupswrapperHL2270DW-2.0.4 || exit 1

is printer is now in cups config? http://127.0.0.1:631
Then edit /etc/cups/printers.conf and change the DeviceURI from ‘usb:xxxxx’ to ‘file:///dev/usb/lp1′ (or usb/lp0 or whatever exists, no quotes).

    /etc/rc.d/cupsd restart

UPDATE: added root UID check. I've reinstalled arch a few times on different computers and this script still works for me.

Last edited by nk1eto (2012-03-04 21:56:44)

Offline

#10 2011-06-24 00:42:37

airencracken
Member
From: California
Registered: 2010-04-17
Posts: 23

Re: [Solved] Brother HL-2270DW?

I just gave up and use an XP vm to print. Ugly, but it works.

Offline

#11 2011-06-24 01:30:05

guga31bb
Member
Registered: 2010-11-01
Posts: 19

Re: [Solved] Brother HL-2270DW?

The method I used above stopped working for me. Sorry, I should have updated that post earlier. It's updated now.

Drivers I now use:
Brother DCP-1200 Foomatic/hl1250 (recommended)

Offline

#12 2011-08-06 11:37:01

fubar0
Member
Registered: 2009-10-05
Posts: 18

Re: [Solved] Brother HL-2270DW?

Have you tried downgrading the file package?
I had a similar problem, you may want to have a look at https://bbs.archlinux.org/viewtopic.php?pid=967337

Offline

#13 2011-10-23 06:17:50

David Batson
Member
Registered: 2011-10-13
Posts: 640

Re: [Solved] Brother HL-2270DW?

guga31bb wrote:

EDIT -- the steps below don't work for me. I now use the Foomatic/hl1250 drivers and it works.

Driver:    Brother DCP-1200 Foomatic/hl1250 (recommended) (grayscale, 2-sided printing)
Connection:    http://192.168.1.222:80

-------------

UPDATE -- working printer! Here's how I did it: (inspired mostly by https://wiki.archlinux.org/index.php/Brother_HL-2030)

1. Go to the Brother site and download both .rpm files (LPR and cupswrapper)

2. Extract the .rpm files (you'll need rpmextract) -- I put them in my ~

3. Go into ~/usr/local/Brother/Printer/HL2270DW/cupswrapper/cupswrapperHL2270DW-2.0.4 and change all instances of "init.d" to "rc.d".

4. Go into ~/usr/local/Brother/Printer/HL2270DW/inf/setupPrintcap2 and change "printcap.local" to "printcap" -- I think there was only 1 instance of this.

5. sudo cp -r ~/tmp/usr/* /usr && sudo cp -r ~/tmp/var/* /var

6. Go to /usr/local/Brother/Printer/HL2270DW/cupswrapper/ and run cupswrapperHL2270DW-2.0.4 . If you are using a USB connection it might work (I have no idea, printer is connected to router by ethernet).

HOWEVER, the file only works for usb connections -- the very end of the file goes as follows:

port2=`lpinfo -v | grep -i 'usb://Brother/HL2270DW' | head -1`
if [ "$port2" = '' ];then
  port2=`lpinfo -v | grep -i 'usb://Brother/' | head -1`
  if [ "$port2" = '' ];then
       port2=`lpinfo -v | grep 'ipp' | head -1`
  fi
fi
port=`echo $port2| sed s/network//g`
if [ "$port" = '' ];then
    port=usb:/dev/usb/lp0
fi
lpadmin -p HL2270DW -E -v $port -P $ppd_file_name
  exit 0

So no matter what, it adds a usb printer. This gave me 'printer not found' errors, for good reason. Here's the easy workaround:

7. Immediately after runnings the cupswrapper, give 2 commands:
i -- sudo lpadmin -x HL2270DW
ii -- sudo lpadmin -p HL2270DW -E -v dnssd://Brother%20HL-2270DW%20series._pdl-datastream._tcp.local/ -P /usr/share/cups/model/HL2270DW.ppd

This removes the printer and then adds it back with the correct URI. I found the URI by using 'lpinfo -v' and playing around with the different outputs until one worked.

I printed a test page and 2 pages from my document (duplex even works!)

Solution mostly worked except for the URI.  I had to use the following command instead:
lpadmin -p HL2270DW -E -v socket://192.168.0.7 -P /usr/share/cups/model/HL2270DW.ppd

EDIT:  Discovered I had to start the avahi daemon for the dnssd URI to work.  Added avahi-daemon to the DAEMONS line of /etc/rc.conf  I prefer using dnssd to socket in case the IP address of the printer happened to change.

Last edited by David Batson (2011-10-23 13:53:07)

Offline

#14 2012-08-29 01:09:56

siam
Member
Registered: 2011-07-13
Posts: 18

Re: [Solved] Brother HL-2270DW?

These instructions no longer work. 
I'm on a new Arch installation with cups 1.6.1-5, and I have a Brother HL-2270DW printer.

There seems to be an issue with the the file package and the Brother drivers as discussed in this thread . I'm unsure, however, if this is what's causing the problems. I'm getting slanted, large unreadable text (doesn't even look like text). Not postscript.
I'm currently using 2170W's foomatic drivers with success, but I prefer to use Brother's version and also not rollback file.

Does anybody have up-to-date cups and file packages with a working HL-2270DW printer that's using Brother's drivers?

Offline

#15 2012-08-29 01:22:04

2ManyDogs
Member
Registered: 2012-01-15
Posts: 1,670

Re: [Solved] Brother HL-2270DW?

These instructions are almost a year old. I'm not surprised they don't work. That's one reason why necro-bumping is discouraged. The thread you referenced is even older.

Why do you need an official Brother driver if the foomatic driver works?

Last edited by 2ManyDogs (2012-08-29 01:22:49)

Offline

#16 2012-08-29 01:30:03

siam
Member
Registered: 2011-07-13
Posts: 18

Re: [Solved] Brother HL-2270DW?

I have seen newer threads and HL2270DW threads pointing to this one, but you're right, I should have started a new thread.
It's not as urgent so I chose to use this thread.

Well, the reasons for using the official Brother drivers are:
(1) I can't control duplex printing from any application with the foomatic drivers whereas I could with the Brother drivers.
(2) The quality has not been as good for me with the foomatic drivers (also mentioned in an Ubuntu forum and I can verify)

Offline

#17 2012-08-29 01:44:21

2ManyDogs
Member
Registered: 2012-01-15
Posts: 1,670

Re: [Solved] Brother HL-2270DW?

Thank you for the clarification. You said you were using the 2170 foomatic driver with success, so I wondered why you needed something else. Now I know.

Offline

#18 2012-08-29 06:35:49

David Batson
Member
Registered: 2011-10-13
Posts: 640

Re: [Solved] Brother HL-2270DW?

AFAIK, my Brother 2270DW is still working in Arch.  Haven't printed from it lately, and I am not at the printers location atm to verify.

You might be affected by the libtiff issue mentioned in this Gentoo thread.  I already had an older version of libtiff installed for my Canon printer, so that might be why I haven't seen any new problems to date.

http://forums.gentoo.org/viewtopic-t-92 … art-0.html

See also: https://bbs.archlinux.org/viewtopic.php?id=136415

Finally, its possible you may need a2ps and/or ghostscript installed as well.

Last edited by David Batson (2012-08-29 06:38:58)

Offline

#19 2012-08-29 17:06:29

siam
Member
Registered: 2011-07-13
Posts: 18

Re: [Solved] Brother HL-2270DW?

David Batson wrote:

AFAIK, my Brother 2270DW is still working in Arch.  Haven't printed from it lately, and I am not at the printers location atm to verify.

You might be affected by the libtiff issue mentioned in this Gentoo thread.  I already had an older version of libtiff installed for my Canon printer, so that might be why I haven't seen any new problems to date.

http://forums.gentoo.org/viewtopic-t-92 … art-0.html

See also: https://bbs.archlinux.org/viewtopic.php?id=136415

Finally, its possible you may need a2ps and/or ghostscript installed as well.

Thanks David. My previous efforts were with a2ps and ghostscript installed so they seem to play no role in the problems that I'm experiencing.
Did you downgrade your file package by any chance too?

Offline

#20 2012-08-29 18:13:28

David Batson
Member
Registered: 2011-10-13
Posts: 640

Re: [Solved] Brother HL-2270DW?

No, I haven't downgraded the 'file' package, but it's possible that I haven't tried printing from the Brother printer after 'file' was last updated with a system update.  It will be 2 or 3 weeks before I am at the Brother 2270DW printer location again to test.

Offline

#21 2012-09-14 18:29:09

David Batson
Member
Registered: 2011-10-13
Posts: 640

Re: [Solved] Brother HL-2270DW?

I just got home last night.  Fully updated arch.  Found that neither my Canon MG8102 nor my Brother HL2270DW printers would work.

Found I had some issues with the systemd update (regarding cups).  Had to work through those issues by following the wiki and some other forum posts.  Printers still did not work.

Found the issue with the Canon printer had to do with /usr/lib/libpng12.so [Wrong ELF Class].  Got that straightened out and the Canon printer now works.

Found the problem with the Brother printer was the URI.  The dnssd URI no longer works - not sure why.  Maybe I'll figure that out later.  However the following URI works (on my system with the printer ip address set to 192.168.0.10): lpd://192.168.0.10/BINARY_P1

Offline

#22 2012-09-18 06:59:20

siam
Member
Registered: 2011-07-13
Posts: 18

Re: [Solved] Brother HL-2270DW?

David Batson wrote:

I just got home last night.  Fully updated arch.  Found that neither my Canon MG8102 nor my Brother HL2270DW printers would work.

Found I had some issues with the systemd update (regarding cups).  Had to work through those issues by following the wiki and some other forum posts.  Printers still did not work.

Found the issue with the Canon printer had to do with /usr/lib/libpng12.so [Wrong ELF Class].  Got that straightened out and the Canon printer now works.

Found the problem with the Brother printer was the URI.  The dnssd URI no longer works - not sure why.  Maybe I'll figure that out later.  However the following URI works (on my system with the printer ip address set to 192.168.0.10): lpd://192.168.0.10/BINARY_P1

Still not working for me. I tried the URI (adjusted for my printer's IP of course) that you used.
Note that in the cupswrapper script, there are many instances of restarting the cups daemon via "/etc/init.d/cups restart" which doesn't apply to a pure systemd installation. I tried the default script first (with no luck) and also a modified script where the restarts were replaced by the corresponding systemd commands (also did not work). Would the restarts really influence the installation?

From what I gather, I think it's the `file` problem that was brought up earlier, but it's strange you are not having the same issues.
Could you verify your version of file David?

Offline

#23 2012-09-18 20:11:27

David Batson
Member
Registered: 2011-10-13
Posts: 640

Re: [Solved] Brother HL-2270DW?

siam wrote:

From what I gather, I think it's the `file` problem that was brought up earlier, but it's strange you are not having the same issues.
Could you verify your version of file David?

[root@myhost ~]# pacman -Q file
file 5.11-1

I had edited cupswrapper when I initially installed the driver (see my first post in this thread).  Currently all references to init.d were changed as follows:

if [ -e /etc/rc.d/cups ]; then
    /etc/rc.d/cups restart
  fi
  if [ -e /etc/rc.d/cupsys ]; then
    /etc/rc.d/cupsys restart
  fi

I also created a symbolic link for lpr as per (but edited): http://welcome.solutions.brother.com/bs … e.html#003
edited to /etc/rc.d/cupsd

Last edited by David Batson (2012-09-18 20:11:47)

Offline

Board footer

Powered by FluxBB