linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Problem bringing up wlan0 interface up with mainline wl1271 drivers
       [not found] ` <AANLkTikESPwcaxUSDd3B=Oh7kBD-QpndKRHmu9-roDqs@mail.gmail.com>
@ 2010-12-17  0:23   ` Elvis Dowson
  2010-12-17  5:11     ` panduranga
  0 siblings, 1 reply; 13+ messages in thread
From: Elvis Dowson @ 2010-12-17  0:23 UTC (permalink / raw)
  To: Ohad Ben-Cohen; +Cc: Linux Wireless Mailing List, panduranga, Pedro Jara

Hi,

On Dec 12, 2010, at 1:24 AM, Ohad Ben-Cohen wrote:

>> When I build the TI WiLink drivers from the ti rowboat hardware/ti/wlan project
> 
> The linux-omap community can help you with mainline drivers, but no so
> much with proprietary ones. Why don't you use the upstream wl12xx
> driver ?

I've built linux kernel 2.6.37-rc6, and patched board-omap3beagle.c to interface with MMC2 SDIO controller, 
but I'm unable to bring the wlan0 interface up.

Here are the messages during kernel boot:

[    0.000000] wlan_mux_init: Configuring mux settings for wl1271 wlan module
[    0.077117] regulator: vwl1271: 1850 mV normal standby
[    2.171813] mmc1: mmc_rescan: trying to init card at 400000 Hz
[    2.323120] mmc1: card claims to support voltages below the defined range. These will be ignored.
[    2.368865] mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
[    2.392150] mmc1: new SDIO card at address 0001
[    2.787597] wl1271: loaded
[    2.790802] wl1271: initialized

# ifconfig -a
lo        Link encap:Local Loopback  
          LOOPBACK  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

wlan0     Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

# ifconfig wlan0 up
SIOCSIFFLAGS: Cannot assign requested address

What could the reason be?

Elvis Dowson

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

* Re: Problem bringing up wlan0 interface up with mainline wl1271 drivers
  2010-12-17  0:23   ` Problem bringing up wlan0 interface up with mainline wl1271 drivers Elvis Dowson
@ 2010-12-17  5:11     ` panduranga
  2010-12-17  8:36       ` Elvis Dowson
  2010-12-17  9:33       ` Elvis Dowson
  0 siblings, 2 replies; 13+ messages in thread
From: panduranga @ 2010-12-17  5:11 UTC (permalink / raw)
  To: Elvis Dowson, Ohad Ben-Cohen; +Cc: Linux Wireless Mailing List, Jara, Pedro

Hi Elvis,

This because you havent set the mac address for wlan0

wlan0     Link encap:Ethernet  HWaddr 00:00:00:00:00:00

You can do by using the following command:
ifconfig wlan0 hw ether 11:22:33:44:55:66

OR

add the following patch 
(http://www.spinics.net/lists/linux-wireless/msg59391.html) by Arik Nemtsov.

diff --git a/drivers/net/wireless/wl12xx/main.c 
b/drivers/net/wireless/wl12xx/main.c
index 708b699..e5fbbb6 100644
--- a/drivers/net/wireless/wl12xx/main.c
+++ b/drivers/net/wireless/wl12xx/main.c
@@ -2987,6 +2987,18 @@ int wl1271_register_hw(struct wl1271 *wl)
 	if (wl->mac80211_registered)
 		return 0;

+	ret = wl1271_fetch_nvs(wl);
+	if (ret == 0) {
+		u8 *nvs_ptr = (u8 *)wl->nvs->nvs;
+
+		wl->mac_addr[0] = nvs_ptr[11];
+		wl->mac_addr[1] = nvs_ptr[10];
+		wl->mac_addr[2] = nvs_ptr[6];
+		wl->mac_addr[3] = nvs_ptr[5];
+		wl->mac_addr[4] = nvs_ptr[4];
+		wl->mac_addr[5] = nvs_ptr[3];
+	}
+
 	SET_IEEE80211_PERM_ADDR(wl->hw, wl->mac_addr);

 	ret = ieee80211_register_hw(wl->hw);
-- 

Regards,
Pandu.

----- Original Message ----- 
From: "Elvis Dowson" <elvis.dowson@mac.com>
To: "Ohad Ben-Cohen" <ohad@wizery.com>
Cc: "Linux Wireless Mailing List" <linux-wireless@vger.kernel.org>; 
"Mallireddy, Panduranga" <x0125717@ti.com>; "Jara, Pedro" <pedrojara@ti.com>
Sent: Friday, December 17, 2010 5:53 AM
Subject: Problem bringing up wlan0 interface up with mainline wl1271 drivers


Hi,

On Dec 12, 2010, at 1:24 AM, Ohad Ben-Cohen wrote:

>> When I build the TI WiLink drivers from the ti rowboat hardware/ti/wlan 
>> project
>
> The linux-omap community can help you with mainline drivers, but no so
> much with proprietary ones. Why don't you use the upstream wl12xx
> driver ?

I've built linux kernel 2.6.37-rc6, and patched board-omap3beagle.c to 
interface with MMC2 SDIO controller,
but I'm unable to bring the wlan0 interface up.

Here are the messages during kernel boot:

[    0.000000] wlan_mux_init: Configuring mux settings for wl1271 wlan 
module
[    0.077117] regulator: vwl1271: 1850 mV normal standby
[    2.171813] mmc1: mmc_rescan: trying to init card at 400000 Hz
[    2.323120] mmc1: card claims to support voltages below the defined 
range. These will be ignored.
[    2.368865] mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
[    2.392150] mmc1: new SDIO card at address 0001
[    2.787597] wl1271: loaded
[    2.790802] wl1271: initialized

# ifconfig -a
lo        Link encap:Local Loopback
          LOOPBACK  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

wlan0     Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

# ifconfig wlan0 up
SIOCSIFFLAGS: Cannot assign requested address

What could the reason be?

Elvis Dowson


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

* Re: Problem bringing up wlan0 interface up with mainline wl1271 drivers
  2010-12-17  5:11     ` panduranga
