Bug #927
closed3G modem rendered un-usable by forced cycling of connection
0%
Description
My 3G modem (USB Mercury connect) gets locked up when function interface_configure is called and the modem is already connected.
This piece of code was added recently to the function interface_configure:
switch ($wancfg['ipaddr']) { case 'pppoe': case 'l2tp': case 'pptp': case 'ppp': interface_bring_down($interface, true); break; default: interface_bring_down($interface); break; } }
The function interface_ppps_configure is already written to gracefully bring down the interface and wait for the disconnect protocol to finish before it starts it again (by using the -k command line switch for mpd5.)
This new code in function interface_configure doesn't wait for the disconnect protocol to finish before it restarts mpd5, and the modem locks up as a result. Only rebooting or disconnecting the modem will allow it to work again. Sometimes only rebooting will allow it to work again.
Problem starts here I think.
commit 990fb7a9a9b03f744c56792011f1c1e2950ce764
Author: Ermal <eri@pfsense.org>
Date: Wed Sep 1 12:13:46 2010 +0000
Ticket #867. Do not destory interfaces other than preventing a loop for ppp interfaces during interface configuration.
commit fb2f0db170874ecfdb787190a33d535e2971ad79
Author: Erik Fonnesbeck <efonnes@gmail.com>
Date: Fri Sep 3 18:49:32 2010 -0600
Revert "Ticket #867. Do not destory interfaces other than preventing a loop for ppp interfaces during interface configuration."
This reverts commit 990fb7a9a9b03f744c56792011f1c1e2950ce764.
commit 3896d93ec5b2d28ed4f6fdbcfbfc032ddf9c564d
Author: Erik Fonnesbeck <efonnes@gmail.com>
Date: Fri Sep 3 18:58:45 2010 -0600
Do this check earlier rather than later, instead of moving the interface_bring_down call.