On Monday 28 October 2013 16:29:21 Dan Williams wrote:
On Mon, 2013-10-28 at 16:04 +0100, Pali Rohár wrote:
quoted
On Monday 28 October 2013 15:56:55 Johannes Berg wrote:
quoted
On Mon, 2013-10-28 at 09:46 -0500, Dan Williams wrote:
quoted
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
pali.rohar@gmail.com