Comment 6 for bug 1810215

Revision history for this message
Nathan Stratton Treadway (nathanst) wrote : Re: Smart data works on kernel 4.13 but not on 4.15

@Mike/Robie:

Actually the "uas: Always apply US_FL_NO_ATA_1X quirk to Seagate devices" patch to the kernel is (part of) the cause of the current smartmontool failure rather than a fix for it.

The underlying problem is that most Seagate drive enclosures do not properly handle SAT (= "ATA pass-through") when in UAS mode, and so the kernel now (after that patch) disables SAT for all Seagate enclosures when UAS is in use.

That change allows those enclosures to work okay in UAS mode for normal data access (with the associated increase in performance) ... but since Smartmontools and other utilities (e.g. "hdparm") require SAT to work, the change breaks their functionality for those devices.

The current workaround is to use the kernel quirks to disable UAS for a particular device, so that the kernel falls back to the old usb-storage mode instead; this lets SAT work again (and thus Smartmontools, etc. function properly), but only at the expense of losing UAS performance for normal data access.

So in the long run it would be ideal for the kernel to have some way to more dynamically deal with these sorts of buggy devices (i.e. switching modes temporarily to allow SAT to work for special operations such as Smartmontools but use UAT most of the time)... but I haven't run across any discussion about such a patch anywhere, so it seems like people with these devices will be stuck with having to choose between SAT or UAS for the time being.

Anyway, there's now a Smartmontools Wiki page devoted to this specific topic: https://www.smartmontools.org/wiki/SAT-with-UAS-Linux .