[OpenWrt-Devel] [RFC 2/3] kernel: owl-loader for delayed Atheros ath9k fixup

Martin Blumenstingl martin.blumenstingl at googlemail.com
Wed Mar 9 01:59:28 EST 2016

On Wed, Mar 9, 2016 at 12:14 AM, Christian Lamparter
<chunkeey at googlemail.com> wrote:
> Some devices (like the Cisco Meraki Z1 Cloud Managed Teleworker Gateway)
> need to be able to initialize the PCIe wifi device. Normally, this is done
> during the early stages of booting linux, because the necessary init code
> is read from the memory mapped SPI and passed to pci_enable_ath9k_fixup.
> However,this isn't possible for devices which have the init code for the
> Atheros chip stored on NAND. Hence, this module can be used to initialze
> the chip when the user-space is ready to extract the init code.
I assume that you are speaking of UBI when you said "NAND".
This case is tricky indeed, because the UBI initialization starts as
late_initcall. Additionally there is some event-handling inside
UBI/ubifs which makes it hard to read from an ubi volume from another
kernel driver.

Mathias and I have already experimented with reading calibration data
from an UBI volume (we started with MAC addresses, but it will be the
same for the ath9k caldata).
It sounds easy at first sight, but it turns out to be tricky.

I would like to find a generic solution for this (which does not
depend on the ar71xx target) because we probably need the same code
for the lantiq target as well.

openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list