Brother scanner

Hello,

I have an all-in-one printer Brother MFC-J6510DW. Printing is OK, but I can only scan as root, not as user.
I installed the following programs: xsane, mfcj6510dwlpr, mfcj6510dwcupswrapper, brscan4, brscan-skey and brother-udev-rule-type1.
System: AMD A8-3850 APU, Tumbleweed 64-bit, Gnome 3.18.2
I come from Ubuntu, and had no problems in installing the Brother Software and scanning as normal user goes fine.

Please help me, I like Tumbleweed as I have always the latest software and Tumbleweed works fine.
By the way, I use this computer as a production system and have a lot of scanning to do.

Thanks

Is this a USB-connected printer? If so, make sure the user is a member of the ‘lp’ group.

YaST > Security and Users > User and Group Management…

Thank you for your answer.
I made the user member of the lp group and did a restart, but the scanner does not work.
I will remove all the brother software and reinstall and see what happens.

No, reinstalling the driver packages should not be necessary. There are a couple of thing you should check though…

  1. You might be missing a udev rule needed to get the scanner recognised

http://support.brother.com/g/s/id/linux/en/instruction_scn1c.html?c=us_ot&lang=en&comple=on&redirect=on

  1. Make sure that /etc/sane.d/dll.conf has the necessary ‘brother4’ entry present and uncommented.

Installed brscan3-0.2.11-5.x86_64 in Tumbleweed. That package worked well with Leap 42.1. But Yast > Scanner only reports: brother3 no scanner recognized by this driver
Any idea?

Check that you have a udev rule for it.

http://support.brother.com/g/s/id/linux/en/instruction_scn1c.html?c=us_ot&lang=en&comple=on&redirect=on#suse11_2

I definitel added these lines:

erlangen:~ # diff /etc/udev/rules.d/55-libsane.rules*
2776,2777d2775
< # Brother
< ATTR{idVendor}=="04f9", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"
erlangen:~ # diff /etc/udev/rules.d/55-libsane.rules~ /etc/udev/rules.d/55-libsane.rules
2775a2776,2777
> # Brother
> ATTR{idVendor}=="04f9", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"
erlangen:~ # 

But I’m unsure about what unit to restart.

Assuming that it is a USB device, the simple act of re-attaching should trigger the rule.

Try detecting it with

sane-find-scanner
scanimage -L

BTW, you shouldn’t need to configure it via YaST either.

BTW, (for others who may come searching), for network scanners follow this procedure instead
http://support.brother.com/g/s/id/linux/en/instruction_scn1b.html?c=us_ot&lang=en&comple=on&redirect=on

erlangen:~ # sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

**found USB scanner (vendor=0x04f9 [Brother], product=0x0228 [MFC-255CW]) at libusb:001:005**
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.
erlangen:~
erlangen:~ # scanimage -L

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
erlangen:~ # 
**found USB scanner (vendor=0x04f9 [Brother], product=0x0228 [MFC-255CW]) at libusb:001:005**

This is a good sign. So you should be able to scan using your favourite scanning application.

Yes, I also thought so. But xsane just displays: No device available.

