Re: new device - agfa af5080MS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alan Stern wrote:
> Okay, this is good.  Here's the important part:
> 
>> f636c240 932590545 S Bo:1:008:1 -115 31 = 55534243 05000000 00000000
>> 00000600 00000000 00000000 00000000 000000
>> f636c240 932590611 C Bo:1:008:1 0 31 >
>> f636c240 932591559 S Bi:1:008:2 -115 13 <
>> f636c240 932591852 C Bi:1:008:2 0 13 = 55534253 05000000 00000000 01
>> f636c240 932591987 S Bo:1:008:1 -115 31 = 55534243 06000000 12000000
>> 80000603 00000012 00000000 00000000 000000
>> f636c240 932592100 C Bo:1:008:1 0 31 >
>> c3ad3bc0 932592164 S Bi:1:008:2 -115 18 <
>> c3ad3bc0 932592345 C Bi:1:008:2 0 18 = f0000200 0000000b 00000000 3a000000 0000
>> f636c240 932592520 S Bi:1:008:2 -115 13 <
>> f636c240 932592599 C Bi:1:008:2 0 13 = 55534253 06000000 00000000 00
> 
> Above is a failed TEST UNIT READY command followed by a REQUEST SENSE
> command.  The reply to the REQUEST SENSE indicates that there are 19
> bytes of sense data available, even though the device was asked for
> only 18 bytes.  This causes usb-storage to assume that the device can
> handle large REQUEST SENSE commands.
> 
>> f636c240 932592794 S Bo:1:008:1 -115 31 = 55534243 07000000 00000000
>> 00010600 20000000 00000000 00000000 000000
>> f636c240 932592846 C Bo:1:008:1 0 31 >
>> f636c240 932592893 S Bi:1:008:2 -115 13 <
>> f636c240 932594973 C Bi:1:008:2 0 13 = 55534253 07000000 00000000 01
>> f636c240 932595095 S Bo:1:008:1 -115 31 = 55534243 08000000 60000000
>> 80010603 20000060 00000000 00000000 000000
>> f636c240 932595221 C Bo:1:008:1 0 31 >
>> f6b70bc0 932595279 S Bi:1:008:2 -115 96 <
>> f6b70bc0 932595473 C Bi:1:008:2 -121 18 = f0000200 0000000b 00000000
>> 3a000000 0000
>> f636c240 932595609 S Bi:1:008:2 -115 13 <
>> f636c240 962928354 C Bi:1:008:2 -104 0
> 
> This is another failed TEST UNIT READY followed by another REQUEST 
> SENSE command, this time asking for 96 bytes.  The device sent back 18 
> bytes of sense data and then hung.
> 
> Ben, it looks like we need a more reliable way of telling which devices 
> can support SANE_SENSE.  Or else we need a flag to indicate that some 
> devices can't support it.  The approach used for the Huawei won't work 
> here because this device doesn't return an error; it just hangs.
> 

Alan,

I'm certain that SANE_SENSE is used often (much more than these faulty devices are). 

Since the problem is the device is faulty, I don't think its appropriate to reduce the SANE_SENSE functionality to work around the faulty device.  It seems appropriate that the INSANE_SENSE idea be brought back.  The INSANE_SENSE flag could prevent the SANE_SENSE from being detected.  Most importantly it could be specified as a quirk on the kernel command line.  (ie: "usb-storage.quirks=067b:1063:XYZ")

I don't like the quirk idea, but it seems like the only appropriate solution when the device has explicitly claimed to have more data than 18.  I'll prepare a patch in the next few days to make review and discuss.

The only other idea I have at this moment is to remove the if-condition that detects truncated sense data.  I am not entirely opposed to this idea, but it would remove large sense support for everything except SAT commands. 


Regards,

Ben Efros
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux