login
Header Space

 
 

Linux: New Intel PRO/Wireless 3945ABG Driver

February 11, 2007 - 3:40pm
Submitted by Jeremy on February 11, 2007 - 3:40pm.
Linux news

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]



Related Links:

Cheers to that! The intel

February 12, 2007 - 3:17am
Anonymous (not verified)

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

February 12, 2007 - 5:56pm
Anonymous (not verified)

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

February 12, 2007 - 8:09pm
headlice (not verified)

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

February 12, 2007 - 10:21pm
TulsaCowboy (not verified)

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

February 13, 2007 - 2:40am

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

February 13, 2007 - 9:57am
suruena (not verified)

But what about the microcode? Can the driver be considered 100% Free Software? Thanks

What is 100% Free Software?

February 13, 2007 - 10:51am
Anonymous (not verified)

What is 100% Free Software?

In short, Free Software is

February 21, 2007 - 9:37pm
Kdub (not verified)

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

August 22, 2007 - 8:20am

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

February 14, 2007 - 8:47am

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

February 14, 2007 - 10:07am

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

February 14, 2007 - 12:10pm
Anonymous (not verified)

] 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

June 15, 2007 - 9:29pm

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

February 20, 2007 - 3:52pm
havok1977 (not verified)

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

February 20, 2007 - 4:01pm
havok1977 (not verified)

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

February 20, 2007 - 4:03pm
havok1977 (not verified)

#include bracket linux/ieee80211.h bracket

new drivers

April 12, 2007 - 5:49pm
Anonymous (not verified)

Does it mean that there would be packet injection capability soon with 3945 chipsets ?

Hope for the Wireless Kill Switch?

June 18, 2007 - 5:01pm
Kjetil Kjernsmo (not verified)

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?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
speck-geostationary