Changes between Version 8 and Version 9 of SAT-with-UAS-Linux


Ignore:
Timestamp:
Aug 9, 2019, 2:58:49 PM (4 months ago)
Author:
Nathan Stratton Treadway
Comment:

Document /proc/scsi/usb-storage/* info files

Legend:

Unmodified
Added
Removed
Modified
  • SAT-with-UAS-Linux

    v8 v9  
    8181file.  (As far as smartmontools/SAT passthrough is concerned, only the NO_ATA_1X flag is significant.)
    8282
    83 There doesn't seem to be a definitive way to confirm that the NO_ATA_1X flag is in fact in effect for a particular device, but if it is the symptom will be that commands which rely on SAT show invalid data, e.g.
     83For the uas driver, there doesn't seem to be a definitive way to confirm that the NO_ATA_1X flag is in fact in effect for a particular device (see [#proc_scsi_usb-storage note on /proc/scsi/usb-storage]), but if it is the symptom will be that commands which rely on SAT show invalid data, e.g.
    8484
    8585{{{
     
    233233* The full list of flag bits is defined in the [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/usb_usual.h include/linux/usb_usual.h] file in the kernel source (while the quirks-option flag letters and fuller explanations of each flag's meaning are found in the `usb-storage.quirks=` section of the [https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html Kernel Parameters] documentation).
    234234* The "Quirks match" line will be output if quirks are found in either the compiled-in quirks list or a list is specified using one of the kernel-module override methods, and thus can be used to check which set of flags is actually getting applied.  However, the blanket application of the NO_ATA_1X flag for all Seagate devices (USB vendor ID of 0x0bc2) is coded separately and does not generate any kern.log output indicating it has been applied. Also, if you specify an empty flag list (e.g. "`0bc2:231a:`") in an override and thus have no flag bits being set, no "Quirks match" log line will be generated.
     235
     236[=#proc_scsi_usb-storage] Using /proc/scsi/usb-storage/[HOSTNUMBER} to display active flag bits:
     237
     238* If a device is attached to the usb-storage driver, there will be an associated file under `/proc/scsi/usb-storage` which will display information related to that particular device driver instance's internal state -- including a list of the active flag bits.
     239
     240   For example, after setting the quirks for this particular USB ID to ":u" and pugging in the device, the kernel detected it with a `scsi host4: usb-storage 2-1:1.0` message, and the /proc info file showed:
     241   {{{
     242============
     243# cat /proc/scsi/usb-storage/4
     244   Host scsi4: usb-storage
     245       Vendor: Seagate
     246      Product: Backup+ RD
     247Serial Number: NA5CGDGD
     248     Protocol: Transparent SCSI
     249    Transport: Bulk
     250       Quirks: IGNORE_UAS
     251============
     252   }}}
     253
     254* Unfortunately the uas driver does not create an equivalent `/proc/scsi/uas/*` file... so when a device does get attached to that driver, one can't use this method to determine if it has (for example) the NO_ATA_1X flag set....
     255