Date - 05/23/2011 10:30am Case - 2382284 Device - MC65 OS - 1.21 TA states " employee returns from route, downloads information then corruption occurs when try to stage application for next employee's route which stores a database on sd card; database is corrupted ATP 2 GIG SD card - industrial rated customer has 11 devices .. randomly occurs on different devices .. does not happen every time. " I have found previous case that discussed registry key to keep power to SD card in suspended stated. It is not known if device is suspended any time during this process but doing research. In the previous case It stated The below regkey keeps the SD card powered-on in suspend but has the downside of adding 1 mA additional power draw in suspend. ; prevent wavedev and sd driver from enterring D2 state when in backlightoff state [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\BacklightOff] "wav1:"=- "shc1:"=- ; turn on SD card on resuming and user idle state [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\Resuming] "shc1:"=dword:0 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\UserIdle] "shc1:"=dword:0 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\Suspend] "shc1:"=dword:0 TA would like to know what the values should be ?? Is 0 the correct setting to keep power to the SD card? Is there any other known issues or fixes for this that I have not found yet? Please let me know. Thanks.
MC65 - SD Card Corruption// Expert user has replied. |
13 Replies
That sounds like an SDIO driver for someone else's specific device and hardware. The other device must have had a bug in the driver. Dave
EnableWriteBack set to 1 sets the cache to a mode where things are cached, and written later. This enhances performance. Turning it to 0 sets the device to always write to cache and flash immediately. THis would slow down write performance, but leave less time where flash isn't written. Either of these methods do not guaranty that a cold boot or battery pull will not cause corruption, because writes could still be happening while that happens.
Thank you again for your response!
Last Question for this issue. TA is asking .. "The above reg key helped her customer's issue of the sd card corruption issue. She heard of this cab file was loaded on a non - motorola device and solved an sd card corruption issue, She is asking if we can tell her any information this file .. msm7500_sdhc.dll"
To keep the SD card powered during suspend, that is required. I am not sure the details why both need to be deleted, but these are a set of keys given by the development team. Dave
Thank you for your quick responses. forwarded information to TA to test and validate
TA is asking for an brief explanation of the purpose of this reg key.. they are researching to see if your suggestion of not allowing the sd card to completely finish writing could be causing the corruption issue.. " What does the following registry entry do?
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory\FATFS] "EnableWriteBack"=dword:00000000" As usual, any assistance is greatly appreciated.
In addition, if they are rebooting, this key doesn't help them. If they are rebooting while writing to the SD card, that would be a good guess of why they get corruption. Dave
Thank you for the response. I assume that since it was specified in this registry file that it is required to delete these keys.
Thank you for the quick response. I forwarded information to TA
customer was sent reg file for Micro SD unmount .. to prevent SD card from dismounting on suspending .. (customer is actually rebooting the device) Within this reg file has 2 keys listed with a dash in them ... TA needs explanation if the dashes need to be there (if so purpose), or if there is a setting that needs to be entered in place of the dashes... please explain. ; prevent wavedev and sd driver from enterring D2 state when in backlightoff state [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\BacklightOff] "wav1:"=- "shc1:"=- ; turn on SD to D0 on all state [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\Resuming] "shc1:"=dword:0 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\UserIdle] "shc1:"=dword:0 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\Suspend] "shc1:"=dword:0
The dash after a regvalue= will delete that reg value. For instance, instead of setting the registry value "wav1:" equal to something, it is deleting "wav1:" from that key.
The values shown are the values which will keep the SD card on during suspend. I don't know whether that will have any affect on corrupt SD cards --> you need to find out if it is really getting corrupt upon a suspend resume. There are no known problems or solutions around this registry configuration. Dave