Date: Tue, 4 Sep 2012 23:55:57 +0400 From: Anatoly <anatoly@kazanfieldhockey.ru> To: freebsd-usb@freebsd.org Subject: how to force my 32G usb pendrive to flush write cache in RAM it has? Message-ID: <20120904235557.7ca40fc8@epc.localdomain>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120904235557.7ca40fc8>
