Re: wl1251 & mac address & calibration data
From: Pali Rohár <hidden>
Date: 2016-11-23 22:47:36
Also in:
lkml, netdev
On Wednesday 23 November 2016 23:23:35 Pavel Machek wrote:
Hi!quoted
quoted
quoted
As wl1251.ko does not accept mac_address as module parameter, such modprobe hook does not help -- as there is absolutely no way from userspace to set or change (permanent) mac address.Quoting modprobe.d manual:quoted
install modulename command... This command instructs modprobe to run your command instead of inserting the module in the kernel as normal. The command can be any shell command: this allows you to do any kind of complex processing you might wish. [...]I know. But this do not allow me to send mac address to kernel -- as kernel does not support such command yet (reason for my first question).Plus, this does not really work for cases where wl1251 is not a module.
Yes, this is another problem.
quoted
quoted
You can hook up a script that cooks up wl1251-nvs.bin (caldata, macaddr) and then insmod the actual wl1251.ko module. Or you can just cook up the nvs on first device boot and store it in /lib/firmware (possibly overwriting the "generic" wl1251 from linux-firmware).This is what I would like to prevent -- overwriting (possible readonly) system files with some device specific. It is really bad idea!Agreed. "ifconfig hw ether XX" normally sets the address. I guess that's ioctl?
This sets temporary address and it is ioctl. IIRC same as what ethtool uses. (ifconfig is already deprecated).
And I guess we should use similar mechanism for permanent address.
I'm not sure here... Above ioctl ↑↑↑ is for changing temporary mac address. But here we do not want to change permanent mac address. We want to tell kernel driver current permanent mac address which is stored in permanent mac address storage (in N900 case in mtd). Just like userspace helper as kernel driver do not have code which can read permanent mac address. -- Pali Rohár pali.rohar@gmail.com
Attachments
- signature.asc [application/pgp-signature] 198 bytes