<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<font face="sans-serif">The <a
 href="http://waddles.org/sites/waddles.org/files/sanei_usb.c.diff_.txt">patch</a></font>
should apply to current if somebody wants to test it. I just don't
know how many scanners might be attached to Printer or Mass Storage
devices' interfaces so I deliberately left it simple, but the extra
debug info was certainly helpful.<br>
<br>
Glad to see somebody is still reading my post, anyway. Thanks.<br>
<br>
Wade.<br>
<br>
m. allan noah wrote:
<blockquote
 cite="mid:97246d0e0904181036p14a7d12l9300e686f60ad6a2@mail.gmail.com"
 type="cite">
  <pre wrap="">though i must chime in that wade's latest post is very interesting- it
does appear that sanei_usb grabs the wrong interface. I believe Ilia
had a complaint about this as well. Sounds like sanei_usb needs an
overhaul after our next release.

allan

On Sat, Apr 18, 2009 at 12:57 PM, Nicolas Martin
<a class="moz-txt-link-rfc2396E" href="mailto:nicolas.martin@freesurf.fr">&lt;nicolas.martin@freesurf.fr&gt;</a> wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">Wade,

As far as I can see, you are experiencing a usb interrupt transfer
issue, same kind as happened to other people when running the pixma
backend on an ASUS router or also on MAC OS X.

What is important to know is that the pixma backend - and this is due to
Canon's PIXMA devices - make use of both usb Bulk read/write transfers,
and also of usb Interrupt read transfers.

It is compulsory that usb interrupt read transfers fully work to operate
the pixma backend, as the scanner (and more especially older PIXMA
devices, like MP730) uses those transfer to exchange :
- status information
- time request
- button scan information

Today's PIXMA devices (that uses a generation 3 protocol) uses both, but
can work without interrupt read ; in this case, only button scan will be
disabled, but the scanner can be entirely driven with Bulk transfers.
This is not the case for MP730, a generation 2 protocol device, which
requires usb interrupt read transfers to be operated.

There's a difference also between the usb lib used by Sane, and the one
used in the pixma Standalone driver. Sane uses libusb, based on ioctl
calls to the kernel to execute usb transfers, while standalone driver
uses usbdevfs.

In order to help you and step further, could you tell us which Linux
distribution (and version) you are running ?

$ uname -a

As I told before, this kind of issue was due on MAC OS X to the darwin
libusb port, not handling timeouts in interrupt reads, and for the ASUS
router, use of a (very) old kernel 2.4.20 version, known to be buggy for
usb interrupt reads.

Nicolas


Le samedi 18 avril 2009 à 09:01 +1000, Wade Fitzpatrick a écrit :
    </pre>
    <blockquote type="cite">
      <pre wrap="">I have updated my findings at
<a class="moz-txt-link-freetext" href="http://waddles.org/content/sane-canon-mp730-driver">http://waddles.org/content/sane-canon-mp730-driver</a>

Can someone suggest the next place to start work?

Thanks,
Wade.

2009/4/4 Nicolas Martin <a class="moz-txt-link-rfc2396E" href="mailto:nicolas.martin@freesurf.fr">&lt;nicolas.martin@freesurf.fr&gt;</a>
        Sorry, posted answer in wrong thread.

        As far as I can see in the differences between older versions
        of the
        pixma standalone driver and today's, concerning usb exchanges
        for MP730,
        the older drivers did not use events polling whereas newer do
        with usb
        interrupt reads.

        First, did you try to remove the PIXMA_CAP_EVENTS flag for the
        pixma 730
        declaration (at the botom of file pixma_mp730.c) and see how
        it
        behaves ?

        I will also send you some modified files for the pixma backend
        to
        investigate why this usb low level error appears.

        Nicolas

        Le vendredi 03 avril 2009 à 03:14 +1100, Wade Fitzpatrick a
        écrit :

        &gt; Can you take a look at the logs on
        &gt; <a class="moz-txt-link-freetext" href="http://waddles.org/content/sane-canon-mp730-driver">http://waddles.org/content/sane-canon-mp730-driver</a> and tell
        me if you
        &gt; think I'm on the right track with the endpoints?
        &gt;
        &gt; I CBF re-installing Windows, but I did test a successful
        scan with
        &gt; mp150-0.12.2 followed immediately by a try with pixma-0.15.0
        but it
        &gt; failed so I doubt it has anything to do with power-saving
        modes.
        &gt;
        &gt; Thanks,
        &gt; Wade.
        &gt;
        &gt; 2009/3/21 Nicolas Martin <a class="moz-txt-link-rfc2396E" href="mailto:nicolas.martin@freesurf.fr">&lt;nicolas.martin@freesurf.fr&gt;</a>
        &gt;         Seems confirmed that a usb low level error happens
        on first
        &gt;         write
        &gt;         attempt:
        &gt;
        &gt;         [sanei_usb] sanei_usb_write_bulk: trying to write 10
        bytes
        &gt;         [sanei_usb] 000 F3 20 00 00 00 00 00 00 0C
        &gt;         00                   . ........
        &gt;         USB error: error submitting URB: Device or resource
        busy
        &gt;         [sanei_usb] sanei_usb_write_bulk: write failed:
        Device or
        &gt;         resource busy
        &gt;         USB error: could not clear/halt ep 1: Device or
        resource busy
        &gt;
        &gt;         [pixma] WARNING:pixma_write(): count(0) != len(10)
        &gt;
        &gt;
        &gt;         I remember having seen this before for someone else,
        this
        &gt;         happened when
        &gt;         the usb port was going to power saving (generally
        after a few
        &gt;         seconds)
        &gt;
        &gt;         Could it be the case on system ?
        &gt;
        &gt;         Nicolas
        &gt;
        &gt;




      </pre>
    </blockquote>
    <pre wrap="">

--
sane-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sane-devel@lists.alioth.debian.org">sane-devel@lists.alioth.debian.org</a>
<a class="moz-txt-link-freetext" href="http://lists.alioth.debian.org/mailman/listinfo/sane-devel">http://lists.alioth.debian.org/mailman/listinfo/sane-devel</a>
Unsubscribe: Send mail with subject "unsubscribe your_password"
            to <a class="moz-txt-link-abbreviated" href="mailto:sane-devel-request@lists.alioth.debian.org">sane-devel-request@lists.alioth.debian.org</a>

    </pre>
  </blockquote>
  <pre wrap=""><!---->


  </pre>
</blockquote>
</body>
</html>