====== Joshua Oreman: 802.11 wireless development ====== ===== Journal Week 1 ===== ==== Thursday and Friday, 28-29 May ==== I got off to a bit of a late start due to an academic obligation, but I had done some work in the community bonding period on [[soc:2009:oremanj:notes:protocol|making sense of the IEEE 802.11 specification]]. I figured it would be best to start by getting the various IEEE constants and structures into code, and then figure out how gPXE's 802.11 layer will look: * [[http://git.etherboot.org/?p=people/oremanj/gpxe.git;a=commit;h=6bd1e4a8f01349b5887c5b16abd7e54fa07ccd6d|[802.11] Add ieee80211.h defining standard constants and frame formats]] * [[http://git.etherboot.org/?p=people/oremanj/gpxe.git;a=commit;h=07b95536eaf4c89a8ae47d3221966c6b53bf3727|[802.11] Add net80211.h with preliminary declarations for gPXE's 802.11 layer]] I'm keeping everything related to this SoC project in the branch `wireless' of my personal repository on git.etherboot.org. I've put my patches from prior to SoC, for FireWire debugging and sky2 wired Ethernet support, into the `firewire' and `sky2' branches respectively. I've tried to formulate the 802.11 API in a sensible and complete way, but it'll probably go through a lot of changes as I get down into driver work and discover what really needs to be available and what doesn't. I'm planning on starting with the **rtl8180** driver (also supporting the 8185 chipset) next week, and holding off on the MAC-layer code until I know which bits of it are required by the driver. The rtl8180 driver has the advantage of being very straightforward, without too many options to configure; I'll worry about more complicated drivers like the Atheros ones after I have the 802.11 MAC layer better ironed out.