kopia lustrzana https://gitlab.com/sane-project/website
				
				
				
			
		
			
	
	
		
			156 wiersze
		
	
	
		
			7.9 KiB
		
	
	
	
		
			HTML
		
	
	
		
		
			
		
	
	
			156 wiersze
		
	
	
		
			7.9 KiB
		
	
	
	
		
			HTML
		
	
	
| 
								 | 
							
								<!-- received="Sat Jun 26 10:54:13 1999 PDT" -->
							 | 
						|||
| 
								 | 
							
								<!-- sent="Wed, 23 Jun 1999 22:03:20 -0400" -->
							 | 
						|||
| 
								 | 
							
								<!-- name="Tom Martone" -->
							 | 
						|||
| 
								 | 
							
								<!-- email="tommartone@erols.com" -->
							 | 
						|||
| 
								 | 
							
								<!-- subject="Re: Umax 1200S on LinuxPPC R5" -->
							 | 
						|||
| 
								 | 
							
								<!-- id="" -->
							 | 
						|||
| 
								 | 
							
								<!-- inreplyto="Umax 1200S on LinuxPPC R5" -->
							 | 
						|||
| 
								 | 
							
								<title>sane-devel: Re: Umax 1200S on LinuxPPC R5</title>
							 | 
						|||
| 
								 | 
							
								<h1>Re: Umax 1200S on LinuxPPC R5</h1>
							 | 
						|||
| 
								 | 
							
								<b>Tom Martone</b> (<a href="mailto:tommartone@erols.com"><i>tommartone@erols.com</i></a>)<br>
							 | 
						|||
| 
								 | 
							
								<i>Wed, 23 Jun 1999 22:03:20 -0400</i>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								<ul>
							 | 
						|||
| 
								 | 
							
								<li> <b>Messages sorted by:</b> <a href="date.html#189">[ date ]</a><a href="index.html#189">[ thread ]</a><a href="subject.html#189">[ subject ]</a><a href="author.html#189">[ author ]</a>
							 | 
						|||
| 
								 | 
							
								<!-- next="start" -->
							 | 
						|||
| 
								 | 
							
								<li> <b>Next message:</b> <a href="0190.html">Remmert: "New Camera"</a>
							 | 
						|||
| 
								 | 
							
								<li> <b>Previous message:</b> <a href="0188.html">David Mosberger-Tang: "Re: Umax 1200S on LinuxPPC R5"</a>
							 | 
						|||
| 
								 | 
							
								<li> <b>Maybe in reply to:</b> <a href="0140.html">Simon Piette: "Umax 1200S on LinuxPPC R5"</a>
							 | 
						|||
| 
								 | 
							
								<!-- nextthread="start" -->
							 | 
						|||
| 
								 | 
							
								<li> <b>Next in thread:</b> <a href="0192.html">Oliver Rauch: "Re: Umax 1200S on LinuxPPC R5"</a>
							 | 
						|||
| 
								 | 
							
								<!-- reply="end" -->
							 | 
						|||
| 
								 | 
							
								</ul>
							 | 
						|||
| 
								 | 
							
								<!-- body="start" -->
							 | 
						|||
| 
								 | 
							
								Oliver Rauch wrote:<br>
							 | 
						|||
| 
								 | 
							
								<i>> </i><br>
							 | 
						|||
| 
								 | 
							
								<i>> Simon Piette wrote:</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> </i><br>
							 | 
						|||
| 
								 | 
							
								<i>> ></i><br>
							 | 
						|||
| 
								 | 
							
								<i>> > > export SANE_DEBUG_UMAX=10</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> > > and then call (x)scanimage</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> ></i><br>
							 | 
						|||
| 
								 | 
							
								<i>> > OK. Here is the output. We're going foward: It's says "handled as DEVICE</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> > BUSY!" Should I recompile the kernel with SCSI GENERIC as a module,</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> > instead of built-in?</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> ></i><br>
							 | 
						|||
