Wireless regulatory compliance
[Posted June 6, 2007 by corbet]
Wireless networking vendors have, over time, developed a large and
imaginative set of reasons for their refusal to make free drivers and
hardware programming information for their products available. One of
those reasons is regulatory compliance; if untrusted parties can modify a
wireless device driver, they may (accidentally or not) program the device
to operate outside of the rules governing frequency use and power levels in
their specific area. Some vendors apparently believe that they could be
held responsible for what others do with their hardware, especially in
parts of the world with relatively aggressive enforcement of regulations on
spectrum use. While the United States is often mentioned in such
discussions, people who have studied the issue tend to worry more about
Japan. That said, there are regulations worldwide - differing regulations
- and a Linux system with radio transmitters in it will be expected to
comply with those regulations.
To that end, Larry Finger has recently returned
with a new version of his proposal for a mechanism which would enable
Linux to operate wireless adapters in a legally-sanctioned way. The scheme
involves the creation of a database describing the regulatory regime in
various parts of the world. At system startup, a user-space daemon would
determine (somehow) where the system was located, obtain the relevant
parameters from the database, and feed them into the mac80211 subsystem,
which would then instruct drivers on how to program their devices. In the
absence of instructions from user space, the kernel would fall back to a
minimal configuration known to be legal worldwide - if such a configuration
can be found.
There was some interesting feedback, starting with the assertion that the
mac80211 layer is the wrong place for a regulatory module. There are
wireless adapters which have full MAC capability built into them, and which
will not use mac80211, but these devices have the same regulatory issues.
Beyond that, Linux systems can contain other sorts of transmitters,
starting with BlueTooth adapters and going on from there. If this sort of
regulatory compliance is to be added to the kernel (and cleaned out of
various drivers where it already exists), it would be best to add it once
and have it work in all situations. It turns out that some thought has
gone into a kernel
"frequency broker" module which would handle this task, but development
has not yet gone very far.
Overly zealous regulatory enforcement is a concern for some users. There
are people running Linux who have licenses allowing spectrum use which is
denied to most of us. They would, understandably, like to be able to use
their hardware (when it is capable of such use) in ways which take
advantage of their wider permissions. If the kernel eventually adopts a
regulatory mechanism which cannot be overruled, it will prevent some users
from doing things which they are legally entitled to do. Until they go
into the code and disable the regulatory code, at least.
Of course, if legal users can override the regulatory mechanism, others can
as well. That leads to the question of whether a regulatory regime
implemented in free software can ever be good enough to satisfy the
authorities. Luis Rodriguez pointed out an
April, 2007 ruling [PDF] from the U.S. Federal Communications
Commission which suggests that there could be trouble there:
The Commission did not address the possibility of manufacturers
using open source software to implement security measures. However,
we recognize that hardware and software security measures that
interact with the open source software need not be subject to an
open source agreement. We are hereby stating that it is our policy,
consistent with the intent of Cognitive Radio Report and Order and
Cisco's request, that manufacturers should not intentionally make
the distinctive elements that implement that manufacturer's
particular security measures in a software defined radio public, if
doing so would increase the risk that these security measures could
be defeated or otherwise circumvented to allow operation of the
radio in a manner that violates the Commission's rules. A system
that is wholly dependent on open source elements will have a high
burden to demonstrate that it is sufficiently secure to warrant
authorization as a software defined radio.
(Emphasis added).
If free regulatory code will never be good enough for regulatory agencies,
one might well ask whether it is worth the trouble for Linux developers to
implement such a module in the first place. One could answer that
operating transmitters in a way consistent with their licensing is the
correct thing to do, regardless of whether governments see it as being
sufficiently robust. But, if the main concern is keeping governments
happy, the only real solution may be to do as Intel has done and move
regulatory compliance back into the device's firmware and away from the
host operating system altogether. This approach brings an additional
benefit in the form of eliminating one excuse for not releasing free
drivers.
(
Log in to post comments)