Während – so wie ich immer wieder lese – bei USB-UMTS/GPRS-Adaptern alles Plug&Play nach dem Anstecken funktioniert, verweigerte meine Express-Card den reibungsfreien Dienst wehemend. Zwar konnte ich mich kurzzeitig einwählen, mußte dazu die Karte aber während des Anmeldeprozesses eingesteckt haben. Da ich mich aufgrund des gut funktionierenden Sleep-Modus eigentlich nie abmelde, war dies äußerst ärgerlich.
Nach ewiger Sucherei bin ich final endlich auf den Bug #371291 im Launchpad gestoßen. Der Fehler liegt nicht bei der Karte oder irgendeinem Kernel-Modul, nein: Es darf kein Root-Terminal offen sein. Ich habe das verifiziert und es funktioniert tatsächlich einwandfrei.
Einen Workaround gibt es natürlich auch. Alexander Sack hat im Verlauf des Bugs eine korrigierte Version der NetworkManager.conf-Datei zur Verfügung gestellt:
<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<policy user="root">
<allow own="org.freedesktop.NetworkManager"/>
<allow send_destination="org.freedesktop.NetworkManager"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager.PPP"/>
</policy>
<policy at_console="true">
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.DBus.Introspectable"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.DBus.Properties"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager.AccessPoint"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager.Connection.Active"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager.Device.Cdma"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager.Device.Wired"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager.Device.Gsm"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager.Device.Serial"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager.Device.Wireless"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager.Device"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager.DHCP4Config"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager.IP4Config"/>
<allow send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager.VPN.Connection"/>
</policy>
<policy context="default">
<deny own="org.freedesktop.NetworkManager"/>
<deny send_destination="org.freedesktop.NetworkManager"/>
<deny send_destination="org.freedesktop.NetworkManager"
send_interface="org.freedesktop.NetworkManager.PPP"/>
</policy>
<limit name="max_replies_per_connection">512</limit>
</busconfig>
Einfach die bestehende Datei sichern und durch diese Einträge ersetzen. Dann stört auch ein laufendes Root-Terminal nicht mehr.