[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