low throughputs with 14e4:4353

francesco.gringoli at ing.unibs.it francesco.gringoli at ing.unibs.it
Thu Dec 15 13:11:04 EST 2011


On Dec 14, 2011, at 7:04 PM, Rafał Miłecki wrote:

> W dniu 14 grudnia 2011 18:02 użytkownik
> <francesco.gringoli at ing.unibs.it> napisał:
>> On Dec 8, 2011, at 10:34 AM, Rafał Miłecki wrote:
>> 
>>> W dniu 8 grudnia 2011 10:21 użytkownik
>>> <francesco.gringoli at ing.unibs.it> napisał:
>>>> 
>>>> On Dec 7, 2011, at 1:01 PM, Rafał Miłecki wrote:
>>>> 
>>>>> W dniu 5 grudnia 2011 21:39 użytkownik Rafał Miłecki <zajec5 at gmail.com> napisał:
>>>>>> W dniu 29 listopada 2011 22:36 użytkownik Rafał Miłecki
>>>>>> <zajec5 at gmail.com> napisał:
>>>>>>> I'll give it a rest and will try in next days again.
>>>>>> 
>>>>>> It really seems it's something spur avoidance related (and so most
>>>>>> probably CC PLL related). After applying my patch implementing SPUR
>>>>>> avoidance, card stops receiving anything. I'll dig more around it.
>>>>> 
>>>>> I've found bug in my implementation and fixed it. Today evening I'll
>>>>> test if my patch fixes performance anyhow (I need physical access).
>>>> Rafal,
>>>> 
>>>> I did some mmio traces and checked what happens when changing txpower.
>>>> 
>>>> 1) values in N-PHY tables 0x1A and 0x1B are changed, e.g., for txpower 5 and txpower 10 they are the same, for txpower 15 they are different so I guess there exist thresholds. Unfortunately I don't even know what these tables are.
>>>> 
>>>> 2) value in PHY register 0x1ea is changed according to the configured power value. As I can read in specs this is the TX power control target power for both radios: e.g., for txpower 5 => 0x2020, for txpower 10 => 0x2c2c, for txpower 15 => 0x3c3c.
>>>> 
>>>> Then I switched to b43 and load a custom firmware to analyze how register 0x1ea is setup and it holds always 0x0000. I forced it to be 0x2c2c and magically the throughput increased to ~ 3Mb/s. Unfortunately when I try 0x3c3c (corresponding to txpower 15) I get only phy-transmission errors.
>>> 
>>> I can see a lot of differences between wl and b43, a lot to validate&test.
>>> 
>>> Do you have some magic scripts for parsing MMIO dumps? I hope you do,
>>> otherwise it's impossible to analyze that ;)
>>> 
>>> You can try adding
>>> nphy->txpwrctrl = true;
>>> in function b43_nphy_op_prepare_structs if you wish test something
>>> right now. I've noticed this missing part today morning, but won't
>>> able to test until evening.
>>> 
>> Hi Rafal,
>> 
>> great! I applied all the last patches you sent and the throughput now grows during an iperf experiment.
>> 
>> Unfortunately, if to a given AP I can get up to 17-18Mb/s from a 4318, my 43224 never exceeds 5Mb/s :-(
>> 
>> Are you experiencing something similar?
> 
> I can achieve about 6-8 Mb/s on my BCM43224.
> 
> If you take a look at
> http://bcm-v4.sipsolutions.net/RecentChanges
> you can see Larry updated/filled a lot of routines recently. Most of
> them TX related, some writing tables and I think one of them touches
> 0x1ea register. So give me few more days, I'll publish more patches
> and the we will finally do some real tests:)
I really appreciate your efforts, guys!

Just to add another bit of information: though the link is very good (54Mb/s is always selected by the 4318 card), with the 43224 48 and 54Mb/s frames are likely to fail, while 36Mb/s is almost 100% succeeding.

-Francesco

> 
> -- 
> Rafał




More information about the b43-dev mailing list