ipw3945 compile problems with latest kernel 2.6.18-1.2849.fc6

Andy Green andy at warmcat.com
Tue Nov 14 08:22:40 UTC 2006


Mike Cohler wrote:
> Andy Green <andy <at> warmcat.com> writes:
> 
>> IEEE80211_API := $(shell sed -ne 
>> "s:\#define.*IEEE80211_API_VERSION[^0-9]*\([0-9]*\).*:\1:p" 
>> $(IEEE80211_PATH)net/ieee80211.h)
>>
>> destroying its wrongly computed version by adding this:
>>
>> IEEE80211_API := 2
> 
> Hi Andy 
> 
> I have been following this with considerable interest.
> 
> Can you confirm that you did not touch the ieee80211 subsystem at all in the new
> kernel and left it as git-1.1.13 , and the ONLY change that you made was to add
> this one line 
> IEEE80211_API := 2
> in the Makefile,  with no other changes at all for the 1.1.0 driver and it
> compiled OK????

Well that was the immediate problem that gave the symptom that the OP 
reported.  But it wasn't everything that had to be done.

> If you made any other changes eg to the .h or .c files could you tell us exactly
> what was changed as I am very keen to get ipw3945 running again - it has been
> unusable so far since I installed FC6 !

Note I am currently on 2798 kernel.

--- ipw3945-1.1.0/Makefile      2006-07-14 16:34:55.000000000 +0100
+++ ipw3945-1.1.0-good/Makefile 2006-10-05 19:22:10.000000000 +0100
@@ -89,8 +89,12 @@
  IEEE80211_VER := $(shell $(DIR)/snapshot/check_ieee80211_compat 
$(IEEE80211_PATH))
  IEEE80211_API := $(shell sed -ne 
"s:\#define.*IEEE80211_API_VERSION[^0-9]*\([0-9]*\).*:\1:p" 
$(IEEE80211_PATH)net/ieee80211.h)

+
+IEEE80211_API := 2
+EXTRA_CFLAGS += -DIEEE80211_API_VERSION=2
+
  ifeq ($(IEEE80211_API),)
-       IEEE80211_API := $(shell [[ "$(IEEE80211_VER)" == 1.1.14* ]] && \
+       IEEE80211_API := $(shell [[ "$(IEEE80211_VER)" == 1.1.13* ]] && \
                 { echo "2" ; } || \
                 { ver=$(IEEE80211_VER); ver=$${ver\#*.} ; echo 
$${ver%.*} ; })
         EXTRA_CFLAGS += -DIEEE80211_API_VERSION=$(IEEE80211_API)


--- ipw3945-1.1.0/ipw3945.h     2006-11-14 08:12:02.000000000 +0000
+++ ipw3945-1.1.0-good/ipw3945.h        2006-10-25 13:39:21.000000000 +0100
@@ -29,7 +29,7 @@

  #include <linux/module.h>
  #include <linux/moduleparam.h>
-#include <linux/config.h>
+//#include <linux/config.h>
  #include <linux/init.h>

  #include <linux/version.h>


I also seem to recall having to

# ln -s /usr/src/kernels/2.6.18-1.2798.fc6 
/lib/modules/2.6.18-1.2798.fc6/build


But maybe that was for something else.  Anyway I think that was it, no 
messing in ieee80211 stuff IIRC (as was necessary for earlier kernels).

On stability, it is generally good and because I hibernate a lot I don't 
know if that provokes it, but sometimes I get a firmware error and 
complaints about an Rx DMA error that cannot be stopped.  Using the RF 
killing Fn-F8 sequence seems to help with that.

In addition, I bring up wpa_supplicant by hand, I noticed that for some 
reason the effect of

service wpa_supplicant restart

is not the same (does not seem to provoke resynchronization of the WPA 
crypto) as

service wpa_supplicant stop
sleep 5
service wpa_supplicant start

hard to say how much that is specific to my AP, or laptop.

One last funny I see is that even after it is fully up and done dhcp, 
there is no default route, so I add that in semi-manually as well. 
Again it can be my specific dhcp server setup but I don't think it is.

-Andy




More information about the fedora-list mailing list