SDHC Finally Works !!!!!!

Search This thread

walram

Senior Member
Jul 17, 2007
102
0
i don't think there is any difference between a "mini sdhc" and a "micro sdhc" with adapter to mini. The pinout should be the same and there is no "intelligence" in the adapter part. correct me if I'm wrong.

i don't have a mini sdhc card to test, but maybe someone else has.

Here are some pictures of the adapter/converters. maybe this will help:
http://www.camerahacker.com/Digital/Inside_miniSD_Adapter.shtml
 
Last edited:

dark_prince

Senior Member
May 5, 2007
1,101
146
Islamabad
i don't think there is any difference between a "mini sdhc" and a "micro sdhc" with adapter to mini. The pinout should be the same and there is no "intelligence" in the adapter part. correct me if I'm wrong.

i don't have a mini sdhc card to test, but maybe someone else has.

Here are some pictures of the adapter/converters. maybe this will help:
http://www.camerahacker.com/Digital/Inside_miniSD_Adapter.shtml

for micro sd or micro sdhc, the transfer rate is drastically low compared to a mini SDHC. and when u use a mini sd adapter for it, it will be uber slow. I would rather stick to my 2 Gig minisd card. (there are non SDHC 4 Gig ones too)
 

androx15

Member
Mar 6, 2009
10
0
hi well im new but i test this patch and finally works im using kamikase rc7 wm6.1prof and load 8gb microsd with adapter and isnt slow have a good performance
 

paran

New member
Oct 1, 2008
2
0
Have something important to add! With these drivers SD performance doesnt degradate! Hence You get SDHC support and normal SD-card read/write speed. Check it out! I've uploaded it to FileFactory. Great thanks to comrad llnhhy (the developer)!
http://www.filefactory.com/file/a093fdb/n/llnhhy_SDHC_For_Tornado_20090726_CAB

PS
Cotulla's drives and certs arent needed anymore...Only install the software mentioned above.

Big thanks,super work! My test two card Tornado WM 6.1 Standard works OK.
 

Attachments

  • 4GB_8GB_test_OK.jpg
    4GB_8GB_test_OK.jpg
    96.7 KB · Views: 73

Marsbar

Senior Member
Mar 31, 2007
529
51
Nottinghamshire
Have something important to add! With these drivers SD performance doesnt degradate! Hence You get SDHC support and normal SD-card read/write speed. Check it out! I've uploaded it to FileFactory. Great thanks to comrad llnhhy (the developer)!

Not working here with Gregory's 6.5 ROM. I had previously installed Cotulla's, but I did uninstall that first.

Edit: redoing the install seems to have fixed it. And I (and CardSpeed) agree - much less stuttery and faster than Cotulla's, this with a Transcend 8GB class 6 micro-SDHC with Kingston Micro->Mini adaptor. So many thanks from here to the developer.
 
Last edited:

tobbbie

Senior Member
Jan 5, 2007
1,452
252
Stuttgart
Using standard Cachesize (Auto) on the device the sk tools benchmark delivers a WRITE of ~450kB/s and a READ of ~880kB/s. I used a 16GB SanDisk Ultra class4 for this test. This is as good as it can get on the device :)
It does not work with WM5 though - so you have to use a cooked rom from WM6 onwards. I tested it with the Nitrogen WM6
 
Last edited:

tobbbie

Senior Member
Jan 5, 2007
1,452
252
Stuttgart
The driver cab file inserts invalid data to the key
HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class\High_Capacity value "IClass" which should be identical to
HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class value "IClass"
as it is also for other sdhc aware drivers. It seems that the setting of the <parm name="IClass" value="<some-value>" datatype="multiplestring" /> requires special attention in separating the strings. I found a hint in a German forum :
<parm name="SomeTestString2"
value="string1string2string3&#xF00 0;" datatype="multiplestring" />
<!-- multi strings separation with  -->
<!-- multi strings ending with  -->

After altering the _setup.xml in the cab file and re-creating it (otherwise identical) the values inserted in the registry for the value above is correct.

I suspect that the invalid setting is excluding the driver from handling the class "{8DD679CE-8AB4-43c8-A14A-EA4963FAA715}" which is found at HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\Interfaces value "{8DD679CE-8AB4-43c8-A14A-EA4963FAA715}" set to "Power-manageable block devices".
This could have resulted in not (properly?) doing power management, but this was demanded anyhow by another value set as
<parm name="DisablePowerManagement" value="1" datatype="integer" /> in the _setup.xml

Consequently the net-result of the fixed cab may just be the same as the orginal but for different resons. For those who want it, I have attached the fixed cab file below. You may want to play with enabling power management possibly?
 

tobbbie

Senior Member
Jan 5, 2007
1,452
252
Stuttgart
I have further debugged the two SDHC cab files that are available (llnhhy_ and Cotulla_ ) for the StarTrek and the Tornado and the core function is de-facto identical.

The only file you need for the Tornado is the OMAP850_SDHC.dll which is (apart from the two different certificates they are signed with in either cab archive) identical. This also means that all the credits of making the SDHC work on the Tornado goes to Cotulla.
The other 2 files packed into the llnhhy_SDHC_For_Tornado... cab are the identical files that are in your cooked WM6 ROMs anyway (again signed differently only).
Also the fuzz about adding an own sub-key below
HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class
named
\High_Capacity
is useless on the Tornado, simply as the relevant dll (sdbus.dll) will not read this from the registry. The sdbus.dll from the StarTrek (Cotulla's cab) should read it there - and it also works on the Tornado without decreasing performance.

So why not using the Cotulla cab right away? Well, the 3.rd file contained - sdmemory.dll creates the big slowdown and should not be installed on the Tornado - and the Registry Key that the driver needs to work is not set in the installation cab.

So what?

The supplied file from llnhhy works as is and should not do any harm to the device. It unnecessarily installs two dlls and creates a reg-key that is never read.

The Cotulla cab is usable on the Tornado as well if you delete the non suitable sdmemory.dll after installation and add the registry key (see below).

Smallest footprint: just copy OMAP850_SDHC.dll to your \Windows directory and add one value to the registry: HKLM\Platform\ColdBootConfig = dword:1

I have added a simple cab to install this file - credits go to Cotulla for the OMAP850_SDHC.dll and to llnhhy to discover the one registry setting that makes the driver actually work.


And why all this?
It has given me back my Tornado - the best ever Windows Mobile Smartphone. Nothing that came after it could ever match the composition of features (WiFi) and form-factor (candybar).

I am currently cooking my own WM6 ROM on base of the Nitrogens Kitchen - no need for WM6.1 or 6.5 from my point of view. All my Homescreen Plugins already worked on WM5 and all the new nice sliding and animated stuff is not for me...

Have an eye on the latest HP Ipaq Voice Messenger already, but after my odyssee with the Benq E72 and the LG KS20 I am happy to be back to known grounds.
 

Attachments

  • Cotulla_SDHC_For_Tornado_WM6+_privileged.cab
    12.1 KB · Views: 68
Last edited:

tobbbie

Senior Member
Jan 5, 2007
1,452
252
Stuttgart
You can cook the driver into your ROM - its easy!

Now that I stepped in all traps, the final result is truely simple:

The registry key HKLM\Platform\ value (dword) ColdBootConfig=1 is mandatory or the driver will not operate.

I suspect (don't have a StrTrk) that the StrTrk has this value permanently set at ColdBoot and so also the altered driver for SDHC requires this setting. Logically the setting of this value is not present in the StrTrk relevant CAB from Cotulla.

So llnhhy seems to be the one who found out that this did the trick for the Tornado as well, packing just the same two related files (plus the surplus Reg Settings - see previous post) into an own cab for distribution.

So my thanks go to both of them finally :)


I have cooked it succesfully in my private cooked ROM (using Nitrogens kitchen) as a module:

1.) create a module from the OMAP850_SDHC.dll using reversmode (look up the G'Reloc thread)
2.) replace the created folder with the one in the Work\SYS\OEMDrivers\
3.) run G'Reloc, accepting the valules it presents (the come from the .VM folder as I understand) to realign the modules in the first VM slot without gaps or overlap. A little more insight on the VM is found here: http://www.codeproject.com/KB/mobile/VirtualMemory.aspx
4.) IMPORTANT: Add one line to the relevant *.rgu file of your directory (mine is 173a9ae3-aea7-4dda-a089-433f33821a1a.rgu) where the path HKLM\Platform\ is filled, in mine the section there now looks like:
[HKEY_LOCAL_MACHINE\Platform]
"Name"="Hornet Reference Platform"
"Type"=dword:2
"ColdBootConfig"=dword:1 ;required for OMAP850_SDHC.dll
5.) build your ROM.

One advantage of the module approach is that you do not have to care about certificates (and its the smallest as well).

Enjoy!
 
Last edited:

tobbbie

Senior Member
Jan 5, 2007
1,452
252
Stuttgart
Take care about the microSD to miniSD adapter!

If you noticed intermittent problems with your microSD card (especially after inserting it new), take care that the adapter and both connections (card <--> adapter <--> device) are stable and clean.

I have set an adhesive tape around the miniSD fixing the microSD inside and additionally flapped the tape around for easier removal in case I have to remove the microSD. This is giving it an extra pressure to the connection inside the adapter from the battery above.

No problems observed since then any longer
 

Attachments

  • R0014028-small-cropped.jpg
    R0014028-small-cropped.jpg
    37.8 KB · Views: 16
  • R0014029-small-cropped.jpg
    R0014029-small-cropped.jpg
    43.5 KB · Views: 12
  • R0014030-small-cropped.jpg
    R0014030-small-cropped.jpg
    57.5 KB · Views: 12

tobbbie

Senior Member
Jan 5, 2007
1,452
252
Stuttgart
Another thing to notice: If you have the problem that "suddenly" the card is no more detected, check if device settings have created a directory "Storage Card" - even if the card was not present once. This happens if you set system directories (like for IE cache) to the card.
The next time that the card is present it will be mounted as "Storage Card2" but all your links and settings will not point to it. So from first glance (looking at the startmenu) it seems that the card is not mounted still.
This will never cleanup automatically - so you may think microSD card support is broken suddenly, but it is not :)

To clean up:
  • rename the false "Storage Card" directory to another name
  • reboot
  • the card is mounted with the right name and all your links are back
  • look if anything was stored in the renamed directory, copy it to the card if needed and finally delete it.