* 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).