Linux wireless drivers development
 help / color / mirror / Atom feed
* Re: iwlwifi: Intel 3945ABG speed issues finally identified.
From: John W. Linville @ 2010-12-23 14:00 UTC (permalink / raw)
  To: Eric Appleman; +Cc: linux-wireless
In-Reply-To: <loom.20101223T071403-99@post.gmane.org>

On Thu, Dec 23, 2010 at 06:15:18AM +0000, Eric Appleman wrote:
> I spent most of the day bisecting and testing numerous kernels and my work has
> finally paid off.
> 
> I've found 2 candidate commits.
> 
> a6866ac93e6cb68091326e80b4fa4619a5957644
> 1402364162afbaac1b8a74ee21aeb013e817ac7d
> 
> iwl3945 definitely broke between 2.6.35-rc2 and -rc3.

On Thu, Dec 23, 2010 at 08:39:32AM +0000, Eric Appleman wrote:
> 2 more commits that I missed
> 
> 7d47618a2ade0cb6d8a0b2597029c383c1662fa0
> 6db6340c42d027b6364d49fa99d69019aca24de4

Did you revert any/all of these patches?  Can you quantify what effect
that had?

John
-- 
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

^ permalink raw reply

* Re: Backporting wl1271 driver to kernel-2.6.32 using compat-wireless
From: Elvis Dowson @ 2010-12-23 14:57 UTC (permalink / raw)
  To: Hauke Mehrtens; +Cc: Linux Wireless Mailing List
In-Reply-To: <4D1266FA.7080305@hauke-m.de>

Hi Hauke,

On Dec 23, 2010, at 1:00 AM, Hauke Mehrtens wrote:

> You also have to backport the CONFIG_WL12XX_PLATFORM_DATA and activate
> it in your kernel config, wl1271_sdio depends on that.

I did as you suggested and was able to get wl1271_sdio.ko to build.

I have attached a patch for this, which can be applied on top of the TI android rowboat-eclair-2.6.32 kernel branch. This kernel works with android-2.2.1 (froyo), although the kernel was originally developed for android eclair.

>From cec5d06e38664a44e7b723f55648cbcfbc920d6e Mon Sep 17 00:00:00 2001
From: Elvis Dowson <elvis.dowson@gmail.com>
Date: Thu, 23 Dec 2010 18:52:42 +0400
Subject: [PATCH 3/3] wl12xx: Add support for wl12xx_platform_data.

---
 drivers/net/wireless/wl12xx/Kconfig                |   29 +++++++++++-
 drivers/net/wireless/wl12xx/Makefile               |    2 +
 drivers/net/wireless/wl12xx/wl12xx_platform_data.c |   28 +++++++++++
 include/linux/wl12xx.h                             |   51 ++++++++++++++++++++
 4 files changed, 109 insertions(+), 1 deletions(-)
 create mode 100644 drivers/net/wireless/wl12xx/wl12xx_platform_data.c
 create mode 100644 include/linux/wl12xx.h

diff --git a/drivers/net/wireless/wl12xx/Kconfig b/drivers/net/wireless/wl12xx/Kconfig
index 785e024..4a8bb25 100644
--- a/drivers/net/wireless/wl12xx/Kconfig
+++ b/drivers/net/wireless/wl12xx/Kconfig
@@ -41,7 +41,7 @@ config WL1251_SDIO
 
 config WL1271
 	tristate "TI wl1271 support"
-	depends on WL12XX && SPI_MASTER && GENERIC_HARDIRQS
+	depends on WL12XX && GENERIC_HARDIRQS
 	depends on INET
 	select FW_LOADER
 	select CRC7
@@ -51,3 +51,30 @@ config WL1271
 
 	  If you choose to build a module, it'll be called wl1271. Say N if
 	  unsure.
+
+config WL1271_SPI
+	tristate "TI wl1271 SPI support"
+	depends on WL1271 && SPI_MASTER
+	---help---
+	  This module adds support for the SPI interface of adapters using
+	  TI wl1271 chipset.  Select this if your platform is using
+	  the SPI bus.
+
+	  If you choose to build a module, it'll be called wl1251_spi.
+	  Say N if unsure.
+
+config WL1271_SDIO
+	tristate "TI wl1271 SDIO support"
+	depends on WL1271 && MMC
+	---help---
+	  This module adds support for the SDIO interface of adapters using
+	  TI wl1271 chipset.  Select this if your platform is using
+	  the SDIO bus.
+
+	  If you choose to build a module, it'll be called
+	  wl1271_sdio. Say N if unsure.
+
+config WL12XX_PLATFORM_DATA
+	bool
+	depends on WL1271_SDIO != n
+	default y
diff --git a/drivers/net/wireless/wl12xx/Makefile b/drivers/net/wireless/wl12xx/Makefile
index 62e37ad..51b348e 100644
--- a/drivers/net/wireless/wl12xx/Makefile
+++ b/drivers/net/wireless/wl12xx/Makefile
@@ -12,3 +12,5 @@ wl1271-objs		= wl1271_main.o  wl1271_spi.o wl1271_cmd.o  \
 			  wl1271_ps.o    wl1271_acx.o wl1271_boot.o \
 			  wl1271_init.o  wl1271_debugfs.o
 obj-$(CONFIG_WL1271)	+= wl1271.o
