Package Details: brscan-skey 0.2.4_1-12

Git Clone URL: (read-only)
Package Base: brscan-skey
Description: Brother scan-key-tool
Upstream URL:
Licenses: custom:brother
Submitter: leidola
Maintainer: 12qu
Last Packager: 12qu
Votes: 47
Popularity: 1.059952
First Submitted: 2009-01-27 20:05
Last Updated: 2016-05-11 11:46

Dependencies (4)

Required by (0)

Sources (5)

Latest Comments

timofonic commented on 2016-04-28 14:43

WHat about this alternative? It's fully open source and requires Python, but maybe that code can be replaced too if someone is able to.

Falkenber9 commented on 2015-07-27 13:49

Changed Username "robert.r" -> Falkenber9
All issues are fixed, works like a charm. Thank you!

12qu commented on 2015-06-30 10:29

I have uploaded a new release, and I believe all issues are now fixed. I will also create a package in AUR 4 imminently. Apologies for the delay in getting around to this.

Specific replies to your comments:

@DonHugo Thanks for that, I've fixed the link.

@robert.r I never got an "Invalid argument" error due to _this_ package, but I did get that error due to some bug in Brother's `brscan3` SANE driver (which I figure you're also using if you have a DCP-585CW) that caused the scan to fail when the device was plugged into a USB 3.0 port. This issue seems to have been fixed in the latest release 0.2.13-1 of `brscan3`, although weirdly this release isn't advertised as the latest on Brother's scanner driver download page (, and the AUR package for `brscan3` still uses 0.2.11-5 by default. However, there is a comment on the AUR `brscan3` page that shows how to obtain the latest version which worked for me.

However, for precisely the reasons you give in your most recent comment, I do get a "Permission denied" (or something like) error as a result of this package. I didn't notice this previously because I do not use Brother's default scan scripts (`` etc.), but I have fixed this issue in the latest release for people who do. Now installation will create `/srv/brscan-skey` as the home directory of the `brscan-skey` user (which the daemon is run as), and all files created by Brother's default scripts should end up in here.

Please let me know if you have any other issues or suggestions.

Anonymous comment on 2015-04-25 09:20

Got the solution for the "Invalid argument" Problem: launches the application as user "brscan-skey", not as root and not your username.

When I looked into the scripts (e.g. /opt/brother/scanner/brscan-skey/script/,
these try to create a directory "~/brscan" the home-directory of user "brscan-skey" to store the images.

But it's home is set to "/", so it fails because of a permission error.

As a quick-and-dirty workaround I manually created a "/brscan" directory and set "brscan-skey" as owner for this folder.

After that scanning works. But as a clean solution there needs to be a better fix.

DonHugo commented on 2015-04-18 07:41

Source Url needs to be changed from to

Anonymous comment on 2015-02-01 09:29

Since one of the recent system-updates this application cannot initiate a scan.

Pressing "Scan to File" on my Brother DCP585CW (connected via WiFi) results in starting the script "scantofile-" with the following arguments: brother3:net1;dev0 DCP-585CW

Within this script scanning is started by:
scanimage --device-name "$device" --resolution $resolution > "$output_file"
which is resolved to:
scanimage --device-name "brother3:net1;dev0" --resolution 150 > "/tmp/testfile.pnm"

But the scanimage command failes with:
scanimage: open of device brother3:net1;dev0 failed: Invalid argument

This happens when I use the "systemctl --user start brscan-skey.service"-Daemon OR launch brscan-skey manually as a normal user (which automatically forks to background).

BUT: When I launch either script or the scanimage-command with exactly the same parameters as mentioned (and as the same user), the scan succeeds!

Any Suggestions?

jellysheep commented on 2014-08-25 06:21

@12qu: Oh, I did not consider a scan server scenario.
This is just great, and it works fine, thank you very much!

12qu commented on 2014-08-25 00:08

@jellysheep OK, here is what I have done:

1. Added a `brscan-skey.service` file in `/usr/lib/systemd/user/brscan-skey.service` so you can start via `systemctl --user`.
2. Created a `brscan-skey` user during installation and made the system-wide `brscan-skey.service` run as this user. This allows more fine-grained control over the permissions that the daemon has in cases where it is not possible to run on a per-user basis, e.g. when using this program on a scan server.

Please let me know if everything works for you.

jellysheep commented on 2014-08-24 19:13

Hi, thanks for your reply.
I'm sorry I expressed myself in an ambiguous way. The "user" and "group" field values just were examples, and depend on each system's configuration. You would have to adapt the values to your system settings (if your username is "foo" you have to put "foo" in the systemd service file, or generally use "1000" and hope that all users use this UID, which is not portable). I did not know how to run a systemd service as a specific user without these fields, however.
After a look at [1] apparently you can just omit the "user" and "group" fields, and install the service file to /usr/lib/systemd/user/brscan-skey.service instead of /usr/lib/systemd/system/brscan-skey.service, so you can start (or enable) it like that, as a regular user without sudo:
$ systemctl --user start brscan-skey


12qu commented on 2014-08-24 07:17

@jellysheep Done, apologies for the delay in getting around to it. Let me know if you have any other issues or suggestions.

All comments