Gnome, NetworkManager, and FireFox/IceWeasel 3 starting in Offline mode (also: Pidgin Waiting for network connection)
19th July 2008
For some reason, my IW 3 is now starting in Offline mode each time, despite my attempts to remove that checkbox every time. Also, Pidgin says “Waiting for network connection” in the status drop-down.
as suggested by Donny Kurnia (based on the recent post by Hobgoblin), the simplest and the most correct way to fix the problem for FireFox/IceWeasel is to go to about:config and set toolkit.networkmanager.disable to true.
The simplest workaround for Pidgin is to open Accounts -> Manage, then remove and then set again the checkbox near the account you wish to get connected. This has to be done every time you start pidgin .
Below you will find other (worse and obsolete – for FireFox/IceWeasel, but good for Pidgin) solutions.
Little research had shown that the simplest solution is to disable FireFox’s/IceWeasel’s feature to auto-detect if Internet connection is available: go to about:config, find browser.offline-apps.notify and set it to false. After this, FireFox/IceWeasel 3 will no longer try to check if you have Internet connection.
However, this is not a good solution, because auto-detection generally improves user experience (e.g. by automatically using cached page versions for tabs open at startup). The actual reason (in many cases) is the network detection by the NetworkManager – it reports “no connection” although connection is present (bug report).
The simple solution (and, possibly, the best solution for Pidgin) is to disable (or even remove) NetworkManager. On Debian, this can easily be done by following these steps:
- sudo aptitude install sysv-rc-conf
- sudo sysv-rc-conf
- find the service named network-manager, highlight it in the 2nd column (for runlevel 2); press – (minus) to stop the service, then press space to uncheck it (thus disabling automatic start), then press q to quit sysv-rc-conf
This should have an immediate effect, but Pidgin restart might still be required.
Another simple solution (without disabling/removing NetworkManager) is to disallow NetworkManager to notify other desktop applications about the presence of the internet connection (slightly edited; note: might be no longer a good option for Debian Squeeze, but should still work for Lenny):
Open the terminal/konsole (Applications–>Accessories—>Terminal), and type gksudo gedit /etc/dbus-1/system.d/NetworkManager.conf (note: path might differ for your Linux distribution – try locate NetworkManager.conf). Then replace all lines
< allow send_interface="org.freedesktop.NetworkManager"/ >
< deny send_interface="org.freedesktop.NetworkManager"/ >
Save the changes and either reboot or just stop/kill/restart the running instance of NetworkManager. This change will stop NetworkManager from notifying FireFox/IceWeasel and other desktop applications about the presence/absence of internet connection – and FireFox will no longer start in Offline mode.
The even better solution would be to make NetworkManager detect the availability of connection properly. However, I did not dig deep enough to find how to do that – comments and better solutions are welcome.
One of the more complicated solutions (and still not a perfect one) was also found at Ubuntu forums (slightly edited for contextual clarity):
I am using USB modem to connect to internet and the Offline mode issue was also bothering me after upgrading to Firefox 3.
The solution I have found was: disable Network Applet from System -> Preferences -> Sessions, and add the following lines to the file “/etc/network/interfaces”:
iface eth0 inet dhcp
Thus, I guess, Firefox believes that eth0 (i.e. ethernet card) is active, although Internet connection is established via ppp0 (i.e. USB modem).