2013-06-14 23:58:28

by George Nychis

[permalink] [raw]
Subject: unable to force transmission rate on injection

I have an ath9k_htc card that I am trying to force a transmission rate
on injection. I did some digging around and found this patch from
Pavel:

http://article.gmane.org/gmane.linux.kernel.wireless.general/47441

I updated and implemented that patch in to my kernel, and I see my
injected packets coming down through the code. I see that the rates I
am trying to transmit pass the test to make sure that the rate is
available:

[ 1244.647325] *** gnychis: OK on rate 540 -- idx: 11
[ 1244.682061] *** gnychis: OK on rate 480 -- idx: 10
[ 1244.741305] *** gnychis: OK on rate 360 -- idx: 9
...

And then I double checked to make sure that, given the flag,
ieee80211_tx_h_rate_ctrl() is *not* being called. So, to the best of
my knowledge the patch supplied seems to keeping the supplied rate and
disabling rate control.

But, for some reason it still keeps getting transmitted at a rate of
1Mbps. I have verified this with an independent receiver. If I do a
pcapdump on the transmitting interface, I see two packets for every
transmission. One at the rate I am trying to transmit at, and another
at 1Mbps:
http://users.ece.cmu.edu/~gnychis/bad_tx.pcap

Am I missing something else in mac80211 to inject at a specific rate?

Thanks!
George


2013-06-15 20:19:28

by Oleksij Rempel

[permalink] [raw]
Subject: Re: unable to force transmission rate on injection

Hi George,

Am 15.06.2013 21:58, schrieb George Nychis:
> Hi Oleksij,
>
> Thanks for the heads up that the rate control is in the firmware. I
> hadn't realized this was open source. I'll look through it and see
> what I can do. If anyone out there already has a pre-baked version of
> the firmware to fix this, just let me know. Otherwise, I'll post a
> patch when done.

you are welcome.
I don't think some one already done this.


> On Sat, Jun 15, 2013 at 3:24 AM, Oleksij Rempel <[email protected]> wrote:
>> Hi George,
>>
>> ath9k_htc use internal rate controller which is located insight of firmware.
>> If you have time, i'll suggest to take it in your hands.
>>
>> Am 15.06.2013 01:58, schrieb George Nychis:
>>>
>>> I have an ath9k_htc card that I am trying to force a transmission rate
>>> on injection. I did some digging around and found this patch from
>>> Pavel:
>>>
>>> http://article.gmane.org/gmane.linux.kernel.wireless.general/47441
>>>
>>> I updated and implemented that patch in to my kernel, and I see my
>>> injected packets coming down through the code. I see that the rates I
>>> am trying to transmit pass the test to make sure that the rate is
>>> available:
>>>
>>> [ 1244.647325] *** gnychis: OK on rate 540 -- idx: 11
>>> [ 1244.682061] *** gnychis: OK on rate 480 -- idx: 10
>>> [ 1244.741305] *** gnychis: OK on rate 360 -- idx: 9
>>> ...
>>>
>>> And then I double checked to make sure that, given the flag,
>>> ieee80211_tx_h_rate_ctrl() is *not* being called. So, to the best of
>>> my knowledge the patch supplied seems to keeping the supplied rate and
>>> disabling rate control.
>>>
>>> But, for some reason it still keeps getting transmitted at a rate of
>>> 1Mbps. I have verified this with an independent receiver. If I do a
>>> pcapdump on the transmitting interface, I see two packets for every
>>> transmission. One at the rate I am trying to transmit at, and another
>>> at 1Mbps:
>>> http://users.ece.cmu.edu/~gnychis/bad_tx.pcap
>>>
>>> Am I missing something else in mac80211 to inject at a specific rate?
>>>
>>> Thanks!
>>> George
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-wireless"
>>> in
>>> the body of a message to [email protected]
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
Regards,
Oleksij

2013-06-15 19:58:25

