I have been referring to linlap for this configuration. The configuration has been made possible via ipw3945 and iwlwifi. To be more precise:
INSTALLATION
- Go to ipw3945 and download microcode image, userspace daemon and ipw3945-1.2.0.tgz
- tar zxvf ipw3945-1.2.0.tgz
- cd ipw3945-1.2.0
- make
- sudo make install
- cd ..
- tar zxvf ipw3945d-1.7.22.tgz
- cd ipw3945d-1.7.22
- read README.ipw3945d and apply
- cd ..
- tar zxvf ipw3945-ucode-1.14.2.tgz
- cd ipw3945d-1.7.22
- read README.ipw3945-ucode and apply
- cd ..
SOME PREPARATION
The driver does not work properly with
multi-cpu/core environments. D630 has a dual core cpu. So we need to
disable the second CPU before connection and then enable it when done.
Have executable scripts:
disablecpu1:
#!/bin/bash
echo 0 > /sys/devices/system/cpu/cpu1/online
enablecpu1:
#!/bin/bash
echo 1 > /sys/devices/system/cpu/cpu1/online
The 3945 regulatory daemon needs to be started with module load and to be stopped with module remove. So update /etc/modprobe.conf to have:
- install ipw3945 /sbin/modprobe –ignore-install ipw3945 ; /sbin/ipw3945d –timeout=-1
- remove ipw3945 /sbin/ipw3945d –kill ; /sbin/modprobe -r –ignore-remove ipw3945
and add the following to have wireless as eth1:
- alias eth1 ipw3945
WIFIRADAR CONFIG
Before starting wifi-radar we need to disable second core and reload the kernel driver. So have a script like below for wifi-radar:
#!/bin/bash
sudo disablecpu1
sudo modprobe -r ipw3945
sudo modprobe ipw3945
enodev=1
echo -n “Waiting for eth1 to come up”
while [ $enodev -ne 0 ]
do
sleep 1
enodev=`iwconfig eth1 2>&1 | grep -c “No such device”`
echo -n “.”
done
echo ” eth1 is up.”
echo “Starting wifi-radar.”
sudo wifi-radar
echo “wifi-radar end.”
sudo modprobe -r ipw3945
sudo enablecpu1
That shall work…