On Dec 8, 2011, at 10:34 AM, Rafał Miłecki wrote:

> W dniu 8 grudnia 2011 10:21 użytkownik
> <francesco.gring...@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 <zaj...@gmail.com> 
>>> napisał:
>>>> W dniu 29 listopada 2011 22:36 użytkownik Rafał Miłecki
>>>> <zaj...@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 ;)
No, I don't have yet. But I can ask some wizard to write some perl stuff. I 
will report his answer later ;-)

> 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.
No improvement. But I believe that when that is set up it's the firmware to 
change the power levels but the firmware does not change the tables. Maybe it 
does by rewriting the power mask in the tx transmission control field 
overwriting what written by the kernel driver.

-Francesco

> 
> -- 
> Rafał


_______________________________________________
b43-dev mailing list
b43-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/b43-dev

Reply via email to