Bug #5558
closedInfinite cycling with Wifi configure in Infrastructure mode + WPA2 + DHCP.
0%
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...).
Updated by Jim Pingle over 4 years ago
- Status changed from New to Duplicate
Duplicate of #7960 (which has been fixed for a couple years now)