* Linux Kernel Wireless stack presentation @ 2009-08-20 7:02 Rami Rosen 2009-08-20 7:12 ` Luis R. Rodriguez 2009-08-20 9:22 ` Johannes Berg 0 siblings, 2 replies; 8+ messages in thread From: Rami Rosen @ 2009-08-20 7:02 UTC (permalink / raw) To: linux-wireless Folks, I am giving on Thursday next week a lecture about the Linux Kernel Wireless stack in a Linux User Group in Herzelia (Israel). The slides are available online now, so I thought some of you might be interested to take a look; the presentation is very detailed (over 110 pages). see: http://tuxology.net/wp-content/uploads/2009/08/wirelessLecHerzelinux.pdf and http://tuxology.net/herzelinux/ (I know that this is a bit off topic, but it seems to me that this can interest some members of the Linux wireless community) Regards, Rami Rosen ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Linux Kernel Wireless stack presentation 2009-08-20 7:02 Linux Kernel Wireless stack presentation Rami Rosen @ 2009-08-20 7:12 ` Luis R. Rodriguez 2009-08-20 7:22 ` Rami Rosen 2009-08-20 9:22 ` Johannes Berg 1 sibling, 1 reply; 8+ messages in thread From: Luis R. Rodriguez @ 2009-08-20 7:12 UTC (permalink / raw) To: Rami Rosen; +Cc: linux-wireless On Thu, Aug 20, 2009 at 12:02 AM, Rami Rosen<ramirose@gmail.com> wrote: > Folks, > > I am giving on Thursday next week a lecture about the Linux Kernel > Wireless stack in a > Linux User Group in Herzelia (Israel). > > The slides are available online now, so I thought some of you might > be interested > to take a look; the presentation is very detailed (over 110 pages). > > see: > http://tuxology.net/wp-content/uploads/2009/08/wirelessLecHerzelinux.pdf A few comments: * Ditch iwconfig and refer to iw * ath5k/ath9k do not have any firmware burned onto any "ROM", the devices just do not require software, everything is done by the driver Luis ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Linux Kernel Wireless stack presentation 2009-08-20 7:12 ` Luis R. Rodriguez @ 2009-08-20 7:22 ` Rami Rosen 2009-08-20 7:31 ` Luis R. Rodriguez 0 siblings, 1 reply; 8+ messages in thread From: Rami Rosen @ 2009-08-20 7:22 UTC (permalink / raw) To: Luis R. Rodriguez; +Cc: linux-wireless Luis, First, thanks for your quick response. > * Ditch iwconfig and refer to iw I do mention also iw; for example, in slide 70, slide 111. My impression is that both set of tools, wireless-tools and iw, will coexist for the next near future and maybe beyond. > * ath5k/ath9k do not have any firmware burned onto any "ROM", the > devices just do not require software, everything is done by the driver Thanks for the info! Regards, Rami Rosen On Thu, Aug 20, 2009 at 10:12 AM, Luis R. Rodriguez<mcgrof@gmail.com> wrote: > On Thu, Aug 20, 2009 at 12:02 AM, Rami Rosen<ramirose@gmail.com> wrote: >> Folks, >> >> I am giving on Thursday next week a lecture about the Linux Kernel >> Wireless stack in a >> Linux User Group in Herzelia (Israel). >> >> The slides are available online now, so I thought some of you might >> be interested >> to take a look; the presentation is very detailed (over 110 pages). >> >> see: >> http://tuxology.net/wp-content/uploads/2009/08/wirelessLecHerzelinux.pdf > > A few comments: > > * Ditch iwconfig and refer to iw > * ath5k/ath9k do not have any firmware burned onto any "ROM", the > devices just do not require software, everything is done by the driver > > Luis > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Linux Kernel Wireless stack presentation 2009-08-20 7:22 ` Rami Rosen @ 2009-08-20 7:31 ` Luis R. Rodriguez 0 siblings, 0 replies; 8+ messages in thread From: Luis R. Rodriguez @ 2009-08-20 7:31 UTC (permalink / raw) To: Rami Rosen; +Cc: linux-wireless On Thu, Aug 20, 2009 at 12:22 AM, Rami Rosen<ramirose@gmail.com> wrote: > Luis, > First, thanks for your quick response. > >> * Ditch iwconfig and refer to iw > > I do mention also iw; for example, in slide 70, slide 111. > My impression is that both set of tools, wireless-tools and iw, will > coexist for the next > near future and maybe beyond. Sure, but the sooner wireless-tools if forgotten into oblivion the better. Luis ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Linux Kernel Wireless stack presentation 2009-08-20 7:02 Linux Kernel Wireless stack presentation Rami Rosen 2009-08-20 7:12 ` Luis R. Rodriguez @ 2009-08-20 9:22 ` Johannes Berg 2009-08-20 10:14 ` Rami Rosen 2009-08-25 10:29 ` Rami Rosen 1 sibling, 2 replies; 8+ messages in thread From: Johannes Berg @ 2009-08-20 9:22 UTC (permalink / raw) To: Rami Rosen; +Cc: linux-wireless [-- Attachment #1: Type: text/plain, Size: 2447 bytes --] On Thu, 2009-08-20 at 10:02 +0300, Rami Rosen wrote: > http://tuxology.net/wp-content/uploads/2009/08/wirelessLecHerzelinux.pdf had a quick look * almost all drivers support passive scanning -- all the modern ones at least -- maybe some old drivers don't, but all using cfg80211 do * your presentation is based on old code -- all the code stuff about scanning is already outdated in wireless-testing * you can scan for multiple specific SSIDs and channels: iw wlan0 scan freq 2412 ssid foo bar baz * iw has a better IE parser, so showing a result from that may be more instructive * code stuff about authentication/association is also outdated already * the STA_MLME_DISABLED stuff no longer exists * AP MLME will never be in the kernel, not just not in the near future :) * raw packets still go through the mac80211 stack, they arrive in monitor_start_xmit() or so * four-address format is not necessarily used only for WDS, the standard doesn't define uses for it (ToDS = FromDS = 1) * an AP may transmit nullfunc (!) frames to tell clients it has no data buffered, but it never transmits frames with the PM bit on * power timeout 5 is described incorrectly -- it doesn't go to sleep for 5 seconds, it actually stays awake for 5 seconds after each packet transmission -- the time spent asleep is calculated based on the DTIM period etc. Cf. 04fe20372e70685d9f15966216cdffd3795fe590. * STA may wake up in response to TIM[AID] == 1 instead of sending PS-poll, which we do depends on the timeout (iwconfig wlan0 power timeout 0 == PS-poll, iwconfig wlan0 power timeout 100ms == send nullfunc and stay awake for 100ms) * "paramter" typo * ibss is in net/mac80211/ibss.c and has been for quite a while * PM in IBSS is not implemented typically * s/80211.s/802.11s/ * s/80211.n/802.11n/ * you can change the channel with iw (iw phy set freq ...) but it isn't really useful unless you're AP/monitor (and rejected otherwise) * Fedora no longer updates from wireless-testing afaik * wmaster0 is no longer created * assigning interface_modes doesn't set the mode, it just sets the possible modes :) * you can also call iterate_interfaces_atomic() in irq context * nobody cares about the wireless extensions version any more :) * for sniffing you may care about "iw dev <devname> set monitor <flag>*" Hey that got long! johannes [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Linux Kernel Wireless stack presentation 2009-08-20 9:22 ` Johannes Berg @ 2009-08-20 10:14 ` Rami Rosen 2009-08-25 10:29 ` Rami Rosen 1 sibling, 0 replies; 8+ messages in thread From: Rami Rosen @ 2009-08-20 10:14 UTC (permalink / raw) To: Johannes Berg; +Cc: linux-wireless Johannes, Thanks a lot for your comments. I will fix the presentation accordingly. The code base for the lecture is indeed not the latest wireless-testing tree. > Hey that got long! The presentation is also quite long... Regards, Rami Rosen On Thu, Aug 20, 2009 at 12:22 PM, Johannes Berg<johannes@sipsolutions.net> wrote: > On Thu, 2009-08-20 at 10:02 +0300, Rami Rosen wrote: > >> http://tuxology.net/wp-content/uploads/2009/08/wirelessLecHerzelinux.pdf > > had a quick look > > * almost all drivers support passive scanning -- all the modern ones at > least -- maybe some old drivers don't, but all using cfg80211 do > * your presentation is based on old code -- all the code stuff about > scanning is already outdated in wireless-testing > * you can scan for multiple specific SSIDs and channels: > iw wlan0 scan freq 2412 ssid foo bar baz > * iw has a better IE parser, so showing a result from that may be more > instructive > * code stuff about authentication/association is also outdated already > * the STA_MLME_DISABLED stuff no longer exists > * AP MLME will never be in the kernel, not just not in the near > future :) > * raw packets still go through the mac80211 stack, they arrive in > monitor_start_xmit() or so > * four-address format is not necessarily used only for WDS, the > standard doesn't define uses for it (ToDS = FromDS = 1) > * an AP may transmit nullfunc (!) frames to tell clients it has no data > buffered, but it never transmits frames with the PM bit on > * power timeout 5 is described incorrectly -- it doesn't go to sleep > for 5 seconds, it actually stays awake for 5 seconds after each > packet transmission -- the time spent asleep is calculated based on > the DTIM period etc. Cf. 04fe20372e70685d9f15966216cdffd3795fe590. > * STA may wake up in response to TIM[AID] == 1 instead of sending > PS-poll, which we do depends on the timeout (iwconfig wlan0 power > timeout 0 == PS-poll, iwconfig wlan0 power timeout 100ms == send > nullfunc and stay awake for 100ms) > * "paramter" typo > * ibss is in net/mac80211/ibss.c and has been for quite a while > * PM in IBSS is not implemented typically > * s/80211.s/802.11s/ > * s/80211.n/802.11n/ > * you can change the channel with iw (iw phy set freq ...) but it isn't > really useful unless you're AP/monitor (and rejected otherwise) > * Fedora no longer updates from wireless-testing afaik > * wmaster0 is no longer created > * assigning interface_modes doesn't set the mode, it just sets the > possible modes :) > * you can also call iterate_interfaces_atomic() in irq context > * nobody cares about the wireless extensions version any more :) > * for sniffing you may care about "iw dev <devname> set monitor <flag>*" > > Hey that got long! > > johannes > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Linux Kernel Wireless stack presentation 2009-08-20 9:22 ` Johannes Berg 2009-08-20 10:14 ` Rami Rosen @ 2009-08-25 10:29 ` Rami Rosen 2009-08-25 10:37 ` Johannes Berg 1 sibling, 1 reply; 8+ messages in thread From: Rami Rosen @ 2009-08-25 10:29 UTC (permalink / raw) To: Johannes Berg; +Cc: linux-wireless Hello, > iwconfig wlan0 power timeout 0 == PS-poll, I am not sure I fully understand what you mean here by "iwconfig wlan0 power timeout 0 == PS-poll". As far as I understand, "iwconfig wlan0 power timeout 0" invokes ieee80211_change_ps(); this method notifies the driver about disabling PS (by ieee80211_hw_config(...IEEE80211_CONF_CHANGE_PS)) and sets the flags to have ~IEEE80211_CONF_PS; It also cancells the dynamic_ps_enable_work work_queue thread. But what PS-POLL has to do with it ? I am not sure I understand how PSPOLL is relevant here. It could be that I missunderstand you in some point here. Regards, Rami Rosen On Thu, Aug 20, 2009 at 12:22 PM, Johannes Berg<johannes@sipsolutions.net> wrote: > On Thu, 2009-08-20 at 10:02 +0300, Rami Rosen wrote: > >> http://tuxology.net/wp-content/uploads/2009/08/wirelessLecHerzelinux.pdf > > had a quick look > > * almost all drivers support passive scanning -- all the modern ones at > least -- maybe some old drivers don't, but all using cfg80211 do > * your presentation is based on old code -- all the code stuff about > scanning is already outdated in wireless-testing > * you can scan for multiple specific SSIDs and channels: > iw wlan0 scan freq 2412 ssid foo bar baz > * iw has a better IE parser, so showing a result from that may be more > instructive > * code stuff about authentication/association is also outdated already > * the STA_MLME_DISABLED stuff no longer exists > * AP MLME will never be in the kernel, not just not in the near > future :) > * raw packets still go through the mac80211 stack, they arrive in > monitor_start_xmit() or so > * four-address format is not necessarily used only for WDS, the > standard doesn't define uses for it (ToDS = FromDS = 1) > * an AP may transmit nullfunc (!) frames to tell clients it has no data > buffered, but it never transmits frames with the PM bit on > * power timeout 5 is described incorrectly -- it doesn't go to sleep > for 5 seconds, it actually stays awake for 5 seconds after each > packet transmission -- the time spent asleep is calculated based on > the DTIM period etc. Cf. 04fe20372e70685d9f15966216cdffd3795fe590. > * STA may wake up in response to TIM[AID] == 1 instead of sending > PS-poll, which we do depends on the timeout (iwconfig wlan0 power > timeout 0 == PS-poll, iwconfig wlan0 power timeout 100ms == send > nullfunc and stay awake for 100ms) > * "paramter" typo > * ibss is in net/mac80211/ibss.c and has been for quite a while > * PM in IBSS is not implemented typically > * s/80211.s/802.11s/ > * s/80211.n/802.11n/ > * you can change the channel with iw (iw phy set freq ...) but it isn't > really useful unless you're AP/monitor (and rejected otherwise) > * Fedora no longer updates from wireless-testing afaik > * wmaster0 is no longer created > * assigning interface_modes doesn't set the mode, it just sets the > possible modes :) > * you can also call iterate_interfaces_atomic() in irq context > * nobody cares about the wireless extensions version any more :) > * for sniffing you may care about "iw dev <devname> set monitor <flag>*" > > Hey that got long! > > johannes > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Linux Kernel Wireless stack presentation 2009-08-25 10:29 ` Rami Rosen @ 2009-08-25 10:37 ` Johannes Berg 0 siblings, 0 replies; 8+ messages in thread From: Johannes Berg @ 2009-08-25 10:37 UTC (permalink / raw) To: Rami Rosen; +Cc: linux-wireless [-- Attachment #1: Type: text/plain, Size: 792 bytes --] Hi, > > iwconfig wlan0 power timeout 0 == PS-poll, > > I am not sure I fully understand what you mean here by > "iwconfig wlan0 power timeout 0 == PS-poll". As far as I understand, > "iwconfig wlan0 power timeout 0" invokes ieee80211_change_ps(); this method > notifies the driver about disabling PS (by > ieee80211_hw_config(...IEEE80211_CONF_CHANGE_PS)) > and sets the flags to have ~IEEE80211_CONF_PS; It also cancells the > dynamic_ps_enable_work work_queue thread. But what PS-POLL has to do with it ? > I am not sure I understand how PSPOLL is relevant here. No, iwconfig wlan0 power off goes into the disable PS case. iwconfig wlan0 power timeout 0 sets the timeout to zero and power management on. And when the timeout is 0 we use ps-poll. johannes [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2009-08-25 10:38 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2009-08-20 7:02 Linux Kernel Wireless stack presentation Rami Rosen 2009-08-20 7:12 ` Luis R. Rodriguez 2009-08-20 7:22 ` Rami Rosen 2009-08-20 7:31 ` Luis R. Rodriguez 2009-08-20 9:22 ` Johannes Berg 2009-08-20 10:14 ` Rami Rosen 2009-08-25 10:29 ` Rami Rosen 2009-08-25 10:37 ` Johannes Berg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).