Difference between revisions of "Ipw3945"

From ThinkWiki
Jump to: navigation, search
m (2.6.24)
(Linux WiFi driver)
Line 60: Line 60:
 
** [http://wiki.archlinux.org/index.php/Wireless_Setup Wireless Setup for ArchLinux]
 
** [http://wiki.archlinux.org/index.php/Wireless_Setup Wireless Setup for ArchLinux]
  
=== Linux WiFi driver ===
+
=== Linux driver ===
The most recent revision of the Intel Centrino platform utilizes a new generation of wireless networking device connected to the system via '''PCI-E''', and not PCI (like the [[ipw2200]]-line used to do). Therefore, a new driver must be used. A sourceforge-project supporting the new cards is available at [http://ipw3945.sourceforge.net/ http://ipw3945.sourceforge.net/]. However, as of today, the project's code ([http://downloadfinder.intel.com/scripts-df-external/detail_desc.aspx?ProductID=2259&DwnldID=10315&agr=Y Stable Release 1.2.0]) depends on a '''binary-only, proprietary''' user-space-daemon communicating with the driver via sysfs. It is '''not possible''' to operate this device with Free Software exclusively at the moment. The license-terms the daemon is released under prohibit reverse-engineering of the communication-protocol; this will hopefully not hold developers outside the US, where clauses like this one are not enforceable, from re-implementing a free variant of some sort.
+
==== Older, binary driver ====
 +
The most recent revision of the Intel Centrino platform utilizes a new generation of wireless networking device connected to the system via '''PCI-E''', and not PCI (like the [[ipw2200]]-line used to do). Therefore, a new driver must be used. A Sourceforge project supporting the new cards is available at [http://ipw3945.sourceforge.net/ http://ipw3945.sourceforge.net/]. As of February 26, 2008, the project's code ([http://downloadfinder.intel.com/scripts-df-external/detail_desc.aspx?ProductID=2259&DwnldID=10315&agr=Y Stable Release 1.2.0]) depends on a '''binary-only, proprietary''' user-space-daemon communicating with the driver via sysfs. It is '''not possible''' to operate this device with Free Software exclusively at the moment. The license-terms the daemon is released under prohibit reverse-engineering of the communication-protocol; this will hopefully not hold developers outside the US, where clauses like this one are not enforceable, from re-implementing a free variant of some sort.
  
There is a new project called [http://intellinuxwireless.org/ Intel Wireless WiFi Link Drivers] which seems to also implement a driver for the 3945. Those drivers are called "iwl" instead of "ipw". The iwl3945 driver <!-- already works to some extend but it still in early stage --> was integrated into Kernel 2.6.24 and works out of the box if the firmware is provided. It is full open source without binary user space things. Just a firmware blob is needed. Full documentation including source can be found on the mentioned web-page.
+
==== Newer, Open driver ====
 +
There is a newer project, [[Iwlwifi | Intel® Wireless WiFi Link drivers for Linux (iwlwifi)]], which initially provides support for this adapter and [[Intel PRO/Wireless 4965AGN Mini-PCI Express Adapter]]. It is officially sponsored by Intel.  This driver is called "iwl" instead of "ipw". The iwl3945 driver <!-- already works to some extend but it still in early stage --> was integrated into Linux-2.6.24 and works out of the box if the firmware is provided. It is full open source without binary user space things. Just a firmware blob is needed. Full documentation and source is available on this newer driver.
  
Since kernel 2.6.22 the new WLAN subsystem mac80211 appears. All the newer WLAN-drivers will use it.
+
The new WLAN subsystem mac80211 appears in Linux-2.6.22. All newer WLAN-drivers will use mac80211.
  
 
==== External Discussion ====
 
==== External Discussion ====

Revision as of 21:06, 26 February 2008

Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter

This is a Mini-PCI Express WiFi Adapter

Features

  • Chipset: Intel WM3945AG
  • IEEE Standards: 802.11a, 802.11b, 802.11g
  • PCI ID: 8086:4227

Mini-PCI WiFi Adapter

IBM Partnumbers

41A4068

NOTE!
Only the IBM Parts will work, any other parts will give an 1802 error on Post because the sub-vendor PCI ID is different, see Problem with unauthorized MiniPCI network card for more details

Also known (in IBM literature) as....

Hardware switch

Some ThinkPads have a hardware switch that must be in the on position for the radio to work, regardless of driver state:

(ThinkPad R60 radio switch in the ON position)

If it is off, you might encounter following Log-Message on Startup:

 ipw3945: Radio Frequency Kill Switch is On:
 Kill switch must be turned off for wireless networking to work.

Packages

Linux driver

Older, binary driver

The most recent revision of the Intel Centrino platform utilizes a new generation of wireless networking device connected to the system via PCI-E, and not PCI (like the ipw2200-line used to do). Therefore, a new driver must be used. A Sourceforge project supporting the new cards is available at http://ipw3945.sourceforge.net/. As of February 26, 2008, the project's code (Stable Release 1.2.0) depends on a binary-only, proprietary user-space-daemon communicating with the driver via sysfs. It is not possible to operate this device with Free Software exclusively at the moment. The license-terms the daemon is released under prohibit reverse-engineering of the communication-protocol; this will hopefully not hold developers outside the US, where clauses like this one are not enforceable, from re-implementing a free variant of some sort.

Newer, Open driver

There is a newer project, Intel® Wireless WiFi Link drivers for Linux (iwlwifi), which initially provides support for this adapter and Intel PRO/Wireless 4965AGN Mini-PCI Express Adapter. It is officially sponsored by Intel. This driver is called "iwl" instead of "ipw". The iwl3945 driver was integrated into Linux-2.6.24 and works out of the box if the firmware is provided. It is full open source without binary user space things. Just a firmware blob is needed. Full documentation and source is available on this newer driver.

The new WLAN subsystem mac80211 appears in Linux-2.6.22. All newer WLAN-drivers will use mac80211.

External Discussion

This issue already sparked discussions on the Linux Kernel Mailing List, accessible via http://lkml.org/lkml/2006/2/24/266.

There is also a very revealing interview with the author of the OpenBSD driver for the 3945, in which it comes out that Intel has lied (at least by omission) about the purpose of the "regulatory daemon".

History

The ipw2200-drivers in kernel 2.6.15 (and possibly later) do not work with this adapter. There is the stable binary driver ipw3945 that attracted its fair share of critics from the open source community. Now however there is a "development" version of iwlwifi. As of 2.6.23, this is natively supported in the kernel. Make sure that MAC80211 and IWL3945 kernel config options are either compiled as modules or built into the kernel.

Some comments

ipw3945 works with http://ipw3945.sourceforge.net/ drivers. A Spanish summary, but easy to understand about how to install: esDebian Forum, maxim_o message (longer)

Thinkpad topic: on ThinkPads like the Z60 that have one. remember to put the wireless switch in the on state! But you will not be able to enable the Wireless LED with Fn+F5, it is not a problem.

One more comment: if you want monitor mode (e.g for use with Kismet or other network sniffers), you need to uncomment CONFIG_IPW3945_MONITOR=y line from ipw3945-1.1.0 Makefile.

ThinkPads this card may be found in