Problems with SD8686 SDIO on HTC Shift

Sven Barth svenmauren at vr-web.de
Sun Apr 12 05:56:23 EDT 2009


Hi again! (second try cause of attachment size *blush*)
>>> Since the device has the correct class, there is no need to add any
>>> ids for driver binding to happen.
>>>     
>>>       
>> I was not clear here: I didn't mean adding the IDs for driver mapping, 
>> but simply a "ID->device name" mapping, so that others don't have to 
>> search for the name of the device.
>>     
>
> You're better off adding it to the pci-ids list so that it shows up in
> lspci. :)
>   
According to your description, this is exactly what I want. :) How to do?

>> I compiled mmc with your suggested changes. I think - according to the 
>> attached dmesg output - that the changes didn't went well ^^. After 
>> inserting the SD card to run the tests I weren't able to unload 
>> mmc_block anymore.
>>     
>
> Right, you hit another bug that was noticed quite recently. I have a
> fix in my local repo, but it's not anywhere public quite yet.
>   
I will wait till this fix is included and then I'll test again.

>> BUT: the driver which is mentioned in the tutorial for "Linux on Shift" 
>> ( http://pof.eslack.org/blog/2008/04/14/linux-on-htc-shift/ ) works! 
>> It's in the Linux-Ubuntu-Modules Package ( 
>> http://archive.ubuntu.com/ubuntu/pool/main/l/linux-ubuntu-modules-2.6.24/linux-ubuntu-modules-2.6.24_2.6.24-24.38.tar.gz 
>> ) in the directory ubuntu/wireless/marvell/8686_wlan.
>> For compilation (on the 2.6.24 kernel) it needs the option 
>> CONFIG_MMC_SD8686=m and the header os_headers.h in os/linux must be 
>> fixed: it includes "<semaphore.h>" but it must be "<asm/semaphore.h>".
>> For the firmware one can use the v9 ones from the kernel repo. Their 
>> destination directory is {firmwaredir}/mrvl and the helper must be 
>> called helper_sd.bin.
>>
>> The interesting part is: this driver also relies on mmc_core, but it 
>> doesn't fail like libertas. There are indeed no errors in dmesg. So 
>> where is the problem now? Is it not only in mmc, but also in 
>> libertas(_sdio)? How does sd8686.ko circumvent the problems with this 
>> strange SD-controller?
>>     
>
> No idea. Last time I check their driver used a completely different MMC
> stack, so their driver was not directly usable. From the looks of it
> someone has written some hacks to hook it up the the mainline stack.
>   
Seems so. But it was only available in Ubuntu 8.04 (perhaps in earlier 
releases, too, but I didn't check that)...

>> Hmm... I will recompile mmc in debug mode. I hope this will clear up 
>> some things :D
>>
>>     
>
> It doesn't really explain the C200 bugs as the host controller driver
> will be the same in both cases. But comparing debug dumps from the two
> systems might give something.
>
> Rgds
>   
I attached two (compressed) syslog entries (dmesg was too short :P ). 
Both are from the 2.6.24 system. One is using the sd8686-module, the 
other the libertas ones. I hope this will help.

Greetings,
Sven
-------------- next part --------------
A non-text attachment was scrubbed...
Name: syslog-2.6.24-libertas.gz
Type: application/gzip
Size: 22080 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/libertas-dev/attachments/20090412/b1ce3c44/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: syslog-2.6.24-sd8686.gz
Type: application/gzip
Size: 31803 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/libertas-dev/attachments/20090412/b1ce3c44/attachment-0003.bin>


More information about the libertas-dev mailing list