Subject: kern/16946: umass quirks for sony MSC memory stick
To: None <gnats-bugs@gnats.netbsd.org>
From: john heasley <heas@shrubbery.net>
List: netbsd-bugs
Date: 05/21/2002 17:55:32
>Number: 16946
>Category: kern
>Synopsis: umass quirks for sony MSC memory stick
>Confidential: no
>Severity: non-critical
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue May 21 10:56:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: john heasley
>Release: NetBSD 1.5ZC
>Organization:
>Environment:
Architecture: i386
Machine: i386
>Description:
the sony MSC memory stick has not worked 100% on the sony vaio,
pcg-z505ls in my case. with umass debugging printfs enabled, i
can the endpoints being stalled and cleared repeatedly during
operations that write to the memory stick.
after going through the umass spec and a little trial and error, i
came up with following changes to umass_quirks.c for the MSC memory
stick.
the memory stick slot on this vaio z505ls with an 8m or 128m stick
now works reliably. i'm not getting errors writing data to a mounted
partition (msdos created on a sony dsc camera). this might fix the
similar errors with accessing the memory stick through a dsc camera,
but i havent tried it.
i have no idea why it reports 'drive offline' below when it has medium
inserted.
dmesg w/o medium:
uhub1 at uhub0 port 1
uhub1: Philips Semiconductors hub, class 9/0, rev 1.10/1.10, addr 2
uhub1: 3 ports with 3 removable, self powered
umass0 at uhub1 port 1 configuration 1 interface 0
umass0: Sony USB Memory Stick Slot, rev 1.10/1.31, addr 3
umass0: using UFI over CBI
atapibus0 at umass0 channel 0: 2 targets
sd0 at atapibus0 drive 0: <, , > type 0 direct fixed
sd0: drive offline
boot device: wd0
dmesg w/ medium:
uhub1 at uhub0 port 1
uhub1: Philips Semiconductors hub, class 9/0, rev 1.10/1.10, addr 2
uhub1: 3 ports with 3 removable, self powered
umass0 at uhub1 port 1 configuration 1 interface 0
umass0: Sony USB Memory Stick Slot, rev 1.10/1.31, addr 3
umass0: using UFI over CBI
atapibus0 at umass0 channel 0: 2 targets
sd0 at atapibus0 drive 0: <, , > type 0 direct fixed
sd0: drive offline
boot device: wd0
>How-To-Repeat:
write to a memory stick. errors will result that at the very
least cause delays.
>Fix:
Index: umass_quirks.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/usb/umass_quirks.c,v
retrieving revision 1.13
diff -u -r1.13 umass_quirks.c
--- umass_quirks.c 2002/04/22 12:48:40 1.13
+++ umass_quirks.c 2002/05/20 03:19:46
@@ -155,11 +155,11 @@
},
{ { USB_VENDOR_SONY, USB_PRODUCT_SONY_MSC },
- UMASS_WPROTO_UNSPEC, UMASS_CPROTO_UNSPEC,
- UMASS_QUIRK_FORCE_SHORT_INQUIRY,
- 0,
+ UMASS_WPROTO_CBI, UMASS_CPROTO_UFI,
+ UMASS_QUIRK_FORCE_SHORT_INQUIRY | UMASS_QUIRK_RS_NO_CLEAR_UA,
+ PQUIRK_NOMODESENSE,
UMATCH_DEVCLASS_DEVSUBCLASS_DEVPROTO,
- NULL, umass_fixup_sony
+ NULL, NULL
},
{ { USB_VENDOR_SONY, USB_PRODUCT_ANY },
>Release-Note:
>Audit-Trail:
>Unformatted: