txpower and frequency settings: concept guidance needed
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.
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.
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_powerof 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 inmac80211.hwhat I need for changing the current working channel andtx_power?
Can I read network statistics withget_station, declared in the structcfg80211_opsincfg80211.h? Or the way to do it is using @NL80211_CMD_GET_WIPHY innl80211_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.