Usually my wireless setup at home works flawlessly. I can use it for hours, even days at a time without any problems at all. A couple of times, though, I experienced that while transferring large files the wlan interface reset, and even more disturbing, that the configuration file describing the interface had been changed, preventing the interface from coming up correctly in the future.
Specifically, I found that the parameters WIRELESS_ESSID, WIRELESS_KEY and WIRELESS_KEY_LENGTH in /etc/sysconfig/network/ifcfg-eth1 were changed from their correct values.
A little digging with strace, after a wild goose chase with the Linux auditing system (when will filesystem watches be correctly implemented, anyway?), revealed that the culprit was GNOME's netapplet/netdaemon. A quick scan of the netdaemon code showed that under certain circumstances, like if netdaemon believes the wireless ap's hardware address is not valid, netdaemon will edit the ifcfg file for the wireless interface, reset the above mentioned parameters, then down and up the interface.
At that point I stopped investigating the problem, and simply removed netapplet from my system. I don't really need those fancy signal strength bars - I can always check it manually with iwconfig, so I don't consider it a big loss.
It could be that the real cause of the problem was the wireless driver, ipw2200. Something was making netdaemon believe that the interface was incorrectly configured. But whatever it was, it was only temporary. After disabling netdaemon, I am able to transfer large files all day long without any problems. In my opinion, netdaemon has no business modifying the interface configuration, at least not without it being properly documented, and preferably configurable.
Originally written: 2006-03-25
Last update: 2006-03-26