我有两台位于不同网络中的网络/USB 一体机,分别是 Brother MFC-7840W 和 Brother MFC-9840CDW。系统上的操作系统是 Ubuntu 14.04 LTS。USBx86_64
可用于打印和扫描。网络访问曾经用于打印和扫描两个设备。
现在,网络打印可以在 MFC-9840CDW 上运行,但在 MFC-7840W 上却不行,网络扫描在这两台机器上都行不通。最近有一些操作系统自动更新,我安装/卸载了几个软件程序。但我没有更改扫描仪和打印机的驱动程序,所以我不知道它突然停止工作的任何明显原因。
如何才能重新获得 Brother 一体机扫描的网络访问权限?
以下是我已采取的措施:
在终端中,我输入命令:
scanimage --list-devices
输出:
[pixma] udp_command: No data received (select): timed out
[pixma] udp_command: No data received (select): timed out
[pixma] udp_command: No data received (select): timed out
[pixma] Cannot read scanner make & model: *��
device 'brother3:net1;dev1' is a Brother MFC-9840CDW Scanner-MFC-9840CDW
device 'brother3:net1;dev0' is a Brother MFC-7840W Scanner-MFC-7840W
看起来设备已经连接上了。
为了测试该设备,我输入以下命令:
scanimage --test 'brother3:net1;dev0'
输出:
[pixma] udp_command: No data received (select): timed out
[pixma] udp_command: No data received (select): timed out
[pixma] udp_command: No data received (select): timed out
[pixma] Cannot read scanner make & model: a�i$
<b>scanimage: open of device brother3:net1;dev1 failed: Invalid argument
...为什么 MFC-7840W 设备 (兄弟3:net1;dev0) 显示?...
然后,我打开文件:/usr/local/Brother/sane/brsanenetconfig3.cfg,输出以下两行:
DEVICE=Scanner-MFC-7840W , "MFC-7840W" , 0x4f9:0x1e5 , NODENAME=BRN904CE598109B
DEVICE=Scanner-MFC-9840CDW , "MFC-9840CDW" , 0x4f9:0x1cc , NODENAME=BRW29571E
我认为第二行可能会导致我的问题,因此我将其注释掉:
DEVICE=Scanner-MFC-7840W , "MFC-7840W" , 0x4f9:0x1e5 , NODENAME=BRN904CE598109B
#DEVICE=Scanner-MFC-9840CDW , "MFC-9840CDW" , 0x4f9:0x1cc , NODENAME=BRW29571E
然后,我返回终端并重新输入命令:
scanimage --test 'brother3:net1;dev0'
输出:
[pixma] udp_command: No data received (select): timed out
[pixma] udp_command: No data received (select): timed out
[pixma] udp_command: No data received (select): timed out
[pixma] Cannot read scanner make & model: q*&
scanimage: open of device brother3:net1;dev0 failed: Invalid argument
为什么会出现“无效参数”?
然后,我输入命令:
dpkg -l | grep Brother
输出:
ii brmfc7840wlpr 2.0.2-1 i386 Brother MFC-7840W LPR driver
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 brscan3 0.2.11-5 amd64 Brother Scanner Driver
ii cupswrappermfc7840w 2.0.2-1 i386 Brother MFC7840W CUPS wrapper driver
rc libsane-dsseries 1.0.5-1 amd64 Brother DS-series scanners driver
ii mfc9840cdwcupswrapper 1.0.3-1 i386 Brother CUPS Color laser Printer Definitions
ii mfc9840cdwlpr 1.0.3-1 i386 Brother lpr Inkjet Printer Definitions
ii printer-driver-ptouch 1.3-8 amd64 printer driver Brother P-touch label printers
我应该做什么才能访问我的 Brother MFC-7840W 网络扫描仪?
更新 1:根据评论,我将文件libsane-brother*
和复制libbrscandec*
到文件夹/usr/lib/sane
和/usr/lib
。
为了测试该设备,我输入以下命令:
scanimage --test 'brother3:net1;dev0'
输出:
scanimage: open of device brother3:net1;dev0 failed: Invalid argument
看来我离解决方案更近了一步,但是 MFC-7840W 设备(兄弟3:net1;dev0) 仍然不起作用。
更新2:我输入命令:dpkg -L brscan3
,输出以下内容,复制到仅包含/usr/lib64
:
/usr/lib64
/usr/lib64/libbrscandec3.so.1.0.0
/usr/lib64/sane
/usr/lib64/sane/libsane-brother3.so.1.0.7
/usr/lib64/libbrscandec3.so
/usr/lib64/libbrscandec3.so.1
/usr/lib64/sane/libsane-brother3.so.1
/usr/lib64/sane/libsane-brother3.so
答案1
文件中/lib/udev/rules.d/40-libsane.rules
有以下两行(从第 42 行开始):
# Brother scanners ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"
我读完后注释掉了第二行这,Zvlwab 的第二条评论,他指出上面这一行是不需要的,并且它与 ia32-libs 冲突。
然后,我输入以下命令,确保在设备名称两边加上撇号:
scanimage --test -d 'brother3:net1;dev0'
不再出现该问题Invalid argument
,MFC-7840W 上的网络扫描现在可以正常工作!