NOTE: this page is for archival only, see the note at the end of the page.

Regulatory information

We take regulatory considerations seriously as its one of the major key components to getting proper vendor support on drivers. Despite the fact that drivers and hardware can have their own regulatory solutions we provide this framework as a safety net for regulatory considerations to account for changes and updates on regulatory rules world wide and to provide an API to allow drivers to export their own regulatory restrictions. Our regulatory infrastructure consists of three major components:

Kernel integration

We have factored common regulatory driver code as part of the wireless stack and provided a way for a userspace agent to update the currently set regulatory domain. An important component to Linux' own kernel integration is to allow drivers themselves to hint to the wireless core an alpha2 and have a callback to review the data passed by crda based on its own driver or EEPROM data or to build a regulatory domain completely by itself. This allows vendors to use their own regulatory information to help enhance regulatory compliance even further. For more details on the Linux kernel integration see how you can set the regulatory domain.


CRDA is our userspace agent which uploads regulatory domains into the kernel.

The regulatory database

CRDA requires a regulatory database (Web view or gitweb) to be build and maintained. Our hope is that this database can be used by other platforms (open or proprietary), not just Linux.

Sending updates to the regulatory database

If you find any errors please send them to the linux-wireless mailing list, either as patches to the db.txt file from the CRDA git tree, or just tell us what is wrong in plain English.

This is a static dump of the wiki, taken after locking it in January 2015. The new wiki is at
versions of this page: last, v66, v65, v64, v63, v62, v61, v60, v59, v58, v57, v56, v55, v54, v53, v52, v51, v50, v49, v48, v47, v46, v45, v44, v43, v42, v41, v40, v39, v38, v37, v36, v35, v34, v33, v32, v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1