linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).