The Intel wireless card 4965 AGN does not work properly on ad-hoc networks since hardy and kernel 2.6.24 or around, network-manager can’t get it to use the mode ad-hoc and a standard configuration like:
$ sudo iwconfig wlan0 essid myessid mode ad-hoc channel X key s:mykey13charss
$ sudo dhclient wlan0
will fail to get an ip except a long battle at dhclient’ing around.
I managed to get a process to get things working faster.
First of all, you need to deactivate the wireless functionnality of network-manager. Then, use the script attached to this post and edit the variables accordingly to your needs and finally run it.
Please note that by unloading/loading the modules, the module might backtrace/lock your system up and thus you will need to restart your machine. You might want to contribute to this bug: http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1689 to get things working.
I usually have to run it only once, but by time, I will not get an ip after the script has completed and will need to run it a second time.
This get me working on a dell xps using the following wireless adapter:
$ lspci -s 0c:00.0 0c:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN Network Connection (rev 61)
Even though it is tested on an intel 4965 using the kernel module iwl4965:
$ modinfo iwl4965 filename: /lib/modules/2.6.24-19-generic/ubuntu/wireless/iwlwifi/iwlwifi/compatible/iwl4965.ko license: GPL author: Copyright(c) 2003-2007 Intel Corporation version: 1.2.0 description: Intel(R) Wireless WiFi Link 4965AGN driver for Linux srcversion: BFF70BD669F5E9D76F2C9C1 alias: pci:v00008086d00004230sv*sd*bc*sc*i* alias: pci:v00008086d00004229sv*sd*bc*sc*i* depends: iwlwifi_mac80211 vermagic: 2.6.24-19-generic SMP mod_unload 586 parm: antenna:select antenna (1=Main, 2=Aux, default 0 [both]) (int) parm: disable:manually disable the radio (default 0 [radio on]) (int) parm: hwcrypto:using hardware crypto engine (default 0 [software]) (int) parm: debug:debug output mask (int) parm: disable_hw_scan:disable hardware scanning (default 0) (int) parm: queues_num:number of hw queues. (int) parm: qos_enable:enable all QoS functionality (int)
I believe this can be applied again iwl3945 as well.
If it gets you sorted with another model of intel card, please leave a comment and I will update the post.
hope this helps!