my knowledge is zero in this domain, so im lost in this error. i will now dosome other tests of this start sequence with other option, b/w, grayscale,resolution changingwill post it here in a few moment

--View this message in context: http://sane.10972.n7.nabble.com/add-support-for-ricoh-aficio-sp100su-tp20705p20710.htmlSent from the SANE - Dev mailing list archive at Nabble.com.

after take a better look in the windows xp sniffer, it seems that the lastsequence who give me a timeout error is a repeating "data receivedcompleted" after scanner send multiple sequences of 61440 bytes

<<< array of raw data 61440 bytes

03 0e 04 00 00 00 00 f0

<<< array of raw data 61440 bytes

03 0e 04 00 00 00 00 f0

<<< array of raw data 61440 bytes

03 0e 04 00 00 00 00 f0

and so on

i dont understand why i m not able to do the same in py2usb

--View this message in context: http://sane.10972.n7.nabble.com/add-support-for-ricoh-aficio-sp100su-tp20705p20712.htmlSent from the SANE - Dev mailing list archive at Nabble.com.

ok, lets resume all of thisi converted the python program in java, its more habitual to manipulate thislanguage for mei combined every modes, color, grayscale and bw, all in 75ppp resolutionwith 2 different size*full plate a4+a little margin*semi sized a5 manually resized in paintbrush scanfor the moment i really dont know how to interpret the 3 to 10 billionsbytes i receive

actual results of the program:motor do the travel, light goes on yellow for bw and grayscale, and morelightening blue light in color scanit give datas, stop at the end in a4, stop at the middle in a5, and then,return at idle positionresults sent and received were compared succesfully with windows xp originalvalues

//windows driver send a strange end signal when he know (i dunno how)//that the next buffer will not be full and be the last.//i didnt find in any usblib documentation how to get the _urb_headerwith the//size of the next packet, i manually put the operation numberif( sizeA4 && grayscalePreview && operation==141){if(sizeA4)send(new byte[]{3,14,4,0,0,0,0,70});if(sizeA4)read(handle,17920 );if(!sizeA4)send(new byte[]{3,14,4,0,0,0,0,(byte) 150});if(!sizeA4)read(handle,38400 );continuer=false;}//if the end signal is not sent in bw and grayscale mode, it willcontinue to receive//full 0x00 64000 sized buffers during a 60s printer busy. In colorreading it goes on timeout, and motor return at idle positionif(sizeA4 && blackPreview && operation==140 || !sizeA4 && blackPreview&& operation==70){if(sizeA4)send(new byte[]{3,14,4,0,0,0,0,-56});if(!sizeA4)send(new byte[]{3,14,4,0,0,0,0,(byte) 200});read(handle,51200 ); //last packet not changed with the A5 size Oocontinuer=false;}if(sizeA4 &&colorPreview && operation==448){//strange thing here, if istop at >449, motor go back at idle position,send(new byte[]{3,14,4,0,0,0,0,120});//printer is ready but script goeson timeout at line "readed = read(handle,61440);"read(handle,30720 ); //if i stop it at <449 i achieve the end signalreception, motor goes at idle position, but thecontinuer=false; //printer stay busy 60s in "pc scanning"}if(!sizeA4 &&colorPreview && operation==219)continuer=false;//i had no end signal in this semi sized A5 color scan,last buffer = 61440 too

ok the work is finishedi cleaned all the code, and removed things that was not usefull

for be short, this scanner support only 2 quality 300 dpi and 600 dpiwith 2 modes, color or grayscale, all the rest is software controlled

i sniffed the usb informations when resizing the scan area after a previewtotally useless : if we choose just a little area at the end of the A4 in600 dpi,the motor is going slow on the whole page, so i implemented nothing about it