erlangen:~ # journalctl -b -f
-- Logs begin at Wed 2016-11-09 17:21:06 CET. --
Nov 11 07:13:13 erlangen dbus[906]: [system] Successfully activated service 'org.kde.powerdevil.backlighthelper'
Nov 11 07:14:57 erlangen kernel: usb 1-10: USB disconnect, device number 17
Nov 11 07:14:57 erlangen kernel: usblp0: removed
Nov 11 07:14:57 erlangen udev-configure-printer[25952]: remove /devices/pci0000:00/0000:00:14.0/usb1/1-10
Nov 11 07:14:57 erlangen udev-configure-printer[25952]: URI of detected printer: usb://Brother/MFC-255CW?serial=BROC0F213956, normalized: brother mfc 255cw serial broc0f213956
Nov 11 07:14:57 erlangen udev-configure-printer[25952]: URI of print queue: usb://Brother/MFC-255CW?serial=BROC0F213956, normalized: brother mfc 255cw serial broc0f213956
Nov 11 07:14:57 erlangen udev-configure-printer[25952]: Queue ipp://localhost/printers/MFC255CW has matching device URI
Nov 11 07:14:57 erlangen udev-configure-printer[25952]: Disabled printer ipp://localhost/printers/MFC255CW as the corresponding device was unplugged or turned off
Nov 11 07:14:57 erlangen systemd[1]: printer.target: Unit not needed anymore. Stopping.
Nov 11 07:14:57 erlangen systemd[1]: Stopped target Printer.
Nov 11 07:15:39 erlangen kernel: usb 1-9: new full-speed USB device number 18 using xhci_hcd
Nov 11 07:15:39 erlangen kernel: usb 1-9: New USB device found, idVendor=04f9, idProduct=0228
Nov 11 07:15:39 erlangen kernel: usb 1-9: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 11 07:15:39 erlangen kernel: usb 1-9: Product: MFC-255CW
Nov 11 07:15:39 erlangen kernel: usb 1-9: Manufacturer: Brother
Nov 11 07:15:39 erlangen kernel: usb 1-9: SerialNumber: BROC0F213956
Nov 11 07:15:39 erlangen kernel: usblp 1-9:1.0: usblp0: USB Bidirectional printer dev 18 if 0 alt 0 proto 2 vid 0x04F9 pid 0x0228
Nov 11 07:15:39 erlangen kernel: usb-storage 1-9:1.2: USB Mass Storage device detected
Nov 11 07:15:39 erlangen kernel: scsi host6: usb-storage 1-9:1.2
Nov 11 07:15:39 erlangen systemd[1]: Reached target Printer.
Nov 11 07:15:39 erlangen systemd[1]: Started Configure Plugged-In Printer.
Nov 11 07:15:39 erlangen audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=configure-printer@usb-001-018 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Nov 11 07:15:39 erlangen udev-configure-printer[26007]: add usb-001-018
Nov 11 07:15:39 erlangen udev-configure-printer[26007]: device devpath is /devices/pci0000:00/0000:00:14.0/usb1/1-9
Nov 11 07:15:39 erlangen udev-configure-printer[26007]: MFG:Brother MDL:MFC-255CW SERN:- serial:BROC0F213956
Nov 11 07:15:40 erlangen kernel: scsi 6:0:0:0: Direct-Access     Brother  MFC-255CW        1.00 PQ: 0 ANSI: 2
Nov 11 07:15:40 erlangen kernel: sd 6:0:0:0: Attached scsi generic sg2 type 0
Nov 11 07:15:40 erlangen kernel: sd 6:0:0:0: [sdc] Attached SCSI removable disk
Nov 11 07:15:44 erlangen kernel: usblp0: removed
Nov 11 07:15:44 erlangen kernel: usblp 1-9:1.0: usblp0: USB Bidirectional printer dev 18 if 0 alt 0 proto 2 vid 0x04F9 pid 0x0228
Nov 11 07:15:45 erlangen udev-configure-printer[26007]: URI contains USB serial number
Nov 11 07:15:45 erlangen udev-configure-printer[26007]: URI match: usb://Brother/MFC-255CW?serial=BROC0F213956
Nov 11 07:15:45 erlangen udev-configure-printer[26007]: URI of detected printer: usb://Brother/MFC-255CW?serial=BROC0F213956, normalized: brother mfc 255cw serial broc0f213956
Nov 11 07:15:45 erlangen udev-configure-printer[26007]: URI of print queue: usb://Brother/MFC-255CW?serial=BROC0F213956, normalized: brother mfc 255cw serial broc0f213956
Nov 11 07:15:45 erlangen udev-configure-printer[26007]: Queue ipp://localhost/printers/MFC255CW has matching device URI
Nov 11 07:15:45 erlangen udev-configure-printer[26007]: Re-enabled printer ipp://localhost/printers/MFC255CW
Nov 11 07:15:45 erlangen audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=configure-printer@usb-001-018 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Nov 11 07:16:52 erlangen avahi-daemon[925]: Leaving mDNS multicast group on interface enp0s31f6.IPv6 with address 2001:a62:26a:5201:d250:99ff:fe9a:e150.
Nov 11 07:16:52 erlangen avahi-daemon[925]: Joining mDNS multicast group on interface enp0s31f6.IPv6 with address 2001:a62:279:6201:9874:caed:42d3:3f76.