@ 2010-12-17  8:36       ` Elvis Dowson
       [not found]         ` <AANLkTinejL9LeocQPzjrqrCFYbrF9wqpD9dSyfEVu8us@mail.gmail.com>
  2010-12-17  9:33       ` Elvis Dowson
  1 sibling, 1 reply; 13+ messages in thread
From: Elvis Dowson @ 2010-12-17  8:36 UTC (permalink / raw)
  To: panduranga; +Cc: Ohad Ben-Cohen, Linux Wireless Mailing List, Jara, Pedro

Hi,

On Dec 17, 2010, at 9:11 AM, panduranga wrote:

> This because you havent set the mac address for wlan0
> 
> wlan0     Link encap:Ethernet  HWaddr 00:00:00:00:00:00
> 
> You can do by using the following command:
> ifconfig wlan0 hw ether 11:22:33:44:55:66

I tried that earlier, but got the same results. 

# ifconfig wlan0 hw ether 11:22:33:44:55:66
SIOCSIFHWADDR: Cannot assign requested address

Even trying to assign an IP address doesn't work. 

# ifconfig wlan0 inet 192.168.1.105 netmask 255.255.255.0
SIOCSIFFLAGS: Cannot assign requested address


Here's how my modified board-omap3beagle.c looks like, for the mainline wl1271 drivers. (The modifications for the board file and the board-wifi for the TI proprietary drivers are different, and that is a separate issue that I'm working on in parallel for android-2.6.32 kernel).

>From e84ded71b45aecd340ec6030a540d0305c43c82d Mon Sep 17 00:00:00 2001
From: Elvis Dowson <elvis.dowson@gmail.com>
Date: Fri, 17 Dec 2010 12:27:23 +0400
Subject: [PATCH] Add support for Murata wl1271 wlan module.

---
 arch/arm/mach-omap2/Makefile                 |    1 +
 arch/arm/mach-omap2/board-beagle20-wifi.c |   64 ++++++++++++++++++++++++++
 arch/arm/mach-omap2/board-beagle20-wifi.h |   24 ++++++++++
 arch/arm/mach-omap2/board-omap3beagle.c      |   62 +++++++++++++++++++++++++
 4 files changed, 151 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-beagle20-wifi.c
 create mode 100644 arch/arm/mach-omap2/board-beagle20-wifi.h

diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 60e51bc..36f2b69 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -119,6 +119,7 @@ obj-$(CONFIG_MACH_OMAP_2430SDP)		+= board-2430sdp.o \
 					   hsmmc.o
 obj-$(CONFIG_MACH_OMAP_APOLLON)		+= board-apollon.o
 obj-$(CONFIG_MACH_OMAP3_BEAGLE)		+= board-omap3beagle.o \
+					   board-beagle20-wifi.o \
 					   hsmmc.o
 obj-$(CONFIG_MACH_DEVKIT8000)     	+= board-devkit8000.o \
                                            hsmmc.o
diff --git a/arch/arm/mach-omap2/board-beagle20-wifi.c b/arch/arm/mach-omap2/board-beagle20-wifi.c
new file mode 100644
index 0000000..4f75e2d
--- /dev/null
+++ b/arch/arm/mach-omap2/board-beagle20-wifi.c
@@ -0,0 +1,64 @@
+/*
+ * linux/arch/arm/mach-omap2/board-beagle20-wifi.c
+ *
+ *
+ *
+ * Copyright (C) 2010 Texas Instruments Inc.
+ *
+ * Author :
+ *	Elvis Dowson <elvis.dowson@gmail.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.
+ */
+
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <linux/clk.h>
+#include <linux/debugfs.h>
+#include <linux/delay.h>
+#include <linux/err.h>
+
+#include <linux/mmc/host.h>
+#include <linux/mmc/sdio_ids.h>
+
+#include <linux/gpio.h>
+
+#include "board-beagle20-wifi.h"
+#include "mux.h"
+
+void wlan_mux_init(void)
+{
+    pr_info("%s: Configuring mux settings for wl1271 wlan module\n", __func__);
+
+    /* OMAP_BEAGLE20_WIFI_PMENA_GPIO and OMAP_BEAGLE20_WIFI_IRQ_GPIO */
+	omap_mux_init_gpio(OMAP_BEAGLE20_WIFI_PMENA_GPIO, OMAP_PIN_OUTPUT);
+	omap_mux_init_gpio(OMAP_BEAGLE20_WIFI_IRQ_GPIO,   OMAP_PIN_INPUT_PULLUP);
+
+	/*
+	 * MMC2 pin mux settings.
+	 *
+	 * The pix mux strings can be found in /arch/arm/mach-omap2/mux34xx.c
+	 *
+	 * Refer the TI OMAP 35x Technical Reference Manual (Rev.D), page 840
+	 * for the following example.
+	 *
+	 * If the string name is “xxx.yyy”
+	 * xxx – is the name of the default mode of the pad, usually Mode 0
+	 *       as described in the TRM.
+	 * yyy – is the pin on that pad you want to select.
+	 *
+	 * For example, MMC3 CLK line ("sdmmc3_clk")  can be brought out in
+	 * 2 places ("mcspi1_cs2" and "etk_clk").
+	 *
+	 */
+	omap_mux_init_signal("sdmmc2_clk.sdmmc2_clk", 	OMAP_PIN_INPUT_PULLUP);
+	omap_mux_init_signal("sdmmc2_cmd.sdmmc2_cmd", 	OMAP_PIN_INPUT_PULLUP);
+	omap_mux_init_signal("sdmmc2_dat0.sdmmc2_dat0", OMAP_PIN_INPUT_PULLUP);
+	omap_mux_init_signal("sdmmc2_dat1.sdmmc2_dat1", OMAP_PIN_INPUT_PULLUP);
+	omap_mux_init_signal("sdmmc2_dat2.sdmmc2_dat2", OMAP_PIN_INPUT_PULLUP);
+	omap_mux_init_signal("sdmmc2_dat3.sdmmc2_dat3", OMAP_PIN_INPUT_PULLUP);
+}
+
diff --git a/arch/arm/mach-omap2/board-beagle20-wifi.h b/arch/arm/mach-omap2/board-beagle20-wifi.h
new file mode 100644
index 0000000..5ce7df2
--- /dev/null
+++ b/arch/arm/mach-omap2/board-beagle20-wifi.h
@@ -0,0 +1,24 @@
+/*
+ * linux/arch/arm/mach-omap2/board-beagle20-wifi.h
+ *
+ * 
+ *
+ * Copyright (C) 2010 Texas Instruments Inc.
+ *
+ * Author :
+ *	Elvis Dowson <elvis.dowson@gmail.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.
+ */
+
+#ifndef BOARD_BEAGLE20_WIFI_H_
+#define BOARD_BEAGLE20_WIFI_H_
+
+#define OMAP_BEAGLE20_WIFI_PMENA_GPIO 94     /* Murata TI WL1271 WLAN module enable GPIO */
+#define OMAP_BEAGLE20_WIFI_IRQ_GPIO   97     /* Murata TI WL1271 WLAN module IRQ GPIO */
+
+void wlan_mux_init(void);
+
+#endif /* BOARD_BEAGLE20_WIFI_H_ */
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 50af879..6d1fcd6 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -30,7 +30,9 @@
 #include <linux/mmc/host.h>
 
 #include <linux/regulator/machine.h>
+#include <linux/regulator/fixed.h>
 #include <linux/i2c/twl.h>
+#include <linux/wl12xx.h>
 
 #include <mach/hardware.h>
 #include <asm/mach-types.h>
@@ -45,6 +47,7 @@
 #include <plat/nand.h>
 #include <plat/usb.h>
 
+#include "board-beagle20-wifi.h"
 #include "mux.h"
 #include "hsmmc.h"
 #include "timer-gp.h"
@@ -166,6 +169,14 @@ static struct omap2_hsmmc_info mmc[] = {
 		.gpio_cd	= -EINVAL,
 		.gpio_wp	= -EINVAL,
 	},
+	{
+		.name		= "wl1271",
+		.mmc		= 2,
+		.caps		= MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD,
+		.gpio_wp	= -EINVAL,
+		.gpio_cd	= -EINVAL,
+		.nonremovable	= true,
+	},
 	{}	/* Terminator */
 };
 
@@ -177,6 +188,10 @@ static struct regulator_consumer_supply beagle_vsim_supply = {
 	.supply			= "vmmc_aux",
 };
 
+static struct regulator_consumer_supply beagle_vmmc2_supply = {
+	.supply			= "vmmc",
+};
+
 static struct gpio_led gpio_leds[];
 
 static int beagle_twl_gpio_setup(struct device *dev,
@@ -187,6 +202,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
 	/* link regulators to MMC adapters */
 	beagle_vmmc1_supply.dev = mmc[0].dev;
 	beagle_vsim_supply.dev = mmc[0].dev;
+	beagle_vmmc2_supply.dev = mmc[1].dev;
 
 	return 0;
 }
@@ -217,6 +233,21 @@ static struct regulator_init_data beagle_vmmc1 = {
 	.consumer_supplies	= &beagle_vmmc1_supply,
 };
 
+/* VMMC2 for MMC2 card */
+static struct regulator_init_data beagle_vmmc2 = {
+	.constraints = {
+		.min_uV			= 1850000,
+		.max_uV			= 1850000,
+		.apply_uV		= true,
+		.valid_modes_mask	= REGULATOR_MODE_NORMAL
+					| REGULATOR_MODE_STANDBY,
+		.valid_ops_mask		= REGULATOR_CHANGE_MODE
+					| REGULATOR_CHANGE_STATUS,
+	},
+	.num_consumer_supplies  = 1,
+	.consumer_supplies      = &beagle_vmmc2_supply,
+};
+
 /* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
 static struct regulator_init_data beagle_vsim = {
 	.constraints = {
@@ -261,6 +292,31 @@ static struct regulator_init_data beagle_vpll2 = {
 	.consumer_supplies	= &beagle_vdvi_supply,
 };
 
+/* Fixed voltage regulator for wlan module */
+static struct fixed_voltage_config beagle_vwlan = {
+	.supply_name		= "vwl1271",
+	.microvolts		= 1850000, /* 1.8V */
+	.gpio			= OMAP_BEAGLE20_WIFI_PMENA_GPIO,
+	.startup_delay		= 70000, /* 70msec */
+	.enable_high		= 1,
+	.enabled_at_boot	= 0,
+	.init_data		= &beagle_vmmc2,
+};
+
+static struct platform_device omap_vwlan_device = {
+	.name		= "reg-fixed-voltage",
+	.id		= 1,
+	.dev = {
+		.platform_data	= &beagle_vwlan,
+	},
+};
+
+struct wl12xx_platform_data omap_beagle_wlan_data __initdata = {
+	.irq = OMAP_GPIO_IRQ(OMAP_BEAGLE20_WIFI_IRQ_GPIO),
+	/* ZOOM ref clock is 26 MHz */
+	.board_ref_clock = 1,
+};
+
 static struct twl4030_usb_data beagle_usb_data = {
 	.usb_mode	= T2_USB_MODE_ULPI,
 };
@@ -455,6 +511,12 @@ static void __init omap3_beagle_init(void)
 	omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT);
 
 	beagle_display_init();
+
+	/* wl12xx wlan module */
+	wlan_mux_init();
+	if (wl12xx_set_platform_data(&omap_beagle_wlan_data))
+		pr_err("error setting wl12xx data\n");
+	platform_device_register(&omap_vwlan_device);
 }
 
 MACHINE_START(OMAP3_BEAGLE, "Custom BeagleBoard 2.0")
-- 
1.7.0.4


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

* Problem bringing up wlan0 interface up with mainline wl1271 drivers
       [not found]         ` <AANLkTinejL9LeocQPzjrqrCFYbrF9wqpD9dSyfEVu8us@mail.gmail.com>
