understanding wireless state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all!

I'm going to explain my brand new knowledge about wireless support in
Linux kernel.
I'm sure that this information is incomplete or it's wrong, therefore
I ask help here in order to learn more deeply about this issue.

I think that kernel wireless support has been a mess so far (IMHO).

1. Jeff Garzik tried to get order (http://kerneltrap.org/node/6053)
one year ago:

He asked for a wireless ofcial maintainer and he asked to make an
effort in order to integrate all sort of wireless main drivers
in-tree.

The maintainer problem was resolved: John Linville
(http://people.redhat.com/linville/).
But the unification of wireless code was far from a solution ...

2. Every wireless Linux driver development team rewrited your own
wireless stack, so Jeff Garzik chose a well known driver as base line
of wireless stack development, the wireless stack from HostAP driver
(http://hostap.epitest.fi), named HostAP wireless stack.

3. But on the other hand, there was an important drivers from Intel,
the Intel IPW drivers (ipw2100.sourceforge.net for instance), and this
driver with your own wireless stack got merged into the kernel tree.
So, at this moment we had a wireless stack mixed with code from HostAP
and IPW drivers, I guess.

4. It was necessary got to work a kind of wireless chipsets: cards
which needed software MAC ("softmac") implementations (like
winmodems). Many media access tasks - scanning, management frames,
etc. - was responsibility of driver. On Intel chipsets (IPW) and
Intersil Prism chipsets (HostAP) these low-level task was implemented
by hardware. Therefore a new set of drivers and wireless stack was
created and John Linville tried again a unification: got merged
in-tree a softmac wireless stack based on dirvers for Broadcom bcm43xx
wireless chips (http://bcm43xx.berlios.de/)

5. Nowadays we have a generic wireless stack in-tree: ieee80211 stack
(http://ieee80211.sourceforge.net/) with a separate support for
softmac hardware in-tree: ieee80211 softmac layer
(http://softmac.sipsolutions.net/).

linux-2.6.19.2/net/
               |
               `-- ieee80211
                       `-- softmac

6. But there are more problems: the company Devicescape created its
own wireless 802.11 stack with a number of important features -
including good softmac support! And the company GPLed the code of
stack! The devicescape stack was fixed up for the kernel by Jiri Benc.

7. Jeff Garzik didn't like to merge the devicescape code in-kernel,
but John Linville (and many others hackers) liked it, so right now,
John Linville maintains a separate development tree which includes
Devicescape, and some drivers (bcm43xx drivers notably).

8. The final state (current state) I guess that is the folowwing:
http://lkml.org/lkml/2006/1/18/298

The oficial vanilla kernel is explained at point 5, and all code based
on devicescape stack is maintained separated from vanilla kernel.

All this reflections are motivated in order to understand this state
http://mail.nl.linux.org/kernelnewbies/2007-01/msg00250.html explained
by Erik Mouw.

Please I would like get feedback, corrections and new reflections.

--
Javi Roman.

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux