Re: [PATCH] usb-storage: Ignore UAS for LaCie Rugged FW USB3

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

 



Am 10.02.24 um 22:43 schrieb Julian Sikorski:
Am 10.02.24 um 22:35 schrieb Julian Sikorski:
Am 10.02.24 um 15:21 schrieb Julian Sikorski:
Am 10.02.24 um 14:24 schrieb Tasos Sahanidis:
On 2024-02-09 17:31, Alan Stern wrote:
On Fri, Feb 09, 2024 at 05:11:21PM +0200, Tasos Sahanidis wrote:
This external HDD fails when plugged in to a USB 3 port. Ignoring UAS and
falling back to mass storage resolves this issue.

What happens when it is plugged into a USB-2 port?

It works without any quirks over USB 2.0 with uas, however asking for
cache data fails gracefully.

[  520.829840] scsi host4: uas
[  521.024643] scsi 4:0:0:0: Direct-Access     LaCie    Rugged FW USB3   1081 PQ: 0 ANSI: 4
[  521.026370] sd 4:0:0:0: Attached scsi generic sg2 type 0
[  521.030096] sd 4:0:0:0: [sdc] 976773153 512-byte logical blocks: (500 GB/466 GiB)
[  521.030369] sd 4:0:0:0: [sdc] Write Protect is off
[  521.030373] sd 4:0:0:0: [sdc] Mode Sense: 47 00 10 08
[  521.030507] sd 4:0:0:0: [sdc] Asking for cache data failed
[  521.030512] sd 4:0:0:0: [sdc] Assuming drive cache: write through
[  521.065916]  sdc: sdc1
[  521.067783] sd 4:0:0:0: [sdc] Attached SCSI disk
[  521.699380] EXT4-fs (sdc1): recovery complete
[  521.699388] EXT4-fs (sdc1): mounted filesystem with ordered data mode. Opts: errors=remount-ro. Quota mode: none.

Have you checked to see if any of the quirk flags can prevent this
problem?  It looks like the only issue might be that one Mode Sense(6)
command.

I have tried various combinations of all the available quirks and I
couldn't get it to not hang. Without any quirks it keeps retrying Mode
Sense(6) constantly.

I tested US_FL_ALWAYS_SYNC as it sets sdev->skip_ms_page_8 (both with
and without US_FL_NO_REPORT_OPCODES | US_FL_NO_SAME), and it hung at an
ATA passthrough command; presumably the next step afterwards.

30 seconds and one USB reset later, the disk is recognised, but I
do not know if it is reliable.

[  329.161316] scsi 4:0:0:0: Direct-Access     LaCie    Rugged FW USB3   1081 PQ: 0 ANSI: 4
[  329.162228] sd 4:0:0:0: Attached scsi generic sg2 type 0
[  329.166650] sd 4:0:0:0: [sdc] 976773153 512-byte logical blocks: (500 GB/466 GiB)
[  329.166654] sd 4:0:0:0: [sdc] Assuming Write Enabled
[  329.166655] sd 4:0:0:0: [sdc] Assuming drive cache: write back
[  329.197983]  sdc: sdc1
[  329.198521] sd 4:0:0:0: [sdc] Attached SCSI disk
[  359.553806] sd 4:0:0:0: [sdc] tag#3 uas_eh_abort_handler 0 uas-tag 1 inflight: IN [  359.553816] sd 4:0:0:0: [sdc] tag#3 CDB: ATA command pass through(12)/Blank a1 08 2e 00 01 00 00 00 00 ec 00 00
[  359.573771] scsi host4: uas_eh_device_reset_handler start
[  359.702116] usb 3-1: reset SuperSpeed USB device number 3 using xhci_hcd
[  359.722068] usb 3-1: LPM exit latency is zeroed, disabling LPM.
[  359.724348] scsi host4: uas_eh_device_reset_handler success
[  360.582975] EXT4-fs (sdc1): recovery complete
[  360.633098] EXT4-fs (sdc1): mounted filesystem with ordered data mode. Opts: errors=remount-ro. Quota mode: none.

My assumption is that something goes wrong during init and that makes it
hang in general. Perhaps the Mode Sense(6) is broken in addition to
whatever else is misbehaving. I don't believe the XHCI controller is at
fault.

Falling back from uas to usb-storage could reduce the throughput
considerably.  We would like to avoid doing this if possible.

