Re: [zd1211-devs] softmac in driver rewrite

2006-04-30 Thread Daniel Drake

John Que wrote:

Regarding sotmac and the wirelss stack :
I saw in README of the rewrite dirver, that
"The driver is been developed against the wireless-2.6
tree maintained by John Linville, which includes the softmac
stack.".


Ulrich wrote that - thats how he works. Personally I work against Linus' 
tree but do apply the newest softmac patches that fly around.



I looke at 2.6.16.rc3 kernel:
 Is this tree , which includes a subfolder called "softmac"
(/net/ieee80211/softmac)
  has a softmac implementation which is based (or is a partial part of)
Devicescape  Linux-based 802.11 stack implementation ? 


You have found the softmac stack which zd1211rw uses. Actually there's 
only one "softmac stack", but the naming is slightly confusing because 
softmac is both a generic term and the name of the stack you just found.


softmac is not based on devicescape. It is only an extension to the 
ieee80211 stack.


Devicescape is different, they have completely reimplemented the whole 
of ieee80211+softmac and the code is vastly different. It's more 
complete, more extendible, and has more features. The long term plan is 
to migrate all drivers away from ieee80211+softmac to devicescape, 
however it's not a simple operation because right now the devicescape 
stack can not support fullmac drivers (without huge hacks). Also it has 
issues with SMP systems -- they have a lot of work to do before it can 
be considered for Linus' tree.


Daniel


---
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
Zd1211-devs mailing list - http://zd1211.ath.cx/
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/zd1211-devs


Re: [zd1211-devs] softmac in driver rewrite

2006-04-30 Thread John Que

Daniel,
 Thanks for your detailed answer! It helps to clear things.

To verify I understood well:

Regarding sotmac and the wirelss stack :
I saw in README of the rewrite dirver, that
"The driver is been developed against the wireless-2.6
tree maintained by John Linville, which includes the softmac
stack.".

I looke at 2.6.16.rc3 kernel:
 Is this tree , which includes a subfolder called "softmac"
(/net/ieee80211/softmac)
  has a softmac implementation which is based (or is a partial part of)