Printing worked out of the box. But scanning definitly doesn’t.

Yes, I also thought so. But xsane just displays: No device available.

  1. Is the user a member of the ‘lp’ group? (This often gets found out when trying to run ‘sane-find-scanner’ as user doesn’t return results, but when run as root it does.)

  2. Check that /etc/sane.d/dll.conf has a ‘brother3’ entry and explicitly uncommented.

Added group lp, but sane-find-scanner still has permission problems in a new shell:

karl@erlangen:~> sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

could not open USB device 0x1d6b/0x0003 at 002:001: Access denied (insufficient permissions)
found USB scanner (vendor=0x04f9 [Brother], product=0x0228 [MFC-255CW]) at libusb:001:019
could not open USB device 0x046a/0x0011 at 001:003: Access denied (insufficient permissions)
could not open USB device 0x046d/0xc05a at 001:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 001:001: Access denied (insufficient permissions)
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.
karl@erlangen:~> 
  1. Check that /etc/sane.d/dll.conf has a ‘brother3’ entry and explicitly uncommented.
    This line is there:
erlangen:~ # tail /etc/sane.d/dll.conf
#teco2
#teco3
#test
#u12
#umax
#umax_pp
#umax1220u
#v4l
#xerox_mfp
brother3
erlangen:~ # 

No, it doesn’t - the insufficient permissions entries relate to other devices where root access is required. The scanner device is being enumerated as expected. However, it’s not clear to me why xsane is not finding the device. That would usually indicate a communication or driver-related problem. Are you connected via a USB 3 port perhaps?

Did you only just now add the user to the ‘lp’ group? If so, log out and back in again, then try xsane, or simple-scan if you have it installed.

karl@erlangen:~> id
uid=1000(karl) gid=100(users) Gruppen=100(users),7(lp)
karl@erlangen:~> 

Trying connection via USB simple scan says: Additional software needed, You need to install driver software for your scanner

Trying wireless connection a testpage could be printed, but simple-scan says: No scanners detected, Please check your scanner is connected and powered on

Interesting. In an effort to assist further, I installed the brscan3 RPM and examined the /usr/local/Brother/sane/Brsane3.ini file. It doesn’t list the MFC-255CW chipset

# cat /usr/local/Brother/sane/Brsane3.ini
[Support Model]


0x0206,14,2,"DCP-145C"
0x0204,14,2,"DCP-165C"
0x0205,13,2,"DCP-185C"
0x0201,14,2,"DCP-385C"
0x0200,14,2,"DCP-585CW"
0x01ff,13,2,"DCP-535CN"
0x01fe,14,1,"MFC-250C"
0x01fd,13,1,"MFC-290C"
0x01fb,13,1,"MFC-490CW"
0x01fa,13,1,"MFC-490CN"
0x01f9,13,1,"MFC-790CW"
0x01f8,13,1,"MFC-990CW"
0x01f7,14,1,"MFC-670CD"
0x01f6,13,1,"MFC-930CDN"
0x01f5,13,1,"MFC-5490CN"
0x01f4,13,1,"MFC-5890CN"
0x01f1,13,2,"DCP-6690CW"
0x01f3,13,1,"MFC-6490CW"
0x01f2,13,1,"MFC-6490CN"

0x01f0,13,1,"MFC-6890CDW"
0x01ef,13,1,"MFC-6890CN"

0x0207,14,2,"DCP-163C"
0x0208,14,2,"DCP-167C"
0x0203,14,2,"DCP-383C"
0x0202,14,2,"DCP-387C"
0x01fc,13,1,"MFC-297C"

