University Project

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=4367

uovobw

19-10-2007 07:59:46

Hi everyone,
i am writing on behalf of a group of 4 CS students in Bologna, Italy (i am one of them) as we are developing a project for tracing, trough a syscall, the acknowledgement of an ieee80211 frame from the access point by an userspace application (which will be developed later).
We are using the 2.6.23.1 kernel with the latest rt2570usb driver as it is the best supported hardware we got our hands on (we are going to port the whole work to the mac80211 stack / rt2x00 driver later, we are just students) but we are having an hard time finding informations and documentation of the code and on the ieee80211 stack actually in the linux kernel.
At the present moment we are reading and trying to understand the whole code to get to the precise point where the single frame is received as we need to get the SEQ number and the Retransmit flags (as we could see the driver reporting it with ethereal) and pass them to a little "intelligence" that will do some stats (retransmission if which frames, how many times, the protocol of the retrasmitted packet and so on) and then make them available to the aforementioned application via a syscall.At this stage the whole performance/security issues are completely ignored, as they will be taken into consideration later.
Since you are "the devs" ) and surely know the code and the dirty low level stuff way better than we do, could you please point us to some extensive documentation - if any - or to any source of information we might have missed?
We understand that you are busy and we won't ask you to "do our homework", but this it the first project of this extension we face and we are a bit lost D
thanks a lot for the understanding and the great work!

IvD

19-10-2007 18:10:40

Your best bet is using mac80211 and rt2x00 directly. Thos already have a more structured framework and the code is cleaner and better understandable then the legacy rrt2570 driver.
Besides there are already plans on making a userspace 80211 MLME engine which can hook into mac80211. The code for that could probably be found in nl80211 and cfg80211.

uovobw

20-10-2007 09:50:26

first of all thanks a lot for the quick answer.

Your best bet is using mac80211 and rt2x00 directly. Thos already have a more structured framework and the code is cleaner and better understandable then the legacy rrt2570 driver.
[/quote2t17hipx]

So you suggest using the mac80211 stack that can be found in the recent vanilla kernels (like the 2.6.23) and the rt2x00 driver from this site (in cvs or stable form)?
We noticed that at the moment the git branches of the wireless-2.6 kernel are far from stable or usable, so we were wondering if something a little more tested was to be preferred.

[quote2t17hipx]
Besides there are already plans on making a userspace 80211 MLME engine which can hook into mac80211. The code for that could probably be found in nl80211 and cfg80211.[/quote2t17hipx]


Does it have a name? are theese plans more than just a name or a wishlist item? Could you point me to some reference, please?
I am asking because i mentioned it to the project tutor and he looked interested, so i suppose that can be a forward developement of the project (at the moment we are more in a case study and possibility assessment).
Thanks again a lot,
bye

IvD

20-10-2007 11:17:59

first of all thanks a lot for the quick answer.

Your best bet is using mac80211 and rt2x00 directly. Thos already have a more structured framework and the code is cleaner and better understandable then the legacy rrt2570 driver.
[/quote296t7dat]

So you suggest using the mac80211 stack that can be found in the recent vanilla kernels (like the 2.6.23) and the rt2x00 driver from this site (in cvs or stable form)?
We noticed that at the moment the git branches of the wireless-2.6 kernel are far from stable or usable, so we were wondering if something a little more tested was to be preferred.
[/quote296t7dat]

mac80211 can be found in the linux kernel since 2.6.22 so how more tested do you need it to be? The drivers that use mac80211 in the vanilla kernel tree is also growing so it is usable.
rt2x00 might not be top quality at the moment, but neither is the legacy driver.


[quote296t7dat]
Besides there are already plans on making a userspace 80211 MLME engine which can hook into mac80211. The code for that could probably be found in nl80211 and cfg80211.[/quote296t7dat]

Does it have a name? are theese plans more than just a name or a wishlist item? Could you point me to some reference, please?
[/quote296t7dat]

Don't think it has a name yet. But you might get more info from the linux wireless website http//www.linuxwireless.org and the linux wireless mailinglist linux-wireless at vger.kernel.org

uovobw

20-10-2007 11:22:51


mac80211 can be found in the linux kernel since 2.6.22 so how more tested do you need it to be? The drivers that use mac80211 in the vanilla kernel tree is also growing so it is usable.
rt2x00 might not be top quality at the moment, but neither is the legacy driver.
[/quote6ba55gih]

my sentence referred to the mac80211 stack that can be found in the wireless-2.6 git tree...
we will go with the 2.6.23 kernel and the rt2x00 driver, thanks

[quote6ba55gih]
Don't think it has a name yet. But you might get more info from the linux wireless website http//www.linuxwireless.org and the linux wireless mailinglist linux-wireless at vger.kernel.org[/quote6ba55gih]

great, we will subscribe immediately.
thanks a lot, we'll be bothering you again sometimes in the next months D

IvD

20-10-2007 11:33:23


mac80211 can be found in the linux kernel since 2.6.22 so how more tested do you need it to be? The drivers that use mac80211 in the vanilla kernel tree is also growing so it is usable.
rt2x00 might not be top quality at the moment, but neither is the legacy driver.
[/quote11aq6uxa]

my sentence referred to the mac80211 stack that can be found in the wireless-2.6 git tree...
we will go with the 2.6.23 kernel and the rt2x00 driver, thanks
[/quote11aq6uxa]

And the wireless-2.6 tree is being pushed to the main kernel tree, so current wireless-2.6 tree will find its way into 2.6.24. It does however mean it contains bugs at some points but overall it is quite stable.


[quote11aq6uxa]
Don't think it has a name yet. But you might get more info from the linux wireless website http//www.linuxwireless.org and the linux wireless mailinglist linux-wireless at vger.kernel.org[/quote11aq6uxa]

great, we will subscribe immediately.
thanks a lot, we'll be bothering you again sometimes in the next months D[/quote11aq6uxa]

Not a problem. )