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