0x01ee,1,1,"MFC-7450",131,4
0x01ed,1,1,"MFC-7840N",131,4
0x01eb,1,1,"MFC-7320",131,4
0x01ea,2,2,"DCP-7030",131,4
0x01e9,1,2,"DCP-7040",131,4
0x01e8,1,2,"DCP-7045N",131,4
0x01e7,1,1,"MFC-7340",131,4
0x01e6,1,1,"MFC-7440N",131,4
0x01e5,1,1,"MFC-7840W",131,4



0x0218,17,1,"DCP-8080DN",133,4
0x021f,117,1,"DCP-8085DN",133,4


0x0217,17,1,"MFC-8480DN",133,4

0x0215,117,1,"MFC-8890DW",133,4





[ModelTypeName]
1=MFC Scanner
2=DCP Scanner

[Driver]
scanfast24=0
NoUseCM=0
compression=1
Inqueue=32000
LogFile=0
xshift_c=0

I wonder if adding an entry like this might help (I based this on the entry for the MFC-250C model)

0x0228,14,1,"MFC-255CW"

Trying wireless connection a testpage could be printed, but simple-scan says: No scanners detected, Please check your scanner is connected and powered on

I did find an old Ubuntu thread which mentioned

Note that the MFC-255cw is not listed as supported with brscan3. You will use the MFC-250c settings instead. I have not had any problems using them so far.

and described how to configure network-attached MFC-255CW

Turn the scanner back on, and configure brsane (mine was connected to my wireless router):
Code:
brsaneconfig3 -a name=(name your device) model=(model name) ip=xx.xx.xx.xx
Code:
brsaneconfig3 -a name=MFC-255cw model=MFC-250C ip=192.168.1.124

Many thanks for in depth suggestions. I tried the following:

erlangen:~ # brsaneconfig3 -a name=MFC255CW model=MFC-250C ip=192.168.178.20
erlangen:~ # sane-find-scanner
...
  # No USB scanners found. If you expected something different, make sure that
  # you have loaded a kernel driver for your USB host controller and have setup
  # the USB system correctly. See man sane-usb for details.
...
erlangen:~ #

Upon the MFC255CW being stubborn about scanning and working flawlessly as a wireless printer I

karl@erlangen:~/Downloads/software/iscan-perfection-v370-bundle-1.0.1.x64.rpm> ./install.sh --dry-run
zypper --non-interactive install ./core/iscan-2.30.2-2.x86_64.rpm ./data/iscan-data-1.36.0-1.noarch.rpm ./plugins/iscan-plugin-perfection-v370-1.0.0-2.x86_64.rpm
karl@erlangen:~/Downloads/software/iscan-perfection-v370-bundle-1.0.1.x64.rpm>
  • attached an EPSON Perfection V39:

 erlangen:~ # sane-find-scanner
... 
found USB scanner (vendor=0x04b8 [EPSON], product=0x013d [Epson Perfection V39]) at libusb:001:043
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.
... can't be detected by this program.
erlangen:~ # scanimage -L
device `epkowa:interpreter:001:043' is a Epson Perfection V39 flatbed scanner
erlangen:~ # 

Invoking simple-scan opened a window and clicking scan in the menu readily started scanning. I am happy with the V39 and its minimal case. It’s faster and has a higher resolution and quality than the MFC255CW.

What is really puzzling about the whole story is that the same package brscan3-0.2.11-5.x86_64.rpm worked with Leap 42.1 but failed with Tumbleweed. Again many thanks for your help.

Ah, a pragmatic approach. :slight_smile:

What is really puzzling about the whole story is that the same package brscan3-0.2.11-5.x86_64.rpm worked with Leap 42.1 but failed with Tumbleweed. Again many thanks for your help.

Yes, you mentioned that it had been working with Leap in post #5. I’m curious - was this via USB or network connectivity? Same version of the driver package? I was surprised that you couldn’t at least get it working via network connectivity as was described in my last post.

I can only think that Brother have removed support for this particular chipset by mistake, since it is still listed as a supported on their brscan3 page. I think a message to Brother is in order to help resolve this.