linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* hostapd with mac80211 progress
@ 2008-02-28  9:17 Zhu Yi
  2008-02-28 14:06 ` John W. Linville
  2008-02-28 14:54 ` Johannes Berg
  0 siblings, 2 replies; 10+ messages in thread
From: Zhu Yi @ 2008-02-28  9:17 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless

Johannes,

What's the current state for hostapd and mac80211? I'm using below
trees. Do I need to apply additional patches from your
http://johannes.sipsolutions.net/patches/?

mac80211 from
http://git.kernel.org/?p=linux/kernel/git/linville/wireless-2.6.git;a=summary

hostapd from
http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=summary

Thanks,
-yi


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: hostapd with mac80211 progress
  2008-02-28  9:17 hostapd with mac80211 progress Zhu Yi
@ 2008-02-28 14:06 ` John W. Linville
  2008-02-28 14:54 ` Johannes Berg
  1 sibling, 0 replies; 10+ messages in thread
From: John W. Linville @ 2008-02-28 14:06 UTC (permalink / raw)
  To: Zhu Yi; +Cc: Johannes Berg, linux-wireless

On Thu, Feb 28, 2008 at 05:17:35PM +0800, Zhu Yi wrote:
> Johannes,
> 
> What's the current state for hostapd and mac80211? I'm using below
> trees. Do I need to apply additional patches from your
> http://johannes.sipsolutions.net/patches/?
> 
> mac80211 from
> http://git.kernel.org/?p=linux/kernel/git/linville/wireless-2.6.git;a=summary

I'd guess you want the wireless-testing (or at least wireless-2.6.26) version.

-- 
John W. Linville
linville@tuxdriver.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: hostapd with mac80211 progress
  2008-02-28  9:17 hostapd with mac80211 progress Zhu Yi
  2008-02-28 14:06 ` John W. Linville
@ 2008-02-28 14:54 ` Johannes Berg
  2008-02-29  6:22   ` Zhu Yi
  1 sibling, 1 reply; 10+ messages in thread
From: Johannes Berg @ 2008-02-28 14:54 UTC (permalink / raw)
  To: Zhu Yi; +Cc: linux-wireless

[-- Attachment #1: Type: text/plain, Size: 620 bytes --]


On Thu, 2008-02-28 at 17:17 +0800, Zhu Yi wrote:
> Johannes,
> 
> What's the current state for hostapd and mac80211? I'm using below
> trees. Do I need to apply additional patches from your
> http://johannes.sipsolutions.net/patches/?

Yes, you need at least the one hostapd patch I still have and also the
trivial AP mode enable patch. I'll rebase my patches on the current
wireless-testing tree in a minute so check for patch uploads later than
this email.

> mac80211 from
> http://git.kernel.org/?p=linux/kernel/git/linville/wireless-2.6.git;a=summary

As John said, you need -testing.

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: hostapd with mac80211 progress
  2008-02-28 14:54 ` Johannes Berg
@ 2008-02-29  6:22   ` Zhu Yi
  2008-02-29 15:47     ` Johannes Berg
  2008-02-29 16:25     ` Johannes Berg
  0 siblings, 2 replies; 10+ messages in thread
From: Zhu Yi @ 2008-02-29  6:22 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless


On Thu, 2008-02-28 at 15:54 +0100, Johannes Berg wrote:
> 
> Yes, you need at least the one hostapd patch I still have and also the
> trivial AP mode enable patch. I'll rebase my patches on the current
> wireless-testing tree in a minute so check for patch uploads later
> than this email.

OK, I've applied all these patches. The kernel doesn't compile unless I
enabled CONFIG_NETDEVICES_MULTIQUEUE && CONFIG_MAC80211_MESH and with
below patch.

Thanks,
-yi

diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c
b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index 2c69e5b..b54bdf8 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -3584,8 +3584,6 @@ static int iwl4965_tx_status_reply_tx(struct
iwl4965_priv *priv,
 
 		tx_status = &(priv->txq[txq_id].txb[idx].status);
 		tx_status->retry_count = tx_resp->failure_frame;
-		tx_status->queue_number = status & 0xff;
-		tx_status->queue_length = tx_resp->failure_rts;
 		tx_status->control.flags &= ~IEEE80211_TXCTL_AMPDU;
 		tx_status->flags = iwl4965_is_tx_success(status)?
 			IEEE80211_TX_STATUS_ACK : 0;
diff --git a/net/mac80211/wme.c b/net/mac80211/wme.c
index 87b40b2..6728ff0 100644
--- a/net/mac80211/wme.c
+++ b/net/mac80211/wme.c
@@ -28,7 +28,7 @@ const int ieee802_1d_to_ac[8] = { 2, 3, 3, 2, 1, 1, 0,
0 };
 
 struct ieee80211_sched_data
 {
-	unsigned long qdisc_pool[BITS_TO_LONGS(TC_80211_MAX_QUEUES)];
+	unsigned long qdisc_pool[BITS_TO_LONGS(QD_MAX_QUEUES)];
 	struct tcf_proto *filter_list;
 	struct Qdisc *queues[QD_MAX_QUEUES];
 	struct sk_buff_head requeued[QD_MAX_QUEUES];
diff --git a/net/mac80211/wme.h b/net/mac80211/wme.h
index 98597d9..a0a4495 100644
--- a/net/mac80211/wme.h
+++ b/net/mac80211/wme.h
@@ -23,6 +23,7 @@
 
 #define QOS_CONTROL_TID_MASK 0x0f
 #define QOS_CONTROL_ACK_POLICY_SHIFT 5
+#define QOS_CONTROL_TAG1D_MASK 0x07
 
 extern const int ieee802_1d_to_ac[8];
 



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: hostapd with mac80211 progress
  2008-02-29  6:22   ` Zhu Yi
@ 2008-02-29 15:47     ` Johannes Berg
  2008-02-29 16:25     ` Johannes Berg
  1 sibling, 0 replies; 10+ messages in thread
From: Johannes Berg @ 2008-02-29 15:47 UTC (permalink / raw)
  To: Zhu Yi; +Cc: linux-wireless

[-- Attachment #1: Type: text/plain, Size: 667 bytes --]


On Fri, 2008-02-29 at 14:22 +0800, Zhu Yi wrote:
> On Thu, 2008-02-28 at 15:54 +0100, Johannes Berg wrote:
> > 
> > Yes, you need at least the one hostapd patch I still have and also the
> > trivial AP mode enable patch. I'll rebase my patches on the current
> > wireless-testing tree in a minute so check for patch uploads later
> > than this email.
> 
> OK, I've applied all these patches. The kernel doesn't compile unless I
> enabled CONFIG_NETDEVICES_MULTIQUEUE && CONFIG_MAC80211_MESH and with
> below patch.

yeah mesh is a bug, and multiqueue means you applied the BROKEN qos
patch :) Go for all patches up to that, not including.

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: hostapd with mac80211 progress
  2008-02-29  6:22   ` Zhu Yi
  2008-02-29 15:47     ` Johannes Berg
@ 2008-02-29 16:25     ` Johannes Berg
  2008-03-03  7:08       ` Zhu Yi
  1 sibling, 1 reply; 10+ messages in thread
From: Johannes Berg @ 2008-02-29 16:25 UTC (permalink / raw)
  To: Zhu Yi; +Cc: linux-wireless