@ 2010-12-17  8:59           ` Arik Nemtsov
  2010-12-17  9:44           ` Elvis Dowson
  1 sibling, 0 replies; 13+ messages in thread
From: Arik Nemtsov @ 2010-12-17  8:59 UTC (permalink / raw)
  To: Elvis Dowson
  Cc: panduranga, Ohad Ben-Cohen, Linux Wireless Mailing List,
	Jara, Pedro

[ resending to list since it rejects html subparts ]

Hey Elvis,

>
> On Fri, Dec 17, 2010 at 10:36, Elvis Dowson <elvis.dowson@mac.com> wrote:
>>
>> Hi,
>>
>> On Dec 17, 2010, at 9:11 AM, panduranga wrote:
>>
>> # ifconfig wlan0 hw ether 11:22:33:44:55:66
>> SIOCSIFHWADDR: Cannot assign requested address
>>
>> Even trying to assign an IP address doesn't work.
>>
>> # ifconfig wlan0 inet 192.168.1.105 netmask 255.255.255.0
>> SIOCSIFFLAGS: Cannot assign requested address
>>
>

Ethernet addresses with the LSB of the first octet turned on are
considered multicast addresses. Please try:

ifconfig wlan0 hw ether 00:22:33:44:55:66

Regards,
Arik

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

