James Ketrenos announced a new 80211 based driver for the Intel PRO/Wireless 3945ABG network connection adapter, "this new driver uses the new d80211 subsystem previously only available as part of the wireless-dev tree." An earlier incarnation of the driver code was much criticized for its inclusion of a userland binary-only daemon [story], prompting the OpenBSD project to create their own blob-free driver for the card [story]. "The [new] iwlwifi driver for the 3945 does not require the user space daemon, but does require a new microcode image," James explained, "over the past year we were able to make the necessary changes to the microcode used with the 3945 such that we were able to remove the regulatory daemon."
When the question was asked if the driver was going to be pushed for inclusion into the mainline kernel it was noted, "hmmm...I think we need to spend a cycle or so in -mm. 2.6.22 seems more likely for mainline." Pavel Roskin suggested, "iwlwifi is surprisingly good for a just announced driver. It worked for me from the first attempt, and that's the first d80211 driver to do so. In my opinion, it should go to wireless-dev as soon as possible so it can go to -mm together with other drivers."
From: James Ketrenos [email blocked] To: linux-kernel [email blocked] Subject: [ANNOUNCE] d80211 based driver for Intel PRO/Wireless 3945ABG Date: Fri, 09 Feb 2007 13:12:42 -0800 Please hold all questions until I am done with this email. Thank you. We are pleased to announce the availability of a new driver for the Intel PRO/Wireless 3945ABG Network Connection adapter. This new driver uses the new d80211 subsystem previously only available as part of the wireless-dev tree. You can find the new driver, and additional information about it, here: http://intellinuxwireless.org/iwlwifi. Within the new driver package are sources which we plan to submit for kernel inclusion as well as scripts and patches which create a version of the driver which can be loaded into kernels based on 2.6.18 and newer (provided you have installed the d80211 subsystem as well) The README document can walk you through pretty quickly. Since a lot of our users are not able to move to the latest versions of the Linux kernel, we have put together a d80211 package allowing the installation of the d80211 subsystem into an existing kernel image without the need to migrate to wireless-dev, or upgrade to a newer kernel at all (assuming you are using 2.6.18 or newer). You can find that package at: http://intellinuxwireless.org/d80211 Ok. Now... any questions? Thanks, James / Intel Corporation
From: Neil Brown [email blocked] Subject: Re: [ANNOUNCE] d80211 based driver for Intel PRO/Wireless 3945ABG Date: Sat, 10 Feb 2007 09:26:22 +1100 On Friday February 9, [email blocked] wrote: > > Ok. Now... any questions? > Yes. Does this require a closed user-space helper like the other 3945ABG driver, or is it completely open (maybe excepting firmware)? Thanks, NeilBrown
From: James Ketrenos [email blocked] Subject: Re: [ANNOUNCE] d80211 based driver for Intel PRO/Wireless 3945ABG Date: Fri, 09 Feb 2007 13:52:32 -0800 Neil Brown wrote: > On Friday February 9, [email blocked] wrote: >> Ok. Now... any questions? > > Yes. Does this require a closed user-space helper like the other > 3945ABG driver, or is it completely open (maybe excepting firmware)? The iwlwifi driver for the 3945 does not require the user space daemon, but does require a new microcode image. Over the past year we were able to make the necessary changes to the microcode used with the 3945 such that we were able to remove the regulatory daemon. James
From: Theodore Tso [email blocked] Subject: Re: [ANNOUNCE] d80211 based driver for Intel PRO/Wireless 3945ABG Date: Sat, 10 Feb 2007 11:22:54 -0500 On Fri, Feb 09, 2007 at 01:12:42PM -0800, James Ketrenos wrote: > Please hold all questions until I am done with this email. Thank you. > > We are pleased to announce the availability of a new driver for the > Intel PRO/Wireless 3945ABG Network Connection adapter. This new driver > uses the new d80211 subsystem previously only available as part of the > wireless-dev tree. Very cool! Is it likely that d80211 and iwlwifi will be pushed into mainline in time for 2.6.21? Regards, - Ted
From: "John W. Linville" [email blocked] Subject: Re: [ANNOUNCE] d80211 based driver for Intel PRO/Wireless 3945ABG Date: Sat, 10 Feb 2007 11:39:34 -0500 On Sat, Feb 10, 2007 at 11:22:54AM -0500, Theodore Tso wrote: > On Fri, Feb 09, 2007 at 01:12:42PM -0800, James Ketrenos wrote: > > Please hold all questions until I am done with this email. Thank you. > > > > We are pleased to announce the availability of a new driver for the > > Intel PRO/Wireless 3945ABG Network Connection adapter. This new driver > > uses the new d80211 subsystem previously only available as part of the > > wireless-dev tree. > > Very cool! Is it likely that d80211 and iwlwifi will be pushed into > mainline in time for 2.6.21? Hmmm...I think we need to spend a cycle or so in -mm. 2.6.22 seems more likely for mainline. John -- John W. Linville linville@tuxdriver.com
From: Pavel Roskin [email blocked] Subject: Re: [ipw3945-devel] [ANNOUNCE] d80211 based driver for Intel PRO/Wireless 3945ABG Date: Sat, 10 Feb 2007 12:53:51 -0500 Quoting "John W. Linville" [email blocked]: > > Very cool! Is it likely that d80211 and iwlwifi will be pushed into > > mainline in time for 2.6.21? > > Hmmm...I think we need to spend a cycle or so in -mm. 2.6.22 seems > more likely for mainline. I think we should take this as a goal. Last time I checked, d80211 wasn't in -mm. Perhaps it should go there. And by the way, the latest changes from netdev->class_dev to netdev->dev break d80211. Perhaps we should rebase wireless-dev immediately after 2.6.21-rc1, fix all compile issues and submit the patch to -mm. And iwlwifi is surprisingly good for a just announced driver. It worked for me from the first attempt, and that's the first d80211 driver to do so. In my opinion, it should go to wireless-dev as soon as possible so it can go to -mm toghether with other drivers. A couple of wrinkles in the standalone build system are irrelevant to the kernel interation. -- Regards, Pavel Roskin
From: "John W. Linville" [email blocked] Subject: Re: [ipw3945-devel] [ANNOUNCE] d80211 based driver for Intel PRO/Wireless 3945ABG Date: Sat, 10 Feb 2007 17:41:11 -0500 On Sat, Feb 10, 2007 at 12:53:51PM -0500, Pavel Roskin wrote: > Quoting "John W. Linville" [email blocked]: > > > > Very cool! Is it likely that d80211 and iwlwifi will be pushed into > > > mainline in time for 2.6.21? > > > > Hmmm...I think we need to spend a cycle or so in -mm. 2.6.22 seems > > more likely for mainline. > > I think we should take this as a goal. Last time I checked, d80211 wasn't in > -mm. Perhaps it should go there. And by the way, the latest changes from > netdev->class_dev to netdev->dev break d80211. Perhaps we should rebase > wireless-dev immediately after 2.6.21-rc1, fix all compile issues and submit > the patch to -mm. That is basically the plan. :-) John -- John W. Linville [email blocked]
Cheers to that! The intel
Cheers to that!
The intel driver is (slightly) better than most binary blobs (ie nvida, ati, drivers) but the damn thing was an absolute pain to make work and a fair pain to keep working. It's not as bad as my experiences with br0@dc0m on linux, but close enough to make me wince in pain.
I don't know about other
I don't know about other dists (or home-built kernels), but on Ubuntu Edgy, it works perfectly out of the box.
Maybe on installed version
Maybe on installed version of Edgy, but Live CD for 6.06 and 6.10, my card was disabled and I could not get it to work.
This card has worked very
This card has worked very easily (once I get the driver) on every distro I have tried. Currently flawless in Ubuntu Edgy. I am not sure what this improved driver is supposed to do?
Binary blob
The old version required users to run an binary daemon for which the source was not available. And because Intel couldn't release the sourcecode for this daemon, the kernel inclusion was impossible. Now that new driver doesn't require this daemon anymore it can be included within the kernel sources.
Microcode
But what about the microcode? Can the driver be considered 100% Free Software? Thanks
What is 100% Free Software?
What is 100% Free Software?
In short, Free Software is
In short, Free Software is software that grants you the four freedoms:
Freedom 0: The freedom to run the program, for any purpose.
Freedom 1: The freedom to study how the program works, and adapt it to your needs. Access to the source code is a precondition for this.
Freedom 2: The freedom to redistribute copies so you can help your neighbor.
Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. Access to the source code is a precondition for this.
You can find a more in-depth explanation at http://www.fsf.org/licensing/essays/free-sw.html
100% Free Software is software that is not only free, but dosen't have any nonfree dependencies. I don't think this new wireless driver qualifies, but its still a step in the right direction.
Kdub excellent explanation
Kdub excellent explanation of what free software really is. I always thought that the only perk free software has to have is that you don't have to pay for it. But this 4 freedoms is much better explanation
The problem with microcode's
The problem with microcode's isn't that they are closed source/binary blobs. Most devices have microcodes, some require dynamic loading, while others store a version in an eprom. The fact that it should be loaded explicitly each time the machine is booted doesn't make it really that different from stored microcode.
The big problem with microcodes is the license under which they may be used (I haven't looked at the Intel license for this new driver). There is no impact on the 'free' status of the driver as long as a microcode that is under a strict license is not embedded in the driver.
So a driver can be 100% Free Software as long as the microcode is fully seperated from the driver, which is the preferred (required?) way for Linux device drivers.
(Emebedding is close too impossible since the source is distributed according to some free license and the author of the driver can hardly claim ownership over the binary microcode, let alone distribute it under that open license, and that is beside the point of other license restrictions on the use of that microcode)
bcm43xx firmware...
Yeah.. I am the owner of the reverse engineered bcm43xx card (which works), but it doesn't have redistributable firmware - so last time when I replaced the hdd of my laptop, I had to go through quite a "bollocks" to find the right versions of windows drivers where to extract microcode.
Other drivers have had more luck, for example intel's 2100 and 2200 firmware is redistributable so hopefully this means that for ipw3945 it will be redistributable too...
Re: The problem with microcode's
] I haven't looked at the Intel license for this new driver
Per their license faq, the Intel microcode is redistributable.
I have to agree. It worked
I have to agree. It worked good for me to, never had any problems. Hope it'll continue this way.
The driver doesnt compile on my machine
dfuentes@raziel:~$ uname -a
Linux raziel 2.6.20 #1 SMP PREEMPT Tue Feb 13 12:37:30 CST 2007 i686 GNU/Linux
dfuentes@raziel:~$ lsmod
80211 177568 0
root@raziel:/usr/src/modules/iwlwifi-0.0.8# make
make -C /lib/modules/2.6.20/build M=/usr/src/modules/iwlwifi-0.0.8 modules
make[1]: Entering directory `/usr/src/linux-2.6.20'
CC [M] /usr/src/modules/iwlwifi-0.0.8/compatible/base.o
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:94:27: net/ieee80211.h: No such file or directory
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:1227: warning: `warn_unused_result' attribute directive ignored
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c: In function `ipw_rx_handle':
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:8175: warning: unused variable `sleep'
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:8195: warning: unused variable `beacon'
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:8228: warning: unused variable `notif'
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:8259: warning: unused variable `notif'
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c: At top level:
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:3889: warning: `ipw_set_rxon_conf' defined but not used
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:2523: warning: `ipw_rate_ieee2index' defined but not used
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:2577: warning: `ipw_check_rx_config_cmd' defined but not used
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:3628: warning: `ipw_setup_rxon_timing' defined but not used
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:6931: warning: `ipw_send_qos_params_command' defined but not used
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:7964: warning: `get_tx_fail_reason' defined but not used
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:8637: warning: `ipw_get_rate_by_rssi' defined but not used
/usr/src/modules/iwlwifi-0.0.8/compatible/base.c:10371: warning: `d_hw_scan' defined but not used
make[2]: *** [/usr/src/modules/iwlwifi-0.0.8/compatible/base.o] Error 1
make[1]: *** [_module_/usr/src/modules/iwlwifi-0.0.8] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.20'
make: *** [modules] Error 2
What am i doing wrong?
After looking for missing file...
I edited base.c and made this change to line 94:
#include
That's where that file is in my 2.6.20 source tree, and now it compied.
This is the change to line 94
#include bracket linux/ieee80211.h bracket
new drivers
Does it mean that there would be packet injection capability soon with 3945 chipsets ?
Hope for the Wireless Kill Switch?
I have a Compal HGL 30, where the Wireless Kill Switch has given me so much pain... :-( Now, a recent forum post
indicates that this might be solved. I would think that the kill switch is pretty separated from the actual wifi card, but to those who know the code, does this sound likely?