5

My home network uses WPA2 for encryption. To connect to it from my Arch Linux insallation, I first tried using NetworkManager, however, that only managed to connect for a minute at most before dropping the connection.

I replaced it with wicd, which worked satisfactorily until somewhat recently. Since then, if it fails to establish the connection at startup, or if it loses connection, it will be unable to establish a connection. Attempting to reconnect with the GUI slows the system down so much that I have to switch from X to a tty and kill the process. The curses interface is unable to establish a connection in these circumstances, but doesn't impair system performance.

Restarting the daemon is not enough to fix it from the bugged state. I need to power the system off and on again.

The windows installation on the same laptop does suffer some intermittent connectivity problems (it's a crappy ISP router powering the network), but recovers from them, only requiring reconnecting to the network. Prior to using Arch Linux, I used to use Ubuntu as the Linux distro on the laptop, and that had the same results as Windows.

What could be causing this problem (which I suspect may be related to the earlier NetworkManager problem), and how can I resolve it?

For what it's worth, my wireless network card is a broadcom BCM4312, and it is using the b43 drivers.

EDIT: Attempting to run wpa_supplicant while wicd is unable to connect produces this output:

ioctl[SIOCSIWSCAN]: Device or resource busy
Failed to initiate AP scan.
ioctl[SIOCSIWSCAN]: Device or resource busy
Failed to initiate AP scan.
No network configuration found for the current AP
CTRL-EVENT-DISCONNECTED bssid=00:00:00:00:00:00 reason=0
ioctl[SIOCSIWSCAN]: Device or resource busy
Failed to initiate AP scan.

Further edit: The problem is significantly more likely to occur when the system is running on battery power, but can still occur while it is plugged in.

EDIT 3: This is almost certainly related to power saving options. Paying more attention, this always occurs when either the system is running on battery power, when it has been left alone for a significant period of time, or when the lid is closed.

2
  • "my wireless network card is a broadcom" -- uh oh :) Commented Dec 2, 2010 at 19:38
  • I know :( But, I can't change it, so I have to live with it.
    – Macha
    Commented Dec 2, 2010 at 19:39

2 Answers 2

0

You can start by running wpa_supplicant manually without the -B option: it will stay in the foreground and show you what's happening. The Arch wiki has a good section on wpa_supplicant

1
  • Edited into the question.
    – Macha
    Commented Dec 4, 2010 at 14:26
0

Disable Power Management for the Wireless Card:

  • Open a terminal and run the following command to create the configuration file:
    sudo nano /etc/NetworkManager/conf.d/wifi-powersave-off.conf
    
  • Add the following lines to the file:
    [connection]
    wifi.powersave = 2
    
  • Save the file by pressing Ctrl + O, then exit the text editor by pressing Ctrl + X.
  • Restart the NetworkManager service with the command:
    sudo systemctl restart NetworkManager
    

Adjust Power Management Settings:

  • Create or edit the configuration file:
    sudo nano /etc/modprobe.d/b43.conf
    
  • Add the following line to the file:
    options b43 btcoex=0 qos=0
    
  • Save the file by pressing Ctrl + O, then exit the text editor by pressing Ctrl + X.

Reboot your system.

Update Firmware and Drivers:

  • Check for any available updates for the Broadcom BCM4312 wireless card's firmware and drivers. Follow the appropriate instructions to install them.

Disable Hardware Encryption:

  • Edit the configuration file:
    sudo nano /etc/modprobe.d/b43.conf
    
  • Add the following line to the file:
    options b43 nohwcrypt=1
    
  • Save the file by pressing Ctrl + O, then exit the text editor by pressing Ctrl + X.

Reboot your system.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .