usb/142276: Cache Synchronization Error with Olympus FE210
Camera
doverosx at gmail.com
doverosx at gmail.com
Sun Jan 3 22:51:22 UTC 2010
Hans Petter Selasky wrote:
> On Sunday 03 January 2010 22:15:56 Brodey Dover wrote:
>
>>> Number: 142276
>>> Category: usb
>>> Synopsis: Cache Synchronization Error with Olympus FE210 Camera
>>> Confidential: no
>>> Severity: serious
>>> Priority: low
>>> Responsible: freebsd-usb
>>> State: open
>>> Quarter:
>>> Keywords:
>>> Date-Required:
>>> Class: sw-bug
>>> Submitter-Id: current-users
>>> Arrival-Date: Sun Jan 03 21:20:01 UTC 2010
>>> Closed-Date:
>>> Last-Modified:
>>> Originator: Brodey Dover
>>> Release: FreeBSD 8- i386 - RELEASE - p1
>>> Organization:
>>>
>> None.
>>
>>
>>> Environment:
>>>
>> FreeBSD pcbsd 8.0-RELEASE-p1 FreeBSD 8.0-RELEASE-p1 #3: Fri Dec 11 13:33:42
>> PST 2009
>> root at build8x32.pcbsd.org:/usr/obj/usr/pcbsd-build80/fbsd-source/8.0-src/sy
>> s/PCBSD i386
>>
>>
>>> Description:
>>>
>> When plugging in the camera the system message buffer outputs many lines
>> about cache synchronization issues. When adding, deleting or changing
>> files stored on the camera more errors will display about cache
>> synchronization.
>>
>> Furthermore, while mounting the camera X/KDE become unresponsive to mouse
>> and keyboard inputs. If music is playing, it will either stop completely
>> or squeal (excessive interrupts).
>>
>> Here is output from dmesg that is relevant to the issue:
>>
>> ugen0.4: <OLYMPUS> at usbus0 (disconnected)
>> umass0: at uhub0, port 6, addr 4 (disconnected)
>> (da0:umass-sim0:0:0:0): lost device
>> (da0:umass-sim0:0:0:0): removing device entry
>> ugen0.4: <OLYMPUS> at usbus0
>> umass0: <OLYMPUS FE210/X775, class 0/0, rev 2.00/1.00, addr 4> on usbus0
>> umass0: SCSI over Bulk-Only; quirks = 0x0000
>> umass0:3:0:-1: Attached to scbus3
>> da0 at umass-sim0 bus 0 target 0 lun 0
>> da0: <OLYMPUS FE210/X775 1.00> Removable Direct Access SCSI-0 device
>> da0: 1.000MB/s transfers
>> da0: 1999MB (4095630 512 byte sectors: 255H 63S/T 254C)
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 GEOM: da0: partition 1 does not start on a track
>> boundary.
>> GEOM: da0: partition 1 does not end on a track boundary.
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 ugen0.4: <OLYMPUS> at usbus0 (disconnected)
>> umass0: at uhub0, port 6, addr 4 (disconnected)
>> (da0:umass-sim0:0:0:0): lost device
>> (da0:umass-sim0:0:0:0): removing device entry
>> ugen0.4: <OLYMPUS> at usbus0
>> umass0: <OLYMPUS FE210/X775, class 0/0, rev 2.00/1.00, addr 4> on usbus0
>> umass0: SCSI over Bulk-Only; quirks = 0x0000
>> umass0:3:0:-1: Attached to scbus3
>> da0 at umass-sim0 bus 0 target 0 lun 0
>> da0: <OLYMPUS FE210/X775 1.00> Removable Direct Access SCSI-0 device
>> da0: 1.000MB/s transfers
>> da0: 1999MB (4095630 512 byte sectors: 255H 63S/T 254C)
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 ugen0.4: <OLYMPUS> at usbus0
>> (disconnected)
>> umass0: at uhub0, port 6, addr 4 (disconnected)
>> (da0:umass-sim0:0:0:0): lost device
>> (da0:umass-sim0:0:0:0): removing device entry
>> ugen0.4: <OLYMPUS> at usbus0
>> umass0: <OLYMPUS FE210/X775, class 0/0, rev 2.00/1.00, addr 4> on usbus0
>> umass0: SCSI over Bulk-Only; quirks = 0x0000
>> umass0:3:0:-1: Attached to scbus3
>> da0 at umass-sim0 bus 0 target 0 lun 0
>> da0: <OLYMPUS FE210/X775 1.00> Removable Direct Access SCSI-0 device
>> da0: 1.000MB/s transfers
>> da0: 1999MB (4095630 512 byte sectors: 255H 63S/T 254C)
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0 pid 17259
>> (gdb), uid 1001: exited on signal 6
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize
>> cache failed, status == 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0):
>> Synchronize cache failed, status == 0x4, scsi status == 0x0
>> (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
>> status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed, status ==
>> 0x4, scsi status == 0x0 (da0:umass-sim0:0:0:0): Synchronize cache failed,
>> status == 0x4, scsi status == 0x0 ugen0.4: <OLYMPUS> at usbus0
>> (disconnected)
>> umass0: at uhub0, port 6, addr 4 (disconnected)
>> (da0:umass-sim0:0:0:0): lost device
>> (da0:umass-sim0:0:0:0): removing device entry
>>
>> Unfortunately I don't have another FE-210 but I have tried other Olympus
>> cameras, Nikons and Canons and even other flash but none seem to exhibit
>> this issue. Also, changing the SD card also doesn't "fix" the issue and
>> the SD card in the FE-210 used by another camera also warrants the same
>> errors and usability issues.
>>
>>
>>> How-To-Repeat:
>>>
>> Plug in an FE-210 Olympus camera.
>>
>>
>>> Fix:
>>>
>> None really.
>>
>>
>>> Release-Note:
>>> Audit-Trail:
>>> Unformatted:
>>>
>
> Hi,
>
> There should be a quirks table in "sys/dev/usb/storage/umass.c" .
>
> If you are running 8-stable, the quirks table has been moved to
> "sys/dev/usb/quirk/usb_quirk.c" and is settable via usbconfig.
>
> See the the add_quirk_vplh command for usbconfig.
>
> --HPS
>
>
I currently have these quirks to add:
UQ_AUDIO_SWAP_LR
UQ_AU_INP_ASYNC
UQ_AU_NO_FRAC
UQ_AU_NO_XU
UQ_BAD_ADC
UQ_BAD_AUDIO
UQ_BROKEN_BIDIR
UQ_BUS_POWERED
UQ_HID_IGNORE
UQ_KBD_IGNORE
UQ_MS_BAD_CLASS
UQ_MS_LEADING_BYTE
UQ_MS_REVZ
UQ_NO_STRINGS
UQ_OPEN_CLEARSTALL
UQ_POWER_CLAIM
UQ_SPUR_BUT_UP
UQ_SWAP_UNICODE
UQ_CFG_INDEX_1
UQ_CFG_INDEX_2
UQ_CFG_INDEX_3
UQ_CFG_INDEX_4
UQ_CFG_INDEX_0
and this is the line that I have setup now:
usbconfig -u 0 -a 4 -i 0 add_dev_quirk_vplh 0x07b4 0x0109 0x0000 0xffff
<which quirk to irk?>
Thanks for the response Hans!
More information about the freebsd-usb
mailing list