On Wed, 3 Oct 2018, Klaus Kusche wrote: > Hello, > > On 09/09/2018 21:28, Alan Stern wrote: > > On Sun, 9 Sep 2018, Klaus Kusche wrote: > > > >> Hello, > >> > >> On 01/09/2018 17:38, Alan Stern wrote: > >>> However, the USB layer does set certain quirk bits which can cause > >>> those other parts to avoid sending certain commands. Perhaps your > >>> controller needs the BROKEN_FUA flag (see the existing entries in > >>> drivers/usb/storage/unusual_devs.h with that flag). > >> > >> The following seems to fix the problem (I don't know if I did it right): > >> > >> --- unusual_uas.h.orig 2018-09-09 10:31:20.440751625 +0200 > >> +++ unusual_uas.h 2018-09-09 10:32:30.491381466 +0200 > >> @@ -95,7 +95,7 @@ > >> "JMicron", > >> "JMS566", > >> USB_SC_DEVICE, USB_PR_DEVICE, NULL, > >> - US_FL_NO_REPORT_OPCODES | US_FL_IGNORE_UAS), > >> + US_FL_NO_REPORT_OPCODES | US_FL_IGNORE_UAS | US_FL_BROKEN_FUA), > >> > >> /* Reported-by: Hans de Goede <hdegoede@xxxxxxxxxx> */ > >> UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999, > > > > Okay. You should submit this in the proper format for inclusion in the > > kernel. Follow the instructions in > > Documentation/process/submitting-patches.rst. > > Sorry for the long delay, I was not able to spare some time earlier > (winter semester has started...). > > I just wanted to submit the patch as advised above, > but noticed that it does not apply to the current usb git tree: > > Both the usb tree and linus's tree do not have US_FL_IGNORE_UAS > set for device JMS566 (357d:7788). > So I checked where my version came from and found a patch > which gentoo applies to all its kernels, but which is not mainline: > > --- a/drivers/usb/storage/unusual_uas.h > +++ b/drivers/usb/storage/unusual_uas.h > @@ -141,12 +141,15 @@ UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999, > USB_SC_DEVICE, USB_PR_DEVICE, NULL, > US_FL_NO_ATA_1X), > > -/* Reported-by: Takeo Nakayama <javhera@xxxxxxx> */ > +/* > + * Initially Reported-by: Takeo Nakayama <javhera@xxxxxxx> > + * UAS Ignore Reported by Steven Ellis <sellis@xxxxxxxxxx> > + */ > UNUSUAL_DEV(0x357d, 0x7788, 0x0000, 0x9999, > "JMicron", > "JMS566", > USB_SC_DEVICE, USB_PR_DEVICE, NULL, > - US_FL_NO_REPORT_OPCODES), > + US_FL_NO_REPORT_OPCODES | US_FL_IGNORE_UAS), > > /* Reported-by: Hans de Goede <hdegoede@xxxxxxxxxx> */ > UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999, > > So is my patch still relevant or is it obsolete? > Shall I add only US_FL_BROKEN_FUA even without US_FL_IGNORE_UAS, > or shall I add both flags? > > (I noticed that US_FL_BROKEN_FUA without US_FL_IGNORE_UAS is set > for two entries for "JMS567"). Well, what happens if you add only US_FL_BROKEN_FUA without US_FL_IGNORE_UAS? Does it work? For that matter, does your kernel config include the uas driver? Alan Stern