Package Details: brscan4 0.4.4_4-2

Git Clone URL: (read-only)
Package Base: brscan4
Description: SANE drivers from Brother for brscan4 compatible models
Upstream URL:
Keywords: printer
Licenses: GPL, custom:brother
Submitter: Harey
Maintainer: Harey
Last Packager: Harey
Votes: 89
Popularity: 1.855589
First Submitted: 2011-08-01 08:43
Last Updated: 2018-01-12 11:23

Latest Comments

ron2138 commented on 2018-06-13 21:31

  1. The upstream URL recorded above can not be found

  2. . I believe the this is the current URL.

  3. Replying ettavolt comment on 2018-06-13 05:13 and Harey comment on 2018-06-12 09:20: On 2018-06-19 I sent a message through Email Support. Got #180619-000271 reference number for follow up. A reply by email was they will provide this to the software engineers.

ettavolt commented on 2018-06-13 05:13

Man ( says that /etc/udev/rules.d/ is for local administrator. Local = per-machine. Package isn't machine-dependent (though it may be useful only for some that have Brother's scanner connected). Having rules in /usr/lib would allow a simple disabling via linking /etc/udev/rules.d/40-brscan4.rules to /dev/null. And this way won't interfere with package updates (while deleting file does).

Harey commented on 2018-06-12 09:20

The output of 'pacman -Qo /usr/lib/udev/rules.d/' makes me feel it is better to leave this directory alone ;). As far as you don't have a pressing argument I will stay with /etc/udev/rules.d/. One could interpret 'vendor' as 'Archlinux' as well...

ron2138 commented on 2018-06-11 22:54

Currently, /etc/udev/rules.d/40-brscan4.rules are installed by brscan4. I think it would be better if that file will be installed under /usr/lib/udev/rules.d/. The reason is that, as far as I can tell, /usr/lib/udev/rules.d/ are for vendor files, while /etc/udev/rules.d are for local files.

Harey commented on 2018-01-12 17:14

So you should file a bug for sane in Archlinux's bugtracker and see what the devs think about the situation...

ettavolt commented on 2018-01-12 12:21

Works, thank you. But for a bit different reason. ☺

So, what's happening with my DCP-1510 (as I understand it now):

40-brscan: MODE 664, GROUP lp, libsane_matched=yes

49-sane: MODE 664, GROUP scanner

50-udev-defaults: GROUP="lp" (because ENV{ID_USB_INTERFACES}==":0701??:")

70-uaccess: TAG+uaccess (because libsane_matched=yes)

Systemd somehow adds current-user ACL for uaccess-TAGged devices (this package owns udev-defaults and uaccess). Since brscan4 has priority of 40 (higher than 70 of uaccess) scanner works for current user without modification of his group. I think Arch's sane has to generate ACL-based udev rules (instead of what's generated now).

Here you can remove MODE and GROUP actions. The combination of sane.rules and udev-default.rules will do exactly the same (checked for DCP-1510).

Harey commented on 2018-01-12 11:24

ettavolt: OK, this seems quite logical to me. I pushed a new version of the package with the change you proposed. Let's see what happens ;)

ettavolt commented on 2018-01-11 10:44

Sorry, forgot to enable notifications. Basically udev is applying files from /etc and /usr in lexical order (without directory paths). Sane's rules are chowning scanner ports to 'scanner' group if ENV{libsane_matched}=="yes" (see the bottom of /usr/lib/udev/rules.d/49-sane.rules). "brscan4" is lexically after "49-sane". That's why ENV{libsane_matched}="yes" in "brscan4" will be applied after sane's rules and thus a Brother's scanner port won't be chowned to 'scanner'.

BTW, I wonder why is there MODE=xxx GROUP=xxx in the sane's rules file? This changes are reapplied by ENV{libsane_matched}=="yes" condition…

Harey commented on 2017-11-08 07:33

Why? Please explain the background a little bit. I guess this would affect the way mfc models are working.

