| .TH CRDA 8 "23 January 2009" "crda" "Linux" |
| .SH NAME |
| crda \- send to the kernel a wireless regulatory domain for a given ISO / IEC 3166 alpha2 |
| .SH SYNOPSIS |
| |
| .ad l |
| .in +8 |
| .ti -8 |
| .B crda |
| |
| .ad l |
| .in +8 |
| .ti -8 |
| |
| .SS |
| .SH Description |
| .B crda |
| is the Linux wireless central regulatory domain agent. |
| .B crda |
| is intended to be used by |
| .B udev |
| scripts and should not be run manually unless debugging udev |
| scripts. |
| .B crda |
| is triggered to run by the kernel by sending a |
| .B udev |
| event upon a new regulatory domain change. Regulatory domain |
| changes are triggered by the wireless kernel subsystem (upon initialization |
| and on reception of country IEs), wireless drivers, or |
| userspace (see |
| .B iw |
| ). Upon a regulatory domain change the kernel sends a udev change event |
| for the regulatory platform. The kernel ignores regulatory domains sent |
| to it if it does not expect them. The regulatory domain is read by crda |
| from the |
| .B regulatory.bin |
| file. |
| |
| .SS |
| .SH RSA Digital Signature |
| If built with openssl or gcrypt support |
| .B crda |
| will have embedded |
| into it an RSA digital signature which will prevent it from reading |
| corrupted or non-authored |
| .B regulatory.bin |
| files. Authorship is respected by the RSA public key packed into |
| .B crda. |
| .I This |
| specific |
| .B crda |
| package has been built with an RSA public key from |
| .I John Linville (the Linux wireless kernel maintainer) |
| and as such will only read |
| .B regulatory.bin |
| files signed by him. For further information see the |
| .B regulatory.bin |
| man page. |
| |
| .SS |
| .SH UDEV RULE |
| A udev regulatory rule must be put in place |
| in order to receive and parse udev events from the kernel in order to get |
| udev to call crda with the passed ISO / IEC 3166 alpha2 country code. |
| An example udev rule which can be used (usually in |
| .B /lib/udev/rules.d/85-regulatory.rules |
| ): |
| |
| .I KERNEL=="regulatory*", ACTION=="change", SUBSYSTEM=="platform", RUN+="/sbin/crda" |
| |
| .SS |
| .SH Environment variable |
| Set the |
| .B COUNTRY |
| environment variable with a specific ISO / IEC 3166 alpha2 country code |
| and then run |
| .B crda |
| without arguments. This will send a regulatory domain for that alpha2 |
| to the kernel. |
| |
| .SH SEE ALSO |
| .BR iw (8) |
| .BR regulatory.bin (5) |
| |
| .BR http://wireless.kernel.org/en/developers/Regulatory/ |