* [PATCH v2 1/4] iw: survey: Mark frequency in use
@ 2011-01-11 0:51 Bruno Randolf
2011-01-11 0:51 ` [PATCH v2 2/4] iw: Add channel busy time to survey Bruno Randolf
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Bruno Randolf @ 2011-01-11 0:51 UTC (permalink / raw)
To: johannes, linville; +Cc: nbd, linux-wireless
From: Felix Fietkau <nbd@openwrt.org>
Survey: Mark frequency in use according to NL80211_SURVEY_INFO_IN_USE.
This patch comes from OpenWRT. Original author: Felix Fietkau
Cc: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Bruno Randolf <br1@einfach.org>
---
survey.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/survey.c b/survey.c
index f9f2508..83c54b3 100644
--- a/survey.c
+++ b/survey.c
@@ -44,8 +44,9 @@ static int print_survey_handler(struct nl_msg *msg, void *arg)
}
if (sinfo[NL80211_SURVEY_INFO_FREQUENCY])
- printf("\tfrequency:\t%u MHz\n",
- nla_get_u32(sinfo[NL80211_SURVEY_INFO_FREQUENCY]));
+ printf("\tfrequency:\t%u MHz%s\n",
+ nla_get_u32(sinfo[NL80211_SURVEY_INFO_FREQUENCY]),
+ sinfo[NL80211_SURVEY_INFO_IN_USE] ? " [in use]" : "");
if (sinfo[NL80211_SURVEY_INFO_NOISE])
printf("\tnoise:\t\t%d dBm\n",
(int8_t)nla_get_u8(sinfo[NL80211_SURVEY_INFO_NOISE]));
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH v2 2/4] iw: Add channel busy time to survey 2011-01-11 0:51 [PATCH v2 1/4] iw: survey: Mark frequency in use Bruno Randolf @ 2011-01-11 0:51 ` Bruno Randolf 2011-01-11 8:32 ` Johannes Berg 2011-01-11 0:51 ` [PATCH v2 3/4] iw: add multicast rates to IBSS join Bruno Randolf 2011-01-11 0:51 ` [PATCH v2 4/4] iw: Add signal average to station dump information Bruno Randolf 2 siblings, 1 reply; 10+ messages in thread From: Bruno Randolf @ 2011-01-11 0:51 UTC (permalink / raw) To: johannes, linville; +Cc: nbd, linux-wireless From: Felix Fietkau <nbd@openwrt.org> Print channel busy time in survey dump. This patch comes from OpenWRT. Original author: Felix Fietkau. Fixed up for unsigned values. Cc: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Bruno Randolf <br1@einfach.org> --- survey.c | 19 +++++++++++++++++-- 1 files changed, 17 insertions(+), 2 deletions(-) diff --git a/survey.c b/survey.c index 83c54b3..e71d21b 100644 --- a/survey.c +++ b/survey.c @@ -44,12 +44,27 @@ static int print_survey_handler(struct nl_msg *msg, void *arg) } if (sinfo[NL80211_SURVEY_INFO_FREQUENCY]) - printf("\tfrequency:\t%u MHz%s\n", + printf("\tfrequency:\t\t\t%u MHz%s\n", nla_get_u32(sinfo[NL80211_SURVEY_INFO_FREQUENCY]), sinfo[NL80211_SURVEY_INFO_IN_USE] ? " [in use]" : ""); if (sinfo[NL80211_SURVEY_INFO_NOISE]) - printf("\tnoise:\t\t%d dBm\n", + printf("\tnoise:\t\t\t\t%d dBm\n", (int8_t)nla_get_u8(sinfo[NL80211_SURVEY_INFO_NOISE])); + if (sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME]) + printf("\tchannel active time:\t\t%llu ms\n", + (uint64_t)nla_get_u64(sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME])); + if (sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY]) + printf("\tchannel busy time:\t\t%llu ms\n", + (uint64_t)nla_get_u64(sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY])); + if (sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY]) + printf("\textension channel busy time:\t%llu ms\n", + (uint64_t)nla_get_u64(sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY])); + if (sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_RX]) + printf("\tchannel receive time:\t\t%llu ms\n", + (uint64_t)nla_get_u64(sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_RX])); + if (sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_TX]) + printf("\tchannel transmit time:\t\t%llu ms\n", + (uint64_t)nla_get_u64(sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_TX])); return NL_SKIP; } ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/4] iw: Add channel busy time to survey 2011-01-11 0:51 ` [PATCH v2 2/4] iw: Add channel busy time to survey Bruno Randolf @ 2011-01-11 8:32 ` Johannes Berg 2011-01-11 9:20 ` Bruno Randolf 2011-01-11 12:57 ` jpo234 0 siblings, 2 replies; 10+ messages in thread From: Johannes Berg @ 2011-01-11 8:32 UTC (permalink / raw) To: Bruno Randolf; +Cc: linville, nbd, linux-wireless On Tue, 2011-01-11 at 09:51 +0900, Bruno Randolf wrote: > From: Felix Fietkau <nbd@openwrt.org> > > Print channel busy time in survey dump. > > This patch comes from OpenWRT. Original author: Felix Fietkau. > Fixed up for unsigned values. I've fixed it up, but two things: You should've lost the "original author" crap after you fixed up the git author field. Secondly, > > + printf("\tchannel receive time:\t\t%llu ms\n", > + (uint64_t)nla_get_u64(sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_RX])); caused warnings: survey.c: In function ‘print_survey_handler’: survey.c:55: warning: format ‘%llu’ expects type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’ survey.c:58: warning: format ‘%llu’ expects type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’ survey.c:61: warning: format ‘%llu’ expects type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’ survey.c:64: warning: format ‘%llu’ expects type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’ survey.c:67: warning: format ‘%llu’ expects type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’ because uint64_t isn't guaranteed to be unsigned long long (in fact, it is unsigned long on many machines). Please look at the commit and check. johannes ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/4] iw: Add channel busy time to survey 2011-01-11 8:32 ` Johannes Berg @ 2011-01-11 9:20 ` Bruno Randolf 2011-01-11 12:57 ` jpo234 1 sibling, 0 replies; 10+ messages in thread From: Bruno Randolf @ 2011-01-11 9:20 UTC (permalink / raw) To: Johannes Berg; +Cc: linville, nbd, linux-wireless On Tue January 11 2011 17:32:24 Johannes Berg wrote: > I've fixed it up, but two things: You should've lost the "original > author" crap after you fixed up the git author field. Sorry for that. > Secondly, > > > + printf("\tchannel receive time:\t\t%llu ms\n", > > + > > (uint64_t)nla_get_u64(sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_RX])); > > caused warnings: > survey.c: In function ‘print_survey_handler’: > survey.c:55: warning: format ‘%llu’ expects type ‘long long unsigned int’, > but argument 2 has type ‘uint64_t’ survey.c:58: warning: format ‘%llu’ > expects type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’ > survey.c:61: warning: format ‘%llu’ expects type ‘long long unsigned int’, > but argument 2 has type ‘uint64_t’ survey.c:64: warning: format ‘%llu’ > expects type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’ > survey.c:67: warning: format ‘%llu’ expects type ‘long long unsigned int’, > but argument 2 has type ‘uint64_t’ > > > because uint64_t isn't guaranteed to be unsigned long long (in fact, it > is unsigned long on many machines). Please look at the commit and check. Looks good & compiles on my platforms (x86, mips). Thanks, bruno ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/4] iw: Add channel busy time to survey 2011-01-11 8:32 ` Johannes Berg 2011-01-11 9:20 ` Bruno Randolf @ 2011-01-11 12:57 ` jpo234 2011-01-11 13:00 ` jpo234 2011-01-11 13:00 ` Johannes Berg 1 sibling, 2 replies; 10+ messages in thread From: jpo234 @ 2011-01-11 12:57 UTC (permalink / raw) To: linux-wireless Johannes Berg <johannes@...> writes: > because uint64_t isn't guaranteed to be unsigned long long (in fact, it > is unsigned long on many machines). Please look at the commit and check. In the commit you did a cast to unsigned long long. While this works, it's depends on gcc-ism, e.g. long long support. The C99 way would be to use the PRIu64 macro (see stdint.h). see http://www.dinkumware.com/manuals/?manual=compleat&page=inttypes.html#PRIu64 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/4] iw: Add channel busy time to survey 2011-01-11 12:57 ` jpo234 @ 2011-01-11 13:00 ` jpo234 2011-01-11 13:00 ` Johannes Berg 1 sibling, 0 replies; 10+ messages in thread From: jpo234 @ 2011-01-11 13:00 UTC (permalink / raw) To: linux-wireless jpo234 <pommnitz@...> writes: > The C99 way would be to use the PRIu64 macro (see stdint.h). Sorry, make this <inttypes.h>. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/4] iw: Add channel busy time to survey 2011-01-11 12:57 ` jpo234 2011-01-11 13:00 ` jpo234 @ 2011-01-11 13:00 ` Johannes Berg 2011-01-11 13:08 ` jpo234 1 sibling, 1 reply; 10+ messages in thread From: Johannes Berg @ 2011-01-11 13:00 UTC (permalink / raw) To: jpo234; +Cc: linux-wireless On Tue, 2011-01-11 at 12:57 +0000, jpo234 wrote: > Johannes Berg <johannes@...> writes: > > because uint64_t isn't guaranteed to be unsigned long long (in fact, it > > is unsigned long on many machines). Please look at the commit and check. > > In the commit you did a cast to unsigned long long. While this works, it's > depends on gcc-ism, e.g. long long support. The C99 way would be to use the > PRIu64 macro (see stdint.h). > see http://www.dinkumware.com/manuals/?manual=compleat&page=inttypes.html#PRIu64 Oi, that's complicated. Patch welcome I guess. johannes ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/4] iw: Add channel busy time to survey 2011-01-11 13:00 ` Johannes Berg @ 2011-01-11 13:08 ` jpo234 0 siblings, 0 replies; 10+ messages in thread From: jpo234 @ 2011-01-11 13:08 UTC (permalink / raw) To: linux-wireless Johannes Berg <johannes@...> writes: > > see http://www.dinkumware.com/manuals/?manual=compleat&page=inttypes.html#PRIu64 > > Oi, that's complicated. Patch welcome I guess. Not really: #include <inttypes.h> #include <stdio.h> int main() { printf ("unsigned long long: %llu\n", 1llu); printf ("uint64_t: %"PRIu64"\n", (uint64_t)1); return 0; } ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 3/4] iw: add multicast rates to IBSS join 2011-01-11 0:51 [PATCH v2 1/4] iw: survey: Mark frequency in use Bruno Randolf 2011-01-11 0:51 ` [PATCH v2 2/4] iw: Add channel busy time to survey Bruno Randolf @ 2011-01-11 0:51 ` Bruno Randolf 2011-01-11 0:51 ` [PATCH v2 4/4] iw: Add signal average to station dump information Bruno Randolf 2 siblings, 0 replies; 10+ messages in thread From: Bruno Randolf @ 2011-01-11 0:51 UTC (permalink / raw) To: johannes, linville; +Cc: nbd, linux-wireless From: Felix Fietkau <nbd@openwrt.org> Add multicast rates to IBSS join command. This patch comes from OpenWRT. Original author: Felix Fietkau. Cc: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Bruno Randolf <br1@einfach.org> --- ibss.c | 21 ++++++++++++++++++--- 1 files changed, 18 insertions(+), 3 deletions(-) diff --git a/ibss.c b/ibss.c index 84ea7f2..ca8a4ec 100644 --- a/ibss.c +++ b/ibss.c @@ -95,6 +95,20 @@ static int join_ibss(struct nl80211_state *state, argc--; } + /* multicast rate */ + if (argc > 1 && strcmp(argv[0], "mcast-rate") == 0) { + argv++; + argc--; + + rate = strtod(argv[0], &end); + if (*end != '\0') + return 1; + + NLA_PUT_U32(msg, NL80211_ATTR_MCAST_RATE, (int) rate * 10); + argv++; + argc--; + } + if (!argc) return 0; @@ -120,12 +134,13 @@ COMMAND(ibss, leave, NULL, NL80211_CMD_LEAVE_IBSS, 0, CIB_NETDEV, leave_ibss, "Leave the current IBSS cell."); COMMAND(ibss, join, - "<SSID> <freq in MHz> [fixed-freq] [<fixed bssid>] [beacon-interval " - "<TU>] [basic-rates <rate in Mbps,rate2,...>] [key d:0:abcde]", + "<SSID> <freq in MHz> [fixed-freq] [<fixed bssid>] [beacon-interval <TU>]" + " [basic-rates <rate in Mbps,rate2,...>] [mcast-rate <rate in Mbps>] " + "[key d:0:abcde]", NL80211_CMD_JOIN_IBSS, 0, CIB_NETDEV, join_ibss, "Join the IBSS cell with the given SSID, if it doesn't exist create\n" "it on the given frequency. When fixed frequency is requested, don't\n" "join/create a cell on a different frequency. When a fixed BSSID is\n" "requested use that BSSID and do not adopt another cell's BSSID even\n" "if it has higher TSF and the same SSID. If an IBSS is created, create\n" - "it with the specified basic-rates and beacon-interval (in TU)."); + "it with the specified basic-rates, multicast-rate and beacon-interval."); ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 4/4] iw: Add signal average to station dump information 2011-01-11 0:51 [PATCH v2 1/4] iw: survey: Mark frequency in use Bruno Randolf 2011-01-11 0:51 ` [PATCH v2 2/4] iw: Add channel busy time to survey Bruno Randolf 2011-01-11 0:51 ` [PATCH v2 3/4] iw: add multicast rates to IBSS join Bruno Randolf @ 2011-01-11 0:51 ` Bruno Randolf 2 siblings, 0 replies; 10+ messages in thread From: Bruno Randolf @ 2011-01-11 0:51 UTC (permalink / raw) To: johannes, linville; +Cc: nbd, linux-wireless Print station signal average in station dump. Signed-off-by: Bruno Randolf <br1@einfach.org> --- station.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/station.c b/station.c index be2301f..6581d50 100644 --- a/station.c +++ b/station.c @@ -107,6 +107,9 @@ static int print_sta_handler(struct nl_msg *msg, void *arg) if (sinfo[NL80211_STA_INFO_SIGNAL]) printf("\n\tsignal: \t%d dBm", (int8_t)nla_get_u8(sinfo[NL80211_STA_INFO_SIGNAL])); + if (sinfo[NL80211_STA_INFO_SIGNAL_AVG]) + printf("\n\tsignal avg:\t%d dBm", + (int8_t)nla_get_u8(sinfo[NL80211_STA_INFO_SIGNAL_AVG])); if (sinfo[NL80211_STA_INFO_TX_BITRATE]) { if (nla_parse_nested(rinfo, NL80211_RATE_INFO_MAX, ^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2011-01-11 13:10 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-01-11 0:51 [PATCH v2 1/4] iw: survey: Mark frequency in use Bruno Randolf 2011-01-11 0:51 ` [PATCH v2 2/4] iw: Add channel busy time to survey Bruno Randolf 2011-01-11 8:32 ` Johannes Berg 2011-01-11 9:20 ` Bruno Randolf 2011-01-11 12:57 ` jpo234 2011-01-11 13:00 ` jpo234 2011-01-11 13:00 ` Johannes Berg 2011-01-11 13:08 ` jpo234 2011-01-11 0:51 ` [PATCH v2 3/4] iw: add multicast rates to IBSS join Bruno Randolf 2011-01-11 0:51 ` [PATCH v2 4/4] iw: Add signal average to station dump information Bruno Randolf
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox