Wicd, Dbus, and HAL.
EDIT: May be fixable by just switching the wireless channel on your router.
EDIT: I have been completely living under a rock during the time of this writing. HAL has long been deprecated. Kick it out of your system.
Just wanted to share. If you’re having problems with Wicd randomly disconnecting at times, make sure dbus is loaded before hal, and of course, wicd.
But wait, wasn’t that pointed out in Arch’s wiki?
Yes, but here’s the story:
A few days ago, after an update, I lost the ability to restart/poweroff my system with ConsoleKit (the options you get when you click logout and shit). I started experimenting with, dbus, then with the session manager, then with my startx startup script.
I removed dbus from the daemons array, reinstalled my session manager, modified/updated my startx file with the changes in the wiki. Still nothing.
Apparently, it was fixed with an update. And all my precious time trying to fix it was lost.
As you might have guessed, I forgot to add dbus again to the daemons array. This caused an epic amount of wicd disconnects and reconnects, wicd daemon restarts, and broken brain cells as I banged my head onto the wall. Simply adding dbus again made it work flawlessly.
If you’re wondering why I deliberately removed dbus, it’s because HAL automatically launches it. I didn’t really consider the possibility of stuff working like shit after not starting the dbus daemon.
Wasted time. Again.