LinuxQuestions.org
Go Job Hunting at the LQ Job Marketplace
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices

Reply
 
Search this Thread
Old 08-17-2012, 12:07 PM   #1
malekmustaq
Senior Member
 
Registered: Dec 2008
Location: /root
Distribution: Slackware & BSD
Posts: 1,218

Rep: Reputation: 231Reputation: 231Reputation: 231
Brother MFC-J220 on Slackware 13:37 Scanner Cannot Be Detected. Help.


Hi,

Running Slackware Salix Slackware 13.37
in a Compaq Laptop

Attached is Brother MFC-J220 Printer, Scanner, Fax & Copier

I need help. I have downloaded printer and scan drivers from Brothers, converted them to *tgz and installed as root by c-shell. The printer prints but the scanner cannot be detected.

Issued this--

Quote:
root@box--# lsusb -v


It returned seeing Brother MFC-J220:

Quote:
Bus 003 Device 002: ID 04f9:0259 Brother Industries, Ltd
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x04f9 Brother Industries, Ltd
idProduct 0x0259
bcdDevice 1.00
iManufacturer 1 Brother
iProduct 2 MFC-J220
iSerial 3 BROF2F186805
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 85
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 7 Printer
bInterfaceSubClass 1 Printer
bInterfaceProtocol 2 Bidirectional
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 100
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk (Zip)
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x08 EP 8 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x89 EP 9 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0001
Self Powered
Quote:
root@box-# sane-find-scanner -v
returns the following:

Quote:
searching for USB scanners:
checking /dev/usb/scanner... failed to open (Invalid argument)
checking /dev/usb/scanner0... failed to open (Invalid argument)
checking /dev/usb/scanner1... failed to open (Invalid argument)
checking /dev/usb/scanner2... failed to open (Invalid argument)
checking /dev/usb/scanner3... failed to open (Invalid argument)
checking /dev/usb/scanner4... failed to open (Invalid argument)
checking /dev/usb/scanner5... failed to open (Invalid argument)
checking /dev/usb/scanner5... failed to open (Invalid argument)
checking /dev/usb/scanner7... failed to open (Invalid argument)
checking /dev/usb/scanner8... failed to open (Invalid argument)
checking /dev/usb/scanner9... failed to open (Invalid argument)
checking /dev/usb/scanner10... failed to open (Invalid argument)
checking /dev/usb/scanner11... failed to open (Invalid argument)
checking /dev/usb/scanner12... failed to open (Invalid argument)
checking /dev/usb/scanner13... failed to open (Invalid argument)
checking /dev/usb/scanner14... failed to open (Invalid argument)
checking /dev/usb/scanner15... failed to open (Invalid argument)
checking /dev/usbscanner... failed to open (Invalid argument)
checking /dev/usbscanner0... failed to open (Invalid argument)
checking /dev/usbscanner1... failed to open (Invalid argument)
checking /dev/usbscanner2... failed to open (Invalid argument)
checking /dev/usbscanner3... failed to open (Invalid argument)
checking /dev/usbscanner4... failed to open (Invalid argument)
checking /dev/usbscanner5... failed to open (Invalid argument)
checking /dev/usbscanner6... failed to open (Invalid argument)
checking /dev/usbscanner7... failed to open (Invalid argument)
checking /dev/usbscanner8... failed to open (Invalid argument)
checking /dev/usbscanner9... failed to open (Invalid argument)
checking /dev/usbscanner10... failed to open (Invalid argument)
checking /dev/usbscanner11... failed to open (Invalid argument)
checking /dev/usbscanner12... failed to open (Invalid argument)
checking /dev/usbscanner13... failed to open (Invalid argument)
checking /dev/usbscanner14... failed to open (Invalid argument)
checking /dev/usbscanner15... failed to open (Invalid argument)
could not open USB device 0x1d6b/0x0002 at 001:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 002:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 003:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 004:001: Access denied (insufficient permissions)
could not open USB device 0x0bda/0x0158 at 001:005: Access denied (insufficient permissions)
could not open USB device 0x064e/0xc108 at 001:006: Access denied (insufficient permissions)
could not open USB device 0x1c4f/0x0002 at 002:002: Access denied (insufficient permissions)
could not open USB device 0x0458/0x003a at 002:007: Access denied (insufficient permissions)
# 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.
My /dev/usb only has lp0--

