* 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
[parent not found: <AANLkTinejL9LeocQPzjrqrCFYbrF9wqpD9dSyfEVu8us@mail.gmail.com>]
* 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 [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: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: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: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
* 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
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).