by George Nychis

[permalink] [raw]
Subject: Re: unable to force transmission rate on injection

Hi Oleksij,

Thanks for the heads up that the rate control is in the firmware. I
hadn't realized this was open source. I'll look through it and see
what I can do. If anyone out there already has a pre-baked version of
the firmware to fix this, just let me know. Otherwise, I'll post a
patch when done.

- George

On Sat, Jun 15, 2013 at 3:24 AM, Oleksij Rempel <[email protected]> wrote:
> Hi George,
>
> ath9k_htc use internal rate controller which is located insight of firmware.
> If you have time, i'll suggest to take it in your hands.
>
> Am 15.06.2013 01:58, schrieb George Nychis:
>>
>> I have an ath9k_htc card that I am trying to force a transmission rate
>> on injection. I did some digging around and found this patch from
>> Pavel:
>>
>> http://article.gmane.org/gmane.linux.kernel.wireless.general/47441
>>
>> I updated and implemented that patch in to my kernel, and I see my
>> injected packets coming down through the code. I see that the rates I
>> am trying to transmit pass the test to make sure that the rate is
>> available:
>>
>> [ 1244.647325] *** gnychis: OK on rate 540 -- idx: 11
>> [ 1244.682061] *** gnychis: OK on rate 480 -- idx: 10
>> [ 1244.741305] *** gnychis: OK on rate 360 -- idx: 9
>> ...
>>
>> And then I double checked to make sure that, given the flag,
>> ieee80211_tx_h_rate_ctrl() is *not* being called. So, to the best of
>> my knowledge the patch supplied seems to keeping the supplied rate and
>> disabling rate control.
>>
>> But, for some reason it still keeps getting transmitted at a rate of
>> 1Mbps. I have verified this with an independent receiver. If I do a
>> pcapdump on the transmitting interface, I see two packets for every
>> transmission. One at the rate I am trying to transmit at, and another
>> at 1Mbps:
>> http://users.ece.cmu.edu/~gnychis/bad_tx.pcap
>>
>> Am I missing something else in mac80211 to inject at a specific rate?
>>
>> Thanks!
>> George
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-wireless"
>> in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
>
> --
> Regards,
> Oleksij

2013-06-15 07:24:25

by Oleksij Rempel

[permalink] [raw]
Subject: Re: unable to force transmission rate on injection

Hi George,

ath9k_htc use internal rate controller which is located insight of
firmware. If you have time, i'll suggest to take it in your hands.

Am 15.06.2013 01:58, schrieb George Nychis:
> I have an ath9k_htc card that I am trying to force a transmission rate
> on injection. I did some digging around and found this patch from
> Pavel:
>
> http://article.gmane.org/gmane.linux.kernel.wireless.general/47441
>
> I updated and implemented that patch in to my kernel, and I see my
> injected packets coming down through the code. I see that the rates I
> am trying to transmit pass the test to make sure that the rate is
> available:
>
> [ 1244.647325] *** gnychis: OK on rate 540 -- idx: 11
> [ 1244.682061] *** gnychis: OK on rate 480 -- idx: 10
> [ 1244.741305] *** gnychis: OK on rate 360 -- idx: 9
> ...
>
> And then I double checked to make sure that, given the flag,
> ieee80211_tx_h_rate_ctrl() is *not* being called. So, to the best of
> my knowledge the patch supplied seems to keeping the supplied rate and
> disabling rate control.
>
> But, for some reason it still keeps getting transmitted at a rate of
> 1Mbps. I have verified this with an independent receiver. If I do a
> pcapdump on the transmitting interface, I see two packets for every
> transmission. One at the rate I am trying to transmit at, and another
> at 1Mbps:
> http://users.ece.cmu.edu/~gnychis/bad_tx.pcap
>
> Am I missing something else in mac80211 to inject at a specific rate?
>
> Thanks!
> George
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>


--
Regards,
Oleksij