All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] usb: storage: add quirks for CASIO calculators
@ 2026-11-05 15:13 Thomas Touhey
  2026-11-05 15:19 ` sashiko-bot
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Thomas Touhey @ 2026-11-05 15:13 UTC (permalink / raw)
  To: linux-usb; +Cc: Thomas Touhey, stable

CASIO calculators using USB Mass Storage, bearing
product IDs 6102 and 6103, always report non-zero
dCSWDataResidue for requested transfer length
>4096 bytes while bCSWStatus == 0.

Information about an fx-CG50 (OS 3.11):
T:  Bus=03 Lev=01 Prnt=01 Port=06 Cnt=03 Dev#= 24 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=07cf ProdID=6102 Rev= 1.00
S:  Manufacturer=CASIO MassStorage Device
S:  Product=CASIO MassStorage Device
S:  SerialNumber=0000xdPUBVUq
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Information about an fx-9750GIII (OS 3.71):
T:  Bus=03 Lev=01 Prnt=01 Port=06 Cnt=03 Dev#= 25 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=07cf ProdID=6103 Rev= 1.00
S:  Manufacturer=CASIO MassStorage Device
S:  Product=CASIO MassStorage Device
S:  SerialNumber=000000000001
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Cc: stable <stable@kernel.org>
Signed-off-by: Thomas Touhey <thomas@touhey.fr>
---
 drivers/usb/storage/unusual_devs.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
index ac22fa318734..492b5f050f0b 100644
--- a/drivers/usb/storage/unusual_devs.h
+++ b/drivers/usb/storage/unusual_devs.h
@@ -1168,6 +1168,25 @@ UNUSUAL_DEV( 0x07cf, 0x1167, 0x0100, 0x0100,
 		"EX-N1 DigitalCamera",
 		USB_SC_8070, USB_PR_DEVICE, NULL, 0),
 
+/*
+ * CASIO calculators using UMS for "USB Key" mode always
+ * reports non-zero residue when the transfer length is larger
+ * than 4096 bytes.
+ *
+ * Reported by Thomas Touhey <thomas@touhey.fr>
+ * and augmented by 0v0katai <0v0katai@gmail.com>
+ */
+UNUSUAL_DEV( 0x07cf, 0x6102, 0x0100, 0x0100,
+	     "Casio",
+	     "fx-CP400",
+	     USB_SC_DEVICE, USB_PR_DEVICE, NULL,
+	     US_FL_IGNORE_RESIDUE ),
+UNUSUAL_DEV( 0x07cf, 0x6103, 0x0100, 0x0100,
+	     "Casio",
+	     "fx-CG50",
+	     USB_SC_DEVICE, USB_PR_DEVICE, NULL,
+	     US_FL_IGNORE_RESIDUE ),
+
 /* Submitted by Hartmut Wahl <hwahl@hwahl.de>*/
 UNUSUAL_DEV( 0x0839, 0x000a, 0x0001, 0x0001,
 		"Samsung",
-- 
2.56.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-11-07  2:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-05 15:13 [PATCH] usb: storage: add quirks for CASIO calculators Thomas Touhey
2026-11-05 15:19 ` sashiko-bot
2026-11-05 16:02 ` Alan Stern
2026-11-05 19:06   ` Thomas Touhey
     [not found]   ` <CAFCjBVE3zDqQnWdHmU6rwHHfRrS_p7r+PwsyXhbqVSEk4Vc-Lg@mail.gmail.com>
2026-11-05 19:54     ` Alan Stern
2026-11-07  2:24 ` Artem Novak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.