+
+obj-$(CONFIG_WL12XX_PLATFORM_DATA)	+= wl12xx_platform_data.o
diff --git a/drivers/net/wireless/wl12xx/wl12xx_platform_data.c b/drivers/net/wireless/wl12xx/wl12xx_platform_data.c
new file mode 100644
index 0000000..973b110
--- /dev/null
+++ b/drivers/net/wireless/wl12xx/wl12xx_platform_data.c
@@ -0,0 +1,28 @@
+#include <linux/module.h>
+#include <linux/err.h>
+#include <linux/wl12xx.h>
+
+static const struct wl12xx_platform_data *platform_data;
+
+int __init wl12xx_set_platform_data(const struct wl12xx_platform_data *data)
+{
+	if (platform_data)
+		return -EBUSY;
+	if (!data)
+		return -EINVAL;
+
+	platform_data = kmemdup(data, sizeof(*data), GFP_KERNEL);
+	if (!platform_data)
+		return -ENOMEM;
+
+	return 0;
+}
+
+const struct wl12xx_platform_data *wl12xx_get_platform_data(void)
+{
+	if (!platform_data)
+		return ERR_PTR(-ENODEV);
+
+	return platform_data;
+}
+EXPORT_SYMBOL(wl12xx_get_platform_data);
diff --git a/include/linux/wl12xx.h b/include/linux/wl12xx.h
new file mode 100644
index 0000000..4f902e1
--- /dev/null
+++ b/include/linux/wl12xx.h
@@ -0,0 +1,51 @@
+/*
+ * This file is part of wl12xx
+ *
+ * Copyright (C) 2009 Nokia Corporation
+ *
+ * Contact: Luciano Coelho <luciano.coelho@nokia.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef _LINUX_WL12XX_H
+#define _LINUX_WL12XX_H
+
+struct wl12xx_platform_data {
+	void (*set_power)(bool enable);
+	/* SDIO only: IRQ number if WLAN_IRQ line is used, 0 for SDIO IRQs */
+	int irq;
+	bool use_eeprom;
+	int board_ref_clock;
+};
+
+#ifdef CONFIG_WL12XX_PLATFORM_DATA
+
+int wl12xx_set_platform_data(const struct wl12xx_platform_data *data);
+
+#else
+
+static inline
+int wl12xx_set_platform_data(const struct wl12xx_platform_data *data)
+{
+	return -ENOSYS;
+}
+
+#endif
+
+const struct wl12xx_platform_data *wl12xx_get_platform_data(void);
+
+#endif
-- 
1.7.0.4


Best regards,

Elvis Dowson

^ permalink raw reply related

* Re: Backporting wl1271 driver to kernel-2.6.32 using compat-wireless
From: Elvis Dowson @ 2010-12-23 15:33 UTC (permalink / raw)
  To: Linux Wireless Mailing List
In-Reply-To: <4D1266FA.7080305@hauke-m.de>

Hi,
       I think the .startup_delay field is missing in the fixed regulator for 2.6.32. 

I recall from the datasheets that during a reset, the WL_EN line should asserted
low for atleast 64 to 70ms before turning the power back on.

What do you think I should do?


/* Fixed voltage regulator for wlan module */
static struct fixed_voltage_config beagle_vwlan = {
	.supply_name		= "vwl1271",
	.microvolts		= 1850000, /* 1.8V */
	.gpio			= OMAP_BEAGLEBOARD20_WIFI_PMENA_GPIO,
	.startup_delay		= 70000, /* 70msec */
	.enable_high		= 1,
	.enabled_at_boot	= 0,
	.init_data		= &beagle_vmmc2,
};


  CC      arch/arm/mach-omap2/board-omap3beagle.o
arch/arm/mach-omap2/board-omap3beagle.c:409: error: unknown field ‘startup_delay’ specified in initializer
arch/arm/mach-omap2/board-omap3beagle.c:409: warning: large integer implicitly truncated to unsigned type
make[1]: *** [arch/arm/mach-omap2/board-omap3beagle.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

Elvis Dowson



^ permalink raw reply

* [PATCH 1/1] ath9k: spin_lock_bh is not required within tasklet context.
From: Senthil Balasubramanian @ 2010-12-23 15:36 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless, Senthil Balasubramanian

Disabling BH is not required while running from a tasklet context
and so replace spin_lock_bh with just spin_lock.

Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
---
 drivers/net/wireless/ath/ath9k/main.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 8a1691d..86bb85a 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -599,7 +599,7 @@ void ath9k_tasklet(unsigned long data)
 		return;
 	}
 
-	spin_lock_bh(&sc->sc_pcu_lock);
+	spin_lock(&sc->sc_pcu_lock);
 
 	if (!ath9k_hw_check_alive(ah))
 		ieee80211_queue_work(sc->hw, &sc->hw_check_work);
@@ -643,7 +643,7 @@ void ath9k_tasklet(unsigned long data)
 	/* re-enable hardware interrupt */
 	ath9k_hw_enable_interrupts(ah);
 
-	spin_unlock_bh(&sc->sc_pcu_lock);
+	spin_unlock(&sc->sc_pcu_lock);
 	ath9k_ps_restore(sc);
 }
 
-- 
1.7.3.4


^ permalink raw reply related

* Re: Backporting wl1271 driver to kernel-2.6.32 using compat-wireless
From: Elvis Dowson @ 2010-12-23 15:56 UTC (permalink / raw)
  To: Hauke Mehrtens; +Cc: Linux Wireless Mailing List
In-Reply-To: <C3623F33-950F-4D63-AE8A-EB24894C89F5@mac.com>

Hi,
        The following patch has to be added to the one I sent out ealier for backporting wl12xx_platform_data.

diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile
index 5d4ce4d..a13a602 100644
--- a/drivers/net/wireless/Makefile
+++ b/drivers/net/wireless/Makefile
@@ -50,5 +50,6 @@ obj-$(CONFIG_ATH_COMMON)	+= ath/
 obj-$(CONFIG_MAC80211_HWSIM)	+= mac80211_hwsim.o
 
 obj-$(CONFIG_WL12XX)	+= wl12xx/
+obj-$(CONFIG_WL12XX_PLATFORM_DATA)	+= wl12xx/
 
 obj-$(CONFIG_IWM)	+= iwmc3200wifi/


Elvis Dowson

^ permalink raw reply related

* Re: [linux-pm] subtle pm_runtime_put_sync race and sdio functions
From: Alan Stern @ 2010-12-23 16:03 UTC (permalink / raw)
  To: Ohad Ben-Cohen
  Cc: Rafael J. Wysocki, linux-pm, Johannes Berg, linux-wireless,
	linux-mmc, Ido Yariv, Kevin Hilman
In-Reply-To: <AANLkTi=9kjmb3evOON3WMoGjqadDHqqBKVH4viT02Qf9@mail.gmail.com>

On Thu, 23 Dec 2010, Ohad Ben-Cohen wrote:

> On Sun, Dec 19, 2010 at 12:22 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> > That said, I think we may do something different that perhaps will make your
> > life somewhat easier.
> ...
> > So, I think we can add a "runtime only" flag working as described above.
> 
> That will definitely solve the suspend/resume issue we're having.
> 
> But due to /sys/devices/.../power/control, we will still have to
> bypass runtime PM for this particular device.
> 
> We need a way to unconditionally power down the device, and as long as
> runtime PM can be disabled by the user, we can't use it.

I'm still not aware of the details of your situation.  Nevertheless, it
shouldn't be hard to set up a suspend() routine that would do whatever
was needed to power down the device, whether this means calling the 
runtime_suspend() routine directly or something else.  That's basically 
what every other driver does.

By definition, system sleep transitions require bypassing runtime PM.  
There's nothing odd or unusual about it.

Alan Stern


^ permalink raw reply

* Re: [PATCH v2] iwlagn: fix scan tx antenna setting on 5Ghz band
From: Guy, Wey-Yi @ 2010-12-23 16:02 UTC (permalink / raw)
  To: Stanislaw Gruszka; +Cc: Intel Linux Wireless, linux-wireless@vger.kernel.org
In-Reply-To: <1293113550-10977-1-git-send-email-sgruszka@redhat.com>

On Thu, 2010-12-23 at 06:12 -0800, Stanislaw Gruszka wrote:
> Looks that we do not set correctly antennas when scanning
> on 5Ghz band and when bluetooth is enabled, because
> priv->cfg->scan_tx_antennas[band] is only defined for
> IEEE80211_BAND_2GHZ.
> 
> To fix we check band before limiting antennas to first one.
> This allow to remove hard coded cfg->scan_tx_antennas[band].
> 
> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>


Thanks
Wey


^ permalink raw reply

* Re: iwlwifi: Intel 3945ABG speed issues finally identified.
From: Guy, Wey-Yi @ 2010-12-23 16:13 UTC (permalink / raw)
  To: Eric Appleman; +Cc: linux-wireless@vger.kernel.org
In-Reply-To: <loom.20101223T071403-99@post.gmane.org>

On Wed, 2010-12-22 at 22:15 -0800, Eric Appleman wrote:
> I spent most of the day bisecting and testing numerous kernels and my work has
> finally paid off.
> 
> I've found 2 candidate commits.
> 
> a6866ac93e6cb68091326e80b4fa4619a5957644
> 1402364162afbaac1b8a74ee21aeb013e817ac7d
> 
> iwl3945 definitely broke between 2.6.35-rc2 and -rc3.
> 
> --
For a6866ac93e6cb68091326e80b4fa4619a5957644, did you see any indication
in dmesg for firmware reload?

Wey




^ permalink raw reply

* carl9170 and debian squeeze
From: Der Engel @ 2010-12-23 17:34 UTC (permalink / raw)
  To: linux-wireless

Hi,

I have a ubiquiti sr71-usb wireless adapter, 'lsusb' shows it as:
'Atheros Communications, Inc. AR9170 802.11n', the adapter works with
the ar9170.fw firmware but I'm trying to make it work with the
carl9170.fw, until now I have tried the following:

I have put the carl9170.fw in /lib/firmware (debian default for
firmware files) without the ar9170.fw, dmesg shows that the system its
looking for a firmware with the exact name as 'ar9170.fw' or if it
doesn't find that one it tries to finds the legacy ones(ar9170-1.fw &
ar9170-2.fw), so it ignores carl9170.fw because is not named
ar9170.fw, changing the name of carl9170.fw to ar9170.fw shows the
following:

dmesg | grep 9170
[    2.329719] usb 2-2: New USB device found, idVendor=0cf3, idProduct=9170
[    8.817173] usb 2-2: firmware: requesting ar9170.fw
[    9.862192] ar9170usb: probe of 2-2:1.0 failed with error -110
[    9.862227] usbcore: registered new interface driver ar9170usb

The kernel is debian stock one:Linux laptop 2.6.32-5-686 #1 SMP Fri
Dec 10 16:12:40 UTC 2010 i686 GNU/Linux

Any ideas how can I make carl9170.fw work in debian squeeze?

Thanks,
Der

^ permalink raw reply

