[sane-devel] Umax Astra 2400S w/ AEC-6712D hanging

abel deuring a.deuring@satzbau-gmbh.de
Thu, 26 Feb 2004 22:07:23 +0100


Oliver Rauch schrieb:
>>Now, after a quick glimpse into the sources of the Umax backend I think
>>that the backend uses the SCSI command codes 0 and 0x21 to upload gamma
>>tables to the scanner (Oliver, can you confirm this?), but the atp870u
>>driver will never send this data to the scanner. (there may be more
>>non-SCSI-standard commands that send data to the scanner -- I'm too lazy
>>to search for them...)
> 
> 
> The used commands are:
> 
> 
> #define TEST_UNIT_READY         0x00
> #define REQUEST_SENSE           0x03
> #define INQUIRY                 0x12
> #define RESERVE_UNIT            0x16
> #define RELEASE_UNIT            0x17
> #define SCAN                    0x1B
> #define SET_WINDOW              0x24
> #define READ                    0x28
> #define SEND                    0x2A
> #define OBJECT_POSITION         0x31
> #define GET_DATA_BUFFER_STATUS  0x34
> #define WRITE_BUFFER            0x3B
> #define GET_LAMP_STATUS         0x5E
> #define SET_LAMP_STATUS         0x5F
> 
> GET_DATA_BUFFER_STATUS  0x34 is usaually not used
> 0x21 is not used
> 
> TEST_UNIT_READY is used very often.
> When this command is not sent then the backend
> will call this command several times and
> return with an error afterwards.
> 
> All other commands also can be sent

Oliver,

are you sure that these are the only SCSI command used by the backend? I 
don't claim that I've read the entire source code of the umax backend, 
but the function umax_send_gamma_data mem-copies gamma_DCF[012].cmd into 
the buffer passed to umax_scsi_cmd. This means that the first byte of 
gamma_DCF[012].cmd is sent to the scanner as a SCSI command code. Ad 
these bytes have the value 0 or 0x21, don't they?

DN's debug output supports my suspicion: The last debug message is 
"[umax] using gamma download curve format type 2", which is also the 
last message before the call to umax_scsi_cmd for the gamma download.

Abel