Message ID | 20231006125445.122380-7-gmazyland@gmail.com |
---|---|
State | New |
Headers | show |
Series | usb-storage,uas,scsi: Support OPAL commands on USB attached devices. | expand |
On Fri, Oct 06, 2023 at 02:54:45PM +0200, Milan Broz wrote: > Realtek 9210 family (NVME to USB bridge) adapters always set > the write-protected bit for the whole drive if an OPAL locking range > is defined (even if the OPAL locking range just covers part of the disk). > > The only way to recover is PSID reset and physical reconnection of the device. > > This looks like a wrong implementation of OPAL standard (and I will try > to report it to Realtek as it happens for all firmware versions I have), > but for now, these adapters are unusable for OPAL. > > Signed-off-by: Milan Broz <gmazyland@gmail.com> > --- > drivers/usb/storage/unusual_devs.h | 11 +++++++++++ > drivers/usb/storage/unusual_uas.h | 11 +++++++++++ > 2 files changed, 22 insertions(+) > > diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h > index 20dcbccb290b..b7c0df180e5d 100644 > --- a/drivers/usb/storage/unusual_devs.h > +++ b/drivers/usb/storage/unusual_devs.h > @@ -1476,6 +1476,17 @@ UNUSUAL_DEV( 0x0bc2, 0x3332, 0x0000, 0x9999, > USB_SC_DEVICE, USB_PR_DEVICE, NULL, > US_FL_NO_WP_DETECT ), > > +/* > + * Realtek 9210 family set global write-protection flag > + * for any OPAL locking range making device unusable > + * Reported-by: Milan Broz <gmazyland@gmail.com> > + */ > +UNUSUAL_DEV( 0x0bda, 0x9210, 0x0000, 0xffff, > + "Realtek", > + "", Doesn't Realtek have some sort of product name you can put here? > + USB_SC_DEVICE, USB_PR_DEVICE, NULL, > + US_FL_IGNORE_OPAL), > + > UNUSUAL_DEV( 0x0d49, 0x7310, 0x0000, 0x9999, > "Maxtor", > "USB to SATA", > diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h > index 1f8c9b16a0fb..71ab824bfb32 100644 > --- a/drivers/usb/storage/unusual_uas.h > +++ b/drivers/usb/storage/unusual_uas.h > @@ -185,3 +185,14 @@ UNUSUAL_DEV(0x4971, 0x8024, 0x0000, 0x9999, > "External HDD", > USB_SC_DEVICE, USB_PR_DEVICE, NULL, > US_FL_ALWAYS_SYNC), > + > +/* > + * Realtek 9210 family set global write-protection flag > + * for any OPAL locking range making device unusable > + * Reported-by: Milan Broz <gmazyland@gmail.com> > + */ > +UNUSUAL_DEV(0x0bda, 0x9210, 0x0000, 0xffff, > + "Realtek", > + "", > + USB_SC_DEVICE, USB_PR_DEVICE, NULL, > + US_FL_IGNORE_OPAL), This entry is not in the right position. The file is supposed to be sorted by vendor ID, then product ID. Alan Stern
On 10/6/23 20:57, Alan Stern wrote: > On Fri, Oct 06, 2023 at 02:54:45PM +0200, Milan Broz wrote: >> Realtek 9210 family (NVME to USB bridge) adapters always set >> the write-protected bit for the whole drive if an OPAL locking range >> is defined (even if the OPAL locking range just covers part of the disk). ... >> +/* >> + * Realtek 9210 family set global write-protection flag >> + * for any OPAL locking range making device unusable >> + * Reported-by: Milan Broz <gmazyland@gmail.com> >> + */ >> +UNUSUAL_DEV( 0x0bda, 0x9210, 0x0000, 0xffff, >> + "Realtek", >> + "", > > Doesn't Realtek have some sort of product name you can put here? These adapters comes under many names, the only common thing is that it uses Realtek controller... "USB to NVMe/SATA bridge" could work though, I guess. ... >> + >> +/* >> + * Realtek 9210 family set global write-protection flag >> + * for any OPAL locking range making device unusable >> + * Reported-by: Milan Broz <gmazyland@gmail.com> >> + */ >> +UNUSUAL_DEV(0x0bda, 0x9210, 0x0000, 0xffff, >> + "Realtek", >> + "", >> + USB_SC_DEVICE, USB_PR_DEVICE, NULL, >> + US_FL_IGNORE_OPAL), > > This entry is not in the right position. The file is supposed to be > sorted by vendor ID, then product ID. Yes, despite I checked it at least three times and I did not spot it :-))) Thanks, Milan
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h index 20dcbccb290b..b7c0df180e5d 100644 --- a/drivers/usb/storage/unusual_devs.h +++ b/drivers/usb/storage/unusual_devs.h @@ -1476,6 +1476,17 @@ UNUSUAL_DEV( 0x0bc2, 0x3332, 0x0000, 0x9999, USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NO_WP_DETECT ), +/* + * Realtek 9210 family set global write-protection flag + * for any OPAL locking range making device unusable + * Reported-by: Milan Broz <gmazyland@gmail.com> + */ +UNUSUAL_DEV( 0x0bda, 0x9210, 0x0000, 0xffff, + "Realtek", + "", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_IGNORE_OPAL), + UNUSUAL_DEV( 0x0d49, 0x7310, 0x0000, 0x9999, "Maxtor", "USB to SATA", diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h index 1f8c9b16a0fb..71ab824bfb32 100644 --- a/drivers/usb/storage/unusual_uas.h +++ b/drivers/usb/storage/unusual_uas.h @@ -185,3 +185,14 @@ UNUSUAL_DEV(0x4971, 0x8024, 0x0000, 0x9999, "External HDD", USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_ALWAYS_SYNC), + +/* + * Realtek 9210 family set global write-protection flag + * for any OPAL locking range making device unusable + * Reported-by: Milan Broz <gmazyland@gmail.com> + */ +UNUSUAL_DEV(0x0bda, 0x9210, 0x0000, 0xffff, + "Realtek", + "", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_IGNORE_OPAL),
Realtek 9210 family (NVME to USB bridge) adapters always set the write-protected bit for the whole drive if an OPAL locking range is defined (even if the OPAL locking range just covers part of the disk). The only way to recover is PSID reset and physical reconnection of the device. This looks like a wrong implementation of OPAL standard (and I will try to report it to Realtek as it happens for all firmware versions I have), but for now, these adapters are unusable for OPAL. Signed-off-by: Milan Broz <gmazyland@gmail.com> --- drivers/usb/storage/unusual_devs.h | 11 +++++++++++ drivers/usb/storage/unusual_uas.h | 11 +++++++++++ 2 files changed, 22 insertions(+)