Re: [PATCH] usb-storage: Add quirks to make G-Technology "G-Drive" work

From: Alan Stern
Date: Fri May 18 2018 - 15:39:16 EST


On Fri, 18 May 2018, Alexander Kappner wrote:

> Further debugging shows that the code that causes the device to hang is in
> drivers/scsi/sd.c:2698. So the reason why usb-storage works and UAS does
> not is because the device setting both skip_ms_page_3f=1 and
> skip_ms_page_8=1 is required. The US_FL_NO_WP_DETECT flag does the former,
> and usb-storage (but not UAS) by default does the latter
> (drivers/usb/storage/scsiglue.c:198):
>
> /*
> * A number of devices have problems with MODE SENSE for
> * page x08, so we will skip it.
> */
> sdev->skip_ms_page_8 = 1;
>
>
> Forcing both skip_ms_page_3f and skip_ms_page_8 to 1 results in UAS and
> usb-storage working. Oliver's code only set skip_ms_page_3f.

Good detective work!

> Do we want a patch to introduce a quirk flag for skip_ms_page_8, similar to
> the US_FL_NO_WP_DETECT quirk bit for skip_ms_page_3f? This may even resolve
> the issues with other devices in unusual_uas.h that currently have all UAS
> support disabled. I'd be happy to write the patch, but I'm not sure we want
> to reserve a quirk bit for what's currently only a single device known to
> have this issue. Please advise.

Yes, I think we want a patch. Unless Oliver disagrees, please go ahead
and prepare one.

Alan Stern