Re: [PATCH] usb: storage: add quirks for VIA VL817 USB3-SATA bridge

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

 



On Tue, Sep 21, 2021 at 12:17:52PM +0200, Tobias Jakobi wrote:
> The VL817 is used in the RaidSonic Icy Box IB-3740-C31 enclosure. The enclosure
> is advertised as having UASP support, but appears to have problems with 4Kn
> drives (test was done with two Seagate Exos X, 12TB).
> 
> Disable UAS for the VL817 as it behaves highly unstable:
> 
> [Aug14 16:31] usb 2-1.2: USB disconnect, device number 4

So first the drive was unplugged or disconnected...

> [  +0.007701] sd 4:0:0:0: [sdb] tag#4 uas_zap_pending 0 uas-tag 1 inflight: CMD
> [  +0.000004] sd 4:0:0:0: [sdb] tag#4 CDB: opcode=0x2a 2a 00 00 37 63 da 00 00 80 00
> [  +0.000022] sd 4:0:0:0: [sdb] tag#4 UNKNOWN(0x2003) Result: hostbyte=0x01 driverbyte=0x00 cmd_age=19s
> [  +0.000001] sd 4:0:0:0: [sdb] tag#4 CDB: opcode=0x2a 2a 00 00 37 63 da 00 00 80 00
> [  +0.000001] blk_update_request: I/O error, dev sdb, sector 29040336 op 0x1:(WRITE) flags 0x0 phys_seg 128 prio class 0
> [  +0.000028] blk_update_request: I/O error, dev sdb, sector 29041360 op 0x1:(WRITE) flags 0x0 phys_seg 128 prio class 0
> [  +0.000000] blk_update_request: I/O error, dev sdb, sector 16 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
> [  +0.000005] md: super_written gets error=-5
> [  +0.000002] md/raid1:md126: Disk failure on sdb, disabling device.
>               md/raid1:md126: Operation continuing on 1 devices.
> [  +0.000024] blk_update_request: I/O error, dev sdb, sector 29042384 op 0x1:(WRITE) flags 0x0 phys_seg 128 prio class 0
> [  +0.000222] sd 4:0:0:0: [sdb] Synchronizing SCSI cache
> [  +0.078154] blk_update_request: I/O error, dev sdb, sector 29040336 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
> [  +0.000025] blk_update_request: I/O error, dev sdb, sector 29040344 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
> [  +0.007520] blk_update_request: I/O error, dev sdb, sector 29040352 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
> [  +0.000021] blk_update_request: I/O error, dev sdb, sector 29040360 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
> [  +0.000015] blk_update_request: I/O error, dev sdb, sector 29040368 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
> [  +0.000009] blk_update_request: I/O error, dev sdb, sector 29040376 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
> [  +0.023299] sd 4:0:0:0: [sdb] Synchronize Cache(10) failed: Result: hostbyte=0x07 driverbyte=0x00

Then there was a bunch of errors, which is to be expected when a drive 
is suddenly disconnected...

> [  +1.893439] usb 2-1.2: new SuperSpeed Plus Gen 2x1 USB device number 7 using xhci_hcd
> [  +0.024064] scsi host7: uas
> [ +16.365880] scsi 7:0:0:0: Direct-Access     ST12000N M001G-2MV103     SB2D PQ: 0 ANSI: 6
> [  +0.001192] sd 7:0:0:0: Attached scsi generic sg1 type 0
> [  +0.000940] sd 7:0:0:0: [sde] 2929721344 4096-byte logical blocks: (12.0 TB/10.9 TiB)
> [  +0.000130] sd 7:0:0:0: [sde] Write Protect is off
> [  +0.000001] sd 7:0:0:0: [sde] Mode Sense: 2f 00 00 00
> [  +0.000265] sd 7:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> [  +0.000399] sd 7:0:0:0: [sde] Optimal transfer size 268431360 bytes
> [  +0.120240] sd 7:0:0:0: [sde] Attached SCSI disk

And then the drive reconnected, this time successfully.  How does this 
show that UAS was the reason for the problem?  Indeed, how does this 
show there was any problem at all?

> Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx>
> ---
>  drivers/usb/storage/unusual_uas.h | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
> index bda0f2cdf093..7d83ecf835c6 100644
> --- a/drivers/usb/storage/unusual_uas.h
> +++ b/drivers/usb/storage/unusual_uas.h
> @@ -125,6 +125,13 @@ UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999,
>  		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
>  		US_FL_NO_ATA_1X),
>  
> +/* Reported-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> */
> +UNUSUAL_DEV(0x2109, 0x0715, 0x0000, 0x9999,
> +		"VIA",
> +		"VL817",
> +		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
> +		US_FL_IGNORE_UAS),
> +
>  /* Reported-by: Icenowy Zheng <icenowy@xxxxxxx> */
>  UNUSUAL_DEV(0x2537, 0x1068, 0x0000, 0x9999,
>  		"Norelsys",

Instead of IGNORE_UAS, have you tried the NO_ATA_1X flag, which seems to 
help in the preceding entry (a different device from the same vendor)?

Alan Stern



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

  Powered by Linux