Ok, I am going to post my results using ml's patch above. A few preliminary notes: The adapter is an intel 4965 a/b/g/n and I'm on Gutsy.
Obviously the first step was to upgrade my kernel to 2.6.23 since Gutsy comes with kernel 2.6.22-14. I managed to do this seemingly successfully:
uname -r:
root@Catalyst:~# uname -r
2.6.23.1-custom
root@Catalyst:~#
Next, I downloaded the drivers from the intel site and used the patch. This seemed to go through without any errors:
root@Catalyst:~/Desktop/iwlwifi-1.2.23# patch -Np1 -i iwlwifi.patch
(Stripping trailing CRs from patch.)
patching file origin/iwl3945-base.c
Hunk #1 succeeded at 2490 (offset -94 lines).
Hunk #2 succeeded at 2780 (offset -90 lines).
Hunk #3 succeeded at 2801 (offset -90 lines).
Hunk #4 succeeded at 2812 (offset -90 lines).
root@Catalyst:~/Desktop/iwlwifi-1.2.23#
Next, comes the compilation. This had to be done twice since the makefile had to be modified:
1st run:
root@Catalyst:~/Desktop/iwlwifi-1.2.23# make SHELL=/bin/bash
Checking kernel compatibility in:
/lib/modules/2.6.23.1-custom/source
* Kernel requires compatibility version:
- Requires IEEE80211_CONF_CHANNEL_SWITCH compat.
- Remove CONFIG_IWL4965_HT option if defined
- Remove CONFIG_IWL4965_HT_AGG option if defined
Building compatibility version in 'compatible/' directory:
Copying compatible/ from origin/...done
+ Applying: patches/06-csa.patch
diff -urp old/iwl-helpers.h origin/iwl-helpers.h
Makefile has been modified by generate_compatible, please run `make' again
make: *** [compatible/kversion] Error 1
root@Catalyst:~/Desktop/iwlwifi-1.2.23#
2nd run:
root@Catalyst:~/Desktop/iwlwifi-1.2.23# make SHELL=/bin/bash
make -C /lib/modules/2.6.23.1-custom/source O=/lib/modules/2.6.23.1-custom/build M=/root/Desktop/iwlwifi-1.2.23/compatible/ EXTRA_CFLAGS="-DCONFIG_IWL3945_DEBUG=y -DCONFIG_IWL4965_DEBUG=y -DCONFIG_IWL3945_SPECTRUM_MEASUREMENT=y -DCONFIG_IWL4965_SPECTRUM_MEASUREMENT=y -DCONFIG_IWL4965_SENSITIVITY=y -DCONFIG_IWL3945_QOS=y -DCONFIG_IWL4965_QOS=y" modules
make[1]: Entering directory `/usr/src/linux-2.6.23.1'
CC [M] /root/Desktop/iwlwifi-1.2.23/compatible/iwl3945-base.o
CC [M] /root/Desktop/iwlwifi-1.2.23/compatible/iwl-3945.o
CC [M] /root/Desktop/iwlwifi-1.2.23/compatible/iwl-3945-rs.o
CC [M] /root/Desktop/iwlwifi-1.2.23/compatible/iwl4965-base.o
CC [M] /root/Desktop/iwlwifi-1.2.23/compatible/iwl-4965.o
CC [M] /root/Desktop/iwlwifi-1.2.23/compatible/iwl-4965-rs.o
LD [M] /root/Desktop/iwlwifi-1.2.23/compatible/iwl3945.o
LD [M] /root/Desktop/iwlwifi-1.2.23/compatible/iwl4965.o
Building modules, stage 2.
MODPOST 2 modules
CC /root/Desktop/iwlwifi-1.2.23/compatible/iwl3945.mod.o
LD [M] /root/Desktop/iwlwifi-1.2.23/compatible/iwl3945.ko
CC /root/Desktop/iwlwifi-1.2.23/compatible/iwl4965.mod.o
LD [M] /root/Desktop/iwlwifi-1.2.23/compatible/iwl4965.ko
make[1]: Leaving directory `/usr/src/linux-2.6.23.1'
root@Catalyst:~/Desktop/iwlwifi-1.2.23#
I cleared out the old modules and then proceed to install:
root@Catalyst:~/Desktop/iwlwifi-1.2.23# make install SHELL=/bin/bash
Module compatible/iwl4965.ko compatible/iwl3945.ko (s) installed into:
/lib/modules/2.6.23.1-custom/kernel/drivers/net/wireless
Don't forget to copy firmware to your hotplug's firmware directory
and have the hotplug tools in place.
See INSTALL for more information.
root@Catalyst:~/Desktop/iwlwifi-1.2.23#
I rebooted, ran iwconfig:
root@Catalyst:~/Desktop/iwlwifi-1.2.23# iwconfig
lo no wireless extensions.
eth1 no wireless extensions.
wmaster0 no wireless extensions.
wlan0 IEEE 802.11a ESSID:""
Mode:Managed Channel:0 Access Point: Not-Associated
Retry min limit:7 RTS thr:off Fragment thr=2346 B
Encryption key:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
root@Catalyst:~/Desktop/iwlwifi-1.2.23#
Then I downloaded the latest svn: revision 863.. Then I tried to use airmon-ng to put the card into monitor mode with this result:
root@Catalyst:~# airmon-ng stop wlan0
Interface Chipset Driver
wlan0 iwl4965 - [phy1]
(monitor mode disabled)
root@Catalyst:~# airmon-ng start wlan0
Interface Chipset Driver
wlan0 iwl4965 - [phy1]/usr/local/sbin/airmon-ng: 875: cannot create /sys/class/ieee80211/phy1/add_iface: Permission denied
Error for wireless request "Set Mode" (8B06) :
SET failed on device mon0 ; No such device.
mon0: ERROR while getting interface flags: No such device
(monitor mode enabled on mon0)
root@Catalyst:~#
(I have no idea what device "mon0" is)
Then I tried to run airodump-ng and aireplay-ng (injection test) with the following result:
root@Catalyst:~# airodump-ng wlan0
ioctl(SIOCSIFFLAGS) failed: No such file or directory
root@Catalyst:~# aireplay-ng -9 wlan0
ioctl(SIOCSIFFLAGS) failed: No such file or directory
root@Catalyst:~#
I'd appreciate it ml, if you could let me know if I did anything wrong.