Hi Claude, On Mon, Nov 29, 2010 at 03:16:06PM +0000, Brouat, Claude wrote: > Hi, > > The MAC address of the Wifi wl12xx chip isn't correctly set during the boot > sequence. > This results in manual operations in rc.sysinit script in order to set MAC > and have wifi functional. > > The following patch (https://patchwork.kernel.org/patch/335881/ ) allows the > wl12xx driver to read the MAC address from NVS file. > 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); > > If this patch is integrated, procedure to set the MAC address for Wifi > connectivity becomes clean and very similar to the procedure already used to > set the IMEI for modem connectivity: > > · boot the device > > · set MAC address in NVS file via the attached script The NVS file already contains device specific data, e.g. the RF calibration parts. So each device running a wl12xx 802.11 chip should ship with its own and specific NVS, which should then contain a proper and unique MAC address. This is the OEM's responsibility to produce and ship proper NVS files, so why do we need to have an additional script writing our MACs to the existing NVS ?
Cheers, Samuel. -- Intel Open Source Technology Centre http://oss.intel.com/ _______________________________________________ MeeGo-kernel mailing list [email protected] http://lists.meego.com/listinfo/meego-kernel
