On 21 November 2016 at 16:51, Pali Rohár <pali.ro...@gmail.com> wrote: > On Friday 11 November 2016 18:20:50 Pali Rohár wrote: >> Hi! I will open discussion about mac address and calibration data for >> wl1251 wireless chip again... >> >> Problem: Mac address & calibration data for wl1251 chip on Nokia N900 >> are stored on second nand partition (mtd1) in special proprietary format >> which is used only for Nokia N900 (probably on N8x0 and N9 too). >> Wireless driver wl1251.ko cannot work without mac address and >> calibration data.
Same problem applies to some ath9k/ath10k supported routers. Some even carry mac address as implicit offset from ethernet mac address. As far as I understand OpenWRT cooks cal blobs on first boot prior to loading modules. >> Absence of mac address cause that driver generates random mac address at >> every kernel boot which has couple of problems (unstable identifier of >> wireless device due to udev permanent storage rules; unpredictable >> behaviour for dhcp mac address assignment, mac address filtering, ...). >> >> Currently there is no way to set (permanent) mac address for network >> interface from userspace. And it does not make sense to implement in >> linux kernel large parser for proprietary format of second nand >> partition where is mac address stored only for one device -- Nokia N900. >> >> Driver wl1251.ko loads calibration data via request_firmware() for file >> wl1251-nvs.bin. There are some "example" calibration file in linux- >> firmware repository, but it is not suitable for normal usage as real >> calibration data are per-device specific. You could hook up a script that cooks up the cal/mac file via modprobe's install hook, no? Michał