On Tuesday 10 December 2013 18:49:22 Dan Williams wrote: > On Tue, 2013-12-10 at 18:14 +0100, Pali Rohár wrote: > > On Tuesday 10 December 2013 17:10:50 Pali Rohár wrote: > > > On Tuesday 10 December 2013 16:49:23 Kalle Valo wrote: > > > > Pali Rohár <pali.rohar@xxxxxxxxx> writes: > > > > > Driver wl1251 generating mac address randomly at > > > > > startup and there is no way to set permanent mac > > > > > address via SET_IEEE80211_PERM_ADDR. This patch > > > > > export sysfs file which can set permanent mac address > > > > > by userspace helper program. Patch is needed for > > > > > devices which do not store mac address in internal > > > > > wl1251 eeprom. > > > > > > > > > > Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> > > > > > > > > We have ioctl() command for setting the mac address. > > > > > > Really? Is there ioctl for setting permanent mac address? > > > Can you show me it? > > > > Now I looked at it again and I did not found any ioctl for > > it. There is only ioctl cmd for getting address, not > > setting it. > > > > #define SIOCETHTOOL 0x8946 > > > > /* Get permanent hardware address */ > > #define ETHTOOL_GPERMADDR 0x00000020 > > Yeah, because it's supposed to be permanent and unchanging. > Which means if there was an ioctl for it, that would be > contrary to the purpose of a permanent MAC address. > > I realize the N900 stores the WiFi MAC address completely > differently than many other systems, and that's why this > sysfs file was created. I don't really have a great > converged solution for that, other than what you've currently > got, or perhaps adding SPERMADDR to ethtool. One thing I > *would* like though, is a restriction on the sysfs file such > that if the permanent MAC is already set, it cannot be set > again. Otherwise the permanent MAC address isn't permanent > at all. > > Dan Maybe another way could be to use request_firmware to load address from userspace... Or what do you think? -- Pali Rohár pali.rohar@xxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part.