Libertas SDIO 88w8686 with iPhone

David Wang mirrorspeak at gmail.com
Sun Apr 4 14:05:30 EDT 2010


My previous e-mail to this list got eaten because of a "suspicious
header", so here's an (updated) version of the message:

I've been working on a port of Linux to the iPhone. I wrote a SDIO
driver for the s5l8900, the Samsung SoC used in the iPhone and I'm
attempting to use the Libertas driver for the WLAN. The ID read off
the WLAN chip is 0x02df:0x9103 so it ought to work with Libertas.

The driver seems to work fine except that with Libertas, the transmit
power seems to be 30 dB lower than under iPhone OS (checked with
another computer with airodump). I first attempted to use the firmware
available from Marvell's website. However, I also cut out the firmware
used in the current version of the iPhone OS and used it with Libertas
and got the same results. Things seem to be a little better once I
patch Libertas to use the CMD_802_11_CAL_DATA_EXT command and submit
what the iPhone has been using.

Libertas reports a normal tx power through iwconfig, and both the
iPhone driver and Libertas have the tx power set between the reported
ranges of 4-15 dBm.

On the bright side, if I stay within the same room as the router,
everything is perfect. ;)

Does anyone have any hints on how I can hunt for this problem? Is it
something that lies in the differences between the commands the iPhone
driver and the Libertas driver issues? (I duplicated the iPhone's
CMD_BBP_REG_ACCESS, CMD_RF_REG_ACCESS and CMD_MAC_REG_ACCESSes to no
avail… the bulk of it appears to be for Bluetooth coexistence).
Perhaps is there an external amplifier I need to turn on somehow? (I
don't see the iPhone OS doing anything like that thus far) Is there
some setting on the SDIO controller that I need to adjust?

The version of Libertas I'm working off is from the mainline kernel
and was last touched in commit
655ffee284dfcf9a24ac0343f3e5ee6db85b85c5 on Feb. 27, 2010.

Thanks,

David



More information about the libertas-dev mailing list