Subject: Re: [PATCH 16/16] wl1251: Add sysfs file address for setting permanent mac address

From: Pali Rohár <[email-masked]>
Date: Mon, 28 Oct 2013 17:21:25 +0100

On Monday 28 October 2013 16:29:21 Dan Williams wrote:
> On Mon, 2013-10-28 at 16:04 +0100, Pali Rohár wrote:
> > On Monday 28 October 2013 15:56:55 Johannes Berg wrote:
> > > On Mon, 2013-10-28 at 09:46 -0500, Dan Williams wrote:
> > > > If the device doesn't actually *have* a permanent MAC
> > > > address, then it shouldn't be returning one via ethtool,
> > > > and should return an error for ETHTOOL_GPERMADDR.
> > > 
> > > There's currently no provision for that, but I agree it
> > > would be better to do so.
> > > 
> > > johannes
> > 
> > So what to do with devices which has MAC address stored in
> > some obscure place and there is userspace binary which can
> > read it?
> > 
> > I think that there should be some way to tell kernel that
> > *this* is the permanent address and it should use it.
> > 
> > This is reason why I proposed patch which adding sysfs entry
> > for setting permanent address from userspace in wl1251
> > driver.
> 
> Ok, so the N900's MAC is stored in the "cal partition", which
> is a region of flash exposed to the OS as /dev/mtd1.  That
> also stores the regulatory domain.  Typically userspace
> binaries are used to pull out this and other data (see
> https://dev.openwrt.org/browser/packages/utils/calvaria/files/
> src/calvaria.c ) which is then used to initialize the device.
> 
> Any idea what kernel driver is used to expose the CAL
> partition as /dev/mtd1?  If it's nothing special maybe a
> small EEPROM-style driver could be written to read the
> relevant areas (and since they don't ever change, don't need
> to worry about something else writing at the same time).
> 
> Dan

/dev/mtd1 is second (0 is first) OneNand partition. Nothing 
special. Kernel driver for OnaNand is already in mainline kernel.

That partition also has NVS device data for wl1251 chip.

And you are right calvaria has GPL v2 code for parsing data in 
that partition.

-- 
Pali Rohár
[email-masked]