* [ath9k-devel] How to enable Monitor mode?
@ 2008-12-19 0:11 hwang
2008-12-22 17:16 ` Pavel Roskin
0 siblings, 1 reply; 4+ messages in thread
From: hwang @ 2008-12-19 0:11 UTC (permalink / raw)
To: ath9k-devel
Hi all,
I am first time use ath9k driver. I like to change the card to Monitor mode. Can anyone tell which command does it?
I tried to use iwconfig, but failed.
Thanks,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20081218/72a6df2e/attachment.htm
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ath9k-devel] How to enable Monitor mode?
2008-12-19 0:11 [ath9k-devel] How to enable Monitor mode? hwang
@ 2008-12-22 17:16 ` Pavel Roskin
2008-12-22 17:18 ` Johannes Berg
0 siblings, 1 reply; 4+ messages in thread
From: Pavel Roskin @ 2008-12-22 17:16 UTC (permalink / raw)
To: yyhymmh; +Cc: linux-wireless
Quoting hwang <yyhymmh@yahoo.com>:
> I am first time use ath9k driver. I like to change the card to
> Monitor mode. Can anyone tell which command does it?
>
> I tried to use iwconfig, but failed.
Moving discussion from ath9k-devel@lists.ath9k.org to
linux-wireless@vger.kernel.org, as it's a common problem for all
mac80211 based drivers.
Following code in net/mac80211/iface.c, ieee80211_if_change_type()
prevents setting monitor mode:
/* Setting ad-hoc mode on non-IBSS channel is not supported. */
if (sdata->local->oper_channel->flags & IEEE80211_CHAN_NO_IBSS)
return -EOPNOTSUPP;
The effect of the code exceeds the effect described by the comment, so
something must be wrong. I'm not running crda, so I guess I'm in the
"world" domain that doesn't prermit IBSS. But it should not disable
monitor mode.
A simple fix would be:
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 5abbc3f..b907482 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -699,7 +699,8 @@ int ieee80211_if_change_type(struct
ieee80211_sub_if_data *sdata,
return 0;
/* Setting ad-hoc mode on non-IBSS channel is not supported. */
- if (sdata->local->oper_channel->flags & IEEE80211_CHAN_NO_IBSS)
+ if (sdata->local->oper_channel->flags & IEEE80211_CHAN_NO_IBSS &&
+ type == NL80211_IFTYPE_ADHOC)
return -EOPNOTSUPP;
/*
I've tested it, and it actually enables monitor mode. I remember Luis
mentioning that IEEE80211_CHAN_NO_IBSS means no beacons, so maybe
other modes need to be disabled (AP, maybe mesh), but there are no
beacons sent in the monitor mode.
--
Regards,
Pavel Roskin
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [ath9k-devel] How to enable Monitor mode?
2008-12-22 17:16 ` Pavel Roskin
@ 2008-12-22 17:18 ` Johannes Berg
2008-12-22 21:41 ` Pavel Roskin
0 siblings, 1 reply; 4+ messages in thread
From: Johannes Berg @ 2008-12-22 17:18 UTC (permalink / raw)
To: Pavel Roskin; +Cc: yyhymmh, linux-wireless
[-- Attachment #1: Type: text/plain, Size: 1985 bytes --]
On Mon, 2008-12-22 at 12:16 -0500, Pavel Roskin wrote:
> Quoting hwang <yyhymmh@yahoo.com>:
>
> > I am first time use ath9k driver. I like to change the card to
> > Monitor mode. Can anyone tell which command does it?
> >
> > I tried to use iwconfig, but failed.
>
> Moving discussion from ath9k-devel@lists.ath9k.org to
> linux-wireless@vger.kernel.org, as it's a common problem for all
> mac80211 based drivers.
>
> Following code in net/mac80211/iface.c, ieee80211_if_change_type()
> prevents setting monitor mode:
>
> /* Setting ad-hoc mode on non-IBSS channel is not supported. */
> if (sdata->local->oper_channel->flags & IEEE80211_CHAN_NO_IBSS)
> return -EOPNOTSUPP;
>
> The effect of the code exceeds the effect described by the comment, so
> something must be wrong. I'm not running crda, so I guess I'm in the
> "world" domain that doesn't prermit IBSS. But it should not disable
> monitor mode.
>
> A simple fix would be:
>
> diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
> index 5abbc3f..b907482 100644
> --- a/net/mac80211/iface.c
> +++ b/net/mac80211/iface.c
> @@ -699,7 +699,8 @@ int ieee80211_if_change_type(struct
> ieee80211_sub_if_data *sdata,
> return 0;
>
> /* Setting ad-hoc mode on non-IBSS channel is not supported. */
> - if (sdata->local->oper_channel->flags & IEEE80211_CHAN_NO_IBSS)
> + if (sdata->local->oper_channel->flags & IEEE80211_CHAN_NO_IBSS &&
> + type == NL80211_IFTYPE_ADHOC)
> return -EOPNOTSUPP;
>
> /*
>
> I've tested it, and it actually enables monitor mode. I remember Luis
> mentioning that IEEE80211_CHAN_NO_IBSS means no beacons, so maybe
> other modes need to be disabled (AP, maybe mesh), but there are no
> beacons sent in the monitor mode.
I haven't gotten around, but that patch is correct. That's how it was
before I moved that code, when I accidentally lost the check.
johannes
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ath9k-devel] How to enable Monitor mode?
2008-12-22 17:18 ` Johannes Berg
@ 2008-12-22 21:41 ` Pavel Roskin
0 siblings, 0 replies; 4+ messages in thread
From: Pavel Roskin @ 2008-12-22 21:41 UTC (permalink / raw)
To: Johannes Berg; +Cc: yyhymmh, linux-wireless
On Mon, 2008-12-22 at 18:18 +0100, Johannes Berg wrote:
> I haven't gotten around, but that patch is correct. That's how it was
> before I moved that code, when I accidentally lost the check.
Indeed. I've sent the patch "officially".
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-12-22 21:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-19 0:11 [ath9k-devel] How to enable Monitor mode? hwang
2008-12-22 17:16 ` Pavel Roskin
2008-12-22 17:18 ` Johannes Berg
2008-12-22 21:41 ` Pavel Roskin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.