Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 46252

Summary: wavemon 0.4.0b and kernel 2.6
Product: Gentoo Linux Reporter: Petric Frank <pfrank>
Component: New packagesAssignee: Mobile Herd (OBSOLETE) <mobile+disabled>
Status: RESOLVED WONTFIX    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Petric Frank 2004-03-30 08:45:44 UTC
It seems that the wireless ioctl buffer for the "GET range" have been changed its size for kernel 2.6.x.
As result the request buffer is to small for the request.

Reproducible: Always
Steps to Reproduce:
1.Boot kernel 2.6.x
2.Compile wavemon
3.Execute wavemon -> fatal error: could not get range information.

/var/log/messages:
--------------------- cut -----------------------
Mar 30 16:16:22 notebook ipw2100: U ipw2100_wx_get_range GET Range
Mar 30 16:16:22 notebook eth1 (WE) : Buffer for request 8B0B too small 
(308<564)
--------------------- cut -----------------------
Actual Results:  
wavemon does not work 

Expected Results:  
The opposite - it should work 
 
The compile step should use include path 
  /lib/modules/'uname-r'/build/include 
in case of running a 2.6.x kernel 
 

sys-kernel/linux-headers-2.4.19-r1 installed 
 
below output of 'emerge info': 
 
Gentoo Base System version 1.4.3.13 
Portage 2.0.50-r1 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 
2.6.4-gentoo-r1) 
================================================================= 
System uname: 2.6.4-gentoo-r1 i686 Intel(R) Pentium(R) M processor 1400MHz 
Autoconf: sys-devel/autoconf-2.58-r1 
Automake: sys-devel/automake-1.7.7 
ACCEPT_KEYWORDS="x86" 
AUTOCLEAN="yes" 
CFLAGS="-O3 -mcpu=pentium4 -march=pentium3 -pipe" 
CHOST="i686-pc-linux-gnu" 
COMPILER="gcc3" 
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" 
CXXFLAGS="-O3 -mcpu=pentium4 -march=pentium3 -pipe" 
DISTDIR="/usr/portage/distfiles" 
FEATURES="autoaddcvs ccache sandbox" 
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror 
http://gentoo.oregonstate.edu 
http://www.ibiblio.org/pub/Linux/distributions/gentoo" 
MAKEOPTS="-j2" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR="/usr/portage" 
PORTDIR_OVERLAY="/usr/local/portage" 
SYNC="rsync://rsync.gentoo.org/gentoo-portage" 
USE="X acpi acpi4linux apm arts avi berkdb cdr crypt cups dga directfb doc dvd 
encode esd fbcon foomaticdb gdbm gif gnome gpm gtk gtk2 hbci i8x0 imlib irda 
java jpeg kde lcd libg++ libwww linguas_de linguas_en mad mikmod motif mozilla 
mpeg ncurses nls oggvorbis opengl oss pam pcmcia pdflib perl png ppds python 
qt quicktime readline sdl slang spell ssl svga tcltk tcpd tiff truetype usb 
x86 xml2 xmms xv zlib"
Comment 1 Peter Johanson (RETIRED) gentoo-dev 2004-03-30 14:58:13 UTC
Yup, this problem is a nasty one that won't really go away until 2.6 kernel headers are used in /usr/include/linux... We could edit the ebuild to use /usr/src/linux/include, but then when someone moves back to 2.4, it dies, etc, etc. Ultimately it's a headers vs. running kernel issue, that's nasty regardless. I suppose you could have a versioned binary depending on the kernel version detected, and have /usr/bin/wavemon -> /usr/bin/wavemon-v2.6 or -> /usr/bin/wavemon-2.4, but this is still not a good solution.

Let me ponder this more, any input from you would be great.
Comment 2 Petric Frank 2004-03-30 15:18:25 UTC
I placed a suggestion inside the bug report.

As /lib/modules/'uname -r'/build points always (?) to the actual kernel source tree - why not use/add
  -I/lib/modules/'uname -r'/build/include
as compile option.
This should solve the problem in either case of kernel version.
Comment 3 Peter Johanson (RETIRED) gentoo-dev 2004-03-30 15:26:40 UTC
There's many problems with that approach. First, gentoo's policy is to use the kernel found at /usr/src/linux to determine the version, NOT what uname -r returns. THis is because many times things are compiled on hosts other than the final destination, etc. Beyond that, this does nothing to solve the problem where someone has a machine that uses both a 2.4 and a 2.6 kernel. Either one is broken, or the other is. For now, i supposed we can change the include to use /usr/src/linux/include so it at least works on a 2.6 only system, but utlimately there needs to be a better solution.
Comment 4 Peter Johanson (RETIRED) gentoo-dev 2004-09-29 18:14:25 UTC
Okay. Marking WONTFIX as there are easy to use 2.6 kernel headers that work fine now for this.