Quote:
root@box-# ls /dev/usb
returns:

Quote:
lp0
Issued this--

Quote:
root@box-# scanimage -L
returned:

Quote:
device `v4l:/dev/video0' is a Noname Webcam-101 virtual device
I was all root. I don't know what to continue.

Please help. Thanks ahead.

m.m.
 
Old 08-17-2012, 12:23 PM   #2
kikinovak
Senior Member
 
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: Slackware, Slackware64
Posts: 1,756

Rep: Reputation: 850Reputation: 850Reputation: 850Reputation: 850Reputation: 850Reputation: 850Reputation: 850
First thing I would do is check out which groups your user belongs to. I've recently setup an HP printer/scanner, and I had a hard time figuring everything out... until I added my user to the 'scanner' AND the 'lp' group. Reboot your PC after that, or at least log out and restart rc.udev to get device permissions right.

BTW, are you running 32-bit or 64-bit Slackware? I also remember having had some trouble with a Brother HL-2030 and the Brother drivers... only to find out after ldd'ing that they were 32-bit only. I installed AlienBob's multilib (only the basic packages) and everything worked like a charm.
 
Old 08-17-2012, 08:03 PM   #3
allend
Senior Member
 
Registered: Oct 2003
Location: Melbourne
Distribution: Slackware-current
Posts: 3,465

Rep: Reputation: 852Reputation: 852Reputation: 852Reputation: 852Reputation: 852Reputation: 852Reputation: 852
This blog post looks very good. http://www.linuxquestions.org/questi...-1-32bit-3626/
This is an important point.
Quote:
less /etc/sane.d/dll.conf <------- You should see an entry for brother3 in the list.
 
Old 08-17-2012, 10:07 PM   #4
malekmustaq
Senior Member
 
Registered: Dec 2008
Location: /root
Distribution: Slackware & BSD
Posts: 1,218

Original Poster
Rep: Reputation: 231Reputation: 231Reputation: 231
Quote:
First thing I would do is check out which groups your user belongs to. I've recently setup an HP printer/scanner, and I had a hard time figuring everything out... until I added my user to the 'scanner' AND the 'lp' group. Reboot your PC after that, or at least log out and restart rc.udev to get device permissions right.
kikinovak: Yes, I was running as root, and I have a 'scanner' group and added to it. I did not expect I should try add me to the 'lp' group.

Quote:
BTW, are you running 32-bit or 64-bit Slackware? I also remember having had some trouble with a Brother HL-2030 and the Brother drivers... only to find out after ldd'ing that they were 32-bit only. I installed AlienBob's multilib (only the basic packages) and everything worked like a charm.
kikinovak: Yes I am running 32-bit and the drivers from Brothers I chose the 32bit drivers in rpm.
 
Old 08-17-2012, 10:17 PM   #5
malekmustaq
Senior Member
 
Registered: Dec 2008
Location: /root
Distribution: Slackware & BSD
Posts: 1,218

Original Poster
Rep: Reputation: 231Reputation: 231Reputation: 231
Quote:
Originally Posted by allend View Post
This blog post looks very good. http://www.linuxquestions.org/questi...-1-32bit-3626/
This is an important point.
Allend: Yes I knew that link and in fact from that basis I decided to choose Brother MFC-J220, thinking that since it ran well on Slack 13.1 32bit I went to assume that it must run too under Slack 13.37 32bit. I used that link as my guide too in the install stage however---

1. I noticed that the script 'brscan3' is just 'brscan' under the latest module I downloaded; and
2. I noticed that the package did not install into /usr/local/Brother but rather into /opt/brother; no prob I managed to find and run them all at install.

The printer is printing after my installation.

But the Scanner is not seen and the system cannot create the necessary descriptor in /dev/usb/scanner0; the OS seems not to see the device. I am afraid this is a serious problem. Certainly Slackware 13.37 installed 'libusb' and it is there as I checked it.

I need help.

Thanks ahead.

m.m.
 
Old 08-18-2012, 12:14 AM   #6
T3slider
Senior Member
 
Registered: Jul 2007
Distribution: Slackware64-14.1
Posts: 2,275

Rep: Reputation: 669Reputation: 669Reputation: 669Reputation: 669Reputation: 669Reputation: 669
What package did you download? Both the rpm and .deb packages install to /usr/local (and not /opt) as far as I can see. I believe you want brscan3-0.2.11-4.i386.rpm. You may need to run
Code:
/usr/local/Brother/sane/setupSaneScan3 -i
after installing the package to add brother3 to /etc/sane.d/dll.conf.
 
Old 08-18-2012, 02:52 AM   #7
malekmustaq
Senior Member
 
Registered: Dec 2008
Location: /root
Distribution: Slackware & BSD
Posts: 1,218

Original Poster
Rep: Reputation: 231Reputation: 231Reputation: 231
Hi T3slider,
Thank you for coming up.

I have downloaded the MFC-J220 scanner drivers from here http://welcome.solutions.brother.com...nload_scn.html This time I have tried the .deb packages "brscan3-0.2.11-4.i386.deb" and "brscan-skey-0.2.3-0.i386.deb". Using "# alien -ct file.deb" I was able to produce the tgz and install them accordingly by way of a c-shell.

Yes the sane installs to /usr/local/Brother/sane but the scan-skey always chooses the /opt/brother/scanner/brscan-skey/ and it is where the 'brscan-skey-0.2.3-0.sh' is located. I tried to create a link of this script to /usr/local/Brother/sane/* but the same did not run, so I have it ran on a c-shell right there where it is.

After doing this here is still the result:

Restarted the udev.d '/etc/rc.d/rc.udev force-restart'
But still the /dev/usb contains only the 'lp0'.

Quote:
Issued 'root@box-# sane-find-scanner
Again it returned:

Quote:
# 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 fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
# 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.

# Not checking for parallel port scanners.

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

m.m.
 
Old 08-18-2012, 02:56 AM   #8
malekmustaq
Senior Member
 
Registered: Dec 2008
Location: /root
Distribution: Slackware & BSD
Posts: 1,218

Original Poster
Rep: Reputation: 231Reputation: 231Reputation: 231
Quote:
after installing the package to add brother3 to /etc/sane.d/dll.conf.

Yes 'less /etc/sane.d/dll.conf' contains "brother3".
 
Old 08-18-2012, 03:27 AM   #9
allend
Senior Member
 
Registered: Oct 2003
Location: Melbourne
Distribution: Slackware-current
Posts: 3,465

Rep: Reputation: 852Reputation: 852Reputation: 852Reputation: 852Reputation: 852Reputation: 852Reputation: 852
Did you do the addition to /lib/udev/rules.d/80-libsane.rules as shown in the blog post?

Actually, that is probably better handled by copying /lib/udev/rules.d/80-libsane.rules to /etc/udev/rules.d/80-libsane.rules and making the edit there.

Last edited by allend; 08-18-2012 at 03:34 AM.
 
Old 08-18-2012, 03:53 AM   #10
malekmustaq
Senior Member
 
Registered: Dec 2008
Location: /root
Distribution: Slackware & BSD
Posts: 1,218

Original Poster
Rep: Reputation: 231Reputation: 231Reputation: 231
Allend,

Yes I did copy from a nearby mfc and modified accordingly to 04f9:0259 company: product_i.d.

Thanks ahead.

M.M.
 
Old 08-18-2012, 05:22 AM   #11
malekmustaq
Senior Member
 
Registered: Dec 2008
Location: /root
Distribution: Slackware & BSD
Posts: 1,218

Original Poster
Rep: Reputation: 231Reputation: 231Reputation: 231
I don't understand what is happening here; and I am not happy.

If I issue
Quote:
'user@box-$ scanimage -L'
it returns:

Quote:
scanimage -L
device `brother3:bus3;dev2' is a Brother MFC-J220 USB scanner
device `v4l:/dev/video0' is a Noname Webcam-101 virtual device
Tried to launch "/usr/bin/xscanimage" the application sees the scanner and offers two choices:

Quote:
"brother3:bus3:dev2" and
"v4I:/dev/video0"
The xscanimage scans rightly and saves a *pnm file of the image. This applies the same functioning with other frontends like "simple-scan" and "Xsane-Scanning".

This is happening while the "sane-find-scanner" command CANNOT see the Brother MFC-J220 usb device and denies seeing it.


Behind the scene the /dev doesn't contain any scanner node. Rather, the system keeps a temporary rule under "/dev/.udev/db/b8:32" cat-ting this descriptor it sufficiently describes the necessary identification of the MFC-J220.

I tried to trick udev by adding a little folishness in /etc/udev/rules.d/70-persistent-cd.rules; forced-restart /etc/rc.d/rc.udev did not do, but when I tried to reboot the system the node was automatically created by udev as /dev/scanner; however this is confounding me the more because it was only a SYMLINK to /dev/sdc. I don't know why the system should treat the sane scanner as "block" --actually this is beyond my knowledge.

At this state, the same returns the query --
Quote:
root@box ~ $ 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 fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
# 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.

# Not checking for parallel port scanners.

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

M.M.
 
Old 08-18-2012, 09:44 AM   #12
allend
Senior Member
 
Registered: Oct 2003
Location: Melbourne
Distribution: Slackware-current
Posts: 3,465

Rep: Reputation: 852Reputation: 852Reputation: 852Reputation: 852Reputation: 852Reputation: 852Reputation: 852
So your device can now be used for scanning. Good!
FWIW I also do not have my Brother DCP-110C device reported by sane-find-scanner. However I can successfully use it for scanning. The problem is with the permissions on the device file created for the Brother multifunction device. Slackware sets root as the owner and lp as the group. This confuses sane-find-scanner.
If this still bothers you, try an alternative udev rule that sets permissions like this
Code:
# Brother MFC-J220
ATTR{idVendor}=="04f9", ATTR{idProduct}=="0259", MODE="0664", OWNER="lp", GROUP="scanner", ENV{libsane_matched}="yes"
 
Old 08-19-2012, 10:32 PM   #13
malekmustaq
Senior Member
 
Registered: Dec 2008
Location: /root
Distribution: Slackware & BSD
Posts: 1,218

Original Poster
Rep: Reputation: 231Reputation: 231Reputation: 231
Allend: Thanks I have done it accordingly. Meanwhile the "sane-find-scanner" still cannot see the usb device. I think this has to do with how the Brother MFC-J220 appears to 'libusb' or the kernel --something that probably requires extra mending to do and I have no luxury of time. Thanks you so much.

kiknovak: Thanks for your time and idea.

T3slider: Thank you for the help.

Malek Mustaqim
 
  


Reply

Tags
brother mfc-j220, scanner, usb detect


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Brother MFC-J220 cleans heads wastes ink - Slackware 64-bit 13.37 lesechang Linux - Hardware 3 07-10-2011 05:16 AM
[SOLVED] Brother MFC-7840W Network Scanner not Recognized in XSane Kaiser Soze Slackware 9 06-21-2011 11:40 PM
Brother MFC-9440CN scanner with Ubunutu 10.10 cigtoxdoc Linux - Hardware 2 03-04-2011 12:47 AM
Easy install Brother MFC-665CW printer scanner etc. paynejp Linux - Hardware 1 11-07-2009 07:21 PM
Brother MFC-8670DN -- Scanner Not Working in Ubuntu 9.04 noobwifi Linux - Hardware 3 05-22-2009 12:26 PM


All times are GMT -5. The time now is 09:05 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration