[sane-devel] Sane doesn't create a scanner device

2005-11-06 Thread Henning Meier-Geinitz
Hi,

On Mon, Oct 31, 2005 at 02:46:45PM +0100, Johannes Meixner wrote:
 I am no USB expert but for me it seems SANE (i.e. sanei_usb.c)
 calims the right interface (i.e. I think the conflict doesn't happen
 because SANE calims the interface for the printer or cardreader).

Right.

 For me it seems the conflict happens when SANE tries to set the
 configuration while usblp and/or usb_storage are only loaded
 (there was no real data transfer regarding the printer and/or
 the cardreader - I neither printed nor was there a memory-card
 plugged in).

The warning happens because SANE tries to the the configuration while
another program claims an interface in that configuration.

I think the write errors are not dierctly connected to this.

Bye,
  Henning


[sane-devel] Sane doesn't create a scanner device

2005-10-31 Thread Johannes Meixner

Hello,

On Oct 28 18:25 Henning Meier-Geinitz wrote (shortened):
 On Thu, Oct 27, 2005 at 09:05:02AM +0200, Johannes Meixner wrote:
  For some all-in-one devices (like the Epson Stylus Photo RX420)
  which have also a cardreader unit included there is additionally
  the usb_storage kernel module which gets in conflict with SANE.
 
 I don't see any difference compared to usblp.

You are right, see
https://bugzilla.novell.com/show_bug.cgi?id=127524#c25
-
... scanning failed on my RX420 when usblp was loaded
but usb-storage was not loaded.
= Very unstable (at least for me).
= Needs further investigation.
-

Scanning (always via scanimage) with my RX420 works for one
or a few attempts and then it hangs up (but I can abort it
with [Ctrl]+[C]).

After
rmmod usblp usb-storage ; modprobe usblp ; modprobe usb-storage
scanimage -L works again for one or a few attempts.

This are the last messages with SANE_DEBUG_SANEI_USB=128:
-
...
[sanei_usb] sanei_usb_find_devices: vendor=0x04b8, product=0x080f
[sanei_usb] sanei_usb_open: trying to open device `libusb:002:003'
USB error: could not set config 1: Device or resource busy
[sanei_usb] sanei_usb_open: libusb complained: could not set
config 1: Device or resource busy
[sanei_usb] Maybe the kernel scanner driver or usblp claims
the interface? Ignoring this error...
[sanei_usb] sanei_usb_open: configuration nr: 0
[sanei_usb] sanei_usb_open: interface nr: 0
[sanei_usb] sanei_usb_open:   alt_setting nr: 0
[sanei_usb] sanei_usb_open:num: 0 endpoint: 0x8052708
[sanei_usb] sanei_usb_open: direction: 128)
[sanei_usb] sanei_usb_open:  address: 1 transfertype: 2
[sanei_usb] sanei_usb_open: found bulk-in endpoint (address 0x01)
[sanei_usb] sanei_usb_open:num: 1 endpoint: 0x805271c
[sanei_usb] sanei_usb_open: direction: 0)
[sanei_usb] sanei_usb_open:  address: 2 transfertype: 2
[sanei_usb] sanei_usb_open: found bulk-out endpoint (address 0x02)
[sanei_usb] sanei_usb_open: configuration nr: 0
[sanei_usb] sanei_usb_open: interface nr: 1
[sanei_usb] sanei_usb_open:   alt_setting nr: 0
[sanei_usb] sanei_usb_open:num: 0 endpoint: 0x8052758
[sanei_usb] sanei_usb_open: direction: 128)
[sanei_usb] sanei_usb_open:  address: 3 transfertype: 2
[sanei_usb] sanei_usb_open: found bulk-in endpoint (address 0x03)
[sanei_usb] sanei_usb_open: we already have a bulk-in endpoint
(address: 0x81), ignoring the new one
[sanei_usb] sanei_usb_open:num: 1 endpoint: 0x805276c
[sanei_usb] sanei_usb_open: direction: 0)
[sanei_usb] sanei_usb_open:  address: 4 transfertype: 2
[sanei_usb] sanei_usb_open: found bulk-out endpoint (address 0x04)
[sanei_usb] sanei_usb_open: we already have a bulk-out endpoint
(address: 0x02), ignoring the new one
[sanei_usb] sanei_usb_open: configuration nr: 0
[sanei_usb] sanei_usb_open: interface nr: 2
[sanei_usb] sanei_usb_open:   alt_setting nr: 0
[sanei_usb] sanei_usb_open:num: 0 endpoint: 0x80527a8
[sanei_usb] sanei_usb_open: direction: 128)
[sanei_usb] sanei_usb_open:  address: 5 transfertype: 2
[sanei_usb] sanei_usb_open: found bulk-in endpoint (address 0x05)
[sanei_usb] sanei_usb_open: we already have a bulk-in endpoint
(address: 0x81), ignoring the new one
[sanei_usb] sanei_usb_open:num: 1 endpoint: 0x80527bc
[sanei_usb] sanei_usb_open: direction: 0)
[sanei_usb] sanei_usb_open:  address: 6 transfertype: 2
[sanei_usb] sanei_usb_open: found bulk-out endpoint (address 0x06)
[sanei_usb] sanei_usb_open: we already have a bulk-out endpoint
(address: 0x02), ignoring the new one
[sanei_usb] sanei_usb_open: opened usb device `libusb:002:003' (*dn=1)
[sanei_usb] sanei_usb_get_vendor_product: device 1:
vendorID: 0x04b8, productID: 0x080f
[sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
[sanei_usb] : 1B 40   
.@..
[sanei_usb] sanei_usb_write_bulk: write failed:
Resource temporarily unavailable
[sanei_usb] sanei_usb_read_bulk: trying to read 1 bytes
[sanei_usb] sanei_usb_read_bulk: read failed:
Resource temporarily unavailable
[sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
[sanei_usb] : 1B 49   
.I..
[sanei_usb] sanei_usb_write_bulk: write failed:
Resource temporarily unavailable
[sanei_usb] sanei_usb_write_bulk: trying to write 2 bytes
[sanei_usb] : 1B 49   
.I..
[sanei_usb] sanei_usb_write_bulk: write failed:
Resource temporarily unavailable

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). 

[sane-devel] Sane doesn't create a scanner device

2005-10-28 Thread Henning Meier-Geinitz
Hi,

On Thu, Oct 27, 2005 at 09:05:02AM +0200, Johannes Meixner wrote:
 For some all-in-one devices (like the Epson Stylus Photo RX420)
 which have also a cardreader unit included there is additionally
 the usb_storage kernel module which gets in conflict with SANE.

I don't see any difference compared to usblp. If usb_storage (or
whatever other kernel module) claims an interface different from the
scanner interface used by SANE, there should be no problem. If there
still is a problem (e.g. i/o errors), I suspect some kind of kernel bug.

 In particular for me the ignoring EBUSY from USB in SANE
 didn't work when both usblp and usb_storage are loaded
 but it works when only usblp is loaded.

What happens with usb_storage loaded? Same symptom, i.e. SANE can't
open the scanner?

 At least for me for printing and scanning ignoring EBUSY from USB
 is a good workaround but it seems to be not the final solution.

I think the only annoyance is the error message in syslog. On the
other hand, the kernel may be just a bit too verbose. Trying to change
the configuration while something else calims an interface is not such
a big problem which would warrant a warning message.

As we had trouble with devices which need the set_configuration
command, I want to keep it.

Bye,
  Henning


[sane-devel] Sane doesn't create a scanner device

2005-10-28 Thread dark_m...@gmx.net
I took the latest CVS version I could get. It is 1.0.16-cvs.

I still have iscan around somewhere (not removed completely yet), but
I'm not using it.

You get the CVS from
http://www.sane-project.org/cvs.html

But you'll have to compile the sources, so better read the README and
INSTALL files in the source directory.

russbucket wrote:
 On Wednesday 26 October 2005 13:59, dark_m...@gmx.net wrote:
 
It finally works fully.

I had to export the /usr/local/bin path and put the sane-config script
there. Then it worked all well.

Finally it was worth all the effort ... :D
 
 which versions of sane and iscan or epson are you using. Which cvs and where 
 did you get it?
 



[sane-devel] Sane doesn't create a scanner device

2005-10-27 Thread russbucket
On Wednesday 26 October 2005 13:59, dark_m...@gmx.net wrote:
 It finally works fully.

 I had to export the /usr/local/bin path and put the sane-config script
 there. Then it worked all well.

 Finally it was worth all the effort ... :D
which versions of sane and iscan or epson are you using. Which cvs and where 
did you get it?


[sane-devel] Sane doesn't create a scanner device

2005-10-27 Thread Johannes Meixner

Hello,

On Oct 26 18:38 Henning Meier-Geinitz wrote (shortened):
 On Wed, Oct 26, 2005 at 05:14:43PM +0200, dark_m...@gmx.net wrote:
  [sanei_usb] sanei_usb_open: trying to open device `libusb:001:002'
  USB error: could not set config 1: Device or resource busy
  [sanei_usb] sanei_usb_open: libusb complained: could not set config 1:
  Device or resource busy
  [sanei_usb] Maybe the kernel scanner driver claims the scanner's interface?
 
 See bug report #302207:
 https://alioth.debian.org/tracker/index.php?func=detailaid=302207group_id=30186atid=410366

I would like to have you informed about what I found out, see
https://bugzilla.novell.com/show_bug.cgi?id=127524#c17

For some all-in-one devices (like the Epson Stylus Photo RX420)
which have also a cardreader unit included there is additionally
the usb_storage kernel module which gets in conflict with SANE.

In particular for me the ignoring EBUSY from USB in SANE
didn't work when both usblp and usb_storage are loaded
but it works when only usblp is loaded.
At least for me for printing and scanning ignoring EBUSY from USB
is a good workaround but it seems to be not the final solution.

From my point of view the problem lies somehow deeper in the USB
system (or how the USB system is used) but I am no USB expert
so that I don't know at the moment what exactly causes the conflict
and what a clean solution would be.


Olaf,
regarding Iscan:
The Iscan sources contain sanei/sanei_usb.c and this must also be
changed so that the epkowa backend also ignores EBUSY from USB, see
http://cvs.alioth.debian.org/cgi-bin/cvsweb.cgi/sane-backends/sanei/sanei_usb.c.diff?r1=1.42r2=1.43cvsroot=sane


Kind Regards
Johannes Meixner
-- 
SUSE LINUX Products GmbH, Maxfeldstrasse 5  Mail: jsm...@suse.de
90409 Nuernberg, GermanyWWW: http://www.suse.de/


[sane-devel] Sane doesn't create a scanner device

2005-10-26 Thread dark_m...@gmx.net
I think I gathered some new information:

when on debug level 255, scanimage -L gave me the following output (twice):

[sanei_debug] Setting debug level of sanei_usb to 255.
usb_set_debug: Setting debugging level to 255 (on)
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_busses: Skipping non bus directory devices
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
[sanei_usb] sanei_usb_init: device 0x/0x looks like a root hub
[sanei_usb] sanei_usb_init: found libusb device (0x04b8/0x080f)
interface 0  at
libusb:001:002
[sanei_usb] sanei_usb_init: device 0x/0x looks like a root hub
[sanei_usb] sanei_usb_init: found 1 devices
[sanei_usb] sanei_usb_find_devices: vendor=0x04b8, product=0x080f
[sanei_usb] sanei_usb_open: trying to open device `libusb:001:002'
USB error: could not set config 1: Device or resource busy
[sanei_usb] sanei_usb_open: libusb complained: could not set config 1:
Device or resource busy
[sanei_usb] Maybe the kernel scanner driver claims the scanner's interface?

This happened with the permissions on all files in /proc/bus/usb/001 set
to 0666.

And when trying iscan, it writes me the following to /var/log/messages
(also twice):

usb 1-1: usbfs: interface 1 claimed by usblp while 'iscan' sets config #1

Is this a lock problem or some strange permission issue?

Anyway, I'll try the CVS version as soon as I find enough time to mess
around with it ...

Thanks for your advices! :)

Olaf Meeuwissen wrote:
 CC:ing sane-devel for the benefit of archival purposes.
 
 dark_m...@gmx.net writes:
 
 
Actually, I already have switched to udev. So gathering from your
answer I guess iscan and udev don't work together.
 
 
 Let me put it this way, iscan does not have any udev support so when
 you plug in your device udev may not recognise it as a scanner.  The
 upshot of that is that the device node may not get the permissions
 needed iscan and other SANE frontends to access it.  You will need
 read and write access to the device for it to work.
 
 Just to make sure, check that the /proc/bus/usb/###/### entry that
 corresponds to your RX420 has read/write access for everyone.  If it
 doesn't, then, as root, do
 
   # chmod 0666 /proc/bus/usb/###/###
 
 and give it another try.
 
 # For the security conscious boys and girls out there, I know that
 # this is not a good idea in general, but we're just trying to get
 # the damn thing to work here first.
 
 
I tried again to make the scanner work, without result. It makes no
difference if I'm a normal user or root, neither the with epson- nor
with the iscan-backend I get it to work.
 
 
 Now, if it also doesn't work when you are root, then there may be
 something else that is getting in your way because root normally can
 do anything to the device.  i say normally, because SELinux and the
 like may throw a spanner in the works here.  For now I'm assuming you
 are using the good old Unix ACL mechanism.
 
 
The node at /proc/bus/usb/001/ is there, but I can't use it in any way.
Creating a link from the respective node to something in /dev/ didn't
help me, either.
 
 
 With /proc being a virtual file system, I'm surprised you managed to
 make it a symlink to anywhere else to begin with.
 
 
But I can't believe I'm the only one not able to make it work!
 
 
 Actually, there is another thread going on (started by russbucket,
 IIRC) that just may be related to this (at least as far as iscan is
 concerned).
 
 
What do you think: Is udev the reason? Is it something else? Is it me?
 
 
 Nah, it's probably the weather or the phase of the moon ;-)
 
 Seriously, sane-backends should have reasonably working udev support,
 but I vaguely recall seeing some udev related commits recently.  You
 may want to check CVS for the latest scoop on this.
 
 
I have updated my sane-backend to version 1.0.16, didn't help.
 
 
 That version introduced a locking mechanism which may or may not be
 enabled by default on Gentoo.  I don't know the details (yet).  Any
 one else care to jump in?  Henning?
 
 BTW, the epson backend in that version should support your scanner out
 of the box.  In 1.0.15 it did not, but you could force support for it
 by adding
 
   usb 0x04b8 0x080f
 
 to your /etc/sane.d/epson.conf.
 
 
I even installed iscan from rpm (which normally isn't a good idea when
you use portage for all other packages).

I'm close to despair!
 
 
 I can tell from your installation from RPM ;-)
 
 
Olaf Meeuwissen wrote:

Karl Heinz Kremer k...@khk.net writes:



You need to configure your hotplug system - this will then create the  
scanner device for you once the scanner is connected to the system.  
I'm not familiar with Gentoo, so I don't know how this is done with  
your system.


There most likely will be a dynamically created device by the name of

  /proc/bus/usb/001/004

but it may not have the correct 

[sane-devel] Sane doesn't create a scanner device

2005-10-26 Thread Henning Meier-Geinitz
Hi,

On Wed, Oct 26, 2005 at 05:14:43PM +0200, dark_m...@gmx.net wrote:
 [sanei_usb] sanei_usb_open: trying to open device `libusb:001:002'
 USB error: could not set config 1: Device or resource busy
 [sanei_usb] sanei_usb_open: libusb complained: could not set config 1:
 Device or resource busy
 [sanei_usb] Maybe the kernel scanner driver claims the scanner's interface?

See bug report #302207:
https://alioth.debian.org/tracker/index.php?func=detailaid=302207group_id=30186atid=410366

Bye,
  Henning


[sane-devel] Sane doesn't create a scanner device

2005-10-26 Thread dark_m...@gmx.net
I installed the CVS version, and IT WORKS!

Almost ... :-(

The backend works fine as long as I install it into its default location.

I put the sources into /var/cvsroot/sane-backends, it's installed into
/usr/local/.

But this way the configure script of the sane-frontend doesn't find the
sane-backend, and I don't know how to tell the frontend where the
backend is. I tried to set a custom prefix, set a config location, a
library location, without success.

And when I let the backend install into /, it doesn't work anymore,
makres the same troubles as the gentoo package.

As I'm rather satisfied with the present location of the sane-backend, I
just want to ask how I can make the frontend find the backend, as it is
somewhat unintuitive and tedious to scan by using scanimage.

Any ideas?

Henning Meier-Geinitz wrote:
 Hi,
 
 On Wed, Oct 26, 2005 at 05:14:43PM +0200, dark_m...@gmx.net wrote:
 
[sanei_usb] sanei_usb_open: trying to open device `libusb:001:002'
USB error: could not set config 1: Device or resource busy
[sanei_usb] sanei_usb_open: libusb complained: could not set config 1:
Device or resource busy
[sanei_usb] Maybe the kernel scanner driver claims the scanner's interface?
 
 
 See bug report #302207:
 https://alioth.debian.org/tracker/index.php?func=detailaid=302207group_id=30186atid=410366
 
 Bye,
   Henning
 



[sane-devel] Sane doesn't create a scanner device

2005-10-25 Thread Karl Heinz Kremer
You need to configure your hotplug system - this will then create the  
scanner device for you once the scanner is connected to the system.  
I'm not familiar with Gentoo, so I don't know how this is done with  
your system.

