The patch <http://waddles.org/sites/waddles.org/files/sanei_usb.c.diff_.txt> 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.
Glad to see somebody is still reading my post, anyway. Thanks. Wade. m. allan noah wrote: > 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 >> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20090419/93c0f080/attachment-0001.htm>