[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c7bf59b5-8078-4b47-b56a-7b5568272d07@rowland.harvard.edu>
Date: Fri, 7 Nov 2025 10:49:13 -0500
From: Alan Stern <stern@...land.harvard.edu>
To: ccc194101@....com, Benjamin Tissoires <benjamin.tissoires@...hat.com>,
Alan Swanson <reiver@...robability.net>
Cc: gregkh@...uxfoundation.org, linux-usb@...r.kernel.org,
usb-storage@...ts.one-eyed-alien.net, linux-kernel@...r.kernel.org,
Chen Changcheng <chenchangcheng@...inos.cn>
Subject: Re: [PATCH] usb: usb-storage: No additional quirks need to be added
to the ECD819-SU3 optical drive.
On Fri, Nov 07, 2025 at 02:10:46PM +0800, ccc194101@....com wrote:
> From: Chen Changcheng <chenchangcheng@...inos.cn>
>
> The optical drive of ECD819-SU3 has the same vid and pid as INIC-3069,
> as follows:
> T: Bus=02 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#= 3 Spd=5000 MxCh= 0
> D: Ver= 3.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1
> P: Vendor=13fd ProdID=3940 Rev= 3.10
> S: Manufacturer=HL-DT-ST
> S: Product= DVD+-RW GT80N
> S: SerialNumber=423349524E4E38303338323439202020
> C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=144mA
> I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=02 Prot=50 Driver=usb-storage
> E: Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
> E: Ad=0a(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
>
> This will result in the optical drive device also adding
> the quirks of US_FL_NO_ATA_1X. When performing an erase operation,
> it will fail, and the reason for the failure is as follows:
> [ 388.967742] sr 5:0:0:0: [sr0] tag#0 Send: scmd 0x00000000d20c33a7
> [ 388.967742] sr 5:0:0:0: [sr0] tag#0 CDB: ATA command pass through(12)/Blank a1 11 00 00 00 00 00 00 00 00 00 00
> [ 388.967773] sr 5:0:0:0: [sr0] tag#0 Done: SUCCESS Result: hostbyte=DID_TARGET_FAILURE driverbyte=DRIVER_OK cmd_age=0s
> [ 388.967773] sr 5:0:0:0: [sr0] tag#0 CDB: ATA command pass through(12)/Blank a1 11 00 00 00 00 00 00 00 00 00 00
> [ 388.967803] sr 5:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current]
> [ 388.967803] sr 5:0:0:0: [sr0] tag#0 Add. Sense: Invalid field in cdb
> [ 388.967803] sr 5:0:0:0: [sr0] tag#0 scsi host busy 1 failed 0
> [ 388.967803] sr 5:0:0:0: Notifying upper driver of completion (result 8100002)
> [ 388.967834] sr 5:0:0:0: [sr0] tag#0 0 sectors total, 0 bytes done.
>
> Signed-off-by: Chen Changcheng <chenchangcheng@...inos.cn>
> ---
> drivers/usb/storage/unusual_uas.h | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
> index 1477e31d7763..6d32b787bff8 100644
> --- a/drivers/usb/storage/unusual_uas.h
> +++ b/drivers/usb/storage/unusual_uas.h
> @@ -97,6 +97,12 @@ UNUSUAL_DEV(0x125f, 0xa94a, 0x0160, 0x0160,
> USB_SC_DEVICE, USB_PR_DEVICE, NULL,
> US_FL_NO_ATA_1X),
>
> +UNUSUAL_DEV(0x13fd, 0x3940, 0x0310, 0x0310,
> + "Initio Corporation",
> + "external DVD burner ECD819-SU3",
> + USB_SC_DEVICE, USB_PR_DEVICE, NULL,
> + NULL),
> +
> /* Reported-by: Benjamin Tissoires <benjamin.tissoires@...hat.com> */
> UNUSUAL_DEV(0x13fd, 0x3940, 0x0000, 0x9999,
> "Initio Corporation",
It's unprecedented to have two quirks with the same VID and PID, where
the second augments the first by virtue of its wider range of bcdDevice
values.
As explained in commit 89f23d51defc ("uas: Add US_FL_IGNORE_RESIDUE for
Initio Corporation INIC-3069"), the original Initio Corporation
quirk in unusual_uas.h was added as a copy of the corresponding quirk in
unusual_devs.h, which applies only to bcdDevice = 0x0209. Should we
simply limit the existing unusual_uas.h quirk in the same way?
Benjamin and Alan, you two appear to be the people who originally
reported the need for this uas quirk. Do you have any objection to
changing the bcdDevice range from 0x0000 - 0x9999 to 0x0209 - 0x0209?
Or can you suggest a range that does not include 0x0310?
Alan Stern
Powered by blists - more mailing lists