Project

General

Profile

Bug #5558

Infinite cycling with Wifi configure in Infrastructure mode + WPA2 + DHCP.

Added by Emmanuel Bourgin almost 4 years ago. Updated 27 days ago.

Status:
Duplicate
Priority:
Normal
Assignee:
-
Category:
Interfaces
Target version:
-
Start date:
12/01/2015
Due date:
% Done:

0%

Estimated time:
Affected Version:
2.2.5
Affected Architecture:

Description

Pfsense Tested version : 2.2.5
Hardware : APU1D
Wifi : Compex WLE200NX a/b/g/n miniPCI express radio card / Chipset Qualcomm Atheros AR9280

Tested configuration :
Interface Ath0 (Wifi card) assigned to WAN interface.
IPv4 configuration : DHCP
IPv6 configuration : None
Standard : auto
Channel : Auto
transmit antenna : #1, receive antenna #2
Mode : Infrastructure
SSID : XXXXX
Minimum wireless standard : any
Enable WPA : checked
PSK : ############
WPA mode : WPA2
WPA Key management : Pre-Shared Key
Authentication : Open System Authentication
WPA Pairwise : AES

Expected behaviour:
Ath0 connect to Wifi as a client and get DHCP address.

Observed behaviour:
Ath0 interface flap indefinitively (Down, UP, Down...).
From the access point perspective, the pfsense appears to reconnect indefinitively (connection successfull).

Problem analysis:
When interface goes UP, pfsense call /etc/rc.linkup script.
/etc/rc.linkup calls method interface_configure() which calls interface_wireless_configure() which reconfigures wpa_supplicant.
Reconfiguring wpa_supplicant make the interface goes DOWN for a bit.
When the interface goes UP again, pfsense call again the /etc/rc.linkup script, which reconfigure wpa_supplicant and make the interface goes DOWN again. Indefinitively cycling.

Problem solving
I was able to solve the problem for my specific case by patching /etc/rc.linkup to avoid reconfiguring the link in case of the interface which goes up is my wireless interface.

case "up":
log_error("DEVD Ethernet attached event for {$iface}");
log_error("HOTPLUG: Configuring interface {$iface}");
require_once("vpn.inc");
require_once("captiveportal.inc");
// Do not try to readd to bridge otherwise em(4) has problems
+ $realiface = get_real_interface($iface);
+ if (substr($realiface, 0, 4) != "ath0") { //my wireless interface name start with 'ath0'
interface_configure($iface, true, true);
+ }
+ else {
+ mwexec("/ect/rc.newwanip"); //rc.newanip manage reconfiguration of the interface if something is wrong.
+ }
break;
}

This appears to completely solve my issue. I have made several tests which were all successfull (reconfigure interface, change wifi network, re-assign interface, reboot etc...).

History

#1 Updated by Jim Pingle 27 days ago

  • Status changed from New to Duplicate

Duplicate of #7960 (which has been fixed for a couple years now)

Also available in: Atom PDF