Problems with SD8686 SDIO on HTC Shift

Pierre Ossman pierre at
Fri Apr 10 16:44:37 EDT 2009

On Sat, 04 Apr 2009 13:35:06 +0200
Sven Barth <svenmauren at> wrote:

> >
> > 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. :)

> 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.

> BUT: the driver which is mentioned in the tutorial for "Linux on Shift" 
> ( ) works! 
> It's in the Linux-Ubuntu-Modules Package ( 
> ) 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.

> 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.

     -- Pierre Ossman

  WARNING: This correspondence is being monitored by the
  Swedish government. Make sure your server uses encryption
  for SMTP traffic and consider using PGP for end-to-end
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <>

More information about the libertas-dev mailing list