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