On UB20.10, with an LTE stick, SIM with pin code and Network Manager configured to automatically connect and remember the SIM pin, we see the expected behaviour, ie LTE connectivity is established ~30s after the LTE stick is inserted.
In the process, the Budgie Network Applet pops open a dialog asking for the SIM pin [1], even though it isn’t needed and Network Manager has it stored and connects happily.
I see GitHub Issues are disabled in the applet repo [2], so let me know if I should log the issue elsewhere. Is anyone familiar with the related code? I’m happy to build and test changes.
Thanks,
Dan
[1]
[2] https://github.com/UbuntuBudgie/budgie-network-applet
To be honest, this sounds to be an edge case that can only be resolved with someone who has your hardware.
As a workaround you can remove the network applet and add the system tray applet. Logout and login. This should show the legacy network applet in the system tray.
Or, how can I print/log the function values in src/Widgets/ModemInterface.vala [1]? This could reveal the source of the interaction.
Dan
– [1]
public ModemInterface (NM.Client nm_client, NM.Device? _device) {
device = _device;
modem_item = new Network.Widgets.Switch (display_title);
notify["display-title"].connect (() => {
modem_item.caption = display_title;
});
modem_item.get_style_context ().add_class ("h4");
modem_item.notify["active"].connect (() => {
if (modem_item.active && device.state == NM.DeviceState.DISCONNECTED) {
nm_client.activate_connection_async.begin (null, device, null, null, null);
} else if (!modem_item.active && device.state == NM.DeviceState.ACTIVATED) {
device.disconnect_async.begin (null, () => { debug ("Successfully disconnected."); });
}
});
add (modem_item);
device.state_changed.connect (() => { update (); });
prepare.begin ();
}
public override void update () {
switch (device.state) {
case NM.DeviceState.UNKNOWN:
case NM.DeviceState.UNMANAGED:
case NM.DeviceState.UNAVAILABLE:
case NM.DeviceState.FAILED:
modem_item.sensitive = false;
modem_item.active = false;
state = State.FAILED_MOBILE;
break;
case NM.DeviceState.DISCONNECTED:
case NM.DeviceState.DEACTIVATING:
modem_item.sensitive = true;
modem_item.active = false;
state = State.FAILED_MOBILE;
break;
case NM.DeviceState.PREPARE:
case NM.DeviceState.CONFIG:
case NM.DeviceState.NEED_AUTH:
case NM.DeviceState.IP_CONFIG:
case NM.DeviceState.IP_CHECK:
case NM.DeviceState.SECONDARIES:
modem_item.sensitive = true;
modem_item.active = true;
Generally when debugging applets I just add message statements into the code such as message("Failed to run : %s", e.message);
or message("Got this far!");
- when you restart the panel you see those print statements appear in the terminal
budgie-panel --replace &