* Re: carl9170 and debian squeeze
From: Sedat Dilek @ 2010-12-23 17:43 UTC (permalink / raw)
  To: Der Engel; +Cc: linux-wireless
In-Reply-To: <AANLkTimDPcxSthO=TAqPx4fyrU0U_WPkwMHLGGiCSMKw@mail.gmail.com>

On Thu, Dec 23, 2010 at 6:34 PM, Der Engel <engelster@gmail.com> wrote:
> Hi,
>
> I have a ubiquiti sr71-usb wireless adapter, 'lsusb' shows it as:
> 'Atheros Communications, Inc. AR9170 802.11n', the adapter works with
> the ar9170.fw firmware but I'm trying to make it work with the
> carl9170.fw, until now I have tried the following:
>
> I have put the carl9170.fw in /lib/firmware (debian default for
> firmware files) without the ar9170.fw, dmesg shows that the system its
> looking for a firmware with the exact name as 'ar9170.fw' or if it
> doesn't find that one it tries to finds the legacy ones(ar9170-1.fw &
> ar9170-2.fw), so it ignores carl9170.fw because is not named
> ar9170.fw, changing the name of carl9170.fw to ar9170.fw shows the
> following:
>
> dmesg | grep 9170
> [    2.329719] usb 2-2: New USB device found, idVendor=0cf3, idProduct=9170
> [    8.817173] usb 2-2: firmware: requesting ar9170.fw
> [    9.862192] ar9170usb: probe of 2-2:1.0 failed with error -110
> [    9.862227] usbcore: registered new interface driver ar9170usb
>
> The kernel is debian stock one:Linux laptop 2.6.32-5-686 #1 SMP Fri
> Dec 10 16:12:40 UTC 2010 i686 GNU/Linux
>
> Any ideas how can I make carl9170.fw work in debian squeeze?
>
> Thanks,
> Der

Looks like the vendor-id/product-id is not considered in your kernel,
check [1] if your device is listed as supported devices.
I am not sure if the squeeze kernel has support for carl9170.

An easy way is to use compat-wireless (stable or bleeding edge) which
offers you newer wireless hardware support and features.
The wiki in [2] has informations and instructions for you.

- Sedat -

[1] http://wireless.kernel.org/en/users/Devices
[2] http://wireless.kernel.org/en/users/Download/stable/

^ permalink raw reply

* Re: iwlwifi: Intel 3945ABG speed issues finally identified.
From: Eric Appleman @ 2010-12-23 18:12 UTC (permalink / raw)
  To: linux-wireless
In-Reply-To: <1293120787.3997.50.camel@wwguy-huron>

I have not tried testing the commits individually since kernel compilation is a
pain for me.

If I can trick a compat-wireless tree into a code splice, maybe I can test each
commit.

Do you guys know any tricks to compile iwlwifi individually?

However, I can say with utmost certainty that the regression is in the window
between rc2 and rc3 unless the Ubuntu daily kernels were mislabeled.


^ permalink raw reply

* Re: carl9170 and debian squeeze
From: Walter Goldens @ 2010-12-23 19:05 UTC (permalink / raw)
  To: linux-wireless, Der Engel
In-Reply-To: <AANLkTimDPcxSthO=TAqPx4fyrU0U_WPkwMHLGGiCSMKw@mail.gmail.com>


> Any ideas how can I make carl9170.fw work in debian
> squeeze?

Download and install compat-wireless. Then blacklist ar9170 and call carl9170 instead.

Walter


      

^ permalink raw reply

* Compat-wireless release for 2010-12-23 is baked
From: Compat-wireless cronjob account @ 2010-12-23 20:04 UTC (permalink / raw)
  To: linux-wireless

>From git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/compat-wireless-2.6
   52e96b5..fc63933  linux-2.6.37.y -> origin/linux-2.6.37.y
   cf835d5..53f8e22  master     -> origin/master
>From git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/compat
   64bcd1b..d70640f  master     -> origin/master

compat-wireless code metrics

    777174 - Total upstream lines of code being pulled
      2223 - backport code changes
      1946 - backport code additions
       277 - backport code deletions
      6648 - backport from compat module
      8871 - total backport code
    1.1414 - % of code consists of backport work
      1532 - Crap changes not yet posted
      1489 - Crap additions not yet posted
        43 - Crap deletions not yet posted
    0.1971 - % of crap code

Base tree: linux-next.git
Base tree version: next-20101221
compat-wireless release: compat-wireless-2010-12-20-1-g53f8e22-pc

^ permalink raw reply

* Re: Backporting wl1271 driver to kernel-2.6.32 using compat-wireless
From: Elvis Dowson @ 2010-12-23 21:12 UTC (permalink / raw)
  To: Ohad Ben-Cohen; +Cc: Linux Wireless Mailing List
In-Reply-To: <AANLkTinyjZ0x1jvKndotDm-xHf0c192NQfB9y9_BQxFg@mail.gmail.com>

Hi Ohad,
                   For 2.6.32, some more SDIO stuff needs to be backported. For example, I get the following error:

[   16.232482] mmc1: card claims to support voltages below the defined range. These will be ignored.
[   16.241424] mmc1: host doesn't support card's voltages
[   16.246643] mmc1: error -22 whilst initialising SDIO card


So, the part for handling reporting card voltages need to be added in.

Also the SDIO run-time PM patches are not nearly as easy to apply to the android-rowboat-eclair-2.6.32 kernel.

Is the SDIO subsystem sufficiently modular so as to allow me to take a few file and use it as a drop in 
replacement for the 2.6.32 kernel?