[-- Attachment #1: Type: text/plain, Size: 678 bytes --]


On Fri, 2008-02-29 at 14:22 +0800, Zhu Yi wrote:
> On Thu, 2008-02-28 at 15:54 +0100, Johannes Berg wrote:
> > 
> > Yes, you need at least the one hostapd patch I still have and also the
> > trivial AP mode enable patch. I'll rebase my patches on the current
> > wireless-testing tree in a minute so check for patch uploads later
> > than this email.
> 
> OK, I've applied all these patches. The kernel doesn't compile unless I
> enabled CONFIG_NETDEVICES_MULTIQUEUE && CONFIG_MAC80211_MESH and with
> below patch.

Ok, now that John merged more stuff you should only need the hostapd
patch and the allow-ap-vlan-modes patch from my kernel series :)

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: hostapd with mac80211 progress
  2008-02-29 16:25     ` Johannes Berg
@ 2008-03-03  7:08       ` Zhu Yi
  2008-03-03  9:52         ` Johannes Berg
  0 siblings, 1 reply; 10+ messages in thread
From: Zhu Yi @ 2008-03-03  7:08 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless


On Fri, 2008-02-29 at 17:25 +0100, Johannes Berg wrote:
> now that John merged more stuff you should only need the hostapd
> patch and the allow-ap-vlan-modes patch from my kernel series :)

OK. This time is much better. Now I can at least ping my 4965 AP with
below fix.

The removal of mac80211 IEEE80211_CHAN_W_SCAN flag causes channel flag
incompatibility between hostapd and driver. Hostapd expects
HOSTAPD_CHAN_W_SCAN (0x1) to be set for the configured channel while 0x1
means IEEE80211_CHAN_DISABLED in the new mac80211. We should make
ieee80211_channel_flags and HOSTAPD_CHAN_W_xxx compatible. What do you
think? I now just workaround the problem with:

diff --git a/hostapd/hw_features.c b/hostapd/hw_features.c
index c58e1e4..8a7b013 100644
--- a/hostapd/hw_features.c
+++ b/hostapd/hw_features.c
@@ -294,8 +294,7 @@ static int select_hw_mode1(struct hostapd_iface
*iface)
 	for (j = 0; j < iface->current_mode->num_channels; j++) {
 		struct hostapd_channel_data *chan =
 			&iface->current_mode->channels[j];
-		if ((chan->flag & HOSTAPD_CHAN_W_SCAN) &&
-		    (chan->chan == iface->conf->channel)) {
+		if (chan->chan == iface->conf->channel) {
 			ok = 1;
 			break;
 		}





^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: hostapd with mac80211 progress
  2008-03-03  7:08       ` Zhu Yi
@ 2008-03-03  9:52         ` Johannes Berg
  2008-03-04  2:03           ` Zhu Yi
  0 siblings, 1 reply; 10+ messages in thread
From: Johannes Berg @ 2008-03-03  9:52 UTC (permalink / raw)
  To: Zhu Yi; +Cc: linux-wireless

[-- Attachment #1: Type: text/plain, Size: 1543 bytes --]


On Mon, 2008-03-03 at 15:08 +0800, Zhu Yi wrote:
> On Fri, 2008-02-29 at 17:25 +0100, Johannes Berg wrote:
> > now that John merged more stuff you should only need the hostapd
> > patch and the allow-ap-vlan-modes patch from my kernel series :)
> 
> OK. This time is much better. Now I can at least ping my 4965 AP with
> below fix.
> 
> The removal of mac80211 IEEE80211_CHAN_W_SCAN flag causes channel flag
> incompatibility between hostapd and driver. Hostapd expects
> HOSTAPD_CHAN_W_SCAN (0x1) to be set for the configured channel while 0x1
> means IEEE80211_CHAN_DISABLED in the new mac80211. We should make
> ieee80211_channel_flags and HOSTAPD_CHAN_W_xxx compatible. What do you
> think? I now just workaround the problem with:
> 
> diff --git a/hostapd/hw_features.c b/hostapd/hw_features.c
> index c58e1e4..8a7b013 100644
> --- a/hostapd/hw_features.c
> +++ b/hostapd/hw_features.c
> @@ -294,8 +294,7 @@ static int select_hw_mode1(struct hostapd_iface
> *iface)
>  	for (j = 0; j < iface->current_mode->num_channels; j++) {
>  		struct hostapd_channel_data *chan =
>  			&iface->current_mode->channels[j];
> -		if ((chan->flag & HOSTAPD_CHAN_W_SCAN) &&
> -		    (chan->chan == iface->conf->channel)) {
> +		if (chan->chan == iface->conf->channel) {
>  			ok = 1;
>  			break;
>  		}

That's rather odd. ieee80211_channel_flags and HOSTAPD_CHAN_W_xx need
not be compatible because in driver_nl80211.c, phy_info_handler(),
they're translated into each other. What exactly is your setup?

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: hostapd with mac80211 progress
  2008-03-03  9:52         ` Johannes Berg
@ 2008-03-04  2:03           ` Zhu Yi
  2008-03-04 10:00             ` Johannes Berg
  0 siblings, 1 reply; 10+ messages in thread
From: Zhu Yi @ 2008-03-04  2:03 UTC (permalink / raw)
  To: Johannes Berg, Jouni Malinen; +Cc: linux-wireless


On Mon, 2008-03-03 at 10:52 +0100, Johannes Berg wrote:
> That's rather odd. ieee80211_channel_flags and HOSTAPD_CHAN_W_xx need
> not be compatible because in driver_nl80211.c, phy_info_handler(),
> they're translated into each other. What exactly is your setup?

Well, it (HOSTAPD_CHAN_W_SCAN) was removed somewhere after
driver_nl80211.c set it. I think it's a hostapd bug. Please take a look
at the hostapd_get_hw_features() function:


if ((feature->mode == HOSTAPD_MODE_IEEE80211G ||
     feature->mode == HOSTAPD_MODE_IEEE80211B) &&
    feature->channels[j].chan >= 1 &&
    feature->channels[j].chan <= 11) {
        power_level = 20;
        feature->channels[j].flag |=
                HOSTAPD_CHAN_W_SCAN;
} else
        feature->channels[j].flag &=
              ~HOSTAPD_CHAN_W_SCAN;


Apparently, A channels all have this flag removed. What does this flag
stand for? I assume it stands for passive scan, right?

Thanks,
-yi


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: hostapd with mac80211 progress
  2008-03-04  2:03           ` Zhu Yi
@ 2008-03-04 10:00             ` Johannes Berg
  0 siblings, 0 replies; 10+ messages in thread
From: Johannes Berg @ 2008-03-04 10:00 UTC (permalink / raw)
  To: Zhu Yi; +Cc: Jouni Malinen, linux-wireless

[-- Attachment #1: Type: text/plain, Size: 956 bytes --]


> Well, it (HOSTAPD_CHAN_W_SCAN) was removed somewhere after
> driver_nl80211.c set it. I think it's a hostapd bug. Please take a look
> at the hostapd_get_hw_features() function:
> 
> 
> if ((feature->mode == HOSTAPD_MODE_IEEE80211G ||
>      feature->mode == HOSTAPD_MODE_IEEE80211B) &&
>     feature->channels[j].chan >= 1 &&
>     feature->channels[j].chan <= 11) {
>         power_level = 20;
>         feature->channels[j].flag |=
>                 HOSTAPD_CHAN_W_SCAN;
> } else
>         feature->channels[j].flag &=
>               ~HOSTAPD_CHAN_W_SCAN;
> 
> 
> Apparently, A channels all have this flag removed. What does this flag
> stand for? I assume it stands for passive scan, right?

Ah, you're on 5 GHz then? Sorry, I'm not too familiar with hostapd
internals yet. I don't think the flag stands for passive scan, I think
it pretty much used to stand for "channel is usable at all" in the
dscape stack.

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2008-03-04 10:00 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-28  9:17 hostapd with mac80211 progress Zhu Yi
2008-02-28 14:06 ` John W. Linville
2008-02-28 14:54 ` Johannes Berg
2008-02-29  6:22   ` Zhu Yi
2008-02-29 15:47     ` Johannes Berg
2008-02-29 16:25     ` Johannes Berg
2008-03-03  7:08       ` Zhu Yi
2008-03-03  9:52         ` Johannes Berg
2008-03-04  2:03           ` Zhu Yi
2008-03-04 10:00             ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).