ettavolt commented on 2017-11-08 06:46

Please change udev rules to have a 'priority' higher than SANE's rules.
SANE has 49 (see I have brscan4's rules applying correctly on priority 40.

This should work:

./mk-udev-rules opt/brother/scanner/brscan4/{Brsane4.ini,models4/*.ini} > etc/udev/rules.d/40-$pkgname.rules

Harey commented on 2017-11-06 14:52

Updated to 0.4.4_4-1. Thanks djreep81

timofonic commented on 2017-08-16 16:28


Thanks for maintaining the brscan4 package. I'm an owner of a Brother MFC L2700DW and I depend on a lot of scanning for lots of purposes (OCR, PCBs, etc)

I just found there's a newer version of brscan4 and your package uses an older one. Would you please update it?

If you are busy, I might try to do it. I already did my first package based on an orphaned one and using other PKGBUILD as base (linux-drm-tip-git, I need it to solve certain Intel gfx bugs) with assistance from people on #archlinux-aur at freenode (eschwartz was the patient guru, thanks a lot to him).

Kind regards.

vfrico commented on 2017-05-23 19:57

Worked perfectly for Brother MFC-J480DW, and I was able to configure to scan through WiFi, too.

I used simple scan.

Harey commented on 2017-05-17 13:20

attached to network or USB direct line? Have a look at brsaneconfig. I guess you have to run this before.

lordbalmung commented on 2017-05-17 09:41

It works with DCPL2540DW but selection in xsane and the output are way off! Any suggestions?

Harey commented on 2017-03-29 10:02

updated to 0.4.4-2

Anonymous comment on 2017-01-07 15:47

Works perfectly with Brother MFC-J430W.

Harey commented on 2016-10-26 09:38

DUH! Forgotten to change the checksums. Now it should work. Did not change the version for this.

dhtseany commented on 2016-10-25 19:15

mk-udev-rules ... FAILED
==> ERROR: One or more files did not pass the validity check!
==> ERROR: Makepkg was unable to build brscan4.

Harey commented on 2016-10-24 09:29

Ok, had another look into this. I guess the users that have their device attached to the network do not face the problem because of the network use. So let's have a try for changing the device node ownership to the 'lp' group. It seems that not even brother knows the final solution, because here ( they are suggesting the 'scanner' group, except for openSUSE11.2, which has the 'lp' group.
BTW @aborigines: I would be very interested in how you managed to add a group to another. I googled my a** off but all I read said this is not possible.

pitlochry commented on 2016-10-23 11:32

Had also the problem, bhartshorn and sowieso and aborigines and others commented on. What I did:

sudo gpasswd -a USER lp
sudo sed -i 's/GROUP="scanner"/GROUP="lp"/g' /etc/udev/rules.d/brscan4.rules

This is perhaps not the perfect solution, but it works.
@Harey: What is the better solution? sudo gpasswd -a USER scanner did not work.
@aborigines: How do you add a group to another?

Can you just post the command(s), like I did above? Thanks

Harey commented on 2016-10-11 06:38

See (and the explanations for the lp group) and I'd say everyone with this problem should decide what to do by himself. Appearantly there aren't that much systems affected. Besides that brscan does also work with some scan-only devices (IIRC)

bhartshorn commented on 2016-10-11 01:58

Am I the only one experiencing this issue:
using this package? I went ahead and replaced each instance of "scanner" with "lp" in /etc/udev/rules.d/brscan4.rules and everything (including scanning) is working just fine.

It might be worth a patch in this package? Or maybe there's a better way of getting it to work?

edit: I see sowieso had this issue as well, my bad. I just don't see much reason to have the permissions set to use "scanner" group if scanning works just fine when it's set to lp. (Presumably because cups uses lp, but scanning is based upon the gorups the user is in...)

Harey commented on 2016-09-13 08:33

Updated to 0.4.4-1. SOrry for the delay - vacations ;)

herzmeister commented on 2016-07-21 09:56

works for my Brother MFC-J5320DW as per wiki, without any problems or additional steps.

timofonic commented on 2016-04-28 14:21

Why do we need to install another piece of code? It seems this is proprietary, something that doesn't attract me at all!

What about direct SANE support? This is inSANE! :(

I really don't understand why it's so messy to use a scanner on Linux!

Is the full source code available?

Maybe I need to learn more before instad complaining, but I'm unable to understand the situation. It would be nice if someone explains it ;)

sowieso commented on 2016-02-26 10:22

@aborigines: Adding a group to another is new to me too. Can you explain how this should be possible?
Setting it world readable sure solves the problem, but then everyone can print / scan. Permissions could be easily fixed with ACLs, but I don't know if udev supports them and as many filesystems are mounted without support, it's not feasible.

Harey commented on 2016-02-26 07:56

@aborigines: Hey, that's cool! Add one group to another, I did not know that this is possible. I'd prefer that solution over giving everybody access to the hardware, though. Especially because this only happens on some devices as it seems.

aborigines commented on 2016-02-25 19:44

@sowieso , @Harey you can add group lp to group scanner
change MODE="0664" to MODE="0666" in /etc/udev/rules.d/brscan4.rules

sowieso commented on 2016-02-10 12:16

The printing user is in both groups (lp and scanner). Scanner was working all fine after installing this package. But the printer was stuck. I assume cups could had no permission to access the usb device, as /dev/bus/usb/… is set to root:scanner after installing your package, (instead of root:lp?). I do not know with which permissions cups actually tries to read from devices (there is no special user in passwd, and the current user had permission), but changing the device permission to root:lp fixed the problem for me (scanner working fine too).

Harey commented on 2016-02-10 10:11

Hmmm, both of these groups are pre-systemd groups:
Is your user in those groups?

sowieso commented on 2016-02-08 13:11

I am not sure how to solve this, but the udev-rules broke printing for me on a MFC-7360N. It got stuck at "waiting for printer to become available" in cups. Changing the udev rules from group scanner to lp solved this for me. If anyone knows a better solution, I'd be interested to hear.

pfrenssen commented on 2016-01-25 20:23

Use this one for the MFC-J4420DW model. Tested over wifi.

thb commented on 2016-01-23 12:28

Works on MFC-L2700DW !! Thanks you very much.

Careful : you need to give root's law on your user for use the scan ! A solution clean and permanent is to follow the wiki - part "Troubleshooting":

garcs commented on 2016-01-03 20:35

Works with DCP-1510 too!

tuxayo commented on 2015-12-21 11:14

Works on DCP-7055 plugged via USB, thanks! :-)

Harey commented on 2015-12-21 08:49

Updated to 0.4.3_3-1. Merry Christmas everybody ;)

DrMartinus commented on 2015-12-03 16:12

Works fine for my MFC-J6920DW
Thank you very much!

Matty_r commented on 2015-11-18 23:31

Worked for MFC-J4620DW

tangodaddy commented on 2015-10-08 08:54

Working as well with MFC-J4625DW :-) Loving arch community

valr commented on 2015-09-29 18:40

Working as well with MFC-J5320DW, thanks!

STEELBAS commented on 2015-09-23 23:44

Confirming to be working with the DCP-L2540DN model!

Harey commented on 2015-09-01 09:12

Updated. Sorry for the delay.

ava1ar commented on 2015-08-29 19:01

Any plans to update this package? If not, I can pick it up for support.

jwm-art commented on 2015-05-05 20:50

Thanks for the pointers there. I tried all sorts but think deleting and re-creating the scanner and lp groups worked. Could be wrong of course.

Harey commented on 2015-05-05 06:35

And , FWIW, its again DCP7055 and x86_64...

Harey commented on 2015-05-05 06:34

For a start you may try to find out the file permissions and ownership of your usb device. Find the device and bus number by 'lsusb' and the do a 'ls -l /dev/bus/usb/<your number>'. Check owner, group and file permissions. Something about the udev rule seem seems to prevent cups access (Group lp). It even may be that the brscan4 rules are getting overwritten by some sane or cups generic rules.

jwm-art commented on 2015-05-05 00:05

Looks like a permissions problem here ( DCP7055 x86_64) Without the udev rules, I can print but not scan. With the supplied udev rules (as created by the script), I cannot print and after disconnecting from USB, dmesg shows:
usbfs: interface 0 claimed by usblp while 'scanimage' sets config #1
usbfs: process 9756 (scanimage) did not claim interface 1 before use

My half-baked theory is that the mk-udev-rules scripts adds rules so the device (I'm not sure what or where exactly) is accessible to 'scanner' group preventing access by cups. My bodge is to allow user privileges by adding the following line to the end of /etc/udev/rules.d/brscan4.rules right before "LABEL="brscan4_end":
ENV{libsane_matched}=="yes", MODE="666", GROUP="scanner"
Not sure what this does for security...

Harey commented on 2015-05-02 12:13

I can't debug this any further since it doesn't happen to me. I suggest going through the SANE wiki (, especially the problems section. Keep in mind these are brothers drivers and they may interfere with the usual arch setup. As long as it is fixed by simply removing the udev rules I suppose this is a minor issue.

supernaicol commented on 2015-04-29 10:25

I use a x86-64 system...
I'm also a former long time ubuntu 64bit user, and i can say that under ubuntu i had no problem using scanner and printer, via the deb packages and the installation guide on the brother website.

Harey commented on 2015-04-28 16:07

Doing a quick google search listed some problems with Ubuntu and this device as well ( Are you using a 64 or 32 bit installation?

supernaicol commented on 2015-04-28 11:16

@Harey: ciao, the model is a Brother DCP-7055, ID 04f9:0248.

Harey commented on 2015-04-28 09:14

@mksingh and supernaicol: What is the model of your Printer/Scanner? What udev rule file is affected (idProduct would be interesting)? Maybe its the same device?

mksingh commented on 2015-04-21 12:35

I also faced 'either printer or scanner does not work' problem. after removing mk-udev-rules script from PKGBUILD, problem is gone.

Harey commented on 2015-01-24 16:14

Those udev rules were not my idea in first place. I added a suggestion from another user for whom it did not work without. I don't use my MFC's USB connection, it is on my network so I am not able to test this here. Would be interesting if anybody else is seeing this 'either printer or scanner does not work' problem.

supernaicol commented on 2015-01-24 13:40

that didn't help, but I simply resolved eliminating from the PKGBUILD the mk-udev-rules script: now i don't have any brscan4.rules in /etc/udev/rules.d, but both scanner and printer are working. Are you sure those rules are correct?
Let me know if you need any information about my system.

Harey commented on 2015-01-22 12:55

No, not a clue. Adding your user to both groups does not help?

supernaicol commented on 2015-01-21 23:27

I have a problem with this package:
I installed it and my DCP-7055 scanner works very smoothly, but the printer stops working and CUPS says "waiting for the printer to become available".
I read a blog post about this problem and setting a udev rule that change the group of /dev/bus/usb/001/002 from scanner to lp.
This solves the printing problem, but the scanner stops working.
So apparently I have to choose between scanning and printing.
Any hint?

Harey commented on 2014-12-18 14:17

Ooops, my bad. I had checked the wrong site. Update to 0.4.3_0.

CjK commented on 2014-12-18 11:43

Version 0.4.3 is out:

Harey commented on 2014-12-17 11:09

@rdoursenaud: Why did you flag this as 'out-of-date'? The download source still seems to be valid. Do you have another later source? If so, please elaborate. Thank you.

Harey commented on 2014-12-17 11:09

@rdoursenaud: Why did you flag this as 'out-of-date'? The download source still seems to be valid. Do you have another later source? If s, please elaborate. Thank you.

Harey commented on 2014-11-26 10:42

IIRC I only changed the mkudev rules line to incorporate Brsane4.ini. I am currently on a trip without access to my home machine and will come back later with more info if there were more changes than I remember now.

valandil commented on 2014-11-23 23:38

I think the last update broke functionality for my MFC-7460DN. Xsane reports an error during device I/O. Care to post the last PKGBUILD so I can test the differences?


ozlacs commented on 2014-11-12 12:05

works fine on DCP-7065DN, thanks!

Harey commented on 2014-10-27 13:29

fixed. Thanks amiad for the hint. Funny how inconsistent this is handled by brother...

amiad commented on 2014-10-27 11:47

DCP-7055 and more scanners available in /opt/brother/scanner/brscan4/Brsane4.ini but PKGBUILD not adding them to udev rules.
Please fix its.

Harey commented on 2014-10-13 08:47

Yes it can. I do this myself with a MFC9465CDN. It needs additional configuration through brsaneconfig though. Refer to brothers homepage for additional infos.

sjakub commented on 2014-10-13 07:59

Can this package be used with network printers, or only those connected with USB?
I see there is another package, brscan4-network, but it looks like this package has better quality and is more up to date.

Ravenman commented on 2014-08-18 23:57

Excellent work. Thanks for fix it.

Harey commented on 2014-08-18 14:52

The download source for i386 has changed. Uploaded a corrected version, try again. No version number change here to avoid confusion with AUR helpers like cower.

Ravenman commented on 2014-08-17 18:03

Installation failed:

==> Edit PKGBUILD ? [Y/n] ("A" to abort)
==> ------------------------------------
==> n

==> brscan4 dependencies:
- sane (already installed)
- libusb-compat (already installed)

==> Edit brscan4.install ? [Y/n] ("A" to abort)
==> -------------------------------------------
==> n

==> Continue building brscan4 ? [Y/n]
==> ---------------------------------
==> Building and installing package
==> Making package: brscan4 0.4.2_3-3 (Sun Aug 17 13:01:57 COT 2014)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Downloading brscan4-0.4.2-3.i386.rpm...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0curl: (22) The requested URL returned error: 404 Not Found
==> ERROR: Failure while downloading brscan4-0.4.2-3.i386.rpm
==> ERROR: Makepkg was unable to build brscan4.
==> Restart building brscan4 ? [y/N]
==> --------------------------------

sb56637 commented on 2014-07-10 15:24

So far so good. Thanks a lot Harey! (Sorry for my confusion on the version number.)

Harey commented on 2014-07-10 07:42

Updated to 0.4.2_3, please test.

Harey commented on 2014-07-09 17:20

This is also 0.4.2, only the underscore refers to 3. It is a minor update but I will look into this and see what I can do.

Harey commented on 2014-07-09 17:12

This is also 0.4.2, only the underscore refers to 3. As long as there is no updated version on the usual page I can't do anything. The package does not seem to reside at the download location I use and a download from the page you mention can only be initiated by clicking a button.

sb56637 commented on 2014-07-08 15:33

@Harey: Yeah, their website isn't fully updated. But I ran across it here:

Harey commented on 2014-07-03 15:32

Forgive my ignorance, but the website still says 0.4.2:
Can't find 0.4.3?

sb56637 commented on 2014-07-03 15:05

Flagged out of date. New version 0.4.3 is out.

Thanks so much for maintaining this important (for me) package!

Harey commented on 2014-03-15 12:46

New PKGBUIlD that extracts udev rules automatically from ini files. Big thanks to Markus!

Harey commented on 2014-03-15 12:46

New PKGBUIlD that extracts udev rules automatically from in files. Big thanks to Markus!

Harey commented on 2014-01-22 17:43

Updated to 0.4.2-1

integer0 commented on 2014-01-22 16:28

Out of date: 0.4.2-1 is available.

Harey commented on 2013-07-31 09:24

added support for ADS-2000 scanner (thanks, Pat!)

Harey commented on 2013-07-30 09:22

Updated to 0.4.1_5, added libusb-compat to the dependencies. I don't use the USB port, so I can't evaluate if it is working there.

mutterschiff commented on 2013-07-30 08:36

the 0.4.1-5 version of the driver is online (flagged out of date for this reason)

@Harey: I updated the PKGBUILD, please check it out and update yours as well :-)

battlepanic commented on 2013-07-14 21:13

I couldn't get this package and it is was because I was missing the libusb-compat package. It appears that this packages depends on libusbx as well as libusb-compat based on the output of ldd:

$ ldd /lib/sane/ (0x00007ffffb5fe000) => /usr/lib/ (0x00007f7dba51c000) => /usr/lib/ (0x00007f7dba304000) => /usr/lib/ (0x00007f7dba0fe000) => /usr/lib/ (0x00007f7db9dff000) => /usr/lib/ (0x00007f7db9bfb000) => /usr/lib/ (0x00007f7db984e000)
/usr/lib64/ (0x00007f7dba876000) => /usr/lib/ (0x00007f7db963a000)

Harey commented on 2012-12-12 21:18

Updated to 0.4.1_3

Harey commented on 2012-08-02 09:21

Well, I'm not really sure why it is working now ;) I made symlinks with the full path, that's all... It works, that's enough.

chepaz commented on 2012-08-01 18:41

You made it :) It works for me on x86_64. Added my Printer and everything is fine! brsanenetdevice4.cfg is like yours: Device, empty line, CR. Would you tell me the magic about the "/etc/opt.."-thing?

Harey commented on 2012-08-01 08:58

I took your comment as an occasion to revise my PKGBUILD and - fun! Meanwhile I did a completely fresh system install and now it works with xsane after configuring it with brsanconfig4. Would you mind trying this one again? Especially have a look at /opt/brother/scanner/brscan4/brsanenetdevice4.cfg after using brsanconfig4. Mine looks like:
DEVICE=Brother , "MFC-9465CDN" , 0x4f9:0x244 , IP-ADDRESS=

Notice the empty line and the carriage return after it.

chepaz commented on 2012-07-31 20:29

I think there is a bug in the brother-rpm. brsaneconfig4 searches in /etc/opt/brother/... which should be /opt/brother/... . This path seems to be hard coded in brsaneconfig4. I modified your PKGBUILD like that: [link][/link] , installed it, put a symlink 'ln -s /opt/ /etc/opt' and after playing around with setupSaneScan4 -e/-i, adding my MFC-J825DW again with brsaneconfig4, removing ~/.sane --> xsane starts and i was able to scan.

But it's so dirty that way, i'll install 0.3.0 again :-P

Harey commented on 2012-06-26 18:39

I can't get the new version to work. All is installing well, brsaneconfig4 -d is showing my scanner but while scanning xsane simply dies without any errors. I'll stay with this (working) version for now.

dk0r commented on 2012-06-25 16:16

Brother released brscan4 version 0.4.1-1 on 5-June 2012. Please update.


dk0r commented on 2012-06-25 16:15

Brother released brscan4 version 0.4.1-1 on 5-June 2012. Please update.

Harey commented on 2012-04-28 10:11

New version only incorporates the suggestions made by flexiondotorg (thank you). No need to update if you already installed brscan4 0.3.0_3-1 successfully.

flexiondotorg commented on 2012-04-26 11:01


Thanks very much, works great with simple-scan :-) It might be worth adding an `echo` in the .install that briefly explains how to configure it and direct them to the "docs".


For example, run the following as root:

brsaneconfig4 -a name="Brother" model="MFC-7360N" ip=

Regards, Martin.

Harey commented on 2012-03-25 17:17

Updated - please try.