Elvis Dowson


^ permalink raw reply

* Re: carl9170 and debian squeeze
From: Der Engel @ 2010-12-23 23:01 UTC (permalink / raw)
  To: linux-wireless
In-Reply-To: <142357.30253.qm@web56803.mail.re3.yahoo.com>

Thanks for your quick replies.

I have install compat-wireless-2010-12-23  with 'driver-select
carl9170' because the whole thing didn't want to compile for me, the
usb wifi card is working fine now with the carl9170 but now my
internal intel card isn't coming up, if tried to load the iwlagn or
iwlcore driver and get the following:
FATAL: Error inserting iwlagn
(/lib/modules/2.6.32-5-686/kernel/drivers/net/wireless/iwlwifi/iwlagn.ko):
Unknown symbol in module, or unknown parameter (see dmesg)

dmesg outputs the following:

7.368050] iwlcore: disagrees about version of symbol
ieee80211_start_tx_ba_cb_irqsafe
[    7.368053] iwlcore: Unknown symbol ieee80211_start_tx_ba_cb_irqsafe
[    7.368292] iwlcore: disagrees about version of symbol ieee80211_alloc_hw
[    7.368293] iwlcore: Unknown symbol ieee80211_alloc_hw
[    7.368356] iwlcore: disagrees about version of symbol ieee80211_register_hw
[    7.368358] iwlcore: Unknown symbol ieee80211_register_hw
[    7.368537] iwlcore: disagrees about version of symbol
__ieee80211_get_radio_led_name
[    7.368539] iwlcore: Unknown symbol __ieee80211_get_radio_led_name
[    7.368602] iwlcore: disagrees about version of symbol ieee80211_wake_queue
[    7.368604] iwlcore: Unknown symbol ieee80211_wake_queue
[    7.368657] iwlcore: disagrees about version of symbol ieee80211_get_tkip_key
[    7.368658] iwlcore: Unknown symbol ieee80211_get_tkip_key
[    7.368713] iwlcore: disagrees about version of symbol
__ieee80211_get_tx_led_name
[    7.368714] iwlcore: Unknown symbol __ieee80211_get_tx_led_name
[    7.368791] iwlcore: disagrees about version of symbol ieee80211_find_sta
[    7.368793] iwlcore: Unknown symbol ieee80211_find_sta
[    7.368876] iwlcore: disagrees about version of symbol
ieee80211_tx_status_irqsafe
[    7.368877] iwlcore: Unknown symbol ieee80211_tx_status_irqsafe
[    7.368992] iwlcore: disagrees about version of symbol
__ieee80211_get_rx_led_name
[    7.368994] iwlcore: Unknown symbol __ieee80211_get_rx_led_name
[    7.369100] iwlcore: disagrees about version of symbol
ieee80211_stop_tx_ba_cb_irqsafe
[    7.369102] iwlcore: Unknown symbol ieee80211_stop_tx_ba_cb_irqsafe
[    7.369245] iwlcore: disagrees about version of symbol ieee80211_rx
[    7.369246] iwlcore: Unknown symbol ieee80211_rx
[    7.369308] iwlcore: disagrees about version of symbol ieee80211_wake_queues
[    7.369310] iwlcore: Unknown symbol ieee80211_wake_queues
[    7.369440] iwlcore: disagrees about version of symbol ieee80211_stop_queue
[    7.369442] iwlcore: Unknown symbol ieee80211_stop_queue
[    7.369494] iwlcore: disagrees about version of symbol ieee80211_stop_queues
[    7.369496] iwlcore: Unknown symbol ieee80211_stop_queues
[    7.369558] iwlcore: disagrees about version of symbol
__ieee80211_get_assoc_led_name
[    7.369560] iwlcore: Unknown symbol __ieee80211_get_assoc_led_name
[    7.369617] iwlcore: disagrees about version of symbol
ieee80211_scan_completed
[    7.369619] iwlcore: Unknown symbol ieee80211_scan_completed
[    7.369834] iwlcore: disagrees about version of symbol ieee80211_hdrlen
[    7.369835] iwlcore: Unknown symbol ieee80211_hdrlen
[    7.369928] iwlcore: Unknown symbol ieee80211_beacon_get

Linux laptop 2.6.32-5-686 #1 SMP Fri Dec 10 16:12:40 UTC 2010 i686 GNU/Linux

How can I make both cards work at the same time?

Thanks,
Der

- Hide quoted text -
On Thu, Dec 23, 2010 at 6:34 PM, Der Engel <engelster@gmail.com> wrote:
> Hi,
>
> I have a ubiquiti sr71-usb wireless adapter, 'lsusb' shows it as:
> 'Atheros Communications, Inc. AR9170 802.11n', the adapter works with
> the ar9170.fw firmware but I'm trying to make it work with the
> carl9170.fw, until now I have tried the following:
>
> I have put the carl9170.fw in /lib/firmware (debian default for
> firmware files) without the ar9170.fw, dmesg shows that the system its
> looking for a firmware with the exact name as 'ar9170.fw' or if it
> doesn't find that one it tries to finds the legacy ones(ar9170-1.fw &
> ar9170-2.fw), so it ignores carl9170.fw because is not named
> ar9170.fw, changing the name of carl9170.fw to ar9170.fw shows the
> following:
>
> dmesg | grep 9170
> [    2.329719] usb 2-2: New USB device found, idVendor=0cf3, idProduct=9170
> [    8.817173] usb 2-2: firmware: requesting ar9170.fw
> [    9.862192] ar9170usb: probe of 2-2:1.0 failed with error -110
> [    9.862227] usbcore: registered new interface driver ar9170usb
>
> The kernel is debian stock one:Linux laptop 2.6.32-5-686 #1 SMP Fri
> Dec 10 16:12:40 UTC 2010 i686 GNU/Linux
>
> Any ideas how can I make carl9170.fw work in debian squeeze?
>
> Thanks,
> Der

