A report from the Linux wireless developers meeting
From: | Stephen Hemminger <shemminger-AT-linux-foundation.org> | |
To: | corbet-AT-lwn.net (Jonathan Corbet) | |
Subject: | Re: Wireless 2 summary | |
Date: | Thu, 25 Jan 2007 11:55:54 -0800 |
Wireless Summit 2 report
Stephen Hemminger
OSDL Desktop Linux sponsored a second meeting of the Linux wireless
developers at Westminster University in London. The meeting was
scheduled over the weekend as a follow on to the IEEE 802 meeting so
that hopefully more vendors and others would attend. The participants
included kernel developers and vendors including Intel, Broadcom,
Devicescape, Monta vista, Nokia.
After a basic introduction, the meeting opened with a presentation
from John Linville, the wireless maintainer on the key
issues. Development work is proceeding on a new 802.11 stack (d80211)
but the work is proceeding too slowly. Several problems like locking
and transition plans haven't been worked out. There is a also new API
(cfg80211) but development is even slower.
Johannes Berg talked about the new cfg80211 API. Unlike the existing
Wireless Extensions API which is based on ioctl's, the new API is
message based using generic netlink. Devices can implement only the
new interface and cfg80211 will provide the backward compatibility for
the WEXT interface. The existing old WEXT would be frozen, new
features would be cfg80211 only. It looks like a good start but there
are no user interface tools (the iproute2 equivalent of iwconfig).
Dan Williams talked about Network Manager plans. The current version uses
wpa_supplicant and supports multiple active devices and system wide configuration.
Looking ahead, he said they plan to support more protocols like PPP and
things like dialup networking over Bluetooth. It looks like there won't
be a big impact on wireless drivers if they use standard APIs.
Jirà Benc described the current Devicescape 802.11 (d80211) stack. It
is maintained in a separate git tree
(git://git.kernel.org/pub/scm/linux/kernel/git/jbenc/dscape.git) along
with the six current drivers that use it. There are a number of the
issues that currently block getting it into the mainline kernel. The
current code has locking issues especially with USB devices where
configuration can take a long time. For PCI devices, this is not an
issue. The configuration interface is not finished, cfg80211 support
will probably solve this. Regulatory domain control is not
implemented, and it is not clear whether this can be done in a generic
way. A discussion was started on ways to increase the number of
user/developers. Having a separate mailing list (for wireless drivers)
and making source packages available for "generic" kernels would hopefully
capture more developer/users outside the small netdev group.
Luis Rodriguez described the Rutgers University wireless testing lab.
They have a 400 node grid of machines hanging from the ceiling. The
boxes are custom with 2 wireless ports, a PCI slot and USB. They use
point-to-point cables with attenuators to interconnect. There is also
a remote control robot that moves around the floor for testing roaming
between nodes. Developers should be able to register and get access to
nodes for research and testing.
One breakout session covered the technical issues in the d80211 stack.
In addition to the locking issues, a lot of semantic issues were raised
such as: firmware loading, signal quality definition, device state,
error handling, etc. Most of them are not specific to the d80211 stack but
have existed all along in Linux wireless. The problem is that up to now
each device was doing its own different implementation. The d80211 stack
currently exposes a "master" interface which is only used for reconfiguring
the internal queuing disciplines. Since the master interface shows up as
a device, it can be a potential point of bugs or user confusion so there was
discussion on ways to get rid of it prior to acceptance in the main kernel.
The other breakout session dealt with regulatory concerns. There were
vendors (Intel, Broadcom) and open source people so it was very
"lively". Hardware vendors license their equipment under FCC section
15 regulations, even though technically pure software devices could be
under Software Defined Radio (SDR) regulations. FCC wants all devices
to have a "no trespassing" sign on radio settings but there is no
consensus on what that means. The only solution that can get certified
in the current regulatory environment is to have a closed source
component either in firmware (good), kernel (bad) or userspace (less
evil). The reverse engineered drivers don't have this problem but it
is not clear what the legal implications of redistributing them
is. There is some concern since FCC has already stopped hackers who
modify power levels on access points. Vendors are reluctant to
address the SDR issues too directly because of the regulatory impact
to existing non-Linux products if there was any problem.
On Sunday, there were sessions on packaging up the development code and
documentation. The packaging session talked mainly about the software
configuration control issue of having two code bases and how to produce
a tarball from the tip of the d80211 git tree. Intel has already done
work on this as part of using d80211 for the follow on ipw3945 driver.
The documentation group decided to use the kerneldoc infrastructure
to produce better d80211 API and cfg80211 documentation. The plan is
to use linuxwireless.org as a repository for general specs. This group
also discussed the possibility of having "certified for Linux" logo
for wireless cards, but the details and impact seem undecided.
There was a discussion of the more advanced features of the d80211
stack that probably aren't getting used yet. Nokia was interested in
Quality of Service (QOS)and Wifi Multimedia (WMM) support because
their existing device uses a proprietary userspace library. D80211
supports (WMM) based on the IP type of service (TOS) value in the
socket API. There was some question as to whether non-root users can
set TOS (they can), and whether existing glibc header files include
the right values. Multimedia applications, like Ekiga, Skype, and
Google Talk, are not properly setting TOS. The WMM standard comes out
of the Wifi Alliance and is a subset of the IEEE 802.11e standard;
many devices are WMM certified but very few implement 802.11e.
Bridging of wireless doesn't work for most users now (only works with
single client or using address translation). The d80211 stack supports
full Wireless Distribution System (WDS) but it is not clear if any of
the devices using d80211 have the necessary firmware support.
The d80211 stack has a master network interface that might be extended
to provide a native 802.11 frame format device. This would allow for
easier monitoring and tracing and might reduce the number of 802.3 to
802.11 translations in some scenarios. But the idea was rejected because
it would cause lots of other areas of the kernel to change: raw sockets
would need additional flags (to prevent sending 802.11 frames to applications
expecting Ethernet framing); bridging would have to do address translation;
and worst of all the destination cache would have to handle variable size
addresses and multiple mappings.
Another group discussed how to go forward with media access control
(MLME). The existing d80211 stack does MLME in the kernel. With all
the new security and other standards, it is desirable to move this
into userspace but it introduces a number of locking problems because
the actual device state would be shared between kernel and a user
space control program. The plan is to keep the existing basic MLME in
the kernel and use user space MLME for more complicated functions.
Overall, the summit was very productive despite (or because of) the lack of
Internet access. The main new items coming out of it were: a commitment to
make an experimental wireless tarball (and driver) packages available; progress
on the new cfg80211 API; and an understanding of the regulatory environment
that vendors have to operate in. A follow on meeting is planned for fall
(October) either on East coast of US, or maybe in Israel.
More info is available at:
http://developer.osdl.org/dev/desktop_architects/index.ph...
Posted Jan 26, 2007 1:43 UTC (Fri)
by JoeBuck (subscriber, #2330)
[Link] (12 responses)
Perhaps something can be worked out with the FCC and other regulators that resembles the crypto-export compromise, where both sides understand the others' needs.
Here's one possibility: separate out a constraint mechanism (e.g. limitations on frequencies and power to be used) from the driver itself, and design drivers to check constraints before reconfiguring the device. Constraints files can be kept separate, so that if you take your computer to a different country where the unlicensed wireless bands are different, you'd load a new constraints file to keep you legal in the new country.
There could be a separate set of constraints that keep you from setting fire to the device (if some combinations of paramaters would cause excessive power consumption, for example).
The code that actually enforces the constraints could be GPL, and could contain an advisory note that a user who changes the file might risk violation of radio regulations, not for the act of changing the file, but of possibly exceeding legal operating specs. The author and distributor would not be forbidding the end user from modifying the file(s), so the license would not be violated.
As IANAL, I don't know whether it would be possible for some governments to only certify the device if some piece of the driver were unmodified. If the user is still permitted to distribute the code, modify it (with prominent notices saying it's been changed as the GPL requires), and distribute the result, maybe it's no violation of the GPL for a third party (a government) to say you can't operate a device that has a radio transmitter if the little piece that restricts the parameters has been changed. But we might be able to live with that.
Posted Jan 26, 2007 13:11 UTC (Fri)
by NAR (subscriber, #1313)
[Link] (3 responses)
I guess not, but I'm not sure if it's legal to distribute the modified (uncertified) device which operates outside of the proper frequencies. I mean a couple of years ago a lots of people here bought devices which enabled them to watch HBO on cable even if they were not subscribed (and were not paying, of course). Even though the usage of such device is the thing that causes harm, I think the selling of such devices was also banned. But this could be a wrong analogy.
Posted Jan 26, 2007 23:12 UTC (Fri)
by proski (subscriber, #104)
[Link] (2 responses)
Posted Jan 29, 2007 9:12 UTC (Mon)
by cate (subscriber, #1359)
[Link] (1 responses)
Posted Jan 31, 2007 1:57 UTC (Wed)
by proski (subscriber, #104)
[Link]
Posted Jan 26, 2007 15:17 UTC (Fri)
by dwheeler (guest, #1216)
[Link] (4 responses)
The Free Software Foundation's information on wireless cards notes that the
Ralink 2500/RT2400 and Realtek RTL8180 chips work well, which are in lots of cards (e.g., the Asus WL-107G PCMCIA card).
As far as I can tell, the FCC doesn't actually forbid FLOSS releases. It's just an excuse by the makers.
Posted Jan 26, 2007 17:43 UTC (Fri)
by odie (guest, #738)
[Link]
Posted Jan 26, 2007 18:30 UTC (Fri)
by bronson (subscriber, #4806)
[Link] (2 responses)
... and not a single vendor wants to be on the wrong side of that decision. So, for them, it's best to err on the side of caution.
Posted Jan 27, 2007 0:12 UTC (Sat)
by i3839 (guest, #31386)
[Link] (1 responses)
Posted Feb 1, 2007 17:41 UTC (Thu)
by bronson (subscriber, #4806)
[Link]
So, instead of opening themselves up to that risk, they simply do nothing. It's a terrible state of affairs. I wish I knew of something that would kock this logjam loose.
Posted Jan 27, 2007 2:01 UTC (Sat)
by dlang (guest, #313)
[Link] (2 responses)
someone should research the history of this and what it took to make things work to see if a similar path can be followed by wireless
Posted Feb 1, 2007 15:02 UTC (Thu)
by dion (guest, #2764)
[Link]
1) European telcos were privatized, so they lost their exclusive access to the copper and much of the BS simply went away, we have the EU to thank for this.
2) Prices on equipment dropped and the pressure to use winmodem like devices lessened, so a simple serial driver could be used in stead.
3) People stopped using ISDN because 64kbit/s just isn't so sexy any more.
Posted Feb 2, 2007 12:56 UTC (Fri)
by laf0rge (subscriber, #6469)
[Link]
With isdn4linux, there was one vendor (ELSA?) who funded the certification/approval process for one specific i4l version. It took quite a bit of time, since they actually tested all the protocol state transitions, etc.
After this was done, this actually was a business advantage to the vendor. The stack was only certified for their card[s]. So anyone deploying i4l in a commercial environment wanted to use their cards. Obviously with passive ISDN cards, all other cards would also behave exactly identical - but they were missing regulatory approval.
Obviously, using a later i4l version and/or applying bugfixes to the source code also voids the approval, and in order to use it legally, you would need to re-certify.
Posted Jan 26, 2007 20:21 UTC (Fri)
by tetromino (guest, #33846)
[Link]
There should be some way to convince regulators that we can solve this without mandating closed source. After all, tinkerers can already build pure-hardware devices that violate FCC regulations (or the equivalent in wahtever country you are in), and we don't ban the sale of discrete resistors, capacitors, and inductors. But someone might build an oscillator that knocks out radio reception! The answer is that the end user who does that violates the regs.
Dealing with the regulators
maybe it's no violation of the GPL for a third party (a government) to say you can't operate a device that has a radio transmitter if the little piece that restricts the parameters has been changed.
Dealing with the regulators
I think it's irrelevant. The problem with wireless cards is transmission on unauthorized frequencies on open air, and your example involves reception on the cable. Both the media and the mode of operation are different.
Dealing with the regulators
Don't use strong word as illegal. Do you see authorities that enforces such rules? (and IANAL, AFAIK frequencies are not defined in laws but in very low level of legal hierarchy.)
So should it be illegal to use your wireless connection on your laptop outside your country?
Dealing with the regulators
I didn't use the word "illegal". "unauthorized" doesn't necessarily imply that it's against the law.
Dealing with the regulators
Those are good ideas if having free-libre/open source software drivers was a problem. But it's not.
FLOSS drivers are not a problem. The hardware vendors are the problem
Also worth noting that while the Intel chips run proprietary firmware, the drivers are GPL and work beautifully (at least the ipw2100). I personally don't mind too much running proprietary firmware on a wireless chip, as it is already an untrusted link.FLOSS drivers are not a problem. The hardware vendors are the problem
The FCC also doesn't actually permit them. There are a number of rules that may imply that open source drivers are forbidden, or they may not. It will be up to a court to rule.FLOSS drivers are not a problem. The hardware vendors are the problem
Binaries are the same as source code, except slightly harder to read and modify. I don't see how you can forbid one without the other in all fairness.FLOSS drivers are not a problem. The hardware vendors are the problem
Let's be clear: no manufacturer actually forbids open source drivers. They just refuse to provide open drivers themselves. Why? Because that would be instant culpability if the FCC decides to interpret the currently ambiguous rules in a very unfriendly manner.FLOSS drivers are not a problem. The hardware vendors are the problem
various countries wouldn't allow opensource ISDN drivers due to the restrictions by the telco's about the equipment that could be plugged into their network), and the community worked around that by writing a set of drivers and getting them approved. after a few false starts things seem to be settled nowdays.this sounds just like the state of ISDN a few years ago
I guess the ISDN driver problem was solved by three things:this sounds just like the state of ISDN a few years ago
I completely agree, and I have addressed this fact (in netdev circles) before.this sounds just like the state of ISDN a few years ago
My impression was that the problem is not so much with America's FCC as with certain other countries' regulators (e.g. Japan).A report from the Linux wireless developers meeting