You are not logged in.

#1 2012-06-06 14:08:49

Firestone
Member
From: Amsterdam
Registered: 2009-07-26
Posts: 20

[SOLVED] Poor wireless connection(WPA?) after last update

I use a wireless WPA2 connection on my Thinkpad T60, which was working flawlessly until the last big update(netcfg, systemd, new kernel, etc) I performed.
First, here is my current config, as updated after the update to fit with the new netcfg standard.

rc.conf:

DAEMONS=(<left out> iptables !network @net-profiles)

/etc/conf.d/netcfg:

#NETWORKS=(menu)
NETWORKS=(@wlanHome @wlanWork)

## Specify the name of your wired interface for net-auto-wired
WIRED_INTERFACE="eth0"

## Specify the name of your wireless interface for net-auto-wireless
WIRELESS_INTERFACE="wlan0"

wlanHome:

CONNECTION="wireless"
DESCRIPTION="A wpa_supplicant configuration based wireless connection"
ESSID="MyESSID"
INTERFACE="wlan0"
SECURITY="wpa-config"
WPA_CONF="/etc/network.d/wpa_supplicant_home.conf"
IP="dhcp" 

wpa_supplicant_home.conf

### wpa_supplicant configuration file ###############################

#update_config=1

# global configuration (shared by all network blocks)
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=users

# IEEE 802.1X/EAPOL version
eapol_version=1

# AP scanning/selection
ap_scan=1

# EAP fast re-authentication
fast_reauth=1

# networks
network={
	ssid="MyESSID"
	psk=mypsk
}

After updating to the most recent systemd, which I actually do not use but I need udev, and the newest netcfg and kernel, I get the following issues. In chronological order from boot to a connection:

My driver is loaded, and wlan0 appears to be not ready

[    8.661036] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:s
[    8.661040] iwl3945: Copyright(c) 2003-2011 Intel Corporation
[    8.717930] iwl3945 0000:03:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels
[    8.717934] iwl3945 0000:03:00.0: Detected Intel Wireless WiFi Link 3945ABG
[    8.718089] iwl3945 0000:03:00.0: irq 47 for MSI/MSI-X
[    8.849617] ieee80211 phy0: Selected rate control algorithm 'iwl-3945-rs'
[   16.247700] iwl3945 0000:03:00.0: loaded firmware version 15.32.2.9
[   16.317137] ADDRCONF(NETDEV_UP): wlan0: link is not ready

Then, My system boots and I get the following error:

find: "/var/run/network//suspend/": No such file or directory

According to the wiki, this is a known bug and you can just create the directory. However, it does already exist, and it gets correctly created after boot if it doesn't. Anyway, it does not seem to give any problems, except that I did not have it before.

With my system up and running, I do not appear to have a connection. The led indicating whether it tries to connect is off too. So, I use the command(omitting lines I forgot, but the core is there):

$ netcfg wlanHome   # wpa_supplicant -i wlan0 -c /etc/network.d/wpa_supplicant_home.conf  does the same

ctrl_iface exists and seems to be in use - cannot override it
Delete '/var/run/wpa_supplicant/wlan0' manually if it is not used anymore

After deleting the file, I try again and it does connect.
From dmesg:

[  286.333845] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  288.413937] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  291.910604] wlan0: authenticate with 00:1f:33:bd:01:c7 (try 1)
[  291.910714] wlan0: deauthenticating from 00:1f:33:bd:01:c7 by local choice (
reason=2)
[  291.911019] wlan0: authenticate with 00:1f:33:bd:01:c7 (try 1)
[  291.916739] wlan0: authenticated
[  291.921285] wlan0: failed to insert Dummy STA entry for the AP (error -17)
[  291.923668] wlan0: associate with 00:1f:33:bd:01:c7 (try 1)
[  291.927818] wlan0: RX AssocResp from 00:1f:33:bd:01:c7 (capab=0x411 status=0
 aid=3)
[  291.927829] wlan0: associated
[  291.927835] wlan0: moving STA 00:1f:33:bd:01:c7 to state 1
[  291.927840] wlan0: moving STA 00:1f:33:bd:01:c7 to state 2
[  291.929500] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  292.982214] wlan0: moving STA 00:1f:33:bd:01:c7 to state 3
[  301.943222] wlan0: disassociating from 00:1f:33:bd:01:c7 by local choice (re
ason=3)
etc....

With my connection working, I noticed that it really loses the connection often, as much as twice a minute. Dmesg show it keeps disassociating and reassociating.

So, while I can fix the above in a dirty way by letting the wpa_supplicant/wlan0 be removed on every boot, and by writing a script that does a quick module remove and add, I would prefer a cleaner and more permanent solution. Any thoughts or suggestions?

Last edited by Firestone (2012-06-12 12:54:04)

Offline

#2 2012-06-10 08:48:18

msx
Member
From: solar.system/earth/ar/bue/mdp
Registered: 2010-08-08
Posts: 184
Website

Re: [SOLVED] Poor wireless connection(WPA?) after last update

While it may be a module/driver problem I encourage you to try Wicd which usually works smooth.


Enjoying i3wm w/ lifebar + j4-dmenu-desktop + tab_windows / fish shell / Emacs / tmux / Konsole / KDE apps
Arch + Linux-libre kernel: ParabolaGNULinux.org

Offline

#3 2012-06-12 12:53:18

Firestone
Member
From: Amsterdam
Registered: 2009-07-26
Posts: 20

Re: [SOLVED] Poor wireless connection(WPA?) after last update

After a good read, and some trial and error, I have discovered the cause.
My netcfg config:

NETWORKS=(@wlanHome @wlanWork)
...

Both apply to the same interface; wlan0. This causes race conditions, which leads to the issue described in the opening post. Changing it to the following fixed it:

NETWORKS=(wlanHome wlanWork)
...

Last edited by Firestone (2012-06-12 12:53:39)

Offline

#4 2012-06-29 09:42:20

jouke
Member
Registered: 2009-10-14
Posts: 72

Re: [SOLVED] Poor wireless connection(WPA?) after last update

Instead of backgrounding all your profiles (which indeed causes race conditions if multiple profiles use the same interface), you can background net-profiles in rc.conf:

DAEMONS=(... @net-profiles ...)

You'll have the benefits of a backgrounded startup, without the drawbacks of interfering profiles. The only catch is that daemons after net-profiles can no longer be sure to have a working network, but in case you background all your profiles that is not the case anyway.

Offline

Board footer

Powered by FluxBB