Looks like the vendor-id/product-id is not considered in your kernel,
check [1] if your device is listed as supported devices.
I am not sure if the squeeze kernel has support for carl9170.

An easy way is to use compat-wireless (stable or bleeding edge) which
offers you newer wireless hardware support and features.
The wiki in [2] has informations and instructions for you.

- Sedat -

[1] http://wireless.kernel.org/en/users/Devices
[2] http://wireless.kernel.org/en/users/Download/stable/


On Thu, Dec 23, 2010 at 2:05 PM, Walter Goldens
<goldenstranger@yahoo.com> wrote:
>
>> Any ideas how can I make carl9170.fw work in debian
>> squeeze?
>
> Download and install compat-wireless. Then blacklist ar9170 and call carl9170 instead.
>
> Walter
>
>
>
>

^ permalink raw reply

* Re: iwlwifi: Intel 3945ABG speed issues finally identified.
From: Eric Appleman @ 2010-12-24  2:08 UTC (permalink / raw)
  To: linux-wireless
In-Reply-To: <loom.20101223T071403-99@post.gmane.org>

Hmmm.

Both "fix internal scan" and "stuck queue detection" made the cut for the rc2
kernel. Said kernel is unaffected by the bug.

For rc3, "rcu lock" and "move sysfs" both make the cut. "serialize station
management" barely misses the cut.

Does the sysfs commit apply to the 3945 or is it only for newer cards?


^ permalink raw reply

* Re: [ath5k-devel] [PATCH] ath5k: Move mac80211 functions into new file
From: Bob Copeland @ 2010-12-24  4:15 UTC (permalink / raw)
  To: Bruno Randolf; +Cc: linville, ath5k-devel, linux-wireless
In-Reply-To: <20101222102032.13401.10967.stgit@localhost6.localdomain6>

On Wed, Dec 22, 2010 at 5:20 AM, Bruno Randolf <br1@einfach.org> wrote:
> Move mac80211 functions into new file mac80211-ops.c to have a better
> separation and to make base.c smaller.

Or we could move the non-ops to a different file...

BTW I just rebased my sta PS code and I'll be working on it this
holiday week.. I guess I'll re-rebase it whenever I get it
working.

-- 
Bob Copeland %% www.bobcopeland.com

^ permalink raw reply

* Re: Backporting wl1271 driver to kernel-2.6.32 using compat-wireless
From: Elvis Dowson @ 2010-12-24  5:17 UTC (permalink / raw)
  To: Hauke Mehrtens; +Cc: Linux Wireless Mailing List
In-Reply-To: <4D1266FA.7080305@hauke-m.de>

Hi,
       When working with the wl1271 backport to 2.6.32 kernel, is CONFIG_MMC_EMBEDDED_SDIO=y required? 

Elvis Dowson

^ permalink raw reply

* Re: iwlwifi: Intel 3945ABG speed issues finally identified.
From: Eric Appleman @ 2010-12-24  6:16 UTC (permalink / raw)
  To: linux-wireless
In-Reply-To: <1293120787.3997.50.camel@wwguy-huron>

Btw, I've never seen a firmware reload message in association with this bug,
regardless of commit, whether it be from May or December.




^ permalink raw reply

* [PATCH RFC] mac80211: Extend channel to frequency mapping for 802.11j
From: Bruno Randolf @ 2010-12-24  7:44 UTC (permalink / raw)
  To: johannes, linville; +Cc: linux-wireless

Extend channel to frequency mapping for 802.11j Japan 4.9GHz band, according to
IEEE802.11 section 17.3.8.3.2 and Annex J. Because there are now overlapping
channel numbers in the 2GHz and 5GHz band we can't map from channel to
frequency without knowing the band. This is no problem as in most contexts we
know the band. In places where we don't know the band (and WEXT compatibility)
we assume the 2GHz band for channels below 14.

Signed-off-by: Bruno Randolf <br1@einfach.org>
---
 include/net/cfg80211.h     |    3 ++-
 net/mac80211/ibss.c        |    2 +-
 net/mac80211/mesh.c        |    2 +-
 net/mac80211/mlme.c        |    8 +++++---
 net/mac80211/scan.c        |    3 ++-
 net/wireless/reg.c         |    6 +++---
 net/wireless/util.c        |   36 ++++++++++++++++++++++--------------
 net/wireless/wext-compat.c |    5 ++++-
 8 files changed, 40 insertions(+), 25 deletions(-)

diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index bcc9f44..cfaac36 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1788,8 +1788,9 @@ static inline void *wdev_priv(struct wireless_dev *wdev)
 /**
  * ieee80211_channel_to_frequency - convert channel number to frequency
  * @chan: channel number
+ * @band: band, necessary due to channel number overlap
  */
