2007-01-30 18:08:23

by Alan Stern

[permalink] [raw]
Subject: Re: [linux-usb-devel] 2.6.20-rc6 SCSI error: I/O error - trouble with mass storage devices ?!

On Sat, 27 Jan 2007, Soeren Sonnenburg wrote:

> Dear all,
>
> I am trying to use a P990 phone in via mass storage under linux. I was
> able to copy data to/from the phone without trouble under winxp but
> receive millions of I/O errors (see below (*), basically on any sector).
> As this was also happening on a casio camera (and working on winxp) I
> tried a couple of things to nail this down:

...

> 4) I enabled usb mass storage verbose debug output and collected 2 runs
> of I/O once with the sandisk and one with the P990 (attached as sandisk
> and p990)

...

> Now I am clueless what could have gone wrong (as I *think* this was all
> working at some point at least before firmware updates) and what the
> difference between these mass storage devices is.

The log revealed that the phone's firmware returns garbage values in the
Residue field for some WRITEs. This patch should take care of it.

Alan Stern



Index: usb-2.6/drivers/usb/storage/unusual_devs.h
===================================================================
--- usb-2.6.orig/drivers/usb/storage/unusual_devs.h
+++ usb-2.6/drivers/usb/storage/unusual_devs.h
@@ -1318,12 +1318,13 @@ UNUSUAL_DEV( 0x0fce, 0xe031, 0x0000, 0x
US_SC_DEVICE, US_PR_DEVICE, NULL,
US_FL_FIX_CAPACITY ),

-/* Reported by Jan Mate <[email protected]> */
+/* Reported by Jan Mate <[email protected]>
+ * and by Soeren Sonnenburg <[email protected]> */
UNUSUAL_DEV( 0x0fce, 0xe030, 0x0000, 0x0000,
"Sony Ericsson",
"P990i",
US_SC_DEVICE, US_PR_DEVICE, NULL,
- US_FL_FIX_CAPACITY ),
+ US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ),

/* Reported by Kevin Cernekee <[email protected]>
* Tested on hardware version 1.10.


2007-01-31 09:12:58

by Soeren Sonnenburg

[permalink] [raw]
Subject: Re: [linux-usb-devel] 2.6.20-rc6 SCSI error: I/O error - trouble with mass storage devices ?!

On Tue, 2007-01-30 at 13:08 -0500, Alan Stern wrote:
> On Sat, 27 Jan 2007, Soeren Sonnenburg wrote:

[P990 mass storage trouble]
> > Now I am clueless what could have gone wrong (as I *think* this was all
> > working at some point at least before firmware updates) and what the
> > difference between these mass storage devices is.
>
> The log revealed that the phone's firmware returns garbage values in the
> Residue field for some WRITEs. This patch should take care of it.

I can confirm that this fixes the problem.

Thank you *very* much - you've made my day.

Soeren
--
Sometimes, there's a moment as you're waking, when you become aware of
the real world around you, but you're still dreaming.

2007-02-01 21:38:16

by Andrew Morton

[permalink] [raw]
Subject: Re: [linux-usb-devel] 2.6.20-rc6 SCSI error: I/O error - trouble with mass storage devices ?!

On Tue, 30 Jan 2007 13:08:19 -0500 (EST)
Alan Stern <[email protected]> wrote:

> On Sat, 27 Jan 2007, Soeren Sonnenburg wrote:
>
> > Dear all,
> >
> > I am trying to use a P990 phone in via mass storage under linux. I was
> > able to copy data to/from the phone without trouble under winxp but
> > receive millions of I/O errors (see below (*), basically on any sector).
> > As this was also happening on a casio camera (and working on winxp) I
> > tried a couple of things to nail this down:
>
> ...
>
> > 4) I enabled usb mass storage verbose debug output and collected 2 runs
> > of I/O once with the sandisk and one with the P990 (attached as sandisk
> > and p990)
>
> ...
>
> > Now I am clueless what could have gone wrong (as I *think* this was all
> > working at some point at least before firmware updates) and what the
> > difference between these mass storage devices is.
>
> The log revealed that the phone's firmware returns garbage values in the
> Residue field for some WRITEs. This patch should take care of it.
>
> Alan Stern
>
>
>
> Index: usb-2.6/drivers/usb/storage/unusual_devs.h
> ===================================================================
> --- usb-2.6.orig/drivers/usb/storage/unusual_devs.h
> +++ usb-2.6/drivers/usb/storage/unusual_devs.h
> @@ -1318,12 +1318,13 @@ UNUSUAL_DEV( 0x0fce, 0xe031, 0x0000, 0x
> US_SC_DEVICE, US_PR_DEVICE, NULL,
> US_FL_FIX_CAPACITY ),
>
> -/* Reported by Jan Mate <[email protected]> */
> +/* Reported by Jan Mate <[email protected]>
> + * and by Soeren Sonnenburg <[email protected]> */
> UNUSUAL_DEV( 0x0fce, 0xe030, 0x0000, 0x0000,
> "Sony Ericsson",
> "P990i",
> US_SC_DEVICE, US_PR_DEVICE, NULL,
> - US_FL_FIX_CAPACITY ),
> + US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ),
>
> /* Reported by Kevin Cernekee <[email protected]>
> * Tested on hardware version 1.10.

This fixes the phone, but what's the situation with that Casio camera?