At 16:59, 22 jan 2006, Henning Meier-Geinitz wrote: > Hi, > > On 2006-01-18 00:08, Lorenzo Delana wrote: > > I have a Mustek BP 1200 CU PLUS scanner A4, that /proc/bus/usb/devices > > describe as: > > I have the same scanner and it works flawlessly. Also many others use > this scanner. > > > 1) I installed cvs version of sane-backend and when I use scanimage the > > problem go in Segmentation Fault; > > to solve this I have to add a NULL POINTER check on the line 461 of the > > code so that: > > I assume this is in sanei/sanei_usb.c? right > > > ------------- > > case USB_CLASS_PER_INTERFACE: > > if (dev->config[0].interface[interface].altsetting) > > switch (dev->config[0].interface[interface].altsetting[0]. > > bInterfaceClass) > > { > > ---------------- > > This because altsetting something got me a NULL, then altsetting[0] is > > dereferencing a null pointer. > > How can altsetting[0] be 0? This means that an interface exists but no > altsetting. I'm not that used to the USB spec but I would be surprised > if this is allowed. Anyway, if your scanner does this, it can't scan > because it's broken. I rather assume that it happens with some other > device connected to your USB. Could you try to find out which device > behaves this way? And please send a log with USB debugging enabled: > SANE_DEBUG_SANEI_USB=255 scanimage -L
I'm sorry but I'm not able to reproduce this behavior. Now that I'm completed the installation of my linux os from scratch maybe that something that lacks before in the system now is present ( I think something about devices udevd etc.. ) not generate more the error :( > > As an alernative to a strangely acting device, there could be a > problem with libusb. However, this is the first time I hear about such > trouble. > > I'll add some checks for altsetting !=0 to sanei_usb as they don't > harm. But I think the problem is somewhere else. Is a good idea, maybe some other user in future can occur in my same problem and can read a line like "altsetting bug: this should not happen, please send email to mailing-list with `SANE_DEBUG_SANEI_USB=255 scanimage -L' output result" :-) > > > 3) as for 1) in tools/sane-find-scanner.c at line 627 > > Could you send the output of "sane-find-scanner -v -v", please? > > > 4) at backend/gt68xx_high.c > > I have commented out the check for the status, because in this point the > > program blocks forever ( for my scanner ). changing status = > > SANE_STATUS_GOOD for quickly replacement. > > Which status exactly? Which line of the code? Please send a log file > of a scan where it blocks (without your change). > --- p/sane-backends/backend/gt68xx_high.c 2006-01-02 17:59:02.000000000 +0100 +++ gt68xx_high.c 2006-01-25 21:54:17.000000000 +0100 @@ -669,11 +669,14 @@ if (scanner->auto_afe) { - if (scanner->dev->model->is_cis) - status = gt68xx_afe_cis_auto (scanner); - else - status = gt68xx_afe_ccd_auto (scanner, request); + /* + if (scanner->dev->model->is_cis) + status = gt68xx_afe_cis_auto (scanner); + else + status = gt68xx_afe_ccd_auto (scanner, request); + */ + status = SANE_STATUS_GOOD; if (status != SANE_STATUS_GOOD) { DBG (5, "gt68xx_scanner_calibrate: gt68xx_afe_*_auto failed: %s\n", I tried to break with the debugger at `gt68xx_scanner_calibrate' before calling `gt68_afe_cis_auto` and the result for struct request is: (gdb) print *request $8 = {x0 = 0, y0 = 0, xs = 14221312, ys = 19595264, xdpi = 300, ydpi = 300, depth = 8, color = 0, mbs = -4172048, mds = 32767, mas = -1431604571, lamp = 1, calculate = 0, use_ta = 0, backtrack = 1, backtrack_lines = 16} and the result for *scanner is in the attached `log3'. NOTE: my platform is an AMD 64bit X2 with 64bit linux kernel and mixed 32/64 bit multilib and the OS installed is from scratch (www.linuxfromscratch.org). My kernel 2.6.14.5 Linux alpha 2.6.14.5 #12 SMP Thu Jan 19 CET 2006 x86_64 x86_64 x86_64 GNU/Linux My compiler is gnu gcc 4.0.2 my scanimage dependancies: ldd `which scanimage` libsane.so.1 => /opt/lib/libsane.so.1 (0x00002aaaaabc7000) libdl.so.2 => /lib64/libdl.so.2 (0x00002aaaaaccd000) libusb-0.1.so.4 => /opt/lib/libusb-0.1.so.4 (0x00002aaaaadd1000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00002aaaaaeda000) libm.so.6 => /lib64/libm.so.6 (0x00002aaaaafef000) libjpeg.so.62 => /opt/lib/libjpeg.so.62 (0x00002aaaab174000) libc.so.6 => /lib64/libc.so.6 (0x00002aaaab2a2000) /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) Now I found the thing: the problem is that calibrate process takes long time for me depending if I have the cover of the scanner opened or closed, but in any case takes very long time before start and I thinked that's forever loop for the program but thisn't. In fact if I have the cover opened before scanimage start it takes 53 seconds real 0m53.263s user 0m0.024s sys 0m0.028s attached log file : calib_log2 If the cover is closed the scanimage takes 11 seconds to start real 0m11.465s user 0m0.008s sys 0m0.012s attached log file : calib_log1 in any case for the 4) the scanner works, the only problem is the slow startup caused by the calibration process. It's normal this long calibration time ? > Bye, > Henning thnx lorenzo -------------- next part -------------- A non-text attachment was scrubbed... Name: calib_log1.gz Type: application/x-gzip Size: 3703 bytes Desc: not available Url : http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20060126/7501f76d/calib_log1-0001.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: calib_log2.gz Type: application/x-gzip Size: 6352 bytes Desc: not available Url : http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20060126/7501f76d/calib_log2-0001.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: log3.gz Type: application/x-gzip Size: 2543 bytes Desc: not available Url : http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20060126/7501f76d/log3-0001.bin From oliver.schwa...@gmx.de Thu Jan 26 23:27:40 2006 From: oliver.schwa...@gmx.de (Oliver Schwartz) Date: Thu Jan 26 23:28:21 2006 Subject: [sane-devel] Try it out: SANE, JNI and Java all in an applet In-Reply-To: <20060126135329.23593.qm...@web50011.mail.yahoo.com> References: <20060126135329.23593.qm...@web50011.mail.yahoo.com> Message-ID: <200601270027.41207.oliver.schwa...@gmx.de> Hi, > I noticed in my logs that some people are trying this. However, I > posted the wrong link. This is the correct link to scan from your > browser. I didn't get it to work here, after several attempts. Some notes: - In konqueror you need to disable the security manager (in settings / java), otherwise it won't load the jni library - Enabling the java console is helpful (also in settings / java) - On a 64 bit Linux installation you need a 32 bit jvm, as well as a 32 bit version of the SANE libraries - If you're using firefox you need to install the java plugin as described here: http://plugindoc.mozdev.org/linux.html#Java - If no scanner can be found the applet crashes with: caught this fat one: java.lang.ArrayIndexOutOfBoundsException: 0 After I solved these issue the applet initializes my scanner, but it doesn't scan. Instead, I get another exception: caught this fat one: chiralsoftware.scanner.SaneException: Could not set an option value for name: depth I guess this is because there's no option named depth for my scanner (it only supports one depth). So I guess the applet needs to check if an option exists before it tries to set it. Also, for those who missed the link since it's only visible if you read the html mail, it's http://chiralsoftware.net/scanner/applet.html (in general, you should avoid posting of html messages to mailing lists). Regards, Oliver