[sane-devel] Script to interpret USB logs for GL841 based scanners
For the last couple of weeks I've been writing a script to interpret the output of 'usbsniff' and a modified version of 'parseusbsnoop.awk'. This PERL script assumes a GL841 based scanner and is currently to the point where is can convert a USB log into a sequence of reads and writes to the various registers and bit fields of a G841. In the case of a register containing multiple bit fields it also highlights the bit field which has been modified. I'm pushing ahead to get the script to recognise higher level functions, which may or may not be specific to the LiDE 60. In case anyone is interested, I've put the script on my website: https://john.daltons.info/lide60/ Hopefully it will be useful to anyone working with GL841 based scanners. Here is an example of the output for portion of an LiDE60's cyle where it starts the scan and reads the image data from the scanner: -- BEGIN CUT HERE-- 24253 : 216128ms Start motor movement. 24254-24597: 216129ms Wait for image buffer to contain data. ([0x41] bit 6)==1 24598-24603: 216474ms [gl841:validword] - 564Read number of bytes available to read from the image buffer (564) from the GL841. 24604-24609: 216480ms [gl841:validword] -1204Read number of bytes available to read from the image buffer (1204) from the GL841. 24610-24615: 216486ms [gl841:validword] -1740Read number of bytes available to read from the image buffer (1740) from the GL841. 24616-24621: 216492ms [gl841:validword] -2252Read number of bytes available to read from the image buffer (2252) from the GL841. 24622 : 216498ms Point to the read port of the GL841 image buffer DRAM (address 0x45) in preparation for a bulk read. 24623-24725: 216499ms Multiple reads from image buffer (1678578 bytes) 24726 : 225445ms 0xa0 - [gl841:scanner_setup]Write scanner setup. *scan process : disable shading area : whole line DRAM size : 4Mx1 DRAM size : 4M or 8M shading : enable watchdog timer (register 0x1e): disable scanner type : CIS 24727-24730: 225446ms 0b 11 0010 - [gpio18..9] set GPIO18-9 to known state (includes pins which control motor?) 24731-24732: 225450ms [gl841:motor_status] - 0x03 Read motor status. *scanner mode: command *motor is: moving motor speed : normal 24733-24734: 225452ms [gl841:scanner_status] - 0xf5 Read scanner status. motor is : processing front end is : not busy (ready to read/write) lamp is: on scanner is position: not home *scanning is: finished motor feeding : finished *image buffer is: empty power : on -- END CUT HERE--
[sane-devel] Canoscan LiDE 25 detected by find-scanner, not scanimage
Hi, On Monday 21 November 2005 15:47, Chris wrote: Hi there, I've recently bought a Canoscan LIDE 25 and managed to get it working on my Ubuntu 5.10 laptop using the CVS code. Unfortunately I can't get the same scanner working on an Ubuntu 5.10 desktop machine using the same procedure. I would really appreciate someone helping me make sense of the error message. I did the following exactly as per the successful laptop install: - download cvs nightly code - ./configure --prefix=/usr - make - sudo make install But I get the following results: sane-fine-scanner found USB scanner (vendor=0x04a9 [Canon], product=0x2220 [CanoScan], chip=LM9832/3) at libusb:002:003 That's okay so far ;) scanimage -L (the output is the same as root) device `v4l:/dev/video0' is a Noname Hauppauge WinTV 34xxx models virtual device It seems odd that SANE is picking up the TV card - is this a problem? As you can see the canoscan doesn't appear. That's bad - indeed ;) After reading around the list archive and some forums I tried the following: export SANE_DEBUG_PLUSTEK=12 export SANE_DEBUG_DLL=12 Okay. scanimage -L (again, the output is the same as root) [sanei_debug] Setting debug level of dll to 12. [dll] sane_init: SANE dll backend version 1.0.11 from sane-backends 1.0.16-cvs [dll] sane_init: reading dll.conf [dll] add_backend: adding backend `net' [dll] add_backend: adding backend `abaton' [dll] add_backend: adding backend `agfafocus' [dll] add_backend: adding backend `apple' [dll] add_backend: adding backend `avision' [dll] add_backend: adding backend `artec' [dll] add_backend: adding backend `artec_eplus48u' [dll] add_backend: adding backend `as6e' [dll] add_backend: adding backend `bh' [dll] add_backend: adding backend `canon' [dll] add_backend: adding backend `canon630u' [dll] add_backend: adding backend `coolscan' [dll] add_backend: adding backend `coolscan2' [dll] add_backend: adding backend `dmc' [dll] add_backend: adding backend `epson' [dll] add_backend: adding backend `fujitsu' [dll] add_backend: adding backend `gt68xx' [dll] add_backend: adding backend `hp' [dll] add_backend: adding backend `hpsj5s' [dll] add_backend: adding backend `hp5400' [dll] add_backend: adding backend `ibm' [dll] add_backend: adding backend `leo' [dll] add_backend: adding backend `ma1509' [dll] add_backend: adding backend `matsushita' [dll] add_backend: adding backend `microtek' [dll] add_backend: adding backend `microtek2' [dll] add_backend: adding backend `mustek' [dll] add_backend: adding backend `mustek_usb' [dll] add_backend: adding backend `nec' [dll] add_backend: adding backend `niash' [dll] add_backend: adding backend `pie' [dll] add_backend: adding backend `plustek' [dll] add_backend: adding backend `qcam' [dll] add_backend: adding backend `ricoh' [dll] add_backend: adding backend `s9036' [dll] add_backend: adding backend `sceptre' [dll] add_backend: adding backend `sharp' [dll] add_backend: adding backend `sm3600' [dll] add_backend: adding backend `snapscan' [dll] add_backend: adding backend `sp15c' [dll] add_backend: adding backend `tamarack' [dll] add_backend: adding backend `teco1' [dll] add_backend: adding backend `teco2' [dll] add_backend: adding backend `teco3' [dll] add_backend: adding backend `u12' [dll] add_backend: adding backend `umax' [dll] add_backend: adding backend `umax1220u' [dll] add_backend: adding backend `v4l' [dll] add_backend: adding backend `hpoj' [dll] add_backend: adding backend `hpaio' [dll] sane_get_devices [dll] load: searching backend `hpaio' in `/usr/lib/sane' [dll] load: trying to load `/usr/lib/sane/libsane-hpaio.so.1' [dll] load: dlopen()ing `/usr/lib/sane/libsane-hpaio.so.1' [dll] init: initializing backend `hpaio' [dll] init: backend `hpaio' is version 1.0.6 [dll] load: searching backend `hpoj' in `/usr/lib/sane' [dll] load: trying to load `/usr/lib/sane/libsane-hpoj.so.1' [dll] load: couldn't open `/usr/lib/sane/libsane-hpoj.so.1' (No such file or directory) [dll] load: couldn't find backend `hpoj' (No such file or directory) [dll] load: searching backend `v4l' in `/usr/lib/sane' [dll] load: trying to load `/usr/lib/sane/libsane-v4l.so.1' [dll] load: dlopen()ing `/usr/lib/sane/libsane-v4l.so.1' [dll] init: initializing backend `v4l' [dll] init: backend `v4l' is version 1.0.4 [dll] load: searching backend `umax1220u' in `/usr/lib/sane' [dll] load: trying to load `/usr/lib/sane/libsane-umax1220u.so.1' [dll] load: dlopen()ing `/usr/lib/sane/libsane-umax1220u.so.1' [dll] init: initializing backend `umax1220u' [dll] init: backend `umax1220u' is version 1.0.1 [dll] load: searching backend `umax' in `/usr/lib/sane' [dll] load: trying to load `/usr/lib/sane/libsane-umax.so.1' [dll] load: dlopen()ing `/usr/lib/sane/libsane-umax.so.1' [dll] init: initializing backend `umax' [dll] init: backend `umax' is version 1.0.44 [dll] load: searching backend `u12' in `/usr/lib/sane'
[sane-devel] Problem with GT68XX and MacOS X
Le Mardi 22 Novembre 2005 15:38, Nick Collingridge a ?crit?: Summary of configuration: G5 Dual 2GHz, 2GB RAM MacOSX 10.4.3 Scanner ? Mustek A3 USB LibUSB ? 0.1.11 SANE Backends - 1.0.16 I have installed all the above items and made sure that there is a properly configured (according to the instructions, including an override and a vendor and model number) GT68xx.conf file in /usr/local/etc/ on my boot drive. However I still can?t get the scanner to work. The symptoms are: Using sane-find-scanner in Terminal I get: found USB scanner (vendor=0x055f, product=0x0210 [USB Scanner], chip=GT-6816) at libusb:009:004-055f-0210-00-00 Then if I try scanimage ?L I get a message starting ?No scanners were identified...? Following this I have to power-cycle the scanner before it is recognised by sane-find-scanner again. If I try scanimage ?L immediately after power-cycling the scanner, I get: device `gt68xx:libusb:009:004-055f-0210-00-00' is a Mustek ScanExpress A3 USB flatbed scanner But irrespective of when I power-cycle, if I try scanimage test.pnm, I get: scanimage: no SANE devices found I am confused and don?t know where to go next. I think there is an issue here with the scanner having to be power-cycled after every command (is this a bug?), but even if I try and actually scan an image immediately after power-cycling, it still doesn?t work. I am afraid that all the man pages and the FAQ for TWAIN SANE are not very complete in their description of what needs to be done to get everything working properly, and also don?t really help very well when things don?t work. They just do not describe the combination of circumstances I am experiencing. Also they are clearly written mainly for Linux users and much does not directly transfer to MacOS X. The really frustrating thing is that when I installed SANE on a previous MacOS X system it worked fine (within its limits!). I just can?t get it to work again with the latest versions of all the s/w. Do I need to provide any further info, or can someone give me some pointers on what I need to do to get things going beyond where I have got to? Aye!! It's amazing I got the same pb with an epson scanner (GT-7000) using Fedoracore 4. kernel 2.6.11. On a redhat 9.0 xsane works fine. Besides I observe that the driver=none in the file /proc/bus/usb/devices When I submit xsane every thing seems O.K. at the beginning but the program hangs and after a while I got this message: failure to start the scanner Error I/O on the peripherical I saw today that an other guide Mike Brodbelt has about the same Pb with an espson scanner using a kernel 2.6.14 mine is 2.6.11 ??? xsane 0.95 xsane-0.89 works fine on a redhat 9.0 kernel 2.4.20. Pb could be related to libusb ??? Thanks Fran?ois
[sane-devel] Re: Re: Re: epson 3490 - transparency unit problem
On Fri, 2005-11-18 at 00:11 +0100, Oliver Schwartz wrote: ah, ok. That makes more sense. I guess I'll disable 2400 dpi to make sure the error doesn't occur. 1600 dpi seems to work OK. Oliver, did you receive my previous post in which I've tested almost all possible combinations of resolution/scan mode/bit depth? The aspect ratio (=real resolution) is wrong in all but a few lineart modes. And halftoning was (at the time I've tested it) completely broken. Should they be removed for now or can be they corrected until the release (bug corrections are still allowed in CVS)? Levente PS: will be 2400 dpi enabled in the future? And why does the windows driver allow 2400 dpi but not 1600?
[sane-devel] Re: CanoScan LiDE 25
On Tuesday 22 November 2005 18:33, deif (sent by Nabble.com) wrote: Hello Gerhard are you still working on that scanner? Hmmm, I'm maintaining the plustek backend, and the Lide25 is working @ least my test-device works okay with the current CVS code. I tried to get mine working without any luck but i can get you that usb sniff What are your probs? Which SANE version? Care to send any debug output? Please explain your probs more in detail. Gerhard
[sane-devel] Canoscan LiDE 25 detected by find-scanner, not scanimage
Gerhard, Thank you very much for your reply. I remember originally the dev files for libusb were not installed on Ubuntu. This meant that sane-find-scanner didn't find any devices. I realised this was the problem, installed the dev files, redid the ./configure and forced it to re-make everything. This is where I was at when I got the output in my original email. Are you sure, that the USB subsystem has been setup correctly? I'm afraid I'm still pretty new to linux so I'm not sure how to answer this definitively. I do know that USB pen drives and such work fine on the machine and when I do 'lsusb' with the Canoscan attached it is listed as an attached device. The output of 'sane-config --libs' is as follows: -lsane -lusb -lpthread -lm -ldl So I seem to be missing -ljpeg -lieee1284 -lgphoto2 -lgphoto2_port and -lresmgr Do you think this is the cause of the problem? If so am I right in guessing that I need to find and install some more dev files and re-do the ./configure make? Thanks again! Chris :) I did the following exactly as per the successful laptop install: - download cvs nightly code - ./configure --prefix=/usr - make - sudo make install But I get the following results: sane-fine-scanner found USB scanner (vendor=0x04a9 [Canon], product=0x2220 [CanoScan], chip=LM9832/3) at libusb:002:003 That's okay so far ;) scanimage -L (the output is the same as root) device `v4l:/dev/video0' is a Noname Hauppauge WinTV 34xxx models virtual device It seems odd that SANE is picking up the TV card - is this a problem? As you can see the canoscan doesn't appear. That's bad - indeed ;) After reading around the list archive and some forums I tried the following: export SANE_DEBUG_PLUSTEK=12 export SANE_DEBUG_DLL=12 Okay. scanimage -L (again, the output is the same as root) Presumably the reason it doesn't find the scanner is because of this bit: [plustek] usbDev_open(auto,0x04A9-0x2220) - (nil) [plustek] sanei_usb_open failed: No such file or directory (2) [plustek] open failed: -1 Any idea what could be causing that last parameter to be set to nil? well you might first disable all backends but the plustek in dll.conf, but that's more a cosmetic change. Are you sure, that the USB subsystem has been setup correctly? What about libusb? Are the development headers installed and the lib has been linked to SANE: check sane-config --libs, it should look like: -lsane -lusb -lpthread -lm -ljpeg -lieee1284 -lgphoto2 -lgphoto2_port -lm -lresmgr -ldl esp. the -lusb is important. Gerhard
[sane-devel] Problem with GT68XX and MacOS X REVISED
Hi, please reply also to the sane-dvel mailing list, not only to me. On Tue, Nov 22, 2005 at 07:10:21PM +, Nick Collingridge wrote: There are some issues with the A3 USB in 1.0.16 which have been fixed in the current development version of sane-backends. But as far as I know, none of these issues were related to detection of the scanner. Trying a current development snapshot may be woth a try anyway. I can find what I think is a source version of this, but not a compiled binary. Yes. Only source code is provided by the SANE project (and some links to binaries, but people tend to create binaries only for stable versions). I have installed all the above items and made sure that there is a properly configured (according to the instructions, including an override and a vendor and model number) GT68xx.conf file in /usr/local/etc/ on my boot drive. This scanner does not need an override. Vendor and product ids are already in gt68xx.conf. Sorry - attempting belt and braces when other solutions didn't work. Still confused on this front by how the backend will know which scanner name to use unless the conf file tells it, though... The USB ids and respective scanner names are hard-coded. This override crap is only needed if scanners have the same USB ids but different hardware. In theory, this should never happen but Mustek and others did it. So in these cases the backend has to be told which scanner is actually connected. For most scanners (including yours) that's not necessary. Please send the output of export SANE_DEBUG_GT68XX=255 (or Mac OS X equivalent) export SANE_DEBUG_SANEI_USB=255 scanimage -L I've performed the two export commands but I don't know where the output files get put - I've tried searching for them but I don't know what they're called even! If you can give me a clue of where the files might be I'll happily send them to you. The log messages will be pronted to stderr so you should see them on the terminal window. export is for sh/bash, if you use another shell you may need setenv instead. To save the output to a file, use scanimage -L 2logfile.txt You are not expected to power-cycle the scanner each time :-) This doesn't happen on Linux or any of the BSDs and I also haven't gotten a report about such behaviour on Mac OS X as far as I remember. Maybe not, but this is the only way to get the scanner recognised successfully. I just wanted to confirm that this is not intended or normal behaviour of the gt68xx backend. I am afraid that all the man pages and the FAQ for TWAIN SANE are not very complete in their description of what needs to be done to get everything working properly, and also don?t really help very well when things don?t work. man sane contains some trouble-shooting notes. But it's all very vague and written very much from the persective of use with Linux - lost of mentions of unloading kernel drivers, mounting file The sane manpage does not mention kernel drivers at all. systems and suchlike that are very much on the technical end of the scale and just don't help with a MacOS X problem! Some MacOS X specific information is in README.darwin but it's intended more for building SANE than using. I know that this is an open-source project and all done by volunteers, so I'm not really complaining - just pointing out that if you do get a problem installing on OS X, the Linux-focused nature of the man pages is a bit of a hindrance to getting things going by yourself! Please send patches for Mac OS X specific tips, especially for man sane-usb and man sane-scsi as these are really OS-specific. I am pretty technically competent with MacOS X and Windows but even so there is a shortfall between my knowledge coupled with what I can work out from the documentation and where I need to be to get this going. Usually special questions/trouble like yours is best discussed on the mailing list. I believe that it was SANE-backends 1.0.14 and libusb 0.1.8 Maybe a problem with libusb? IIRC there used to exist several issues with libusb on Mac OS X but I thought they were fixed recently. Bye, Henning
[sane-devel] [Fwd: [Lcms-user] LPROF development snap shot version 1.11.0 released]
See attachment -- m.vr.gr. Gerard Klaver -- next part -- An embedded message was scrubbed... From: Hal V. Engel hven...@astound.net Subject: [Lcms-user] LPROF development snap shot version 1.11.0 released Date: Mon, 21 Nov 2005 12:34:15 -0800 Size: 7973 Url: http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20051123/2208f579/attachment.mht From oliver.schwa...@gmx.de Wed Nov 23 19:13:35 2005 From: oliver.schwa...@gmx.de (Oliver Schwartz) Date: Wed Nov 23 19:14:11 2005 Subject: [sane-devel] Re: Re: Re: epson 3490 - transparency unit problem In-Reply-To: 1132733342.18884.6.ca...@novak.chem.klte.hu References: 4376277f.3090...@free.fr 200511180011.40779.oliver.schwa...@gmx.de 1132733342.18884.6.ca...@novak.chem.klte.hu Message-ID: 200511232013.35841.oliver.schwa...@gmx.de Hi, On Fri, 2005-11-18 at 00:11 +0100, Oliver Schwartz wrote: ah, ok. That makes more sense. I guess I'll disable 2400 dpi to make sure the error doesn't occur. 1600 dpi seems to work OK. Ok. I've replaced the 2400 DPI resolution with 1600 DPI in CVS. Oliver, did you receive my previous post in which I've tested almost all possible combinations of resolution/scan mode/bit depth? Yes, but your mail got buried under some other mail ;-) The aspect ratio (=real resolution) is wrong in all but a few lineart modes. And halftoning was (at the time I've tested it) completely broken. Lineart and grayscale should be fixable. The aspect ratio is correct as far as I can see - it's rounded up to be dividable by 8, as each pixel uses one bit and the smallest unit to request is one byte, i.e. 8 pixels. My guess is that 1600 DPI works fine for both lineart and grayscale, so the only remaining problem is 3200 DPI in lineart and grayscale. Currently the deinterlacer is used for grayscale but not for lineart, it seems that both settings have to be adjusted. Can you send me example scans for 3200 DPI for a lineart and grayscale scan? As for halftoning: I've no idea how to fix it. If the windows driver doesn't offer it there's a good chance that the scanner doesn't support it at all. I guess it should be disabled. PS: will be 2400 dpi enabled in the future? And why does the windows driver allow 2400 dpi but not 1600? You'd have to ask the epson guys. My guess is that the scanner scans at 3200 DPI if 2400 DPI is requested and the decimating to 2400 DPI is done in software. It could be done in the snapscan backend as well, but I'm not sure if it's worth the effort. I guess the better choice (in terms of image quality) is to scan at 3200 DPI and rescale the image in gimp. /Oliver
[sane-devel] FYI: Giving up on Mustek 1200 III EP support
In case anyone was interested in this... About a month ago I announced that I was going to try to add sane support for my Mustek 1200 III EP scanner. Jochen and his contacts at Mustek were very helpful in trying to find the Windows driver source, but ultimately it was nowhere to be found. I tried to trace the parallel port traffic under Win98, but that was also unsuccessful. And Jochen had previously tried to add support for this scanner without the source, and didn't get far. It's not likely that I would get any farther. So I've given up. -- Ron ronhd at users dot sourceforge dot net Opinions expressed here are all mine.
[sane-devel] Re: Re: CanoScan LiDE 25
After a lot of compiling and installing sane-find-scanner finds it found USB scanner (vendor=0x04a9 [Canon], product=0x2220 [CanoScan], chip=LM9832/3) at libusb:001:007 # Your USB scanner was (probably) detected. It may or may not be supported by # SANE. Try scanimage -L and read the backend's manpage. but scanimage -L finds no scanner. I installed (or at least I tried to) backend 1.0.16 on an ubuntu system how do i make a debug output? -- Sent from the SANE - Dev forum at Nabble.com: http://www.nabble.com/CanoScan-LiDE-25-t145756.html#a1624192 -- next part -- An HTML attachment was scrubbed... URL: http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20051123/0a2ccb85/attachment.htm From lno...@dragon.unideb.hu Thu Nov 24 10:35:11 2005 From: lno...@dragon.unideb.hu (Levente =?ISO-8859-1?Q?Nov=E1k?=) Date: Thu Nov 24 10:37:13 2005 Subject: [sane-devel] Re: Re: Re: epson 3490 - transparency unit problem In-Reply-To: 200511232013.35841.oliver.schwa...@gmx.de References: 4376277f.3090...@free.fr 200511180011.40779.oliver.schwa...@gmx.de 1132733342.18884.6.ca...@novak.chem.klte.hu 200511232013.35841.oliver.schwa...@gmx.de Message-ID: 1132828511.19923.25.ca...@novak.chem.klte.hu Hi, On Wed, 2005-11-23 at 20:13 +0100, Oliver Schwartz wrote: Hi, Lineart and grayscale should be fixable. The aspect ratio is correct as far as I can see - it's rounded up to be dividable by 8, as each pixel uses one bit and the smallest unit to request is one byte, i.e. 8 pixels. My guess is that 1600 DPI works fine for both lineart and grayscale, so the only remaining problem is 3200 DPI in lineart and grayscale. Currently the deinterlacer is used for grayscale but not for lineart, it seems that both settings have to be adjusted. Can you send me example scans for 3200 DPI for a lineart and grayscale scan? I will send them you in private mail. As for halftoning: I've no idea how to fix it. If the windows driver doesn't offer it there's a good chance that the scanner doesn't support it at all. I guess it should be disabled. What does the snapscan backend for halftoning? Are there halftoning algorithms implemented in software or does it only pass a flag to the scanner? I'm asking this because there is a kind of halftoning, though broken. If it's done by the scanner, it could indicate then it is capable of some kind of halftoning. PS: will be 2400 dpi enabled in the future? And why does the windows driver allow 2400 dpi but not 1600? You'd have to ask the epson guys. My guess is that the scanner scans at 3200 DPI if 2400 DPI is requested and the decimating to 2400 DPI is done in software. Yes, it was also my guess. There is also decimation at 1600 dpi, isn't it (and at all resolutions below 3200)? The decimation patterns are evident for most if not all small resolution modes (I checked it last time), only this decimation is maybe done in hardware instead of software. But of course it is easier to throw away every other column/line instead of one of four. It could be done in the snapscan backend as well, but I'm not sure if it's worth the effort. I guess the better choice (in terms of image quality) is to scan at 3200 DPI and rescale the image in gimp. That's true, but in fact this applies to all resolutions below 3200dpi. The best image quality you get will always be by sampling at 3200dpi then downsampling to the requested resolution with bilinear, bicubic, L?nczos, etc... algorithms. I can see one advantage in scans directly performed at 2400 dpi: several printers have a resolution of 2400x1200 or 4800x1200 dpi, it could come handy when using the scanner as a copier (OK, it does not happen too often, maybe if one scans slides/negatives and print them directly). One further question: do you know what the real hardware resolution of the Perfection 3490 is? In the technical data sheet Epson states it is 3200x6400 dpi. These 6400 dpi are maybe attained with the stepper motor (as was the case with my former 600x1200 dpi scanner). Levente