[sane-devel] fail: open driver for Epson Perfection V100
As discussed before on this mailing list, I tried to write an open driver in order to replace epkowa but I fail and I will live far from the scanner in few weeks so I can't continue. To sum up what is known today: - the protocol is more or less like the epjitsu. - however the command headers are not the same as the epjitsu ones. - command used to call to set up the resolution is 1e 8d. Value for 50dpi: 03 Value for 600dpi: 02 Value for 12800dpi: 00 - the preview scans at 50dpi - the firmware is included in the Esf66.bin file (in the MS Windows driver). - the 255 first bytes of Esf66.bin are not sended. - the end of the Esf66.bin is not sended too (they are only ff values). It's probably not useful but my logs and files are there: http://sblondon.free.fr/scanner_v100/ I will unsubscribe to the mailing list in days/weeks. -- St?phane
[sane-devel] Xsane 0.996 Canon LIDE50 Ubuntu Karmic
2010/4/25 David Liell opus9743 at gmail.com: Cannot attach results due to limitations of this service. The maximum size is 100Ko for the attachment. - compress your files and see if the size decreases enough - host it with a webserver or ftp server - use a webservice -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/4/14 Olaf Meeuwissen olaf.meeuwissen at avasys.jp: When that's done, autoreconf and ./configure again. Hope this helps, I done what you said and the compile runs. I get .la file like the epjitsu. Thank to you and m. allan noah! -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/4/12 Alejandro Imass ait at p2ee.org: Any news regarding the use of epjistu to directly drive the v100? (w/out iscan) I copied/paste the epjitsu files and renamed them as epv100. I change few things in files but currently I'm fighting with the compilation process: - File 'configure.in': I added epv100 in the ALL_BACKENDS variable, execute ./configure and make but the scripts ignore my files. - File 'config.status': I added epv100.conf in S[BACKEND_CONFS_ENABLED] and libsane-epv100.la in S[BACKEND_LIBS_ENABLED]. My last attempts: - I added a syntax error in the .c file but the compilation process works ok. - I added an invalid backend ('XXX' in ALL_BACKENDS) but it doesn't complain too. Does anyone know what I'm doing wrong? -- St?phane Il y a 98,57% de chance que cette signature soit approximative.
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/4/14 St?phane Blondon stephane.blondon at gmail.com: Does anyone know what I'm doing wrong? (The problem is the files are simply ignored.) -- St?phane Il y a 98,57% de chance que cette signature soit approximative.
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/4/1 m. allan noah kitno455 at gmail.com: It is difficult to know which scanner commands are vital to proper operation, without trying :) I have sniffed, taken notes, read, think ...and it's not finished because there are lot of mysterious data. Stuff that I understand/assume about the protocol (more or less obvious): - all the command sended start by 1e xx. - the answer to a command can be data or 06 (which means ok). - 1b 03 is used to start a new sequence. The answer is 18 81 when the scanner is ready. If not ready, the scanner sends 58 81. This allows the driver to loop until the scanner is ready. - some command seems to be used for several things. wtf?! - some same data are sended to the scanner and by the scanner in another step. Perhaps it's to check the data transfer (see note 1)? - the same start sequence is used to make a preview and to scan. - command used to call to set up the resolution is 1e 8d. Set up for 50dpi: 03 Set up for 600dpi: 02 Set up for 12800dpi: 00 - the preview scans at 50dpi, which seems to be logical because it's the lower resolution according the Epson scanner software under Windows (see note 2). - the picture data are splitted in block. (too big?) The block ends by the same sequence for every block. The sequence is different between preview and each resolution of final scan (see note 3). Of course, there are perhaps misunderstandings in the previous list. 1: however, it would be strange because several data was transfered (firmware for example). So there is high probability I made an error about it. 2: the available resolutions in Epson scan are 50, 72, 96, 150, 200, 240, 266, 300, 350, 360, 400, 600, 720, 800, 1200, 2400, 3200, 4800, 6400, 9600 and 12800dpi. 3: tested only with preview and scan at 50, 600 et 12800dpi. Mysterious data/behaviour: - send data several time - or data starting from 0 to ff (and variants) - or command used to send the same data (1e 92 and 1e 31 for example) - ... to continue.. -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/3/31 m. allan noah kitno455 at gmail.com: There are enough commands different from epjitsu that I dont know if it makes sense to try and cram it into that backend, at least not without a re-write first. I will copy-paste the epjistu files and modify them. I plan to search the {dpi, color, ...} values are sended. Do you think there are others priorities? -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/3/30 m. allan noah kitno455 at gmail.com: get your site up yet? Not really fast but it's done now. The logs and others stuff are available at: http://sblondon.free.fr/scanner_v100/ -- 'logs' directory: some previous logs and the asked one. direct links for what you want: - init: http://sblondon.free.fr/scanner_v100/logs/epson_v100_init_before_epson_scan_software_launch.txt - picture scans: http://sblondon.free.fr/scanner_v100/logs/epson_v100_scan_RGB/ -- 'test_firmware' directory: the firmware and the little code I wrote to test it. 'firmware' is what is sended to the scanner (generated by extract.py). checksum computes the checksum (surprising, isn't it?). Note the code was written for quick testing so it's not really polished. -- file 'spike4.pl' is the well-know script here. I just added the command to use it in the header. I hope it will help the next user. I deleted the hosted archive at zeropassword.com. -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/3/28 St?phane Blondon stephane.blondon at gmail.com: I have created a new file based on the Esfw66.bin and used `chksum` on it. The sum doesn't match the data sended after the firmware in the logfile. The error comes probably from me. I found the code used for the checksum in epjistu.c so I will try again tomorrow by writing a little C code based on it. Ok, the checksum code works. It uses the same method than epjistu. After the checksum, the next command is the same too (reinit with 1b16). -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/3/28 m. allan noah kitno455 at gmail.com: 2010/3/27 St?phane Blondon stephane.blondon at gmail.com: Esfw66.bin is really the firmware: it's the main block of data in the init logfile (starting at line 54). The differences are: - the 100 first bytes of the firmware are not sended. I made a stupid mistake: 100 is displayed in the hexadecimal editor, so it means adress 255. this sounds like epjitsu. there is also a checksum byte that follows. I have created a new file based on the Esfw66.bin and used `chksum` on it. The sum doesn't match the data sended after the firmware in the logfile. The error comes probably from me. I found the code used for the checksum in epjistu.c so I will try again tomorrow by writing a little C code based on it. -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/3/28 m. allan noah kitno455 at gmail.com: 2010/3/27 St?phane Blondon stephane.blondon at gmail.com: The results are available in the archive at http://static.zeropassword.com/tmp/epson_v100_init_and_scan_RGB.tar.lzma It a temporary address; I will set up a very basic website elsewhere. not working right now? It works when I try. I also created an account to set up a website for free provided by my ISP but I have to wait 24hours for activation. :-( When it will be done, I will send every data on it. -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/3/26 m. allan noah kitno455 at gmail.com: Well, it does use the same status command as the epjitsu scanners, and the two-byte command and status layout is the same, but the actual commands are slightly different. When I have more time I will try to extract the image. What can I do to help you (if it's possible)?) -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/3/25 Alejandro Imass ait at p2ee.org: i Have done _some_ tweaking here and there with sane, may be able to help in something along the way Having few experiences is more than me! ^^ It's a really good news! -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/3/24 m. allan noah kitno455 at gmail.com: At that point, I would investigate the epjitsu sane backend, as it already supports an epson chipset which may be related to the one in the V100. epjitsu.conf.in explains that the driver needs a firmware called '*.nal', often in a cab file. I didn't found such a file (even in cab files). However, I found a 'Esfw66.bin' in a cab. The size is ok (64Kio), the path too (ProgramFiles/epson/escndv/es0066). ES66 seems to be a codename for the scanner. For example, the file es66.inf has: ES66.DeviceDesc = EPSON Perfection V10/V100 or %ES66.DeviceDesc% = USB.ES66,USB\VID_04B8PID_012D (Those VID and PID match the Vendor_ID and Product_ID of the Perfection V100Photo.) I don't know if it's useful but `file` doesn't recognize the file type. If I edit 'Esfw66.bin' in hexadecimal mode, the first line is: : 4544 4c41 EDLA The others cab in es0066 directory have a lot of .dll files, .icm files, another .bin file (only 3Kio), 'Version.dat', two .chm files. There are files I don't know in 'perv100.cab' but I think they are not as interesting as 'Esfw66.bin': stephane at degtyarov:/tmp/epson cab/perv100 $ ls -lh total 512K -rw-r--r-- 1 stephane stephane 5,0K ao?t 29 2006 ES0066.hrd -rw-r--r-- 1 stephane stephane 238 d?c. 1 2005 ES0066.idx -rw-r--r-- 1 stephane stephane 96K oct. 16 2006 PerV100.ds (and two .icm files) -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/3/26 m. allan noah kitno455 at gmail.com: Try getting a usb sniffer log of a low resolution small scan, using this tool: The attachment file is an archive; it contains two files: - a scan of a small area (10*10 pixels) at the lowest resolution available in the epson scan software. Init and preview steps not included in the log file. - a replug done in Usbsnoop. Preview step not included. The logs are converted by spike4. The preview step creates big logfile (41Mo) so I don't provide it here. If needed, I will provide it by website. Note: the attachment size is limited to 100Ko. (That's ok; I use mailing list with lower size.) Do you think it's possible to add this information in the Welcome message? -- St?phane -- next part -- A non-text attachment was scrubbed... Name: epson_v100_logs.tar.lzma Type: application/x-lzma Size: 40995 bytes Desc: not available URL: http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20100326/d08999d7/attachment-0001.bin
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/3/24 m. allan noah kitno455 at gmail.com: Depending on how your system is configured, the existing /usr/bin/scanimage might have a preference for /usr/lib, while /usr/local/bin/scanimage will prefer /usr/local/lib. So, you might just need to call the right binary... It works exactly like you said! :-) Thanks a lot! I see the epjitsu library (compiled version is libsane-epjitsu.so.1.0.21). (It's probably without interest but few files have execute rights in backend directory: sm3840.c, sm3840.h, sm3840_lib.c, sm3840_lib.h, sm3840_scan.c, stv680.conf.in, stv680.h) If it's useful for someone else in the future: - I commented the line /usr/local/lib in /etc/ld.so.conf.d/libc.conf - execute `ldconfig` as root - download the snapshot with git (available in git-core package under debian) - `./configure` - `make` - `make install` And then: stephane at degtyarov:/tmp/sane-backends $ /usr/local/bin/scanimage -L No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages). stephane at degtyarov:/tmp/sane-backends $ scanimage -L device `epkowa:interpreter:001:005' is a Epson Perfection V10/V100 flatbed scanner Now, the hard work starts (understand the generated log files and the source code)! -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
Hello, I bought an Epson Perfection V100 Photo which works with the epkowa driver (with gt-s600). I don't find a recent mail on the mailing-list talking about writing a free driver. So I plan to (try to) develop it to remove the licence problem. I never done reverse engineering or wrote driver so the failure is clearly possible... :-( I read the libusb documentation (http://libusb.sourceforge.net/doc/index.html) and just start a very minimal C code to find the scanner. I have started to read other pages on the web too, but I think sane team would have advice about good links too. I found the backend-writing.txt page on sane website. http://www.sane-project.org/lists/sane-mfgs-cvs.html says that the scanner is supported by the epkowa backend plus non-free interpreter so I suppose I only need to rewrite the interpreter. The epkowa.desc is under GPL v2+ (found at /usr/share/iscan/epkowa.desc). It seems that the scanner has 1 Configuration, 1 interface with 2 endpoints. - endpoint 0 on address 81h (default control pipe) - endpoint 1 on address 02h (transfer data pipe) (I deduce this from the output of `lsusb -v`; perhaps I'm wrong. The useful output is at the end of this e-mail.) - I subscribed this mailing list. - I use Debian testing on x86 (32bits) Packages used: libusb-dev 2:0.1.12-14 libsane and sane-utils 1.0.20-14+b1 libsane-extra 1.0.20.3 What do you think about I would like to do? Do you have any tips or see problems? Thanks ### lsusb start ### degtyarov:~ # lsusb -v Bus 001 Device 002: ID 04b8:012d Seiko Epson Corp. Perfection V10/V100 (GT-S600/F650) Device Descriptor: bLength18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 255 Vendor Specific Protocol bMaxPacketSize064 idVendor 0x04b8 Seiko Epson Corp. idProduct 0x012d Perfection V10/V100 (GT-S600/F650) bcdDevice1.00 iManufacturer 1 EPSON iProduct2 EPSON Scanner iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower2mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass255 Vendor Specific Subclass bInterfaceProtocol255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes2 Transfer TypeBulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 255 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes2 Transfer TypeBulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 255 Device Qualifier (for other device speed): bLength10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 255 Vendor Specific Protocol bMaxPacketSize064 bNumConfigurations 1 Device Status: 0x0001 Self Powered ### lsusb end ### -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/3/24 m. allan noah kitno455 at gmail.com: get some traces of the windows driver in action making some small scans, using this tool: http://www.pcausa.com/Utilities/UsbSnoop/ Then decode them with another utility (i am partial to spike4.pl, which google can find :) Ok, I found it and the way to use it (cat logfile.log | perl spike4.pl output.txt). Now, I will install usbsnoop and try it a little. and make sure you are using a recent sane-backends git snapshot for your devel, not 1.0.20. Can I install the git snapshot inside a system running in qemu? Or must I use an other install (and reboot from one to another)? I don't have hardware virtualization instructions on my CPU. -- St?phane
[sane-devel] open driver for Epson Perfection V100 Photo?
2010/3/24 m. allan noah kitno455 at gmail.com: 2010/3/24 St?phane Blondon stephane.blondon at gmail.com: Can I install the git snapshot inside a system running in qemu? Or must I use an other install (and reboot from one to another)? I don't have hardware virtualization instructions on my CPU. Why would you want to? just install it in /usr/local, and make sure that your system loads those libs before the ones in /usr/lib... I have got only one available computer but others users need sometimes the scanner (and they will not want to wait until I finish the driver...). I thought it's easier to have two distinct installs instead of playing with libs or symlinks from one to another configuration. But, the symlink is perhaps a simpler way to do it. -- St?phane