* Re: Problem bringing up wlan0 interface up with mainline wl1271 drivers
  2010-12-17  5:11     ` panduranga
  2010-12-17  8:36       ` Elvis Dowson
@ 2010-12-17  9:33       ` Elvis Dowson
  1 sibling, 0 replies; 13+ messages in thread
From: Elvis Dowson @ 2010-12-17  9:33 UTC (permalink / raw)
  To: panduranga; +Cc: Ohad Ben-Cohen, Linux Wireless Mailing List, Jara, Pedro

Hi,

On Dec 17, 2010, at 9:11 AM, panduranga wrote:

> add the following patch (http://www.spinics.net/lists/linux-wireless/msg59391.html) by Arik Nemtsov.
> 
> diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
> index 708b699..e5fbbb6 100644
> --- a/drivers/net/wireless/wl12xx/main.c
> +++ b/drivers/net/wireless/wl12xx/main.c
> @@ -2987,6 +2987,18 @@ int wl1271_register_hw(struct wl1271 *wl)
> 	if (wl->mac80211_registered)
> 		return 0;
> 
> +	ret = wl1271_fetch_nvs(wl);
> +	if (ret == 0) {
> +		u8 *nvs_ptr = (u8 *)wl->nvs->nvs;
> +
> +		wl->mac_addr[0] = nvs_ptr[11];
> +		wl->mac_addr[1] = nvs_ptr[10];
> +		wl->mac_addr[2] = nvs_ptr[6];
> +		wl->mac_addr[3] = nvs_ptr[5];
> +		wl->mac_addr[4] = nvs_ptr[4];
> +		wl->mac_addr[5] = nvs_ptr[3];
> +	}
> +
> 	SET_IEEE80211_PERM_ADDR(wl->hw, wl->mac_addr);
> 
> 	ret = ieee80211_register_hw(wl->hw);

Where should the firmware file be located? What name should I give the firmware file : firmware.bin ? 

I get the following error after adding the following patch:

[   62.835174] wl1271: ERROR could not get nvs file: -2
[   62.887786] wl1271: loaded
[   62.890655] wl1271: initialized


Elvis Dowson

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

* Re: Problem bringing up wlan0 interface up with mainline wl1271 drivers
       [not found]         ` <AANLkTinejL9LeocQPzjrqrCFYbrF9wqpD9dSyfEVu8us@mail.gmail.com>
  2010-12-17  8:59           ` Arik Nemtsov
@ 2010-12-17  9:44           ` Elvis Dowson
  2010-12-17 10:12             ` Arik Nemtsov
  1 sibling, 1 reply; 13+ messages in thread
From: Elvis Dowson @ 2010-12-17  9:44 UTC (permalink / raw)
  To: Arik Nemtsov
  Cc: panduranga, Ohad Ben-Cohen, Linux Wireless Mailing List,
	Jara, Pedro


On Dec 17, 2010, at 12:51 PM, Arik Nemtsov wrote:

> Ethernet addresses with the LSB of the first octet turned on are considered multicast addresses. Please try:
> 
> ifconfig wlan0 hw ether 00:22:33:44:55:66

That worked, now the only thing is to put the firmware file in the appropriate place, I guess:

# ifconfig wlan0 hw ether 00:22:33:44:55:66

# ifconfig wlan0 up

[  153.843597] wl1271: ERROR could not get firmware: -2

Where should the firmware file be located? /etc/firmware ? 

Elvis Dowson

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

* Re: Problem bringing up wlan0 interface up with mainline wl1271 drivers
  2010-12-17  9:44           ` Elvis Dowson
