Comment puis-je résoudre les problèmes de connection wifi entre Arch Linux et un réseau WPA2?

Mon réseau domestique utilise WPA2 pour le encryption. Pour me connecter à partir de mon installation d'Arch Linux, j'ai d'abord essayé d'utiliser NetworkManager, qui n'a réussi à se connecter qu'une minute au maximum avant de quitter la connection.

Je l'ai remplacé par wicd, qui a fonctionné de manière satisfaisante jusqu'à un peu plus récemment. Depuis lors, s'il échoue à établir la connection au démarrage, ou s'il perd la connection, il ne sera pas en mesure d'établir une connection. Tenter de se reconnecter avec l'interface graphique ralentit tellement le système que je dois passer de X à un tty et tuer le process. L'interface curses est incapable d'établir une connection dans ces circonstances, mais n'altère pas les performances du système.

Redémarrer le démon ne suffit pas à le réparer de l'état bugué. Je dois éteindre et rallumer le système.

L'installation de Windows sur le même ordinateur portable souffre de problèmes de connectivité intermittents (c'est un routeur ISP craquant alimentant le réseau), mais récupère à partir d'eux, ne nécessitant que de se reconnecter au réseau. Avant d'utiliser Arch Linux, j'avais l'habitude d'utiliser Ubuntu comme la dissortingbution Linux sur l'ordinateur portable, et cela avait les mêmes résultats que Windows.

Ce qui pourrait être à l'origine de ce problème (que je soupçonne d'être lié au problème précédent de NetworkManager), et comment puis-je le résoudre?

Pour ce que ça vaut, ma carte réseau sans fil est un broadcom BCM4312, et il utilise les pilotes b43.

EDIT : Tenter d'exécuter wpa_supplicant alors que wicd est incapable de se connecter produit cette sortie:

ioctl [SIOCSIWSCAN]: périphérique ou ressource occupé
Impossible d'initier l'parsing AP.
ioctl [SIOCSIWSCAN]: périphérique ou ressource occupé
Impossible d'initier l'parsing AP.
Aucune configuration réseau trouvée pour l'AP actuel
CTRL-EVENT-DISCONNECTED bssid = 00: 00: 00: 00: 00: 00 raison = 0
ioctl [SIOCSIWSCAN]: périphérique ou ressource occupé
Impossible d'initier l'parsing AP.

Autre édition : Le problème est beaucoup plus susceptible de se produire lorsque le système fonctionne sur batterie, mais peut encore se produire lorsqu'il est branché.

EDIT 3 : Ceci est presque certainement lié aux options d'économie d'énergie. En accordant plus d'attention, cela se produit toujours lorsque le système fonctionne sur batterie, lorsqu'il a été laissé seul pendant une période de time importante ou lorsque le couvercle est fermé.

Vous pouvez commencer en exécutant wpa_supplicant manuellement sans l'option -B: il restra au premier plan et vous montrera ce qui se passe. Le wiki Arch a une bonne section sur wpa_supplicant