Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 157076 - net-wireless/ipw3945 doesn't compile with kernel-2.6.19
Summary: net-wireless/ipw3945 doesn't compile with kernel-2.6.19
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Christian Heim (RETIRED)
URL:
Whiteboard:
Keywords:
: 157068 161047 164437 164703 164865 (view as bug list)
Depends on:
Blocks: kernel-2.6.19
  Show dependency tree
 
Reported: 2006-12-04 04:27 UTC by Scott Van Der Wall
Modified: 2007-02-23 21:58 UTC (History)
11 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch to be applied to ieee80211-1.1.13 (ieee80211-2-6-19-fix.patch,3.63 KB, patch)
2006-12-04 14:23 UTC, Magnus Dagestad
Details | Diff
Patch to be applied to ipw3945-1.0.5 (ipw3945-linux-2.6.19.patch,446 bytes, patch)
2006-12-04 14:26 UTC, Magnus Dagestad
Details | Diff
Patch to be applied to ieee80211-1.1.13 (ieee80211-2-6-19-fix.patch,3.62 KB, patch)
2006-12-04 16:48 UTC, Magnus Dagestad
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Scott Van Der Wall 2006-12-04 04:27:53 UTC
When I tried compiling the ipw3945 driver against linux-headers-2.6.19 I got the following error:

/var/tmp/portage/ipw3945-1.1.2/work/ipw3945-1.1.2/ipw3945.h:32:26: error: linux/config.h: No such file or directory
/var/tmp/portage/ipw3945-1.1.2/work/ipw3945-1.1.2/ipw3945.c: In function 'ipw_pci_probe':
/var/tmp/portage/ipw3945-1.1.2/work/ipw3945-1.1.2/ipw3945.c:16406: warning: passing argument 2 of 'request_irq' from incompatible pointer type
make[2]: *** [/var/tmp/portage/ipw3945-1.1.2/work/ipw3945-1.1.2/ipw3945.o] Error 1
make[1]: *** [_module_/var/tmp/portage/ipw3945-1.1.2/work/ipw3945-1.1.2] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.19-gentoo-r1'
make: *** [modules] Error 2

!!! ERROR: net-wireless/ipw3945-1.1.2 failed.
Call stack:
  ebuild.sh, line 1546:   Called dyn_compile
  ebuild.sh, line 937:   Called src_compile
  ipw3945-1.1.2.ebuild, line 74:   Called linux-mod_src_compile
  linux-mod.eclass, line 510:   Called die

!!! Unable to make  KSRC=/usr/src/linux KSRC_OUTPUT=/usr/src/linux IEEE80211_INC=/usr/include all.
!!! If you need support, post the topmost build error, and the call stack if relevant.

Here is my emerge --info:

Portage 2.1.1-r2 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.18-gentoo-r2 i686)
=================================================================
System uname: 2.6.18-gentoo-r2 i686 Genuine Intel(R) CPU           T2500  @ 2.00GHz
Gentoo Base System version 1.12.6
Last Sync: Mon, 04 Dec 2006 11:30:09 +0000
ccache version 2.3 [disabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.13-r4
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.19
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=prescott -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo"
CXXFLAGS="-O2 -march=prescott -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/sunrise /usr/portage/local/layman/portage-xgl"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X a52 aac aalib acpi aiglx alsa aoss arts berkdb bitmap-fonts browserplugin bzip2 cairo cdinstall cdr cli cracklib crypt cups dbus divx dlloader dri dv dvd dvdread eds elibc_glibc emacs encode esd ffmpeg firefox flac fortran fping gdbm gif glut gnome gpm gtk gtk2 hal iconv input_devices_evdev input_devices_keyboard input_devices_mouse input_devices_synaptics ipv6 isdnlog java jpeg jpeg2k kde kdeenablefinal kernel_linux ldap libg++ mad mjpeg mmx mmxext mono mp3 mp4 mpeg mplayer nautilus ncurses nls nptl nptlonly nsplugin nvidia ogg openal openexr opengl oss pam pcre pdf perl php png ppds pppd python qt3 qt4 quicktime rar readline reflection roe sdl session smp spl sse sse2 sse3 ssl subtitles svg tcpd theora threads tiff truetype-fonts type1-fonts udev unicode usb userland_GNU vcd video_cards_nvidia vidix vorbis win32codecs wmf wmp x264 xcomposite xine xinerama xml xorg xprint xscreensaver xv xvid zip zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-12-04 04:35:06 UTC
*** Bug 157068 has been marked as a duplicate of this bug. ***
Comment 2 Magnus Dagestad 2006-12-04 14:23:59 UTC
Created attachment 103356 [details, diff]
Patch to be applied to ieee80211-1.1.13

Simple patch to make ieee80211-1.1.13 compile under 2.6.19
Comment 3 Magnus Dagestad 2006-12-04 14:26:08 UTC
Created attachment 103360 [details, diff]
Patch to be applied to ipw3945-1.0.5

Patch that makes ipw3945-1.0.5 compile under kernel 2.6.19-r1
Comment 4 Magnus Dagestad 2006-12-04 16:38:19 UTC
Comment on attachment 103356 [details, diff]
Patch to be applied to ieee80211-1.1.13

>diff -urN original/ieee80211-1.1.13/ieee80211_crypt_ccmp.c modified/ieee80211-1.1.13/ieee80211_crypt_ccmp.c
>--- original/ieee80211-1.1.13/ieee80211_crypt_ccmp.c	2006-03-31 11:12:02.000000000 +0200
>+++ modified/ieee80211-1.1.13/ieee80211_crypt_ccmp.c	2006-12-04 21:40:35.000000000 +0100
>@@ -8,8 +8,9 @@
>  * published by the Free Software Foundation. See README and COPYING for
>  * more details.
>  */
>-
>+#ifndef AUTOCONF_INCLUDED
> #include <linux/config.h>
>+#endif
> #include <linux/module.h>
> #include <linux/init.h>
> #include <linux/slab.h>
>diff -urN original/ieee80211-1.1.13/ieee80211_crypt_tkip.c modified/ieee80211-1.1.13/ieee80211_crypt_tkip.c
>--- original/ieee80211-1.1.13/ieee80211_crypt_tkip.c	2006-03-31 11:12:02.000000000 +0200
>+++ modified/ieee80211-1.1.13/ieee80211_crypt_tkip.c	2006-12-04 21:41:10.000000000 +0100
>@@ -8,8 +8,9 @@
>  * published by the Free Software Foundation. See README and COPYING for
>  * more details.
>  */
>-
>+#ifndef AUTOCONF_INCLUDED
> #include <linux/config.h>
>+#endif
> #include <linux/module.h>
> #include <linux/init.h>
> #include <linux/slab.h>
>diff -urN original/ieee80211-1.1.13/ieee80211_crypt_wep.c modified/ieee80211-1.1.13/ieee80211_crypt_wep.c
>--- original/ieee80211-1.1.13/ieee80211_crypt_wep.c	2006-03-31 11:12:02.000000000 +0200
>+++ modified/ieee80211-1.1.13/ieee80211_crypt_wep.c	2006-12-04 21:41:38.000000000 +0100
>@@ -8,8 +8,9 @@
>  * published by the Free Software Foundation. See README and COPYING for
>  * more details.
>  */
>-
>+#ifndef AUTOCONF_INCLUDED
> #include <linux/config.h>
>+#endif
> #include <linux/module.h>
> #include <linux/init.h>
> #include <linux/slab.h>
>diff -urN original/ieee80211-1.1.13/ieee80211_geo.c modified/ieee80211-1.1.13/ieee80211_geo.c
>--- original/ieee80211-1.1.13/ieee80211_geo.c	2006-03-31 11:12:02.000000000 +0200
>+++ modified/ieee80211-1.1.13/ieee80211_geo.c	2006-12-04 21:42:10.000000000 +0100
>@@ -24,7 +24,9 @@
> 
> ******************************************************************************/
> #include <linux/compiler.h>
>+#ifndef AUTOCONF_INCLUDED
> #include <linux/config.h>
>+#endif
> #include <linux/errno.h>
> #include <linux/if_arp.h>
> #include <linux/in6.h>
>diff -urN original/ieee80211-1.1.13/ieee80211_module.c modified/ieee80211-1.1.13/ieee80211_module.c
>--- original/ieee80211-1.1.13/ieee80211_module.c	2006-03-31 11:12:02.000000000 +0200
>+++ modified/ieee80211-1.1.13/ieee80211_module.c	2006-12-04 21:29:22.000000000 +0100
>@@ -31,7 +31,9 @@
> *******************************************************************************/
> 
> #include <linux/compiler.h>
>+#ifndef AUTOCONF_INCLUDED
> #include <linux/config.h>
>+#endif
> #include <linux/errno.h>
> #include <linux/if_arp.h>
> #include <linux/in6.h>
>diff -urN original/ieee80211-1.1.13/ieee80211_rx.c modified/ieee80211-1.1.13/ieee80211_rx.c
>--- original/ieee80211-1.1.13/ieee80211_rx.c	2006-03-31 11:12:02.000000000 +0200
>+++ modified/ieee80211-1.1.13/ieee80211_rx.c	2006-12-04 21:55:36.000000000 +0100
>@@ -14,7 +14,9 @@
>  */
> 
> #include <linux/compiler.h>
>-#include <linux/config.h>
>+#ifndef AUTOCONF_INCLUDED
>+#include <linux/config.h>
>+#endif
> #include <linux/errno.h>
> #include <linux/if_arp.h>
> #include <linux/in6.h>
>diff -urN original/ieee80211-1.1.13/ieee80211_tx.c modified/ieee80211-1.1.13/ieee80211_tx.c
>--- original/ieee80211-1.1.13/ieee80211_tx.c	2006-03-31 11:12:02.000000000 +0200
>+++ modified/ieee80211-1.1.13/ieee80211_tx.c	2006-12-04 21:55:52.000000000 +0100
>@@ -24,7 +24,9 @@
> 
> ******************************************************************************/
> #include <linux/compiler.h>
>-#include <linux/config.h>
>+#ifndef AUTOCONF_INCLUDED
>+#include <linux/config.h>
>+#endif
> #include <linux/errno.h>
> #include <linux/if_arp.h>
> #include <linux/in6.h>
Comment 5 Magnus Dagestad 2006-12-04 16:48:19 UTC
Created attachment 103369 [details, diff]
Patch to be applied to ieee80211-1.1.13

Fixed two comments that were left in from texting.
Comment 6 Christian Heim (RETIRED) gentoo-dev 2006-12-07 13:05:18 UTC
Fixed in CVS, thanks Scott.
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2007-01-10 18:43:48 UTC
*** Bug 161047 has been marked as a duplicate of this bug. ***
Comment 8 Arun Raghavan (RETIRED) gentoo-dev 2007-01-12 05:22:04 UTC
As Jakub points out, the same patch is required for ipw3945-1.1.0 as well. I have tried this and it works (I just used the existing 1.0.5 patch).
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2007-01-29 19:02:05 UTC
*** Bug 164437 has been marked as a duplicate of this bug. ***
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2007-01-31 14:07:02 UTC
*** Bug 164703 has been marked as a duplicate of this bug. ***
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2007-01-31 14:09:02 UTC
Grumble... Plz. either unmask the fixed version or backport the fix; getting tired of the dupes. (Plus just 1.1.3-r2 will work correctly w/ WE21 AFAICT).
Comment 12 Jakub Moc (RETIRED) gentoo-dev 2007-02-01 16:11:50 UTC
*** Bug 164865 has been marked as a duplicate of this bug. ***
Comment 13 Peter Lewis 2007-02-01 17:06:54 UTC
(In reply to comment #12)
> *** Bug 164865 has been marked as a duplicate of this bug. ***

I did find this bug before, but didn't believe that it was the same problem.

AFAICT this bug is a problem with compiling the driver. Mine related to this error:

ipw3945: Error sending SCAN_ABORT_CMD: time out after 500ms
...

It's not obvious (to me) if this is the same problem at all.
Comment 14 Jakub Moc (RETIRED) gentoo-dev 2007-02-01 17:26:58 UTC
(In reply to comment #13)
> (In reply to comment #12)
> > *** Bug 164865 has been marked as a duplicate of this bug. ***
> 
> I did find this bug before, but didn't believe that it was the same problem.

Considering that ipw3945 1.0.5 won't even compile against 2.6.19, I don't see why do we need a special bug for it. That version is dead.
Comment 15 Peter Lewis 2007-02-01 17:36:17 UTC
(In reply to comment #14)
> (In reply to comment #13)
> > (In reply to comment #12)
> > > *** Bug 164865 has been marked as a duplicate of this bug. ***
> > 
> > I did find this bug before, but didn't believe that it was the same problem.
> 
> Considering that ipw3945 1.0.5 won't even compile against 2.6.19, I don't see
> why do we need a special bug for it. That version is dead.

Well ipw3945 1.0.5 from portage compiles against kernel 2.6.19 for me. I just get this error.

Also, isn't the point of the stable portage tree that the stuff works? Why are incompatible versions of things in there? IMO upgrading *within* the stable tree shouldn't really break things.

Comment 16 Jakub Moc (RETIRED) gentoo-dev 2007-02-01 17:43:24 UTC
This thing shouldn't have been marked stable at all, first of all. Other than that, I fail to see how's this ranting useful here.
Comment 17 Pacho Ramos gentoo-dev 2007-02-04 14:08:53 UTC
Have you tried with ipw3945-1.2.0 version?

I couldn't test it with 2.6.19 due suspend2 doesn't work for me with this kernel, but I am using ipw3945-1.2.0 on 2.6.18 without problems

Good luck
Comment 18 Luca Botti 2007-02-04 19:13:05 UTC
I think we should state clearly that to emerge correctly the 1.2.0 version, there are multiple steps involved:

1) Unmerge 2.6.19 gentoo sources
2) Unmerge ieee80211 ebuild
3) re-emerge gentoo-source
4) configure in-kernel 80211 support
5) emerge the ipw package

This is caused by ieee80211 modifying the /usr/src/linux directory to accomodate patches; subsequent tries to emerge ipw3945 fail; also, you should use in-kernel 80211 support.

Comment 19 Radek Podgorny 2007-02-04 21:13:34 UTC
Agreed! I also had to do the steps above to emerge ipw3945 (on vanilla-sources) and didn't know it's necessary...
Comment 20 Peter Lewis 2007-02-05 11:51:32 UTC
(In reply to comment #18)
> I think we should state clearly that to emerge correctly the 1.2.0 version,
> there are multiple steps involved 
<snip>

Ah, thank you. I'll give that a try today.
Comment 21 Peter Lewis 2007-02-05 13:32:10 UTC
> I'll give that a try today.

Hmmm... okay, not quite.

I followed the instructions above, and now I get the following.

ipw3945d starts with no problems.

net.eth2 gives me the following on the console:

 * Starting eth2
 *   Configuring wireless network for eth2
eth2      no wireless extensions.

 *   eth2 does not support scanning
 *   You either need to set a preferred_aps list in /etc/conf.d/wireless
 *      preferred_aps=( "ESSID1" "ESSID2" )
 *      and set associate_order_eth2="forcepreferred"
 *      or set associate_order_eth2="forcepreferredonly"
 *   or hardcode the ESSID to "any" and let the driver find an Access Point
 *      essid_eth2="any"
 *   or configure defaulting to Ad-Hoc when Managed fails
 *      adhoc_essid_eth2="WLAN"
 *   or hardcode the ESSID against the interface (not recommended)
 *      essid_eth2="ESSID"
 *   Failed to configure wireless for eth2  

dmesg says:

ieee80211_crypt_wep: disagrees about version of symbol ieee80211_register_crypto_ops
ieee80211_crypt_wep: Unknown symbol ieee80211_register_crypto_ops
ieee80211_crypt_wep: disagrees about version of symbol ieee80211_unregister_crypto_ops
ieee80211_crypt_wep: Unknown symbol ieee80211_unregister_crypto_ops
eth2: could not initialize WEP: load module ieee80211_crypt_wep
ipw3945: Error sending SCAN_ABORT_CMD: time out after 500ms.

I tried again, and got the following:

 * Starting eth2
 *   Configuring wireless network for eth2
Error for wireless request "Set Encode" (8B2A) :
    SET failed on device eth2 ; Operation not supported.
 *   eth2 does not support setting keys
 *   or the parameter "mac_key_<ESSID>" or "key_<ESSID>" is incorrect
 *   Couldn't associate with any access points on eth2
 *   Failed to configure wireless for eth2

I have replaced the name of my ESSID with <ESSID>.

This time dmesg gives:

ieee80211_crypt_wep: disagrees about version of symbol ieee80211_register_crypto_ops
ieee80211_crypt_wep: Unknown symbol ieee80211_register_crypto_ops
ieee80211_crypt_wep: disagrees about version of symbol ieee80211_unregister_crypto_ops
ieee80211_crypt_wep: Unknown symbol ieee80211_unregister_crypto_ops
eth2: could not initialize WEP: load module ieee80211_crypt_wep
ipw3945: Error sending SCAN_ABORT_CMD: time out after 500ms.
ipw3945: Error sending LEDS_CMD: time out after 500ms.
ipw3945: Error sending LEDS_CMD: time out after 500ms.

I have removed the previous version of ieee80211 and am using the in-kernel version. Also, I have re-emerged ipw3945 (version 1.2.0). I am using the versions of ipw3945d and ipw3945-ucode from ~x86.

Thanks!
Comment 22 Luca Botti 2007-02-05 13:46:27 UTC
Just a quick reply to #21 - what i wrote is the procedure i applied to my dell d620; some more info:

sys-kernel/gentoo-sources-2.6.19-r5

equery list ipw3945
[I--] [ ~] net-wireless/ipw3945-1.2.0 (0)
[I--] [ ~] net-wireless/ipw3945-ucode-1.14.2 (0)
[I--] [ ~] net-wireless/ipw3945d-1.7.22-r4 (0)

Also check http://gentoo-wiki.com/HARDWARE_ipw3945 for details on configuring kernel.
Comment 23 Peter Lewis 2007-02-05 17:43:42 UTC
(In reply to comment #22)
Excellent, thanks. After a cleanout of /lib/modules this did the trick. All appears to be working so far.

Thanks for the help.
Comment 24 Jakub Moc (RETIRED) gentoo-dev 2007-02-23 21:58:34 UTC
1.2.0 is stable now; closing.