@ 2010-12-17 10:12             ` Arik Nemtsov
  2010-12-17 10:25               ` Elvis Dowson
  0 siblings, 1 reply; 13+ messages in thread
From: Arik Nemtsov @ 2010-12-17 10:12 UTC (permalink / raw)
  To: Elvis Dowson
  Cc: panduranga, Ohad Ben-Cohen, Linux Wireless Mailing List,
	Jara, Pedro

On Fri, Dec 17, 2010 at 11:44, Elvis Dowson <elvis.dowson@mac.com> wrote:
>
> On Dec 17, 2010, at 12:51 PM, Arik Nemtsov wrote:
>
>> Ethernet addresses with the LSB of the first octet turned on are considered multicast addresses. Please try:
>>
>> ifconfig wlan0 hw ether 00:22:33:44:55:66
>
> That worked, now the only thing is to put the firmware file in the appropriate place, I guess:
>
> # ifconfig wlan0 hw ether 00:22:33:44:55:66
>
> # ifconfig wlan0 up
>
> [  153.843597] wl1271: ERROR could not get firmware: -2
>
> Where should the firmware file be located? /etc/firmware ?
>
> Elvis Dowson
>

The firmware file should be called wl1271-fw.bin and the nvs file
should be called wl1271-nvs.bin. Both should reside in /etc/firmware
(if you're running a standard linux).

Regards,
Arik

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

* Re: Problem bringing up wlan0 interface up with mainline wl1271 drivers
  2010-12-17 10:12             ` Arik Nemtsov
@ 2010-12-17 10:25               ` Elvis Dowson
  2010-12-17 10:34                 ` Arik Nemtsov
  2010-12-17 10:38                 ` Luciano Coelho
  0 siblings, 2 replies; 13+ messages in thread
From: Elvis Dowson @ 2010-12-17 10:25 UTC (permalink / raw)
  To: Arik Nemtsov
  Cc: panduranga, Ohad Ben-Cohen, Linux Wireless Mailing List,
	Jara, Pedro

Hi Arik,

On Dec 17, 2010, at 2:12 PM, Arik Nemtsov wrote:
> 
> The firmware file should be called wl1271-fw.bin and the nvs file
> should be called wl1271-nvs.bin. Both should reside in /etc/firmware
> (if you're running a standard linux).

I got the files from this git repo 

git clone git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git

and copied them over to /etc/firmware

/etc/firmware# ls -l
total 276
-r--r--r-- 1 root root 271712 Dec 17  2010 wl1271-fw.bin
-rw-rw-r-- 1 root root    912 Dec 17  2010 wl1271-nvs.bin

But I still get a error saying the the nvs file could not be found:

[   63.852264] wl1271: ERROR could not get nvs file: -2
[   63.906250] wl1271: loaded
[   63.909271] wl1271: initialized

Best regards,

Elvis Dowson

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

* Re: Problem bringing up wlan0 interface up with mainline wl1271 drivers
  2010-12-17 10:25               ` Elvis Dowson
@ 2010-12-17 10:34                 ` Arik Nemtsov
  2010-12-17 10:37                   ` Elvis Dowson
  2010-12-17 10:38                 ` Luciano Coelho
  1 sibling, 1 reply; 13+ messages in thread
From: Arik Nemtsov @ 2010-12-17 10:34 UTC (permalink / raw)
  To: Elvis Dowson
  Cc: panduranga, Ohad Ben-Cohen, Linux Wireless Mailing List,
	Jara, Pedro

On Fri, Dec 17, 2010 at 12:25, Elvis Dowson <elvis.dowson@mac.com> wrote:
> Hi Arik,
>
> On Dec 17, 2010, at 2:12 PM, Arik Nemtsov wrote:
>>
>> The firmware file should be called wl1271-fw.bin and the nvs file
>> should be called wl1271-nvs.bin. Both should reside in /etc/firmware
>> (if you're running a standard linux).
>
> I got the files from this git repo
>
> git clone git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git
>
> and copied them over to /etc/firmware
>
> /etc/firmware# ls -l
> total 276
> -r--r--r-- 1 root root 271712 Dec 17  2010 wl1271-fw.bin
> -rw-rw-r-- 1 root root    912 Dec 17  2010 wl1271-nvs.bin
>
> But I still get a error saying the the nvs file could not be found:
>
> [   63.852264] wl1271: ERROR could not get nvs file: -2
> [   63.906250] wl1271: loaded
> [   63.909271] wl1271: initialized
>
> Best regards,
>
> Elvis Dowson
>

Sorry Elvis I gave you the wrong path :)
Its /lib/firmware in a regular linux. Its /etc/firmware in android.

Regards,
Arik

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

* Re: Problem bringing up wlan0 interface up with mainline wl1271 drivers
  2010-12-17 10:34                 ` Arik Nemtsov
@ 2010-12-17 10:37                   ` Elvis Dowson
  2010-12-17 11:12                     ` Elvis Dowson
  0 siblings, 1 reply; 13+ messages in thread
From: Elvis Dowson @ 2010-12-17 10:37 UTC (permalink / raw)
  To: Arik Nemtsov; +Cc: Linux Wireless Mailing List

Hi Arik,

On Dec 17, 2010, at 2:34 PM, Arik Nemtsov wrote:
> 
> Sorry Elvis I gave you the wrong path :)
> Its /lib/firmware in a regular linux. Its /etc/firmware in android.

:-) Ok, that's understandable!! My final aim is to get this working with android-2.2.1. Have you done a port of the android kernel to 2.6.37 already ?

Best regards,

Elvis Dowson

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

* Re: Problem bringing up wlan0 interface up with mainline wl1271 drivers
  2010-12-17 10:25               ` Elvis Dowson
  2010-12-17 10:34                 ` Arik Nemtsov
@ 2010-12-17 10:38                 ` Luciano Coelho
  2011-08-10 11:34                   ` amit.gemini
  1 sibling, 1 reply; 13+ messages in thread
From: Luciano Coelho @ 2010-12-17 10:38 UTC (permalink / raw)
  To: ext Elvis Dowson
  Cc: Arik Nemtsov, panduranga, Ohad Ben-Cohen,
	Linux Wireless Mailing List, Jara, Pedro

Hi Elvis,

On Fri, 2010-12-17 at 14:25 +0400, ext Elvis Dowson wrote:
> Hi Arik,
> 
> On Dec 17, 2010, at 2:12 PM, Arik Nemtsov wrote:
> > 
> > The firmware file should be called wl1271-fw.bin and the nvs file
> > should be called wl1271-nvs.bin. Both should reside in /etc/firmware
> > (if you're running a standard linux).
> 
> I got the files from this git repo 
> 
> git clone git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git
> 
> and copied them over to /etc/firmware
> 
> /etc/firmware# ls -l
> total 276
> -r--r--r-- 1 root root 271712 Dec 17  2010 wl1271-fw.bin
> -rw-rw-r-- 1 root root    912 Dec 17  2010 wl1271-nvs.bin
> 
> But I still get a error saying the the nvs file could not be found:
> 
> [   63.852264] wl1271: ERROR could not get nvs file: -2
> [   63.906250] wl1271: loaded
> [   63.909271] wl1271: initialized

You need to start udevd.  The driver gets the firmware via udev.


-- 
Cheers,
Luca.


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

* Re: Problem bringing up wlan0 interface up with mainline wl1271 drivers
  2010-12-17 10:37                   ` Elvis Dowson
@ 2010-12-17 11:12                     ` Elvis Dowson
  0 siblings, 0 replies; 13+ messages in thread
From: Elvis Dowson @ 2010-12-17 11:12 UTC (permalink / raw)
  To: Arik Nemtsov; +Cc: Linux Wireless Mailing List

Hi Arik,
                Its working now. 

[    0.000000] wlan_mux_init: Configuring mux settings for wl1271 wlan module
[    2.143035] mmc1: mmc_rescan: trying to init card at 400000 Hz
[    2.292175] mmc1: card claims to support voltages below the defined range. These will be ignored.
[    2.337158] mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
[    2.359710] mmc1: new SDIO card at address 0001
Starting udev
[    3.948883] udev: starting version 151
[    3.957519] udevd (550): /proc/550/oom_adj is deprecated, please use /proc/550/oom_score_adj instead.
[    5.156890] wl1271: loaded
[    5.159942] wl1271: initialized

# ifconfig -a
lo        Link encap:Local Loopback  
          LOOPBACK  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

wlan0     Link encap:Ethernet  HWaddr DE:AD:BE:EF:00:00  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

# ifconfig wlan0 up

# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf
CTRL-EVENT-SCAN-RESULTS 
Trying to associate with 68:7f:74:1c:e4:7c (SSID='Olympus2' freq=2437 MHz)
Associated with 68:7f:74:1c:e4:7c
WPA: Key negotiation completed with 68:7f:74:1c:e4:7c [PTK=CCMP GTK=TKIP]
CTRL-EVENT-CONNECTED - Connection to 68:7f:74:1c:e4:7c completed (auth) [id=0 id_str=]


^Z[1] + Stopped                    wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf

# ifconfig -a
lo        Link encap:Local Loopback  
          LOOPBACK  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

wlan0     Link encap:Ethernet  HWaddr DE:AD:BE:EF:00:00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:328 (328.0 b)  TX bytes:288 (288.0 b)


# ifconfig wlan0 inet 192.168.1.105 netmask 255.255.255.0

# ping 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=66.1 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=27.8 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=34.7 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=37.7 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=31.2 ms
^Z[2] + Stopped                    ping 192.168.1.1

# [  263.148956] cfg80211: Calling CRDA to update world regulatory domain


Best regards,

Elvis Dowson


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

* Re: Problem bringing up wlan0 interface up with mainline wl1271 drivers
  2010-12-17 10:38                 ` Luciano Coelho
@ 2011-08-10 11:34                   ` amit.gemini
  0 siblings, 0 replies; 13+ messages in thread
From: amit.gemini @ 2011-08-10 11:34 UTC (permalink / raw)
  To: linux-wireless


> > 
> > [   63.852264] wl1271: ERROR could not get nvs file: -2
> > [   63.906250] wl1271: loaded
> > [   63.909271] wl1271: initialized
> 
> You need to start udevd.  The driver gets the firmware via udev.
> 

 Hi Elvis, and Arik,

         i am also having same problem , and i dont' know how to start udevd on
Panda Board.. can you help me ...



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

end of thread, other threads:[~2011-08-10 11:40 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <57CB308D-7237-46D7-9AF8-7093F52682E8@mac.com>
     [not found] ` <AANLkTikESPwcaxUSDd3B=Oh7kBD-QpndKRHmu9-roDqs@mail.gmail.com>
2010-12-17  0:23   ` Problem bringing up wlan0 interface up with mainline wl1271 drivers Elvis Dowson
2010-12-17  5:11     ` panduranga
2010-12-17  8:36       ` Elvis Dowson
     [not found]         ` <AANLkTinejL9LeocQPzjrqrCFYbrF9wqpD9dSyfEVu8us@mail.gmail.com>
2010-12-17  8:59           ` Arik Nemtsov
2010-12-17  9:44           ` Elvis Dowson
2010-12-17 10:12             ` Arik Nemtsov
2010-12-17 10:25               ` Elvis Dowson
2010-12-17 10:34                 ` Arik Nemtsov
2010-12-17 10:37                   ` Elvis Dowson
2010-12-17 11:12                     ` Elvis Dowson
2010-12-17 10:38                 ` Luciano Coelho
2011-08-10 11:34                   ` amit.gemini
2010-12-17  9:33       ` Elvis Dowson

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).