-extern int ieee80211_channel_to_frequency(int chan);
+extern int ieee80211_channel_to_frequency(int chan, enum ieee80211_band band);
 
 /**
  * ieee80211_frequency_to_channel - convert frequency to channel number
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index 53c7077..b9d8df1 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -270,7 +270,7 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,
 	enum ieee80211_band band = rx_status->band;
 
 	if (elems->ds_params && elems->ds_params_len == 1)
-		freq = ieee80211_channel_to_frequency(elems->ds_params[0]);
+		freq = ieee80211_channel_to_frequency(elems->ds_params[0], band);
 	else
 		freq = rx_status->freq;
 
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c
index ca3af46..1430cdc 100644
--- a/net/mac80211/mesh.c
+++ b/net/mac80211/mesh.c
@@ -574,7 +574,7 @@ static void ieee80211_mesh_rx_bcn_presp(struct ieee80211_sub_if_data *sdata,
 			       &elems);
 
 	if (elems.ds_params && elems.ds_params_len == 1)
-		freq = ieee80211_channel_to_frequency(elems.ds_params[0]);
+		freq = ieee80211_channel_to_frequency(elems.ds_params[0], band);
 	else
 		freq = rx_status->freq;
 
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 45fbb9e..33bd6d4 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -176,7 +176,7 @@ static u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata,
 
 	/* check that channel matches the right operating channel */
 	if (local->hw.conf.channel->center_freq !=
-	    ieee80211_channel_to_frequency(hti->control_chan))
+	    ieee80211_channel_to_frequency(hti->control_chan, sband->band))
 		enable_ht = false;
 
 	if (enable_ht) {
@@ -429,7 +429,8 @@ void ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata,
 		container_of((void *)bss, struct cfg80211_bss, priv);
 	struct ieee80211_channel *new_ch;
 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
-	int new_freq = ieee80211_channel_to_frequency(sw_elem->new_ch_num);
+	int new_freq = ieee80211_channel_to_frequency(sw_elem->new_ch_num,
+						      cbss->channel->band);
 
 	ASSERT_MGD_MTX(ifmgd);
 
@@ -1519,7 +1520,8 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,
 	}
 
 	if (elems->ds_params && elems->ds_params_len == 1)
-		freq = ieee80211_channel_to_frequency(elems->ds_params[0]);
+		freq = ieee80211_channel_to_frequency(elems->ds_params[0],
+						      rx_status->band);
 	else
 		freq = rx_status->freq;
 
diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
index fb274db..1ef73be 100644
--- a/net/mac80211/scan.c
+++ b/net/mac80211/scan.c
@@ -196,7 +196,8 @@ ieee80211_scan_rx(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb)
 	ieee802_11_parse_elems(elements, skb->len - baselen, &elems);
 
 	if (elems.ds_params && elems.ds_params_len == 1)
-		freq = ieee80211_channel_to_frequency(elems.ds_params[0]);
+		freq = ieee80211_channel_to_frequency(elems.ds_params[0],
+						      rx_status->band);
 	else
 		freq = rx_status->freq;
 
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 99d4183..add7c81 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -1801,9 +1801,9 @@ void regulatory_hint_disconnect(void)
 
 static bool freq_is_chan_12_13_14(u16 freq)
 {
-	if (freq == ieee80211_channel_to_frequency(12) ||
-	    freq == ieee80211_channel_to_frequency(13) ||
-	    freq == ieee80211_channel_to_frequency(14))
+	if (freq == ieee80211_channel_to_frequency(12, IEEE80211_BAND_2GHZ) ||
+	    freq == ieee80211_channel_to_frequency(13, IEEE80211_BAND_2GHZ) ||
+	    freq == ieee80211_channel_to_frequency(14, IEEE80211_BAND_2GHZ))
 		return true;
 	return false;
 }
diff --git a/net/wireless/util.c b/net/wireless/util.c
index 7620ae2..4ed065d 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -29,29 +29,37 @@ ieee80211_get_response_rate(struct ieee80211_supported_band *sband,
 }
 EXPORT_SYMBOL(ieee80211_get_response_rate);
 
-int ieee80211_channel_to_frequency(int chan)
+int ieee80211_channel_to_frequency(int chan, enum ieee80211_band band)
 {
-	if (chan < 14)
-		return 2407 + chan * 5;
-
-	if (chan == 14)
-		return 2484;
-
-	/* FIXME: 802.11j 17.3.8.3.2 */
-	return (chan + 1000) * 5;
+	/* see 802.11 17.3.8.3.2 and Annex J
+	 * there are overlapping channel numbers in 5GHz and 2GHz bands */
+	if (band == IEEE80211_BAND_5GHZ) {
+		if (chan >= 182 && chan <= 196)
+			return 4000 + chan * 5;
+		else
+			return 5000 + chan * 5;
+	} else { /* IEEE80211_BAND_2GHZ */
+		if (chan == 14)
+			return 2484;
+		else if (chan < 14)
+			return 2407 + chan * 5;
+		else
+			return 0; /* not supported */
+	}
 }
 EXPORT_SYMBOL(ieee80211_channel_to_frequency);
 
 int ieee80211_frequency_to_channel(int freq)
 {
+	/* see 802.11 17.3.8.3.2 and Annex J */
 	if (freq == 2484)
 		return 14;
-
-	if (freq < 2484)
+	else if (freq < 2484)
 		return (freq - 2407) / 5;
-
-	/* FIXME: 802.11j 17.3.8.3.2 */
-	return freq/5 - 1000;
+	else if (freq >= 4910 && freq <= 4980)
+		return (freq - 4000) / 5;
+	else
+		return (freq - 5000) / 5;
 }
 EXPORT_SYMBOL(ieee80211_frequency_to_channel);
 
