Slow 10.3.7 login workaround, Part 2
This is Part 2 of my post. Read Part 1 first, please!
Ok, now to get things set up for the workaround (so you can login fast AND connect to the Internet):
- Open System Preferences.
- Select Network.
- From the Show menu, select Network Port Configurations
- Check the boxes only for the methods you use to connect to the Internet. Choose as few as possible, leaving methods you never or seldom use unchecked. (You can always go back and check more checkboxes later when special circumstances or a permanent change in your setup warrant it.)
- If you connect by Bluetooth modem: From the Show menu, select USB Bluetooth Modem Adaptor, then click Bluetooth Modem tab, then check the two checkboxes for "Show Bluetooth status in menu bar" and "Show modem status in menu bar."
- If you connect by PPP over Ethernet: From the Show menu, select Built-in Ethernet, then click PPPoE tab, then check the "Show PPPoE status in menu bar" checkbox.
- If you connect by AirPort: From the Show menu, select AirPort, then click AirPort tab, then check the "Show AirPort status in menu bar" checkbox.
- If you connect by the Internal Modem: From the Show menu, select Internal Modem, then click Modem tab, then check the "Show modem status in menu bar" checkbox. If you want to use the Internal Modem as a secondary option, i.e., a second checked checkbox under Network Port Configurations to be used only when you main way of connecting is not working, then also click PPP tab, then the PPP Options button, and then UNcheck "Connect automatically when needed" (and click OK).
- And (of course) if you connect some other way not listed here, check the box for it under Network Port Configurations, then select it from the Show menu, and if there is a way to show its status in the menu bar, turn that on.
In my case, I normally connect with AirPort and use Internal Modem as a alternative method, keeping just those two boxes checked under Network Port Configurations. (Since using 10.2.x I had been leaving "Built-in Ethernet" unchecked unless I was actually connected to Ethernet; I had discovered this helped a lot with a slow startup issue--the OS startup BEFORE login.) In addition to keeping "Connect automatically when needed" unchecked for the Internal Modem, I also use the 56K modem in my AirPort base station and, using the AirPort Admin Utility application, under the Internet tab, with Connect Using Modem (v.90), I keep "Automatically dial" unchecked.
Now, I'll let you adapt the following workaround to your own configuration, but here's what I will be doing:
- Before logging out the last (or only) logged-in user, or before doing a Restart or Shut Down, use the AirPort menu (which, above, was set to be shown in the menu bar) to select "Turn AirPort Off." (You should understand that this doesn't turn off the base station itself; it just turns off the connection to the base station in that one computer. And if you are using the AirPort base station's modem, it will not automatically disconnect when you "Turn AirPort Off," so you may want to Disconnect, then Turn AirPort Off, THEN Log Out or Restart or Shut Down. But disconnecting isn't necessary if you will be logging back in and continuing to use the Internet.) In fact, Turn AirPort Off isn't necessary if you are sure you will be logging in again before the Internet connection is broken, because there is NO slow login problem if you are already connected to the Internet BEFORE you log in!
- Likewise, when one or more users are already logged in, before an additional user logs in, select "Turn AirPort Off." Alternatively, use a currently logged in user to connect to the Internet, then log the additional user(s) in.
- AFTER user(s) have logged in, simply select "Turn AirPort On."
When switching between users already logged in, you won't need to do any of this. When previously logged-in users enter their password during fast user switching, it is not a "full" login, and does not trigger the attempt-to-connect delay. At least not in 10.3.7. (If you are the pessimistic type, assume it will be a "feature" added in the future.)
You can "Turn AirPort Off" and turn it back on without losing mounted network volumes and so on. Of course, you should make sure you "Turn AirPort On" before you try to access files on a network volume or do any type of Internet access; as indicated above, I suggest you "Turn AirPort On" immediately after login.
HERE'S A COOL TIP I JUST DISCOVERED: If you forget to do the "Turn AirPort Off" ahead of time and get stuck in a slow login, you can select "Turn AirPort Off" DURING THE LOGIN WAIT! Yes, once the AirPort menu appears in the upper right of the display (even though the menu bar background is not there yet) the AirPort menu is functional, and you can "Turn AirPort Off" and reduce your waiting time for login to complete. Once login is complete, you can immediately "Turn AirPort On."
People connecting with methods other than AirPort will have to do some of their own testing of the options and consequences for turning their connection off and back on, whether using a menu bar icon or the Network panel in System Preferences.
By the way, the same thing works for Help. Turn AirPort Off, then open Help (with Apple-? or from a Help menu), then Turn AirPort On.
One thing to observe about connections using the modem built into a AirPort base station:
- Open System Preferences.
- Select Network.
- From the Show menu, select Network Status
- You will probably see AirPort status saying "You are connected to the Internet via AirPort," because you are probably connected as you read this.
- If you Turn AirPort Off, you will see "AirPort is currently off."
- Now, here's something that exposes the problem: When AirPort is ON, but the AirPort modem is NOT connected, the status will STILL SAY "You are connected to the Internet via AirPort." So the software has no easy way of detecting that the modem is not connected, not to mention whether the "Automatically dial" option is turned off. This problem is not new in recent OS X versions; as I said earlier, it has affected the Help application for a long time.
I don't know WHY 10.3.7 tries to connect to the local network and/or the Internet during login (other than to auto-mount network volumes), but that's the reason for the slowdown!
The fact that 10.3.7 tries to connect is not the problem (there's probably no privacy or security issue); the software's inability to QUICKLY determine that connecting is impossible IS the problem. This problem has come about due to all the Apple engineers using always-on Internet connections, and therefore neglecting to design for users who aren't always connected. All that is required to fix this is a mechanism in the OS that lets software check the connection status in an accurate way, i.e., in a way that can distinguish between at least THREE network and/or Internet connection states: (1) "connected (to the Internet)" vs. (2) "not connected but possible to automatically connect" vs. (3) "not connected and NOT possible to automatically connect." To be even more rigorous, it should be possible to recognize two additional, more specific, states: (4) "connected to a local network, and NOT connected to the Internet, but possible to automatically connect" and (5) "connected to a local network, but NOT connected to the Internet and NOT possible to automatically connect." Unfortunately, configurations like my AirPort setup currently let applications think they should be able to access or connect to the Internet when they really cant. This business of taking 3 to 10 minutes to determine that connecting is not possible is intolerable and has to be fixed ASAP by Apple.
I hope many people will find this information helpful until Apple gets around to giving "non-always-on" users proper consideration. If anyone who reads this this knows the right person(s) at Apple to forward it to, please do so.