Absolutely, but at the same time I am not sure how much it matters for
an old mechanical hard disk. Granted, someone can use the same enclosure
and install an SSD internally, so perhaps that makes it worth it.

Thanks

--
Tasos



This seems to be similar to the issue I am facing with a similar LaCie Rugged USB3-FW 059f:1061. Initially we patched it to IGNORE_UAS but it then turned out to be working with US_FL_NO_REPORT_OPCODES and US_FL_NO_SAME. This was back in September 2021. In August 2023 I reported a similar issue as you, I am still seeing it in 6.7.3. The good news is that after initial problems it seems to be working fine once the USB connection is established.

I have now narrowed it down to having broken between 5.18.19 and 5.19.4 kernels. Tasos, if you are interested, you might want to check if you can get the drive working with US_FL_NO_REPORT_OPCODES and US_FL_NO_SAME alone (fk) quirks alone on 36 live, which ships 5.17.5 kernel. Exercise caution as it is an EOL system.
I will see if I can narrow down the regression further.

Best regards,
Julian

Oddly enough, with 5.19.4 the device starts working after one reset instead of after four:

Feb 10 22:36:56 kernel: usb 2-4: new SuperSpeed USB device number 3 using xhci_hcd Feb 10 22:36:56 kernel: usb 2-4: New USB device found, idVendor=059f, idProduct=1061, bcdDevice= 0.01 Feb 10 22:36:56 kernel: usb 2-4: New USB device strings: Mfr=2, Product=3, SerialNumber=1
Feb 10 22:36:56 kernel: usb 2-4: Product: Rugged USB3-FW
Feb 10 22:36:56 kernel: usb 2-4: Manufacturer: LaCie
Feb 10 22:36:56 kernel: usb 2-4: SerialNumber: 00000000157f928920fa
Feb 10 22:36:56 kernel: scsi host6: uas
Feb 10 22:36:56 kernel: scsi 6:0:0:0: Direct-Access     LaCie    Rugged FW USB3   051E PQ: 0 ANSI: 6
Feb 10 22:36:56 kernel: sd 6:0:0:0: Attached scsi generic sg1 type 0
Feb 10 22:36:56 kernel: sd 6:0:0:0: [sda] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
Feb 10 22:36:56 kernel: sd 6:0:0:0: [sda] Write Protect is off
Feb 10 22:36:56 kernel: sd 6:0:0:0: [sda] Mode Sense: 43 00 00 00
Feb 10 22:36:56 kernel: sd 6:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA Feb 10 22:36:56 kernel: sd 6:0:0:0: [sda] Preferred minimum I/O size 512 bytes Feb 10 22:36:56 kernel: sd 6:0:0:0: [sda] Optimal transfer size 33553920 bytes Feb 10 22:37:26 kernel: sd 6:0:0:0: [sda] tag#23 uas_eh_abort_handler 0 uas-tag 1 inflight: IN Feb 10 22:37:26 kernel: sd 6:0:0:0: [sda] tag#23 CDB: Inquiry 12 01 b9 00 04 00
Feb 10 22:37:26 kernel: scsi host6: uas_eh_device_reset_handler start
Feb 10 22:37:26 kernel: usb 2-4: reset SuperSpeed USB device number 3 using xhci_hcd
Feb 10 22:37:26 kernel: scsi host6: uas_eh_device_reset_handler success
Feb 10 22:37:26 kernel:  sda: sda1 sda2
Feb 10 22:37:26 kernel: sd 6:0:0:0: [sda] Attached SCSI disk

Further bisecting is going to be difficult as there are no built kernels left. I will see if the time effort is manageable.

Best regards,
Julian

So I have good news and bad news. The good news is that I have managed to bisect the issue down to commit

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c92a6b5d6335

With c92a6b5d6335 and with e60ac0b9e445, the drive requires multiple resets in the VM. With 7fb019c46eee onwards, it only requires one reset.
The bad news is that I am not able to fix it with BLIST_NO_VPD_SIZE:

$ echo "LaCie:Rugged FW USB3:0x2000" | sudo tee /proc/scsi/device_info

This is despite this being used to fix problems with some other devices:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4b1a2c2a8e0ddcb89c5f6c5003bd9b53142f69e3

I am cross-posting this to scsi list, maybe someone there would be able to understand what is going on. Out of interest, why is the device called "Rugged FW USB3" by scsi but "Rugged USB3-FW" by usb?

Best regards,
Julian





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

  Powered by Linux