On Oct 24, 2005, at 6:40 PM, dark_m...@gmx.net wrote:

 I'm using an Epson Stylus Photo RX 420 (scanner-printer-combo) on a
 Gentoo machine (Kernel 2.6.13).

 Sane is version 1.0.15 (back- and frontend).

 My problem is the following:

 sane-find-scanner detects my scanner correctly:

 found USB scanner (vendor=0x04b8 [EPSON], product=0x080f [USB MFP]) at
 libusb:001:004

 But I don't find a device for the scanner anywhere. I even created a
 /dev/usb/scanner0 by hand, but that didn't help me, either.

 I also tried iscan, but it only says that it can't connect to the
 scanner and that I should make sure the scanner is on.

 I've also received some strange error messages when attempting to  
 start
 saned by hand:

 saned[7350]: saned (AF-indep+IPv6) from sane-backends 1.0.15 ready
 saned[7350]: check_host: getpeername failed: Socket operation on  
 non-socket
 saned[7350]: init: access by host [error] denied
 saned[7350]: quit: exiting

 I tried both automatic product/vendor discovery and fixed IDs in
 /etc/sane.d/epson.conf

 sane-find-scanner -vv gives me the following output (I skipped the  
 SCSI
 part):


 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)
 found USB scanner (vendor=0x04b8 [EPSON], product=0x080f [USB MFP]) at
 libusb:001:004


 Could anybody give me a hand with this?

 The printer part works well with cups, and the kernel even seems to  
 have
 found the built-in card-readers:


 ohci_hcd :00:02.2: wakeup
 usb 1-1: new full speed USB device using ohci_hcd and address 5
 drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 5  
 if 1
 alt 0 proto 2 vid 0x04B8 pid 0x080F
 scsi3 : SCSI emulation for USB Mass Storage devices
 usb-storage: device found at 5
 usb-storage: waiting for device to settle before scanning

 Vendor: EPSON Model: Stylus StorageRev: 1.00
 Type:   Direct-Access  ANSI SCSI revision: 02
 Attached scsi removable disk sda at scsi3, channel 0, id 0, lun 0
 usb-storage: device scan complete
 scsi.agent[8244]: disk at
 /devices/pci:00/:00:02.2/usb1/1-1/1-1:1.2/host3/ 
 target3:0:0/3:0:0:0

 -- 
 sane-devel mailing list: sane-devel@lists.alioth.debian.org
 http://lists.alioth.debian.org/mailman/listinfo/sane-devel
 Unsubscribe: Send mail with subject unsubscribe your_password
  to sane-devel-requ...@lists.alioth.debian.org




[sane-devel] Sane doesn't create a scanner device

2005-10-25 Thread Olaf Meeuwissen
Karl Heinz Kremer k...@khk.net writes:

 You need to configure your hotplug system - this will then create the  
 scanner device for you once the scanner is connected to the system.  
 I'm not familiar with Gentoo, so I don't know how this is done with  
 your system.

There most likely will be a dynamically created device by the name of

  /proc/bus/usb/001/004

but it may not have the correct permissions.  You need read and write
permissions for the user that wants to use the scanner.

Note that when you re-plug or power cycle the device it will change
names (probably to /proc/bus/usb/001/005, 006 and so on).  Unless
you set up hotplug (or udev, which I still have to look into myself)
to do this for you, you will need to do this manually every time you
re-plug, power cycle the device or reboot.

For USB scanners with a recent enough libusb (= 0.1.6) and kernel (=
2.4.12-ish. IIRC) there is no real need to muck with /dev/usb/scanner*
anymore.  For 2.6.x kernels /dev/usb/scanner* is not an option, really.

 On Oct 24, 2005, at 6:40 PM, dark_m...@gmx.net wrote:

 I'm using an Epson Stylus Photo RX 420 (scanner-printer-combo) on a
 Gentoo machine (Kernel 2.6.13).

 Sane is version 1.0.15 (back- and frontend).

 My problem is the following:

 sane-find-scanner detects my scanner correctly:

 found USB scanner (vendor=0x04b8 [EPSON], product=0x080f [USB MFP]) at
 libusb:001:004

 But I don't find a device for the scanner anywhere. I even created a
 /dev/usb/scanner0 by hand, but that didn't help me, either.

 I also tried iscan, but it only says that it can't connect to the
 scanner and that I should make sure the scanner is on.

What version?  If you take care of the hotplug support it provides,
most of the EPSON scanners should work out-of-the-box (unless your
system has already switched to udev in favour of hotplug).

 [snip]

Hope this helps,
-- 
Olaf Meeuwissen
FSF Associate Member #1962   sign up at http://member.fsf.org/
GnuPG key: 30EF893A/2774 815B DE83 06C8 D733  6B5B 033C C857 30EF 893A
Penguin's lib!   -- I hack, therefore I am --   LPIC-2