diff --git a/net/wireless/wext-compat.c b/net/wireless/wext-compat.c
index 3e5dbd4..b0e18f0 100644
--- a/net/wireless/wext-compat.c
+++ b/net/wireless/wext-compat.c
@@ -267,9 +267,12 @@ int cfg80211_wext_freq(struct wiphy *wiphy, struct iw_freq *freq)
 	 * -EINVAL for impossible things.
 	 */
 	if (freq->e == 0) {
+		int band = IEEE80211_BAND_2GHZ;
 		if (freq->m < 0)
 			return 0;
-		return ieee80211_channel_to_frequency(freq->m);
+		if (freq->m > 14)
+			band = IEEE80211_BAND_5GHZ;
+		return ieee80211_channel_to_frequency(freq->m, band);
 	} else {
 		int i, div = 1000000;
 		for (i = 0; i < freq->e; i++)


^ permalink raw reply related

* Re: carl9170 and debian squeeze
From: Walter Goldens @ 2010-12-24 11:29 UTC (permalink / raw)
  To: linux-wireless, Der Engel
In-Reply-To: <AANLkTimL=JSK6jcF4d97Nc-vLZdeRLj8o=MbpCas-H7z@mail.gmail.com>

This is because of driver-select. To make a long story short, download and install the entire compat-wireless suit (without driver select). If the current version fails to compile download the one from the day before and so on until you find a version which compiles entirely. Then you'll have support for all of your wireless cards.


Walter


      

^ permalink raw reply

* Re: carl9170 and debian squeeze
From: Sedat Dilek @ 2010-12-24 12:00 UTC (permalink / raw)
  To: Walter Goldens; +Cc: linux-wireless, Der Engel
In-Reply-To: <28292.82403.qm@web56807.mail.re3.yahoo.com>

On Fri, Dec 24, 2010 at 12:29 PM, Walter Goldens
<goldenstranger@yahoo.com> wrote:
> This is because of driver-select. To make a long story short, download and install the entire compat-wireless suit (without driver select). If the current version fails to compile download the one from the day before and so on until you find a version which compiles entirely. Then you'll have support for all of your wireless cards.
>
>
> Walter
>

I always wonder why people start with bleeding-edge version of compat-wireless.
A daily bleeding-edge version might be broken, try a previous version
(as Walter recommended).
Check also the automated reports of Luis which are sent to this ML.
There are "half-baked" version around...

"Der" did you try a stable .36 or stable .37-rcX of c-w?

So you asked for carl9170 and not in combination with iwlwifi!
For a new topic open a new thread, please.
As Walter pointed out, do a full compilation of c-w.


- Sedat -

^ permalink raw reply

* compat-wireless: Some ChangeLog URLs show to nirvana
From: Sedat Dilek @ 2010-12-24 12:24 UTC (permalink / raw)
  To: wireless; +Cc: Luis R. Rodriguez, John Linville, Johannes Berg

Hi,

just strived stable download website [0], and some ChangeLog web-links
are not correct (see [1,2], didn't check all of them).
Not sure where they sould point to.
Can someone have a look at it?

Regards,
- Sedat -

[0] http://wireless.kernel.org/en/users/Download/stable/
[1] http://wireless.kernel.org/en/users/Download/stable/#compat-wireless_2.6.37_stable_releases
[2] http://wireless.kernel.org/en/users/Download/stable/#compat-wireless_2.6.36_stable_releases

^ permalink raw reply

* Re: carl9170 and debian squeeze
From: Der Engel @ 2010-12-24 16:02 UTC (permalink / raw)
  To: linux-wireless
In-Reply-To: <AANLkTi=GgTWU1QmoqxM_rA8jUX7814PvZqsEGvcnc6ps@mail.gmail.com>

Thank you, I'll try  and search for a version that compiles.

The reason I went with bleeding-edge and not the stable version is
because the stable versions are hosted at orbit-lab.org and all the
download links are broken so I couldn't find another place from where
to download it.

Der

On Fri, Dec 24, 2010 at 7:00 AM, Sedat Dilek <sedat.dilek@googlemail.com> wrote:
> On Fri, Dec 24, 2010 at 12:29 PM, Walter Goldens
> <goldenstranger@yahoo.com> wrote:
>> This is because of driver-select. To make a long story short, download and install the entire compat-wireless suit (without driver select). If the current version fails to compile download the one from the day before and so on until you find a version which compiles entirely. Then you'll have support for all of your wireless cards.
>>
>>
>> Walter
>>
>
> I always wonder why people start with bleeding-edge version of compat-wireless.
> A daily bleeding-edge version might be broken, try a previous version
> (as Walter recommended).
> Check also the automated reports of Luis which are sent to this ML.
> There are "half-baked" version around...
>
> "Der" did you try a stable .36 or stable .37-rcX of c-w?
>
> So you asked for carl9170 and not in combination with iwlwifi!
> For a new topic open a new thread, please.
> As Walter pointed out, do a full compilation of c-w.
>
>
> - Sedat -
>

^ permalink raw reply

* Re: iwlwifi: Intel 3945ABG speed issues finally identified.
From: Guy, Wey-Yi @ 2010-12-24 16:19 UTC (permalink / raw)
  To: Eric Appleman; +Cc: linux-wireless@vger.kernel.org
In-Reply-To: <loom.20101224T055254-814@post.gmane.org>

On Thu, 2010-12-23 at 22:16 -0800, Eric Appleman wrote:
> Btw, I've never seen a firmware reload message in association with this bug,
> regardless of commit, whether it be from May or December.

> then most likely "stuck queue detection" is not the problem.

Wey
> 
> --
> 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



^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox