Is There Any Free Replacement For The Mmcsd Driver?


Hoshpak

Member
Joined
Jun 10, 2006
Messages
228
Hello,
I just want to know if there's a free (like in free speech) replacement for the proprietary mmcsd driver. I searched this and other forums and the internet for hours but didn't find one. My decision to buy a gp2x depends on this. It doesn't need to support the DRM Features but reading and writing from/to mmc and SD cards. And please, I dont want to discuss with you whether proprietary drivers are bad or not or whether I am fanatic or not and so on, I just want an answer to my question. Thank you.
 
i know that the HH guys are on top of the SD file i/o issue at least; there is code out there to do all SDIO to be honest, but remember: SDIO comes with lawyers. if you release a public SD driver, you can get in trouble over the trademark .. this is why there isn't so much 'public' code, if you catch my drift.

if you use the SD trademark, you must agree not to release open/public code about SD. its part of the SDIO group ..
 
If you want to sacrifice performance and loose DRM functionality, then sure, there's an open source driver available.

Reason for the performance difference? The proprietary driver uses 4-bit mode which, as torpor explains, is kept under a tight non-disclosure agreement, and the SDIO organisation don't think twice about sending out cease and desist letters along with various other letters from there lawyers...

The open source driver uses the MMC single-bit interface, which just happens to be compatibile with SD cards, but of course is much slower. Not only do you have 1 line each way rather than a 4-wire bi-directional bus, but the actually speed of transmission is much slower too.
 
Vimacs posted on Jul 7 2006 at 06:12 PM said:
Didnt rob write a 4bit driver for sdk2x?

Yes, but that doesn't help Hoshpak, who wants a free one. Rob's uses information that is supposed to be under NDA, so isn't free as such.
 
Last edited by a moderator:
There's no way Rob could reverse engineer from a closed source driver to get a non-NDA-encompassed 4-bit piece of code, is there?

Or is it just one of those "not really worth the sheer quantity of effort" kind of things?
 
The source (maybe only partially?) for the mmcsd-Driver seems to be included in the official released source code it just stands under a proprietary license. But even if Rob reverse-engineered it himself it would be a hart piece of work to convert the sdk2x driver to a linux driver, wouldn't it? I don't have any kernel hacking experience myself but I think that sdk2x drivers are a bit different to linux drivers. I will write a message to rob directly and ask him about the state of his driver.
 
Rob didn't do any reverse engineering, he used several pieces of documentation which explained most of the commands. This is what I mean by "information that is supposed to be under NDA".

After all, why reverse engineer, when you have the documentation? :)

Hoshpak: The source code for the mmcsd is provided in full - people have recompiled the kernel with there own changes. However, I don't think anyone is going to change the mmcsd code simply because what we have at the moment works - why change to something that is less compatible or slower just because of a license type?

Hmmm, the PDF's still show up in a google search, but are no longer publically downloadable... I wonder why ;)
 
Well reverse engineer so you can say you weren't under an NDA, and for that matter, you shouldn't have needed to be to get the information in the first place.

I thought that was the difference between something that was made to integrate with someone else legally (i.e. analyse what you've got without taking it apart to recreate something similar) vs an illegal one (done with information you, for whatever reason, shouldn't have)
 
Well, from what's rob has said whilst he was creating his version, it's difficult enough to make a sd driver with the available documentation, never mind trying to make one when you don't know what the commands are supposed to do and just guess at them (ie. reverse engineer) :)
 
Hm, thank you all very muich for your answers, rob told me that he didn't used any non-free documentation to write his driver and I should be able to use his code like every other GPL-code. He also told me that there is a generic SD-driver in U-boot which coukld contain usefull information. So I will start learning C in a few weeks and will try to write a driver myself.
 
Ok, good luck.

If you want any of the documentation that was publically available before it mysteriously disappeared, let me know. None of it is from the SD org, so it should be free for use.
 
Back
Top