Re: [sane-devel] Plustek OpticBook 3800
On Sunday 28 December 2014 22:46:35 gra...@gmx.de wrote: Hi, Does anybody have some experience with the Plustek OpticBook 3800 scanner and got the sane backend to work with it? I'm using scanimage with the sane backend 1.0.24 where experimantal code for the OpticBook 3800 has been added. According the debug output the initialization passed without error, the motor does a short step but then stops and the debug output shows repeatedly this sequence: [genesys_low] sanei_genesys_read_gl847_register(0x41)=0xe5 [genesys_low] sanei_genesys_test_buffer_empty: buffer is empty Any feedback is very much appreciated. OpticBook 3800 does not work with sane. It worked for me more or less the way you described. OpticBook 3800 support were removed form sane after 1.0.24. So there is no way to use it on linux for now.:-(( signature.asc Description: This is a digitally signed message part. -- sane-devel mailing list: sane-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel Unsubscribe: Send mail with subject unsubscribe your_password to sane-devel-requ...@lists.alioth.debian.org
[sane-devel] Remote access to Pulstek OpticBook 3800
In order to do something to make my Pulstek OpticBook 3800 scanner work with sane I'd like to offer sane developers a remote access to my dev-desktop with scanner attach to it and with webcam+sound video streaming showing this scanner. If you send me ssh public key and login, I will grant you root access there and tell where to watch webcam streaming. Just for note: I've already reported about Pulstek OpticBook 3800 http://lists.alioth.debian.org/pipermail/sane-devel/2013-April/031220.html USB sniff etc. We found out that it uses GL845, basic GL845 support were added to sane after that, but it did not make it work properly. It do not even move carriage as it should but makes unpleasant sounds instead. A year ago 3800 was the only economy class device allowing scanning books without opening them wide. I think it is important to have this device supported by linux. There is no alternatives for it thus I can't just simply replace it. signature.asc Description: This is a digitally signed message part. -- sane-devel mailing list: sane-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel Unsubscribe: Send mail with subject unsubscribe your_password to sane-devel-requ...@lists.alioth.debian.org
[sane-devel] Current status of Pulstek 3800 on git
I've built current git version and try it with my Pulstek Opticbook 3800. export SANE_DEBUG_GENESYS=255 export SANE_DEBUG_GENESYS_LOW=255 export SANE_DEBUG_GENESYS_GL646=255 export SANE_DEBUG_GENESYS_GL841=255 export SANE_DEBUG_GENESYS_GL843=255 export SANE_DEBUG_GENESYS_GL846=255 export SANE_DEBUG_GENESYS_GL847=255 export SANE_DEBUG_GENESYS_GL124=255 scanimage -d genesys --resolution 75 --preview --mode Color 2preview.log preview.pnm What does it do: 1. Turn lamp off (It is on by default after turning it on) 2. Turn lamp off 3. Move caret a little bit (just several mm) from right to left 4. Make a strange sound 5. Pause longer than usual 6. move caret back, turn lamp off between each action there is notable pause. In the attachment there is a debug log from genesis backend, taken while scanning. PS please make me know when you do some changes considering 3800. It will make me do test much more often :-) -- next part -- A non-text attachment was scrubbed... Name: preview-pulsteck-3800_05-12-2013.log.gz Type: application/x-gzip Size: 16135 bytes Desc: not available URL: http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20131205/9c3f0d1c/attachment.bin
[sane-devel] Pulstek OpticBook 3800 - problems with openning device on 1.0.23+
Since I added preliminary support for GL846 a couple of months ago, you'd rather declare your scanner as a GL846 one like the canon_formula101_model. I've tried... scanimage -L does not list scanner at all in this case O_o Very strange for me... :-((( In order to test a newly compiled version, you can run it with the attached script (edit it to adapt it for the exact location of sane sources on your PC). The debugging output (preview.pnm and preview.log) will help the development and fixes of the backend part for GL846. see preview.git.as.canonf101.gl846.log there are also two files that shows how differently works gl847 in git and 1.0.22 I have starting to add preliminary code to handle the GL845 in the genesys backend. I'll commit it in git in about a week. Meanwhile I have updated sane-find-scanner to better detect genesys ASICs. I am interested by the test of the very latest git code on your scanner. You don't have to do 'make install' to try the new sane-find-scanner version, just run ./sane-find-scanner from the 'tools' subdirectory. Current git gives two different behavior when I try to scanimage. 1. It turn off lamp, turn on lamp, move head little bit forward, move it back, stop 2. Just turn off lamp and all there is a debug output of both variants. // Sorry for being so late, I misread your message, and decided that you will make ASIC detect in future and were waiting for test request, wondering why does it takes so long. And only now I reread message and understood that all already done by now, long time ago... Sorry once again... -- next part -- A non-text attachment was scrubbed... Name: preview-06-30-git-untouched2.log.gz Type: application/x-gzip Size: 4830 bytes Desc: not available URL: http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20130630/39d354a8/attachment.bin -- next part -- A non-text attachment was scrubbed... Name: preview-06-30-git-untouched1.log.gz Type: application/x-gzip Size: 9401 bytes Desc: not available URL: http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20130630/39d354a8/attachment-0001.bin
[sane-devel] Pulstek OpticBook 3800 - problems with openning device on 1.0.23+
since the ASIC used is a GL845, you should not try forcing it to GL847. They are really different, and nothing will ever work. If you look at the GL845 datasheet, you'll see it is really close to the GL846. So close in fact that the same code should be able to run both. 1. I've build git version with setting GL846 chipset to 3600 clone in the model description. It gives the same result as I wrote before 2. In 1.0.22 GL847 worked for me well. It stopped working in 1.0.23. So I think this is not an chipset issue. (if at least there were no great changes in genesys_gl847.c) What do you mean by worked well? Since chip a GL845, it won't work with GL847 code. It did not fail on scanner detection, it turn off the light and move the scanner head... In 1.0.23 it fails on initialization... Were there great changes in genesys_gl847.c between 1.0.22 and 1.0.23? In order to test a newly compiled version, you can run it with the attached script (edit it to adapt it for the exact location of sane sources on your PC). The debugging output (preview.pnm and preview.log) will help the development and fixes of the backend part for GL846. Ok. Will do it in several days when I am near the scanner again...
[sane-devel] Pulstek OpticBook 3800 - problems with openning device on 1.0.23+
since the ASIC used is a GL845, you should not try forcing it to GL847. They are really different, and nothing will ever work. If you look at the GL845 datasheet, you'll see it is really close to the GL846. So close in fact that the same code should be able to run both. 1. I've build git version with setting GL846 chipset to 3600 clone in the model description. It gives the same result as I wrote before 2. In 1.0.22 GL847 worked for me well. It stopped working in 1.0.23. So I think this is not an chipset issue. (if at least there were no great changes in genesys_gl847.c) Since I added preliminary support for GL846 a couple of months ago, you'd rather declare your scanner as a GL846 one like the canon_formula101_model. I've tried... scanimage -L does not list scanner at all in this case O_o Very strange for me... :-((( Since having the ASIC datasheet isn't enough( GPIO, fontend, motors change from one model to another and are not coverd by this documentation), the process to reach full support is to run the experimental backend and compare debugging output with USB logs recorder under windows, and tweak the code until it works.
[sane-devel] Pulstek OpticBook 3800 - problems with openning device on 1.0.23+
what kind of changes have you done in the genesys backend ? I find strange that I find this strange too. I added {0x07b3, 0x1300, plustek_3800_model}, into Genesys_USB_Device_Entry genesys_usb_device_list[] and added static Genesys_Model plustek_3800_model = { plustek-opticbook-3800, /* Name */ PLUSTEK,/* Device vendor string */ OpticBook 3800, /* Device model name */ GENESYS_GL847, NULL, {/*2400,*/ 1200, 600, 400, 300, 200, 150, 100, 75, 0},/* possible y-resolutions */ {16, 8, 0}, /* possible depths in gray mode */ {16, 8, 0}, /* possible depths in color mode */ SANE_FIX (0.42),/*SANE_FIX (0.42), Start of scan area in mm (x) */ SANE_FIX (6.75),/*SANE_FIX (7.9), Start of scan area in mm (y) */ SANE_FIX (216.0),/*SANE_FIX (216.0), Size of scan area in mm (x) */ SANE_FIX (297.0),/*SANE_FIX (297.0), Size of scan area in mm (y) */ SANE_FIX (0.0), /* Start of white strip in mm (y) */ SANE_FIX (0.0), /* Start of black mark in mm (x) */ SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ SANE_FIX (0.0), /* Size of scan area after paper sensor stops sensing document in mm */ SANE_FIX (0.0), /* Amount of feeding needed to eject document after finishing scanning in mm */ 0, 24, 48,/* RGB CCD Line-distance correction in pixel */ COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ SANE_FALSE, /* Is this a CIS scanner? */ SANE_FALSE, /* Is this a sheetfed scanner? */ CCD_PLUSTEK_3600, DAC_PLUSTEK_3600, GPO_PLUSTEK_3600, MOTOR_PLUSTEK_3600, GENESYS_FLAG_UNTESTED /* not fully working yet */ | GENESYS_FLAG_CUSTOM_GAMMA | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_DARK_CALIBRATION | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_LAZY_INIT | GENESYS_FLAG_HALF_CCD_MODE,/* | GENESYS_FLAG_NO_CALIBRATION,*/ GENESYS_HAS_NO_BUTTONS, 7, 200 }; It is a clone of plustek_3600_model with GENESYS_GL841, replaced with GENESYS_GL847, and names changed... That's all I did, and same trick makes sane at least try to move scanner's head in 1.0.22 libusb:002:007 is opened, then libusb:002:006 is tried. Oh... I should be more attentive. I did not noticed that. How many scanners do you have? Actually my notebook has webcam and fingerprint scanner in it. the first one is detected by sane as an acceptable input device (but I've never tried to use it this way) What does lsusb reports ? $ sudo lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 003: ID 0489:e00d Foxconn / Hon Hai Broadcom Bluetooth 2.1 Device Bus 001 Device 004: ID 1c7a:0801 LighTuning Technology Inc. Fingerprint Reader Bus 001 Device 005: ID 04f2:b1c1 Chicony Electronics Co., Ltd Bus 002 Device 004: ID 07b3:1300 Plustek, Inc.
[sane-devel] Pulstek OpticBook 3800 - problems with openning device on 1.0.23+
All my previous efforts I did with libsane 1.0.22 that comes with debian. I've tried to do the same trick with git version and with 1.0.23 and did not managed to do it. For some reason sane reports about not being able to open usb device. The more strange thing, it that it reports it on different stages of the initialization: === sudo SANE_DEBUG_GENESYS=256 scanimage -d genesys:libusb:002:006 -v -v -v -v -v 12345 [sanei_debug] Setting debug level of genesys to 256. [genesys] SANE Genesys backend version 1.0 build 2302 from sane-backends 1.0.23 [genesys] SANE Genesys backend built with libusb [genesys] sane_init: authorize != null [genesys] sane_init: little endian machine [genesys] probe_genesys_devices start [genesys] attach: start: devp != NULL, may_wait = 0 [genesys] attach: trying to open device `libusb:002:006' [genesys] attach: device `libusb:002:006' successfully opened [genesys] attach: found PLUSTEK flatbed scanner OpticBook 3800 at libusb:002:006 [genesys] attach completed [genesys] probe_genesys_devices completed [genesys] sane_genesys_init completed [genesys] sane_open: start (devicename = `libusb:002:006') [genesys] sane_open: found `plustek-opticbook-3800' in devlist [genesys] WARNING: Your scanner is not fully supported or at least [genesys] had only limited testing. Please be careful and [genesys] report any failure/success to [genesys] sane-devel at lists.alioth.debian.org. Please provide as many [genesys] details as possible, e.g. the exact name of your [genesys] scanner and what does (not) work. [genesys] init_options start [genesys] init_options completed scanimage: open of device genesys:libusb:002:006 failed: Invalid argument Calling sane_exit [genesys] sane_genesys_exit start [genesys] sane_genesys_exit completed scanimage: finished nataraj at lenovo:/.data/home/nataraj/Projects/pulstek/tests$ nataraj at lenovo:/.data/home/nataraj/Projects/pulstek/tests$ sudo scanimage -L device `v4l:/dev/video0' is a Noname Lenovo EasyCamera virtual device device `genesys:libusb:002:007' is a PLUSTEK OpticBook 3800 flatbed scanner == $ sudo SANE_DEBUG_GENESYS=256 scanimage -d genesys:libusb:002:006 -v -v -v -v -v 12345 [sanei_debug] Setting debug level of genesys to 256. [genesys] SANE Genesys backend version 1.0 build 2302 from sane-backends 1.0.23 [genesys] SANE Genesys backend built with libusb [genesys] sane_init: authorize != null [genesys] sane_init: little endian machine [genesys] probe_genesys_devices start [genesys] attach: start: devp != NULL, may_wait = 0 [genesys] attach: trying to open device `libusb:002:007' [genesys] attach: device `libusb:002:007' successfully opened [genesys] attach: found PLUSTEK flatbed scanner OpticBook 3800 at libusb:002:007 [genesys] attach completed [genesys] probe_genesys_devices completed [genesys] sane_genesys_init completed [genesys] sane_open: start (devicename = `libusb:002:006') [genesys] sane_open: couldn't find `libusb:002:006' in devlist, trying attach [genesys] attach: start: devp != NULL, may_wait = 1 [genesys] attach: trying to open device `libusb:002:006' [genesys] attach: couldn't open device `libusb:002:006': Invalid argument scanimage: open of device genesys:libusb:002:006 failed: Invalid argument Calling sane_exit [genesys] sane_genesys_exit start [genesys] sane_genesys_exit completed scanimage: finished Does anybody know about this issue? It does not seems for me to be chipset related... Also it manages to open a device once, and then can not... I do not understand what is the matter. :-( 1.0.22 from sources with two debian patch that were already applied in 1.0.23, works well...(at least it tries to scan)
[sane-devel] Pulstek OpticBook 3800
did you see my email on the list? Yes, for technical reasons, previous mail I've sent did not properly get to the list, so I resend it without editing it. I wrote that letter before your letter, but it get to the list some days later... I tried to understand the protocol a bit. However, I'm not familiar with USB. If I had time, I guess I would try to talk to the GL845 using python (pyusb) in order to understand it better. If you stop working on the driver, please let me know; then I'll start learning USB. Eh... I am not a driver developer at all... I will do my best when I have time and energy to get it to work, but this might take a long while... I've created a branch at github https://github.com/dhyannataraj/sane-backends-gl845 in order to work on this problem. But I've met some strange problems (I will write about them in another letter) so after the creating of a branch the development stopped. I think we should put your annotated usb sniff in a wiki there, in order to have all staff together.
[sane-devel] Pulstek OpticBook 3800
Hello, to my knowledge, regarding bdcDevice, we currently have: GL843 devices bcdDevice 5.00 GL846 devices bcdDevice 6.01 GL847 devices bcdDevice 6.03 GL124 devices bcdDevice 7.01 So the the 6.05 value you have is a hint that your scanner doesn't use a supported genesys ASIC, probably a GL848 or GL123. By comparing the datasheet of these ASIC, you'll find register that aren't shared, and if you find the use of such registers in log, you'll be able to identify the ASIc used. Or find a 38x26 pins IC, labeled GLnnn, where nnn will be the ASIC version. It is GL845. Other ICs are (just not to open it second time) ESMT \n M12L64164A- \n AZV1P22P5 and WM8196SCDS \n 23AAMDD Also I've found GL845 datasheet at http://www.dz863.com/datasheet-827931563-GL845_High-Speed-Usb-2.0-2-in-1- Scanner-Controller-With-Adf/ So as I can understand I should clone some genesys_gl84?.[ch] and start to adapt it to 845 accoding to UsbSnoof log and datasheet. What file is better to clone? 843 according to datasheet has registers up to 0xAE, 841 up to 0x87. for 847 there is no datasheet. and 845 uses registers up to 0xFF. So I think it is better to start from 847. Am I right? And then from what point it is better to start? At least I should make the head not trying to move out of phisical limits. I do not want it to be demaged... I think it is good point...
[sane-devel] Pulstek OpticBook 3800
the first step is to find the exact ASIC used in your scanner. Can you post an USB log of a preview done with the windows driver ? http://lj.shaplov.ru/2013/UsbSnoop.log.gz http://lj.shaplov.ru/2013/UsbSnoop.parsed.log.gz (parsed with usbsnoop- gl847.pl as I found in this mail list) This log is sniffed right from the point of when scanner were turned on. And also the result of lsusb -v ? lsusb.log in attach Is there a chance you can IC through the glass when the scanning head is moving ? IC is for microchip? Then there are 27ANG9K G4 \n ACT 04 and UTC \n 78D 05L \n 01 PGT0 The first one has about 14 legs, the second one only two. There are two chips with first sign and two chips with second sign on the board that attached to the head. Then adding this scanner will be like you started it, but you'll also have to add specific entries for sensor, motor and gpio which change from device to device. The needed values will have to be deduced from USB logs. I've already started to view USB log and found matches with GL646 spec, but I am still not really good with it, and also I still do not understand how does such simple operations, as writing some bits into LAMPPWM (for example) from USB log corresponds with the code from genesys_gl847.c The code path will had to be modified for the new defines. BTW there is no CCD sensor support currently in gl847 code, only CIS sensors are handled. That would need to be changed firt. What is CCD and CIS? :-) -- next part -- A non-text attachment was scrubbed... Name: lsusb.log Type: text/x-log Size: 2758 bytes Desc: not available URL: http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20130423/da91a294/attachment.bin
[sane-devel] Pulstek OpticBook 3800
Hi! I've recently bought Pulstek OpticBook 3800, hoping that it is almost the same thing as 3600, and I wont need much configuring with it. This hopes died when I did sane-find-scanner, it said found USB scanner (vendor=0x07b3 [PLUSTEK INC], product=0x1300 [USB2.0 SCANNER], chip=GL847) at libusb:001:020 and 3600 is GL841 :-( What did I do: I've cloned Genesys_Model plustek_3600_model in backend/genesys_devices.c replaced GENESYS_GL841 with GENESYS_GL847, added correct vendor and product id for this clone in device list there, built and installed it, and also added vendor and product id into /etc/sane.d/genesys.conf Result was the following scanimage makes the scanner move it's head (not always sane, sometimes it tries to move out of device physical limits) and turn the lamp on and off. Scanning goes with turned off lamp, and the result file if always filled with 0x00, even if i put external light source over the scanner. This is my limits of what I can do myself without your help. I did not found any info about how to turn some debugging output (-v -v -v -v -v does not give much information about what sane is trying to do with the scanner) I did not found any guides about how to debug devices in such cases. If you can help me with these question, or even can guide me through the debugging process, this would be great. As I can understand GL847 chip is supported by SANE and we should do calibration and other staff like these... What I should do first?