Skip to contentSkip to conversation

txpower and frequency settings: concept guidance needed

DISCUSSION Arnau Roig 2 participants 3 messages Feb 5, 2009 – Feb 10, 2009

lore
Share & tools
lore

Arnau Roig

author
#0 lore raw

Hello to everybody.

I'm new in kernel development and in wireless networking also. I've read most of the documentation availible in wireless.kernel.org and, to be honest it's still not clear to me what are the uses of the mac80211, cfg80211 or nl80211.

I'm using a 2.6.24 kernel, compat-wireless-2.6-old (compat-release v4.5-g2badec7) and ath5k driver (v0.5.0).

What I want to do is a userspace application that has to modify the frequency channel and the tx_power of the wireless device depending on several network statistics. Please, where do I have to start looking?

Is the struct ieee80211_conf, declared in mac80211.h what I need for changing the current working channel and tx_power?
Can I read network statistics with get_station, declared in the struct cfg80211_ops in cfg80211.h? Or the way to do it is using @NL80211_CMD_GET_WIPHY in nl80211_commands?

Thank you for your time.

author
#1 lore raw

Hello again.

Is there any other list where I could ask this question? Is there some kind of documentation I can read to better understand the mac80211 stack?

Thanks in advance.

#2 lore raw
In reply to Arnau Roig
Quoted 6 lines · Arnau Roig

Hello to everybody.

I'm new in kernel development and in wireless networking also. I've read most of the documentation availible in wireless.kernel.org and, to be honest it's still not clear to me what are the uses of the mac80211, cfg80211 or nl80211.

mac80211 implements the higher level MAC layer function of the ieee802.11 specification for wireless local area networking. cfg80211 provides the back-end of a configuration API for wireless LAN devices -- it is intended to supercede the Wireless Extensions API at the device layer. nl80211 is a front-end to cfg80211 that is based on netlink sockets. This provides a user-level API for wireless configuration.

Quoted 7 lines

I'm using a 2.6.24 kernel, compat-wireless-2.6-old (compat-release v4.5-g2badec7) and ath5k driver (v0.5.0).

What I want to do is a userspace application that has to modify the frequency channel and the tx_power of the wireless device depending on several network statistics. Please, where do I have to start looking?

Quoted 5 lines

Is the struct ieee80211_conf, declared in mac80211.h what I need for changing the current working channel and tx_power?
Can I read network statistics with get_station, declared in the struct cfg80211_ops in cfg80211.h? Or the way to do it is using @NL80211_CMD_GET_WIPHY in nl80211_commands?

You may want to take a look at the sources for the iw utility. This should illustrate how to drive the nl80211 API.

Quoted 1 line

Thank you for your time.

Hth!

John

Signature · 2 lines
John W. Linville		Someday the world will need a hero, and you
[email protected]			might be all we have.  Be ready.