| 
								 | 
							
								<i>> > [</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> > [umax] check condition sense handler</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> > [umax] invalid sense key => handled as DEVICE BUSY!</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> > [umax] check condition sense handler</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> > [umax] invalid sense key => handled as DEVICE BUSY!</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> > [umax] attach_scanner: scanner-identification failed</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> ></i><br>
							 | 
						|||
| 
								 | 
							
								<i>> </i><br>
							 | 
						|||
| 
								 | 
							
								<i>> It looks like the umax backend is not able to get an inuiry</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> from the scanner.</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> </i><br>
							 | 
						|||
| 
								 | 
							
								<i>> Are you able to use other scsi-devices via the generic scsi driver</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> on your computer?</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> </i><br>
							 | 
						|||
| 
								 | 
							
								<i>> Bye</i><br>
							 | 
						|||
| 
								 | 
							
								<i>> Oliver</i><br>
							 | 
						|||
| 
								 | 
							
								Greetings,<br>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								I've been following this discussion a bit and took a look at the<br>
							 | 
						|||
| 
								 | 
							
								sense_handler code and then took a look a the Linux SCSI Programmers<br>
							 | 
						|||
| 
								 | 
							
								HOWTO and then the SCSI-2 ansi spec.<br>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								The code:<br>
							 | 
						|||
| 
								 | 
							
								  if ( get_RS_error_code(result) != 0x70 ) <br>
							 | 
						|||
| 
								 | 
							
								  { <br>
							 | 
						|||
| 
								 | 
							
								    DBG(DBG_proc, "invalid sense key => handled as DEVICE BUSY!\n");<br>
							 | 
						|||
| 
								 | 
							
								    return SANE_STATUS_DEVICE_BUSY;							    /* sense key invalid */<br>
							 | 
						|||
| 
								 | 
							
								  }<br>
							 | 
						|||
| 
								 | 
							
								perhaps is being a bit too restrictive.  According to the SCSI spec,<br>
							 | 
						|||
| 
								 | 
							
								it seems that 0x71 is a valid value as well.  0x70 is a current error<br>
							 | 
						|||
| 
								 | 
							
								and 0x71 is a deferred error.  Perhaps this is the value that Simon <br>
							 | 
						|||
| 
								 | 
							
								is getting?  It would be real helpful if we could dump out the sense<br>
							 | 
						|||
| 
								 | 
							
								buffer :)<br>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								I've also seen similar code written as:<br>
							 | 
						|||
| 
								 | 
							
								  if ( result[0] & 0x80 )<br>
							 | 
						|||
| 
								 | 
							
								  {<br>
							 | 
						|||
| 
								 | 
							
								     /* sense buffer invalid */<br>
							 | 
						|||
| 
								 | 
							
								     return SANE_STATUS_GOOD;<br>
							 | 
						|||
| 
								 | 
							
								  }<br>
							 | 
						|||
| 
								 | 
							
								That code is checking the "valid bit" talked about in the SCSI spec<br>
							 | 
						|||
| 
								 | 
							
								snippet I've included below.  Then it returns the _GOOD status if<br>
							 | 
						|||
| 
								 | 
							
								it is not set (maybe this is too liberal??)<br>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								I hope that this is helpful.  I must admit that I find scsi error <br>
							 | 
						|||
| 
								 | 
							
								handling quite confusing myself.  I'd like to see how this one gets<br>
							 | 
						|||
| 
								 | 
							
								resolved.<br>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								Thanks,<br>
							 | 
						|||
| 
								 | 
							
								Tom Martone<br>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								<i>>From the SCSI-2 spec...</i><br>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								            Table 7-35: Error Codes 70h and 71h Sense Data Format<br>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								==============================================================================<br>
							 | 
						|||
| 
								 | 
							
								  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |<br>
							 | 
						|||
| 
								 | 
							
								Byte |        |        |        |        |        |        |        |        |<br>
							 | 
						|||
| 
								 | 
							
								==============================================================================<br>
							 | 
						|||
| 
								 | 
							
								 0   | Valid  |                  Error Code (70h or 71h)                     |<br>
							 | 
						|||
| 
								 | 
							
								-----|-----------------------------------------------------------------------|<br>
							 | 
						|||
| 
								 | 
							
								 1   |                           Segment Number                              |<br>
							 | 
						|||
| 
								 | 
							
								-----|-----------------------------------------------------------------------|<br>
							 | 
						|||
| 
								 | 
							
								 2   |Filemark|  EOM   |  ILI   |Reserved|         Sense Key                 |<br>
							 | 
						|||
| 
								 | 
							
								-----|-----------------------------------------------------------------------|<br>
							 | 
						|||
| 
								 | 
							
								 3   | (MSB)                                                                 |<br>
							 | 
						|||
| 
								 | 
							
								- - -|- -                        Information                              - -|<br>
							 | 
						|||
| 
								 | 
							
								 6   |                                                                 (LSB) |<br>
							 | 
						|||
| 
								 | 
							
								-----|-----------------------------------------------------------------------|<br>
							 | 
						|||
| 
								 | 
							
								 7   |                           Additional Sense Length (n-7)               |<br>
							 | 
						|||
| 
								 | 
							
								-----|-----------------------------------------------------------------------|<br>
							 | 
						|||
