From owner-freebsd-usb@FreeBSD.ORG Thu Sep 6 20:37:57 2012 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E20E1065670 for ; Thu, 6 Sep 2012 20:37:57 +0000 (UTC) (envelope-from anatoly@kazanfieldhockey.ru) Received: from kazanfieldhockey.ru (kazanfieldhockey.ru [78.138.152.250]) by mx1.freebsd.org (Postfix) with ESMTP id BFBEC8FC0C for ; Thu, 6 Sep 2012 20:37:56 +0000 (UTC) Received: from epc.localdomain (host-175-22.xdsl.telecet.ru [87.117.175.22]) (authenticated bits=0) by kazanfieldhockey.ru (8.14.3/8.14.3) with ESMTP id q86KbpQF065607 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Fri, 7 Sep 2012 00:37:53 +0400 (MSK) (envelope-from anatoly@kazanfieldhockey.ru) Date: Fri, 7 Sep 2012 00:39:18 +0400 From: Anatoly To: freebsd-usb@freebsd.org Message-ID: <20120907003918.7620fb1e@epc.localdomain> X-Mailer: Claws Mail 3.7.5 (GTK+ 2.18.7; i386-portbld-freebsd7.3) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (kazanfieldhockey.ru [192.168.13.2]); Fri, 07 Sep 2012 00:37:53 +0400 (MSK) Subject: Re: how to force my 32G usb pendrive to flush write cache in RAM it has? X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2012 20:37:57 -0000 В Thu, 06 Sep 2012 15:18:18 +0200 "Stanislaw W." пишет: > 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: 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.