Return-path: Received: from mail-fx0-f221.google.com ([209.85.220.221]:35893 "EHLO mail-fx0-f221.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754537AbZLTVw1 convert rfc822-to-8bit (ORCPT ); Sun, 20 Dec 2009 16:52:27 -0500 Received: by fxm21 with SMTP id 21so4236717fxm.21 for ; Sun, 20 Dec 2009 13:52:26 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <43e72e890912201342w2f5916d0p2b30683ccbb5dbfe@mail.gmail.com> References: <200912201510.51812.linux-wireless@mrs.ro> <43e72e890912201342w2f5916d0p2b30683ccbb5dbfe@mail.gmail.com> From: =?ISO-8859-1?Q?G=E1bor_Stefanik?= Date: Sun, 20 Dec 2009 22:52:06 +0100 Message-ID: <69e28c910912201352l431af01ma751ad720f1b7776@mail.gmail.com> Subject: Re: Intel 4965 HT rates To: "Luis R. Rodriguez" Cc: Valentin Manea , linux-wireless@vger.kernel.org Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-wireless-owner@vger.kernel.org List-ID: On Sun, Dec 20, 2009 at 10:42 PM, Luis R. Rodriguez wrote: > On Sun, Dec 20, 2009 at 5:10 AM, Valentin Manea wrote: >> Hi, >> >> ?I'm running compat-wireless-2.6.33-rc1 and iw list shows some confusing HT >> capabilities: >> ? ? ? ?Band 1: >> ? ? ? ? ? ? ? ?HT capabilities: 0x082c >> ? ? ? ? ? ? ? ? ? ? ? ?* 20 MHz operation >> ? ? ? ? ? ? ? ? ? ? ? ?* SM PS disabled >> ? ? ? ? ? ? ? ? ? ? ? ?* 20 MHz short GI >> ? ? ? ? ? ? ? ? ? ? ? ?* max A-MSDU len 7935 >> >> but for 802.11a channels: >> ? ? ? ?Band 2: >> ? ? ? ? ? ? ? ?HT capabilities: 0x086e >> ? ? ? ? ? ? ? ? ? ? ? ?* 20/40 MHz operation >> ? ? ? ? ? ? ? ? ? ? ? ?* SM PS disabled >> ? ? ? ? ? ? ? ? ? ? ? ?* 20 MHz short GI >> ? ? ? ? ? ? ? ? ? ? ? ?* 40 MHz short GI >> ? ? ? ? ? ? ? ? ? ? ? ?* max A-MSDU len 7935 >> >> While I can't tell when this happened, I remember older 2.6.29 releases >> supported HT40 for both bands. > > How do you know? What makes you believe that was the case? > >> The wireless card is an Intel 4965 on a Thinkpad T61. > > The ht_cap that gets parsed and sent back through nl80211 is > initialized in iwl-agn on iwl-core.c on iwlcore_init_ht_hw_capab() as > follows > > static void iwlcore_init_ht_hw_capab(const struct iwl_priv *priv, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?struct ieee80211_sta_ht_cap *ht_info, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?enum ieee80211_band band) > { > ? ? ? ?.... > ? ? ? ?if (priv->hw_params.ht40_channel & BIT(band)) { > ? ? ? ? ? ? ? ?ht_info->cap |= IEEE80211_HT_CAP_SUP_WIDTH_20_40; > ? ? ? ? ? ? ? ?ht_info->cap |= IEEE80211_HT_CAP_SGI_40; > ? ? ? ? ? ? ? ?ht_info->mcs.rx_mask[4] = 0x01; > ? ? ? ? ? ? ? ?max_bit_rate = MAX_BIT_RATE_40_MHZ; > ? ? ? ?} > ? ? ? ?.... > } > > And the priv->hw_params.ht40_channel gets initialized for 4965 > hardware on iwl4965_hw_set_hw_params(): > > static int iwl4965_hw_set_hw_params(struct iwl_priv *priv) > { > ? ? ? ?... > ? ? ? ?priv->hw_params.ht40_channel = BIT(IEEE80211_BAND_5GHZ); > ? ? ? ?.... > } > > iwl-5000 and iwl-6000 sets this to both bands: > > int iwl5000_hw_set_hw_params(struct iwl_priv *priv) > { > ? ? ? ?.... > ? ? ? ?priv->hw_params.ht40_channel = ?BIT(IEEE80211_BAND_2GHZ) | > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?BIT(IEEE80211_BAND_5GHZ); > ? ? ? ?.... > } > > static int iwl6000_hw_set_hw_params(struct iwl_priv *priv) > { > ? ? ? ?.... > ? ? ? ?priv->hw_params.ht40_channel = ?BIT(IEEE80211_BAND_2GHZ) | > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?BIT(IEEE80211_BAND_5GHZ); > ? ? ? ?.... > } > > So it appears to be done explicitly in software, not sure if hardware > does support HT40 on 2.4 GHz band on the 4965, Intel folks would > though. > AFAIK the Windows driver supports 2GHz HT40 for all cards, but disables it by default, even for IWL5/6xxx. > ?Luis > -- > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at ?http://vger.kernel.org/majordomo-info.html > -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)