It is quite frustrating when you have a wireless card built in, but you cannot use it – don’t you agree? That seems to be the case for wifi cards that are served by “iwl3945” driver. One of such examples can be “Intel Corporation PRO/Wireless 3945ABG” card.
Before, ( e.g. Feisty and earlier ) “ipw3945” driver was used instead, and worked beautifully with Intel cards. However the active development of this driver has stopped a couple of years ago, which means that security risks that were identified in the last couple of years were not patched. Therefore Ubuntu community switched to a more recent and supported “iwl3945” driver.
However that created a problem with NetworkManager that is used as a default network user interface in (Gnome) Ubuntu. It appears that in order “to be compatible with NetworkManager, a wireless driver must support both hardware and software scanning. Currently, hardware scanning is faster and more reliable and so is recommended for use with NetworkManager“. But unfortunately “iwl3945” driver does not support hardware scanning very well, however it is a default behaviour that NetworkManager expects.
But usually, and that is what I love Ubuntu for, if there is a problem, there is 99.9999% a solution to this problem. So this how to will help you solve it, and enjoy your Intel Wireless card with Ubuntu, despite of inconsiderate (in this case) NetworkManager.
1. Remove the bad guy
sudo apt-get remove network-manager |
2. Disable “iwl3945” hardware scan
sudo vi /etc/modrobe.d/iwl3945 |
enter:
alias wlan0 iwl3945 options iwl3945 disable_hw_scan=1 # <-- enables software scanning |
and save it (:wq).
At this you might want to restart or (optinal) just re-insert the module like this:
sudo modprobe -r iwl3945 sudo modprobe iwl3945 |
3. Install the good guy
Here you’ll install “the good guy” – his/her name is WICD:
Add wicd’s repository to Ubuntu sources:
sudo vi /etc/apt/sources.list |
deb http://apt.wicd.net intrepid extras |
(if you have Hardy Heron, then add “deb http://apt.wicd.net hardy extras” instead)
Update repositories
sudo apt-get update |
Install wicd “the normal Ubuntu way”:
sudo apt-get install wicd |
4. Run the good guy
wicd-client |
or restart, it should run automatically.
Happy wifying!