Libertas SDIO 88w8686 with iPhone

Cyril HAENEL chaenel at free.fr
Sun Apr 4 16:10:25 EDT 2010


David Wang a écrit :
> 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
>   

Hi David,

Here is an idea based on my own experience with a prioprietary embedded 
wifi card based on the marvell 88W8385 chip (used in Compact Flash mode) :
on this module, there is 2 antenna connectors, named J1 and J2, because 
the wifi card is able to do antenna diversity.
In my project, we need only one antenna, so we simply connected it on 
the J1 connector, because it's logical, and the datasheet of the module 
never said what to do.
Everythink was perfect during development at office, but when deploying 
our system in real world worl, problems quickly emerged : connection 
lost, very low data rate, etc...
And finally I discovered that the wifi card use the J2 antenna for Tx., 
and not J1 !!!
Because of diversity, Rx is on J1 and J2, but Tx is only on one antenna, 
and on this wifi card it's J2, not J1....
I never seen something about that in the datasheet....

During this story, I discovered that diversity mode and a lot of thing 
can be configured in the wifi chip. It's why for your problem maybe it's 
just a configuration to do to tell the hardware to activate a RF switch 
or something like that.

Regards,
Cyril

-- 

Cyril Haenel
Registered Linux User #332632




More information about the libertas-dev mailing list