| 
								 | 
							
								 8   | (MSB)                                                                 |<br>
							 | 
						|||
| 
								 | 
							
								- - -|- -                        Command-Specific Information             - -|<br>
							 | 
						|||
| 
								 | 
							
								 11  |                                                                 (LSB) |<br>
							 | 
						|||
| 
								 | 
							
								-----|-----------------------------------------------------------------------|<br>
							 | 
						|||
| 
								 | 
							
								 12  |                           Additional Sense Code                       |<br>
							 | 
						|||
| 
								 | 
							
								-----|-----------------------------------------------------------------------|<br>
							 | 
						|||
| 
								 | 
							
								 13  |                           Additional Sense Code Qualifier             |<br>
							 | 
						|||
| 
								 | 
							
								-----|-----------------------------------------------------------------------|<br>
							 | 
						|||
| 
								 | 
							
								 14  |                           Field Replaceable Unit Code                 |<br>
							 | 
						|||
| 
								 | 
							
								-----|-----------------------------------------------------------------------|<br>
							 | 
						|||
| 
								 | 
							
								15 to|  SKSV  |                                                              |<br>
							 | 
						|||
| 
								 | 
							
								- - -|---------- -               Sense-Key Specific                       - -|<br>
							 | 
						|||
| 
								 | 
							
								 17  |                                                                       |<br>
							 | 
						|||
| 
								 | 
							
								-----|-----------------------------------------------------------------------|<br>
							 | 
						|||
| 
								 | 
							
								18 to|                                                                       |<br>
							 | 
						|||
| 
								 | 
							
								- - -|- -                        Additional Sense Bytes                   - -|<br>
							 | 
						|||
| 
								 | 
							
								 n   |                                                                       |<br>
							 | 
						|||
| 
								 | 
							
								==============================================================================<br>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								  A valid bit of zero indicates that the information field is not as defined <br>
							 | 
						|||
| 
								 | 
							
								in this standard.  A valid bit of one indicates the information field contains <br>
							 | 
						|||
| 
								 | 
							
								valid information as defined in this standard.  Targets shall implement the <br>
							 | 
						|||
| 
								 | 
							
								valid bit.<br>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								  The sense data format for error codes 70h (current errors) and 71h (deferred <br>
							 | 
						|||
| 
								 | 
							
								errors) are defined in Table 7-35.  Error code values of 72h to 7Eh are <br>
							 | 
						|||
| 
								 | 
							
								reserved.  Error code 7Fh is for a vendor-specific sense data format.  Targets <br>
							 | 
						|||
| 
								 | 
							
								shall implement error code 70h; implementation of error code 71h is optional. <br>
							 | 
						|||
| 
								 | 
							
								Error code values of 00h to 6Fh are not defined by this standard and their use <br>
							 | 
						|||
| 
								 | 
							
								is not recommended.<br>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								<pre>
							 | 
						|||
| 
								 | 
							
								--
							 | 
						|||
| 
								 | 
							
								Source code, list archive, and docs: <a href="http://www.mostang.com/sane/">http://www.mostang.com/sane/</a>
							 | 
						|||
| 
								 | 
							
								To unsubscribe: echo unsubscribe sane-devel | mail <a href="mailto:majordomo@mostang.com">majordomo@mostang.com</a>
							 | 
						|||
| 
								 | 
							
								</pre>
							 | 
						|||
| 
								 | 
							
								<!-- body="end" -->
							 | 
						|||
| 
								 | 
							
								<p>
							 | 
						|||
| 
								 | 
							
								<ul>
							 | 
						|||
| 
								 | 
							
								<!-- next="start" -->
							 | 
						|||
| 
								 | 
							
								<li> <b>Next message:</b> <a href="0190.html">Remmert: "New Camera"</a>
							 | 
						|||
| 
								 | 
							
								<li> <b>Previous message:</b> <a href="0188.html">David Mosberger-Tang: "Re: Umax 1200S on LinuxPPC R5"</a>
							 | 
						|||
| 
								 | 
							
								<li> <b>Maybe in reply to:</b> <a href="0140.html">Simon Piette: "Umax 1200S on LinuxPPC R5"</a>
							 | 
						|||
| 
								 | 
							
								<!-- nextthread="start" -->
							 | 
						|||
| 
								 | 
							
								<li> <b>Next in thread:</b> <a href="0192.html">Oliver Rauch: "Re: Umax 1200S on LinuxPPC R5"</a>
							 | 
						|||
| 
								 | 
							
								<!-- reply="end" -->
							 | 
						|||
| 
								 | 
							
								</ul>
							 |