I finally thought to, y'know, check a logfile (it's been a long time since I've done this or even cared to figure out pretty much anything on Linux) and it appears to be that dbus has somehow gotten wedged: nm_dbus_get_user_key_for_network_cb(): dbus returned an error. (org.
freedesktop.DBus.Error.LimitsExceeded) The maximum number of pending replies per
connection has been reached
Just running /etc/init.d/dbus restart made it happily unwedge itself.