Re: [sane-devel] Plustek OpticBook 3800

2015-01-14 Thread Nikolay Shaplov
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

2014-10-02 Thread Nikolay Shaplov

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

2013-12-05 Thread Nikolay Shaplov
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+

2013-06-30 Thread Nikolay Shaplov
 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+

2013-05-13 Thread Nikolay Shaplov
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+

2013-05-12 Thread Nikolay Shaplov
  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+

2013-05-09 Thread Nikolay Shaplov
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+

2013-05-05 Thread Nikolay Shaplov
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

2013-05-05 Thread Nikolay Shaplov

 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

2013-04-26 Thread Nikolay Shaplov

  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

2013-04-23 Thread Nikolay Shaplov
  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

2013-04-18 Thread Nikolay Shaplov

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?