Installing Madwifi on SuSE
See also: UserDocs/Distro/SuSE/BuildScript
This entry by Patrick Pichon, was sent in by Rainer Lay.
# ifcfg-wlan-id-* for SuSE 9.1 BOOTPROTO='dhcp' MTU='' REMOTE_IPADDR='' STARTMODE='onboot' WIRELESS_AP='' WIRELESS_AUTH_MODE='sharedkey' WIRELESS_BITRATE='auto' WIRELESS_CHANNEL='11' WIRELESS_DEFAULT_KEY='0' WIRELESS_ESSID='my access point essid' WIRELESS_KEY='' WIRELESS_KEY_0='h:MyPassphrase' WIRELESS_KEY_1='' WIRELESS_KEY_2='' WIRELESS_KEY_3='' WIRELESS_KEY_LENGTH='128' WIRELESS_MODE='Managed' WIRELESS_NICK='' WIRELESS_NWID='' WIRELESS_POWER='yes' WIRELESS_FREQUENCY='' WIRELESS_IWPRIV_OPTIONS='authmode 2'
Note: WIRELESS_IWPRIV_OPTIONS='authmode 2' is not necessary anymore for shared key authentication with SUSE Linux 10.1 as it is automatically set. In some configurations, it may even be necessary to set authmode to 1 for WEP to work (the SuSE scripts set it to 2 if WEP is detected).
For SUSE 10.1 and 10.2 there are precompiled packages available at http://madwifi-project.org/suse. See UserDocs/GettingMadwifi for more information on this. If you want to build madwifi yourself, you need to have kernel-source installed and configured. The best choice is rebuilding an original source rpm package in 4 steps:
1) get SuSE source package for example from http://madwifi-project.org/suse/10.1-i386/madwifi-0.9.1-1.1.src.rpm
2) check before the rebuilding if you have installed kernel sources, kernel-syms, C/C++ compilation tools and sharutils
3) rebuild source package # rpmbuild --rebuild madwifi-0.9.1-1.1.src.rpm
4) log in as a root, install rebuilded kernel package and atheros utils from /usr/src/packages/RPMS/_architecture_/ for current kernel you can check it and install for example by this way: # uname -a
# rpm -ihv /usr/src/packages/RPMS/i586/madwifi-kmp-default-0.9.1_22.214.171.124_0.25-1.1.i586.rpm /usr/src/packages/RPMS/i586/madwifi-0.9.1-1.1.i586.rpm
SuSE 10.0 compilation
If you get an error message: Makefile.inc:119: ***KERNELCONF: /lib/modules/126.96.36.199.8-default/build/.config does not exist.. stop
It's because SuSE has a goofy kernel setup that the authors of Madwifi didn't account for.
When I upgraded my kernel source with one of the third party sources, everything worked perfectly. I suggest adding some third party yast sites to your list - make might just work after doing an update.
** I got this same error when I first tried to 'make' on SuSE 10.1. I installed the kernel sources and also did an 'su - root' in the madwifi directory. After this, I was able to succesfully do the 'make', 'make install', 'modprobe ath_pci', configure the wifi card via Yast and connect. **
SUSE does not include the kernel .config file, which is annoying, but easily fixed:
- install kernel sources and header and symbols (I do not know whether you need all of this)
- cd /usr/src/linux
- make cloneconfig && make prepare-all
And you are done....
SuSE 9.x compilation script for madwifi
By Alexander Pevzner, pzz<at>pzz.msk.ru
Madwifi doesn’t compile under SuSE 9.x out of box. The problem is that the /lib/modules/uname -r/build directory doesn’t contain all kernel headers and the real kernel Makefile, which breaks some (incorrect!) assumptions made by the madwifi’s Makefile.
Another problem is that SuSE kernel may come with the outdated version of madwifi driver. In this case this old driver may be used instead of the freshly compiled one, which is confusing.
This simple script helps to solve this problem.
Save this script into SuSEbuild file in the madwifi top directory.
$ ./SuSEbuild $ su Password: # ./SuSEbuild install
Please note that if your kernel already contains madwifi driver, new installation will replace it.
Note, actually this script will accept any make options, automatically adding variables pointing to the SuSE kernel and installation directories.
For x86-64 in Suse 9.3 you might run into trouble when running this script.
ld: Relocatable linking with relocations from format elf32-i386 (/home/piet/madwifi/ath_hal/hal.o) to format elf64-x86-64 (/home/piet/madwifi/ath_hal/ath_hal.o) is not supported make: *** [/home/piet/madwifi/ath_hal/ath_hal.o] Error 1
In this case follow the instructions given on here .