[sane-devel] MP730 driver broken since pixma-0.12.2

m. allan noah kitno455 at gmail.com
Sat Apr 18 17:36:22 UTC 2009


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
<nicolas.martin at freesurf.fr> wrote:
> 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 :
>> I have updated my findings at
>> http://waddles.org/content/sane-canon-mp730-driver
>>
>> Can someone suggest the next place to start work?
>>
>> Thanks,
>> Wade.
>>
>> 2009/4/4 Nicolas Martin <nicolas.martin at freesurf.fr>
>>         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 :
>>
>>         > Can you take a look at the logs on
>>         > http://waddles.org/content/sane-canon-mp730-driver and tell
>>         me if you
>>         > think I'm on the right track with the endpoints?
>>         >
>>         > I CBF re-installing Windows, but I did test a successful
>>         scan with
>>         > mp150-0.12.2 followed immediately by a try with pixma-0.15.0
>>         but it
>>         > failed so I doubt it has anything to do with power-saving
>>         modes.
>>         >
>>         > Thanks,
>>         > Wade.
>>         >
>>         > 2009/3/21 Nicolas Martin <nicolas.martin at freesurf.fr>
>>         >         Seems confirmed that a usb low level error happens
>>         on first
>>         >         write
>>         >         attempt:
>>         >
>>         >         [sanei_usb] sanei_usb_write_bulk: trying to write 10
>>         bytes
>>         >         [sanei_usb] 000 F3 20 00 00 00 00 00 00 0C
>>         >         00                   . ........
>>         >         USB error: error submitting URB: Device or resource
>>         busy
>>         >         [sanei_usb] sanei_usb_write_bulk: write failed:
>>         Device or
>>         >         resource busy
>>         >         USB error: could not clear/halt ep 1: Device or
>>         resource busy
>>         >
>>         >         [pixma] WARNING:pixma_write(): count(0) != len(10)
>>         >
>>         >
>>         >         I remember having seen this before for someone else,
>>         this
>>         >         happened when
>>         >         the usb port was going to power saving (generally
>>         after a few
>>         >         seconds)
>>         >
>>         >         Could it be the case on system ?
>>         >
>>         >         Nicolas
>>         >
>>         >
>>
>>
>>
>>
>
>
>
> --
> sane-devel mailing list: sane-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>             to sane-devel-request at lists.alioth.debian.org
>



-- 
"The truth is an offense, but not a sin"



More information about the sane-devel mailing list