[meta-freescale] Calling CRDA to update world regulatory domain

Fabio Estevam festevam at gmail.com
Sat Jul 18 08:28:24 PDT 2015


Hi,

When running kernel 4.1.2 provided by linux-fslc on imx6sl-warp the
following messages are seen:

cfg80211: Calling CRDA to update world regulatory domain
cfg80211: Calling CRDA to update world regulatory domain
cfg80211: Calling CRDA to update world regulatory domain
cfg80211: Calling CRDA to update world regulatory domain

and it stops after several retries.

According to Documentation/networking/regulatory.txt:

"How to get regulatory domains to the kernel
-------------------------------------------

Userspace gets a regulatory domain in the kernel by having
a userspace agent build it and send it via nl80211. Only
expected regulatory domains will be respected by the kernel.

A currently available userspace agent which can accomplish this
is CRDA - central regulatory domain agent. Its documented here:

http://wireless.kernel.org/en/developers/Regulatory/CRDA

Essentially the kernel will send a udev event when it knows
it needs a new regulatory domain. A udev rule can be put in place
to trigger crda to send the respective regulatory domain for a
specific ISO/IEC 3166 alpha2.

Below is an example udev rule which can be used:

# Example file, should be put in /etc/udev/rules.d/regulatory.rules
KERNEL=="regulatory*", ACTION=="change", SUBSYSTEM=="platform",
RUN+="/sbin/crda"

The alpha2 is passed as an environment variable under the variable COUNTRY."

So I am wondering how is the proper way to add such udev rule to
meta-fsl-arm so that we can get rid of these annoying messages? Or
should it be done in oe?

Thanks,

Fabio Estevam


More information about the meta-freescale mailing list