Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Sep 2012 00:39:18 +0400
From:      Anatoly <anatoly@kazanfieldhockey.ru>
To:        freebsd-usb@freebsd.org
Subject:   Re: how to force my 32G usb pendrive to flush write cache in RAM it has?
Message-ID:  <20120907003918.7620fb1e@epc.localdomain>

next in thread | raw e-mail | index | archive | help
В Thu, 06 Sep 2012 15:18:18 +0200
"Stanislaw W." <erikses@gmail.com> пишет:

> W dniu 05.09.2012 23:47, Anatoly pisze:
> > В Tue, 4 Sep 2012 23:55:57 +0400
> > Anatoly <> пишет:
> >
> >> Hello,
> >> I have a problem with my new 32G pendrive:
> >>
> >> da1: <JetFlash Transcend 32GB 8.07> Removable Direct Access SCSI-2
> >> device da1: 40.000MB/s transfers
> >> da1: 30640MB (62750720 512 byte sectors: 255H 63S/T 3906C)
> >>
> >> I'm using fat32 partition on it.
> >> To make problem occur I can do following things:
> >> 1) write a file about 5MB in size on that partition
> >> 2) unmount
> >> 3) unplug pendrive (so it loses power)
> >> 4) plug it again
> >> 5) mount
> >> Now I can see that the end of file is corrupted.
> >>
> >> Poblem never occurs when I do:
> >> 1) write a file about 5MB in size on that partition
> >> 2) unmount
> >> 3) mount
> >> Also, problem doesn't occur if I'll wait for more than ~10 minutes
> >> before unplugging pendrive.
> >>
> >> So it seems to me that this pendrive has internal write cache in
> >> RAM that needs to be flushed before pendrive loses power.
> >> Problem never occurs with Windows. As I click "remove", windows
> >> somehow "correctly shutdowns" pendrive so it's LED goes off (Unlike
> >> if i just unmount, when the LED stays on)
> >>
> >> What can I do to get cache flushed before unpugging, turn that
> >> write cache off, or any other suggestions?
> >> I've tried camcontrol stop and camcontrol eject with no
> >> success
> >> I using FreeBSD 7.3 with generic kernel here
> > I've found solution:
> > http://lists.freebsd.org/pipermail/freebsd-usb/2008-March/004677.html
> > that 'upower' utility allows to suspend pendrive, and I get cache
> > flushed (And LED goes off):
> > upower /dev/usb0 2 suspend
> > _______________________________________________
> > freebsd-usb@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-usb
> > To unsubscribe, send any mail to
> > "freebsd-usb-unsubscribe@freebsd.org"
> >
> To flush cache You can also use sync(8)
> 
> 
> Stanislaw.
Thank you for advice, Stanislaw
I've just tried sync. Doesn't help yet.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120907003918.7620fb1e>