![简短答案](https://linux22.com/image/1204239/%E7%AE%80%E7%9F%AD%E7%AD%94%E6%A1%88.png)
从 Brother 网站下载并安装 Linux 驱动程序这里。
但扫描仪仍然无法被识别。
您可以在此处看到驱动程序已成功安装:
$ dpkg -l | grep Brother
ii brother-cups-wrapper-common 1.0.0-10-0ubuntu6 amd64 Common files for Brother cups wrapper packages
ii brother-udev-rule-type1 1.0.0-1 all Brother udev rule type 1
ii brscan-skey 0.2.4-1 amd64 Brother Linux scanner S-KEY tool
ii brscan2 0.2.5-1 amd64 Brother Scanner Driver
ii printer-driver-brlaser 3-5~ubuntu1 amd64 printer driver for (some) Brother laser printers
ii printer-driver-ptouch 1.4-1 amd64 printer driver Brother P-touch label printers
在这里,您可以看到已安装的驱动程序认为它尚未“注册”:
$ brscan-skey -l
DCP-350C : brother2:bus3;dev1 : USB Not registered
当我打开简单扫描时,它告诉我我有一个 Brother 扫描仪,但我需要安装驱动程序。
$ lsusb
Bus 003 Device 002: ID 04f9:01d0 Brother Industries, Ltd DCP-350C
$ sudo dpkg -l | grep Brother
ii brother-cups-wrapper-common 1.0.0-10-0ubuntu6 amd64 Common files for Brother cups wrapper packages
ii brother-udev-rule-type1 1.0.0-1 all Brother udev rule type 1
ii brscan-skey 0.2.4-1 amd64 Brother Linux scanner S-KEY tool
ii brscan2 0.2.5-1 amd64 Brother Scanner Driver
ii printer-driver-brlaser 3-5~ubuntu1 amd64 printer driver for (some) Brother laser printers
ii printer-driver-ptouch 1.4-1 amd64 printer driver Brother P-touch label printers
Brother 似乎已从其支持页面中删除了 Linux 操作系统配置说明 - 即这里和这里,这是该问题早期解决方案的来源这里和这里. 操作系统支持信息页其常见问题解答和故障排除部分仅涉及 Windows 和 Macintosh。如果你在其他地方查找,你会发现页linux 信息。它说“默认情况下,Brother Linux 扫描仪驱动程序仅在超级用户下工作”。它指向一个页其中说,为非 sudo 用户提供了使扫描仪工作的方法 - 那么,也许是 SimpleScan。该页面包含许多操作系统的修复下载,但没有比 Ubuntu 13.10 更高版本的修复下载。下载和安装该文件同样无法使扫描仪工作。如果你长时间地徘徊,你会寻找毕竟,Linux 故障排除常见问题解答是存在的 - 只是不在您希望找到它的地方。让这款 Brother 扫描仪工作就像在风洞中穿针引线。Linux 常见问题解答中的第一项是“我正在使用 Ubuntu 16.10。我无法从我的 Brother 机器进行扫描”。这已经足够接近了。它说“安装 libusb-0.1-4”。 (Brother 驱动程序有依赖项,但它没有检查它们)。 无论如何,我已经安装了这个 usb lib。
早期的解决方案之一(针对不同的 Brother 扫描仪 - Brother 支持页面的解决方案现已消失)非常有用。它说在“/lib/udev/rules.d/40-libsane.rules”中添加一行,但实际上,至少在我的 16.04 上,它应该是 /lib/udev/rules.d/60-libsane.rules。它要求您添加的行包含对不同 Brother 扫描仪的产品 ID 的引用。查看 sane网站查找 DCP-350C 产品 ID(它不会是 DCP-350C——那太简单了——早期的解决方案是 DCP-7030,其产品 ID 为“01ea”)... 那么我们在哪里?... 在 sane 网站上查找 DCP-350C 产品 ID。sane页Brother 扫描仪没有 DCP-350C 的条目。它说如果您的设备不在那里,则不支持。它说该页面最后更新于 2003 年 10 月 5 日。那是十四年半以前了。我相信 350C 是在几年后,即 2007 年问世的。
因此,DCP-7030 的旧解决方案建议添加编辑合理的配置,如下所示:
sudo gedit /lib/udev/rules.d/40-libsane.rules
并添加以下内容(在正确的位置):
# Brother scanners
ATTRS{idVendor}=="04f9", ATTRS{idProduct}=="01ea", ENV{libsane_matched}="yes"
由于我的配置似乎在 60-libsane.rules 中,并且我没有产品代码,因此我这样编辑了配置:
sudo gedit /lib/udev/rules.d/60-libsane.rules
并补充道:
# Brother scanners
ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"
并重启了机器。这没有用。
我还移动了一些 Brother intsall 例程似乎放在错误位置的文件 - 至少根据其他地方的报告,例如这里。
这涉及将 Brother 文件从 cp /usr/lib64/ 复制到 /usr/lib。(我已经下载并安装了 64 位版本的 Brother 驱动程序)。
操作说明似乎已经过时了。而且由于 Brother 网站称其 Brscan2 驱动程序必须与 DCP-350C 一起使用,因此文件名可能有所不同。我复制了我的文件名如下:
sudo cp /usr/lib64/libbrscandec2.so /usr/lib
sudo cp /usr/lib64/libbrscandec2.so.1 /usr/lib
sudo cp /usr/lib64/libbrscandec2.so.1.0.0 /lib/lib
sudo cp /usr/lib64/sane/libsane-brother2.so /usr/lib/sane
sudo cp /usr/lib64/sane/libsane-brother2.so.1 /usr/lib/sane
sudo cp /usr/lib64/sane/libsane-brother2.so.1.0.7 /usr/lib/sane
sudo cp /usr/lib64/libbrcolm2.so /usr/lib
sudo cp /usr/lib64/libbrcolm2.so.1 /usr/lib
sudo cp /usr/lib64/libbrcolm2.so.1.0.1 /usr/lib
这条死胡同是兄弟自己建议的。它是Linux常问问题对于 DCP-350C(如果你能找到它),显示为(“Ubuntu 11.10 或更高版本”):
Copy the following files under /usr/lib64/ to /usr/lib/.
另一个技巧是实际运行随驱动程序下载的 brscan-skey 文件,只需在命令行输入 brscan-skey 即可。
在某个时候,一定有什么事情发生了,因为 Brother 驱动程序现在告诉我该设备已被识别:
$ brscan-skey -l
DCP-350C : brother2:bus3;dev1 : USB Not registered
然而,SimpleScan 仍然说没有识别出任何设备。
此外,Brother 表示 brscan-skey 允许使用扫描仪的“扫描到文件”和“扫描到图像”选项从扫描仪自己的控制台执行扫描。当我这样做时,扫描仪显示“正在连接到 PC”,但什么也没发生。
当我从名为 VueScan 的商业 Linux 扫描工具的试用版调用 350C 时,它就可以进行扫描。但是试用版会在扫描的图像上留下水印,这对我来说毫无用处。此外,完整版价格昂贵,需要每年订阅。而且我只是在尝试找到让 SimpleScan 工作的方法时才遇到它 - 或者实际上,任何开源扫描软件。
重点是 VueScan 确实有效。(但它的工作原理让扫描仪无法与其他工具配合使用)。这证明了扫描仪可以与 Ubuntu 上的开源工具一起使用。问题是如何实现。
答案1
简短答案
您找到的驱动程序是旧版本:
$ dpkg -l | grep Brother
ii brother-cups-wrapper-common 1.0.0-10-0ubuntu6 amd64 Common files for Brother cups wrapper packages
ii brother-udev-rule-type1 1.0.0-1 all Brother udev rule type 1
ii brscan-skey 0.2.4-1 amd64 Brother Linux scanner S-KEY tool
ii brscan2 0.2.5-1 amd64 Brother Scanner Driver
ii printer-driver-brlaser 3-5~ubuntu1 amd64 printer driver for (some) Brother laser printers
ii printer-driver-ptouch 1.4-1 amd64 printer driver Brother P-touch label printers
最新版本为:
$ dpkg -l | grep -i brother
ii brother-udev-rule-type1 1.0.2 all Brother udev rule type 1
ii brscan-skey 0.2.4-1 amd64 Brother Linux scanner S-KEY tool
ii brscan4 0.4.4-3 amd64 Brother Scanner Driver
ii cupswrapperdcp7065dn:i386 2.0.4-2 i386 Brother DCP7065DN CUPS wrapper driver
ii dcp7065dnlpr:i386 2.1.0-1 i386 Brother DCP-7065DN LPR driver
ii printer-driver-brlaser 3-5~ubuntu1 amd64 printer driver for (some) Brother laser printers
ii printer-driver-ptouch 1.4-1 amd64 printer driver Brother P-touch label printers
udev
规则从升级1.0.0-1
到1.0.2
brscan2
版本0.2.5-1
升级至brscan4
版本0.4.4-3
另外,你有一个通用的cups-wrapper
,而我的是特定于模型的。
TL:DR;非常非常长的答案
长答案的大部分内容都是反复试验。你只需要遵循步骤1,第2步,第一部分步骤3(停止于选择仅限扫描仪)然后跳至第 6 步和步骤7。
背景
我有一台 Brother DCP-7065DN,这是一款不错的黑白双面激光打印机。我已经用了三年了,但从来没有用过扫描仪功能,主要是因为“在电子世界里谁有纸可以扫描?”。由于你的问题,我认为是时候让扫描仪功能正常工作了。
DCP-7065DN 与 DCP-350C 比较
根据这篇文章Ubuntu 论坛相同的 Brother 驱动程序工具适用于您的DCP-350C和我的DCP-7065DN打印机。
当前安装工具
您的问题包含不少于 15 个链接,我注意到您的第一个网站关联已经过时了:
这Ubuntu 论坛我上面链接的问答包含更新的安装工具关联:
请注意发布日期是 2017 年圣诞节,仅有几个月前。
我不会重复您的步骤,而是使用Ubuntu 论坛链接在上面。
安装步骤 1 - 选择打印机
首先选择正确的产品。在 的打印机图标中MFC-J410W
,单击链接不是你的产品?出现选择页面:
您可以在第一个图标中找到您的打印机,该图标具有“DCP 3 系列”子菜单,可引导您找到具体型号:
我的打印机是面板中的第四个图标,宽度为 3 个图标,位于您的打印机正下方。我将选择它,它有一个“DCP 7 系列”子菜单,单击后会显示:
我将点击DCP-7065DN. 您可能已经选择了DCP-350C在上一个屏幕截图上。
安装步骤 2 - 选择操作系统 (OS)
选择打印机型号后,系统会要求您输入操作系统。默认为 Linux 和“.rpm”。默认为“.rpm”,代表红帽或者Arch Linux或类似的东西。将发行版更改为“.deb”,这意味着Debian这确实Ubuntu。
单击Search
按钮。
安装步骤 3 - 下载软件
现在,准备工作已经完成,Ubuntu-Verse 中的命令行爱好者和 GUI 讨厌者已将我的名字放在他们的飞镖板上,我们可以选择要下载的软件:
左上角的模型图标应该是DCP-350C对你来说,但这是DCP-7065DN为我。
第一部分是打印机驱动程序,但我们不需要它,因为我们的两台打印机都可以正常打印。最后一部分是源代码,但我们不需要它。如果我们需要它,我们可能就不会在这个网站上了。中间部分包含扫描仪驱动程序:
这里我们需要选择架构:32 位或者64 位。
我读到 32 位驱动程序无法在我的 64 位架构上运行,因此我目前只打算下载 #3 和 #4。如果我需要驱动程序,我可以回来获取 #1 吗?
安装步骤3-A)
下载Scan-key-tool 64bit (deb package)
选择#3 扫描仪选项后,我们会在第2行看到您的型号,在最后一行(屏幕截图)看到我的型号...:
...所以假设一切对我来说都很顺利,那么对你来说也应该一切顺利!
您需要同意 EULA(最终用户许可协议),然后下载该.deb
文件。
下载的文件是:
- brscan-skey-0.2.4-1.amd64.deb,大小 50.9 KB,日期 2014 年 3 月 12 日
网页上的后续说明如下:
应首先安装 brscanX
安装步骤3-B)
下载Scanner driver 32bit (deb package)
因此我们必须返回上一屏幕并下载 #1 (** 扫描仪驱动程序 32 位 (deb 包)**)。下载的文件是:
- brscan4-0.4.4-4.i386.deb,大小 63.9 KB,日期 2017 年 9 月 22 日
请注意,该日期仅有 6 个月前!
安装步骤3-C)
下载Scanner Setting file (deb package)
在下载 #1 的同时,我们将下载 #4 (扫描仪设置文件(deb 包))。下载的文件为:
- brother-udev-rule-type1-1.0.2-0.all.deb,大小 1.6 KB,日期 2016 年 11 月 25 日
请注意,此版本号与您的不同!
安装步骤 4 -sudo dpkg -i ...
总结一下下载的软件包:
- brscan4-4.4-4.i386.deb
- brscan-skey-0.2.4-1.amd64.deb
- 兄弟-udev-规则-类型1-1.0.2.0.all.deb
我们将首先安装#1,然后安装#4,reboot
最后安装#3:
───────────────────────────────────────────────────────────────────────────────
rick@alien:~/Downloads$ sudo dpkg -i brscan4-0.4.4-4.i386.deb
Selecting previously unselected package brscan4:i386.
(Reading database ... 1147453 files and directories currently installed.)
Preparing to unpack brscan4-0.4.4-4.i386.deb ...
Unpacking brscan4:i386 (0.4.4-4) ...
Setting up brscan4:i386 (0.4.4-4) ...
This software is based in part on the work of the Independent JPEG Group.
───────────────────────────────────────────────────────────────────────────────
rick@alien:~/Downloads$ sudo dpkg -i brother-udev-rule-type1-1.0.2-0.all.deb
Selecting previously unselected package brother-udev-rule-type1.
(Reading database ... 1147495 files and directories currently installed.)
Preparing to unpack brother-udev-rule-type1-1.0.2-0.all.deb ...
Unpacking brother-udev-rule-type1 (1.0.2) ...
Setting up brother-udev-rule-type1 (1.0.2) ...
ls: cannot access '/etc/udev/rules.d/*.rules': No such file or directory
───────────────────────────────────────────────────────────────────────────────
rick@alien:~/Downloads$
哦不!最后一行有错误。
不知道为什么ls
会产生错误,因为目录在那里,并且有三条规则。我们可以看到其中一条规则刚刚被设置:
$ ll /etc/udev/rules.d/*brother*.rules
-rw-r--r-- 1 root root 1004 Mar 10 16:59 /etc/udev/rules.d/60-brother-libsane-type1.rules
哦,好吧……无论如何,我们继续吧。看看新的 Brotherudev
规则,它在设置了一大堆代码后所做的一切:
ENV{libsane_matched}="yes"
现在是时候按原样发布这个答案了reboot
。
重启后让我们安装最后一个文件:
$ sudo dpkg -i brscan-skey-0.2.4-1.amd64.deb
Selecting previously unselected package brscan-skey.
(Reading database ... 1147499 files and directories currently installed.)
Preparing to unpack brscan-skey-0.2.4-1.amd64.deb ...
Unpacking brscan-skey (0.2.4-1) ...
Setting up brscan-skey (0.2.4-1) ...
有趣的我的系统上有超过一百万个文件。随着时间的推移,这 25 个内核会逐渐增加。
安装步骤 5 - 测试
我作弊了一下并发现了这个:Brother DCP-7065DN,Ubuntu 14.04 64 位:可以打印到网络打印机,但无法使用扫描功能建议采取以下步骤:
───────────────────────────────────────────────────────────────────────────────
rick@alien:~/Downloads$ brscan-skey
───────────────────────────────────────────────────────────────────────────────
rick@alien:~/Downloads$ brscan-skey -l
DCP-7065DN : brother4:bus4;dev7 : USB Active
───────────────────────────────────────────────────────────────────────────────
rick@alien:~/Downloads$
到目前为止,一切都很好。答案(不确定是否有效)说你需要投入brscan-skey
到你的启动应用程序并且您需要gimp
安装。如果您需要帮助,请在下面发表评论。
显然xsane
需要扫描:
$ sudo apt install xsane
Reading package lists... Done
Building dependency tree
(...BLAH, BLAH, BLAH...)
Setting up xsane-common (0.999-3ubuntu1) ...
Setting up xsane (0.999-3ubuntu1) ...
xsane
= 极其疯狂
安装后xsane
在终端输入并得到:
关闭错误消息后,xsane
尝试扫描设备并最终回复“没有”。哦,快乐,哦,幸福。Brother 网站说扫描设计为以 root 身份进行,因此我们将输入sudo xsane
,现在我们看到:
听起来很可怕,但普通用户找不到扫描仪,所以让我们看看是否sudo
能找到。选择Continue at your own risk
按钮。窗口变灰片刻后,会出现与普通用户相同的响应:No devices available
。
软件方法不起作用,请尝试硬件方法
使用 Brother MFC 上的扫描键会生成此消息:
好吧,至少扫描仪和计算机之间存在通信,因为gimp
它是自动启动的。
安装后我从未重新启动过,brscan-skey
所以现在出于希望/绝望我这样做了。
步骤 6 - 返回并下载 CUPS Wrapper
重新启动不起作用,所以我将返回并安装 CUPS Wrapper 工具,12/25/2017
该工具尚未安装在我的系统上。您的系统上有一个旧版本:
有五个下载包。下载第一个 (CUPSwrapper) 时会出现此对话框:
- 将选项从 更改
Open
为Save
! - 点击
OK
打开终端,切换到~/Downloads
并验证文件是否存在:
rick@alien:~/Downloads$ ll *.gz*
-rw-rw-r-- 1 rick rick 24666 Mar 11 08:24 linux-brprinter-installer-2.2.0-1.gz
下载后,这些说明将出现在网站上。缩写格式如下:
rick@alien:~/Downloads$ gunzip linux-brprinter-installer-2.2.0-1.gz
rick@alien:~/Downloads$ sudo su
root@alien:/home/rick/Downloads#
root@alien:/home/rick/Downloads# bash linux-brprinter-installer-2.2.0-1 DCP-7065DN # Change DCP-7065DN to DCP-350C
You are going to install following packages.
dcp7065dnlpr-2.1.0-1.i386.deb
cupswrapperDCP7065DN-2.0.4-2.i386.deb
brscan4-0.4.4-3.amd64.deb
brscan-skey-0.2.4-1.amd64.deb
OK? [y/N] ->
哎呀……它正在选择brscan4-0.4.4-3.amd64.deb
,但我之前安装的brscan4-0.4.4-4.i386.deb
是较新的版本,但架构错误。这可以解释我遇到的错误!
选择y
继续。弹出大许可协议。选择y
继续。弹出另一个许可协议。选择y
继续。脚本apt install
自行运行。
出现提示:
Will you specify the Device URI? [Y/n] ->
为了你和我USB 打印机我们选择n
。
接下来,系统会提示进行测试打印。要杀死另一棵树,请选择y
。是的,测试打印成功了,我现在有了一个可以稍后扫描的打印页面!
现在出现了第三个重要的许可协议,因此选择y
继续。
就这样一切都结束了reboot
。
步骤 7 - 测试简单扫描
reboot
在终端检查安装并执行简单扫描后:
───────────────────────────────────────────────────────────────────────────────
rick@alien:~$ brscan-skey
───────────────────────────────────────────────────────────────────────────────
rick@alien:~$ brscan-skey -l
DCP-7065DN : brother4:bus4;dev7 : USB Active
───────────────────────────────────────────────────────────────────────────────
rick@alien:~$ dpkg -l | grep -i brother
ii brother-udev-rule-type1 1.0.2 all Brother udev rule type 1
ii brscan-skey 0.2.4-1 amd64 Brother Linux scanner S-KEY tool
ii brscan4 0.4.4-3 amd64 Brother Scanner Driver
ii cupswrapperdcp7065dn:i386 2.0.4-2 i386 Brother DCP7065DN CUPS wrapper driver
ii dcp7065dnlpr:i386 2.1.0-1 i386 Brother DCP-7065DN LPR driver
ii printer-driver-brlaser 3-5~ubuntu1 amd64 printer driver for (some) Brother laser printers
ii printer-driver-ptouch 1.4-1 amd64 printer driver Brother P-touch label printers
───────────────────────────────────────────────────────────────────────────────
rick@alien:~$ simple-scan
经过所有的努力,我们得到了一份扫描结果:
答案2
我在使用兄弟打印机/扫描仪 MFC-J625DW 时也遇到了类似的问题。
显然,某些较旧版本的驱动程序(最高为 brscan4)将一些文件放入了错误的文件夹中。此问题似乎现已修复(撰写本文时为 2020 年 5 月)。
(我也一直在编辑“规则”文件,但最终恢复了所有内容,因为它没有解决任何问题。)
发生这种情况时,解决方法是:
检查以下目录是否存在。
对于 64 位用户:
/usr/lib/x86_64-linux-gnu/sane
对于32位用户:
/usr/lib/i386-linux-gnu/sane
如果上述目录存在,请输入以下命令。
对于 64 位用户:命令:sudo cp /usr/lib64/sane/libsane-brother* /usr/lib/x86_64-linux-gnu/sane
对于 32 位用户:命令:sudo cp /usr/lib/sane/libsane-brother* /usr/lib/i386-linux-gnu/sane
为了澄清起见,我将列出使 MFC-J625DW 工作所做的所有操作(在某些步骤之间重新启动可能会有用):
- 从 support.brother.com 下载、解压并运行适用于您设备的脚本(这安装了我设备所需的所有软件包)按照该网站上的所有说明进行操作。
- 将 myusername 添加到拥有扫描设备的 lp 组
sudo adduser <myusername> lp
- 如果您需要找出该组的名称,请打开设备,执行
lsusb
,记下兄弟的 busnr 和 devicenr,然后执行ls -l /dev/bus/usb/busnr/devicenr
(每个 nr 3 位数字) - 是否修复了上述文件复制问题
- 要启用 brscan-skey 的所有功能,我需要 gimp、sane 和 xsane
sudo apt install gimp
sudo apt install sane sane-utils libsane-extras xsane
答案3
我想我终于通过使用解决了这个问题Brother 驱动程序安装程序。
这可能会破坏您的软件更新。因此,您可能需要在之后运行命令来修复它:
$ sudo apt-get -f install
问题似乎是 Brother 网站将 Linux 用户从其 350C 页面引导到旧版本的驱动程序和安装程序。这不可避免地让我陷入一个可怕的地狱,那里到处都是旧论坛帖子,这些帖子讲述了其他人过去试图让他们的 Brother 扫描仪正常工作时的恐怖经历。这里的帖子帮助我走出困境。但实际上答案只是首先获得正确的 Brother 安装程序并忽略所有其他建议。尽管如此,我尝试了各种各样的修复方法,其中许多似乎取得了某种部分成功,但很难确定是什么让它最终正常工作。
答案4
经过一番努力,我的老款 DCP-350C 扫描仪终于可以正常工作了。我使用的是 Linux Mint 19.4,但它也可能为 Ubuntu 用户提供一些线索。我已经完成了上述所有操作,但仍然没有得到好结果。
最后我按照这个顺序安装:
dcp350clpr-1.0.1-1.i386
dcp350ccupswrapper-1.0.1-1.i386
brscan-skey-0.2.4-1.amd64
brscan2-0.2.5-1.amd64
brother-udev-rule-type1-1.0.2-0.all
最后:软件管理器显示“brother-cups-wrapper-extra”。
打印机工作正常,但扫描仪不行。
接下来,我从软件管理器安装xsane
。如其他地方所述,VueScan 可以识别扫描仪,但我想一定有一种方法可以在没有 VueScan 的情况下让它工作。
我补充说/lib/udev/rules.d/60-libsane.rules
:
# Brother scanners
ATTRS{idVendor}=="04f9", ATTRS{idProduct}=="01ea", ENV{libsane_matched}="y
我/lib/udev/rules.d/50-udev-default.rules
已经改变了
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
进入
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"
仍然没有结果,simple-scan
找不到设备。
最后,我将所有文件从“usr/lib64”复制到“usr/lib”,包括文件Sane
。
成功了!
扫描仪可以在simple-scan
和中工作xsane
!
免责声明:我不是 Linux 专家,但我决心让扫描仪正常工作。因此很可能有一些步骤是不必要的或不适当的。这是通过反复试验完成的。希望这对其他 Linux 用户有所帮助。