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