Devicescape  Linux-based 802.11 stack implementation ? (http://devicescape.com/)
(I don't know Devicescape implementation).
Or is it softmac layer in the kernel is totatlly something different ?

Regards,
John






On 4/25/06, Daniel Drake <[EMAIL PROTECTED]> wrote:

John Que wrote:
> Hello,
> I understand that the rewrite of the
> driver ((http://zd1211.ath.cx/wiki/DriverRewrite).
> ) will probably use softmac.

We already do use softmac.

> As I understand, softmac is an extension to
> the currently Linux's ieee80211 stack,
> Can somebody tell in 3-4 sentences what is the
> benefit of using softmac ?

Taking a step back, do you understand the benefit of using the ieee80211
stack in a driver?

The ZyDAS driver does *not* use ieee80211. Instead, they wrote several
thousand lines of code to handle IEEE 802.11 packet construction, IEEE
802.11 fragmentation and reassembly, parsing of beacon frames and probe
responses (scan results), ...

So, by using the ieee80211 stack in our driver, we saved ourselves from
many hours of work, and we can share a large amount of code with other
drivers, resulting in fewer overall bugs, and a smaller kernel overall.

Back to the question - softmac. ieee80211 was a worthwhile addition to
the kernel but not good enough to benefit *all* wireless hardware. This
is because some devices do most operations in in hardware ("fullmac")
and some do almost everything in software ("softmac"). ieee80211 was the
solution for fullmac devices, but drivers for softmac devices still had
a hell of a lot of generic code to write.

For example, Intel's ipw2x00 hardware is fullmac - if you want to
associate, the driver sends a simpistic command to the device ("I want
to associated to essid ") and the device sends a simple status
report back ("I am now associated to ").

The ZD1211 is a softmac device though - the hardware does very little.
If you want to associate, the driver has to generate an authentication
request frame, and then wait for an authentication response frame. You
then have to generate an association request frame, and wait for an
association response frame. Scanning also requires manual generation of
frames and parsing of response frames.

ZyDAS wrote another several thousand lines of code to implement all
this, but we saved ourselves much grief by using the (new) generic
implementation of these functions, called "softmac". When we had the
basic transmit and receive code working, implementing scanning took only
*2* lines of code at that point (simply hooking into softmac's scan
code). The benefits of using softmac are the same as the benefits for
using ieee80211.

There isn't a great deal of functional difference between ZyDAS's driver
and zd1211rw (although admittedly there is a fair amount of
unimplemented functionality in ours), yet the ZyDAS driver is about
30,000 lines of code longer than zd1211rw. Go figure :)

Daniel




---
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
___
Zd1211-devs mailing list - http://zd1211.ath.cx/
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/zd1211-devs


Re: [zd1211-devs] softmac in driver rewrite

2006-04-25 Thread Daniel Drake

John Que wrote:

Hello,
I understand that the rewrite of the
driver ((http://zd1211.ath.cx/wiki/DriverRewrite).
) will probably use softmac.


We already do use softmac.


As I understand, softmac is an extension to
the currently Linux's ieee80211 stack,
Can somebody tell in 3-4 sentences what is the
benefit of using softmac ?


Taking a step back, do you understand the benefit of using the ieee80211 
stack in a driver?


The ZyDAS driver does *not* use ieee80211. Instead, they wrote several 
thousand lines of code to handle IEEE 802.11 packet construction, IEEE 
802.11 fragmentation and reassembly, parsing of beacon frames and probe 
responses (scan results), ...


So, by using the ieee80211 stack in our driver, we saved ourselves from 
many hours of work, and we can share a large amount of code with other 
drivers, resulting in fewer overall bugs, and a smaller kernel overall.


Back to the question - softmac. ieee80211 was a worthwhile addition to 
the kernel but not good enough to benefit *all* wireless hardware. This 
is because some devices do most operations in in hardware ("fullmac") 
and some do almost everything in software ("softmac"). ieee80211 was the 
solution for fullmac devices, but drivers for softmac devices still had 
a hell of a lot of generic code to write.


For example, Intel's ipw2x00 hardware is fullmac - if you want to 
associate, the driver sends a simpistic command to the device ("I want 
to associated to essid ") and the device sends a simple status 
report back ("I am now associated to ").


The ZD1211 is a softmac device though - the hardware does very little. 
If you want to associate, the driver has to generate an authentication 
request frame, and then wait for an authentication response frame. You 
then have to generate an association request frame, and wait for an 
association response frame. Scanning also requires manual generation of 
frames and parsing of response frames.


ZyDAS wrote another several thousand lines of code to implement all 
this, but we saved ourselves much grief by using the (new) generic 
implementation of these functions, called "softmac". When we had the 
basic transmit and receive code working, implementing scanning took only 
*2* lines of code at that point (simply hooking into softmac's scan 
code). The benefits of using softmac are the same as the benefits for 
using ieee80211.


There isn't a great deal of functional difference between ZyDAS's driver 
and zd1211rw (although admittedly there is a fair amount of 
unimplemented functionality in ours), yet the ZyDAS driver is about 
30,000 lines of code longer than zd1211rw. Go figure :)


Daniel


---
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
Zd1211-devs mailing list - http://zd1211.ath.cx/
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/zd1211-devs


[zd1211-devs] softmac in driver rewrite

2006-04-25 Thread John Que
Hello,
I understand that the rewrite of the
driver ((http://zd1211.ath.cx/wiki/DriverRewrite).
) will probably use softmac.
As I understand, softmac is an extension to
the currently Linux's ieee80211 stack,
Can somebody tell in 3-4 sentences what is the
benefit of using softmac ?

Regards,
John


---
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
___
Zd1211-devs mailing list - http://zd1211.ath.cx/
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/zd1211-devs