= Developer Documentation = This section tries to organize documentation for new Linux wireless developers. <> = Development basics = == Essential information on how to hack and contribute to Linux wireless == * [[en/developers/MailingLists|MailingLists]] - Subscribe to our mailing lists * [[/git-guide|Git-guide]] - learn to use git, emphasis on Linux wireless * [[/ieee80211|IEEE-802.11 standards]] - standards we use and interpretations to help development * [[/SubmittingPatches|SubmittingPatches]] - guide on how to submit patches for Linux wireless work * [[/Glossary|Glossary]] - terms we use throughout the wiki you should be familiar with * [[en/developers/maintainers|Maintainers]] - maintainers of current wireless drivers and driver APIs * [[en/developers/todo-list|todo-list]] - Our current TODO list == Other interesting information == * [[/ChannelList|channel list]] * [[/IEorder|information element order]] = Driver APIs = Here are all the driver APIs we use to write drivers in Linux: * [[en/developers/Documentation/Wireless-Extensions|Wireless-Extensions]] - old wireless driver framework * [[en/developers/Documentation/mac80211|mac80211]] - wireless driver API for [[en/developers/Documentation/Glossary#SoftMAC|SoftMAC]] devices * [[en/developers/Documentation/cfg80211|cfg80211]] - new driver configuration API * [[en/developers/Documentation/nl80211|nl80211]] - new userspace <--> kernelspace wireless driver communication transport * [[/specs|Hardware Specifications]] - specifications for chipsets we support or will support soon * [[en/developers/Documentation/radiotap|Radiotap]] - For 802.11 frame injection/reception = ChangeLog = Below you can see the list of changes to all wireless drivers, the wireless core and mac80211. There are few trees, here is a quick summary of what you need to know: * [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=summary;|wireless-testing.git tree]] is for the '''latest and greatest''', ''work with this one''! * [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-next-2.6.git;a=summary;|wireless-next-2.6]] git tree is used by John to '''push patches to net-next''' * [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-2.6.git;a=summary;|wireless-2.6.git tree]] is used by John to '''push patches to the current -rc release''' For more details please see John's notice of [[http://thread.gmane.org/gmane.linux.kernel.wireless.general/11358|Upstream wireless process changes]] post, or see our review below. == wireless-testing.git == The [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=summary;|wireless-testing.git tree]] is wireless git tree that contains the latest and greatest wireless core changes, mac80211 changes and wireless drivers. Developers should work off of this branch. * [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=history;f=drivers/net/wireless;|Driver changes]] * [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=history;f=net/wireless;|Wireless core changes]] * [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=history;f=net/mac80211;|mac80211 changes]] == wireless-next-2.6.git == The wireless-next-2.6.git tree is used by John to push patches to the respective net-next-2.6.git tree. For example if the latest stable kernel release is 2.6.25 then '''Networking patches''' for the next kernel release are queued in the [[http://git.kernel.org/?p=linux/kernel/git/davem/net-next-2.6.git;a=summary|David Miller's net-next-2.6.git tree]]. John pushes patches to David by referring to his [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-next-2.6.git;a=summary|wireless-next-2.6.git tree]], therefore the wireless-next-2.6 tree will regularly be updated to correspond to the current state of net-next-2.6. * [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-next-2.6.git;a=history;f=drivers/net/wireless;|Driver changes]] * [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-next-2.6.git;a=history;f=net/wireless;|Wireless core changes]] * [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-next-2.6.git;a=history;f=net/mac80211;|mac80211 changes]] == wireless-2.6.git == The [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-2.6.git;a=summary;|wireless-2.6.git tree]] is used to pushing wireless patches to the current -rc release of the Linux kernel. This tree will not be rebased except in the most extreme (and unforeseen) circumstances. For example If the latest stable kernel release is 2.6.25, John will use his wireless-2.6.git tree to send updates to 2.6.26-rc releases. * [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-2.6.git;a=history;f=drivers/net/wireless;|Driver changes]] * [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-2.6.git;a=history;f=net/wireless;|Wireless core changes]] * [[http://git.kernel.org/?p=linux/kernel/git/linville/wireless-2.6.git;a=history;f=net/mac80211;|mac80211 changes]] = Other documentation/presentations = * [[attachment:overview.pdf|Johannes's presentation at UDS Karmic]]