Ubuntu 20.04 lagging and behaving badly after I halted an update midway. Also, internet dongle & tethering are not detected

In my Ubuntu Software Updater, I ticked some random updates that were available and clicked 'install'. But midway during the downloads I cancelled the update and powered off my system. Until before I powered off my system everything was working fine, and by that I mean: my internet and sound controls in system menu. Also there were no lags.

When I reopen my system, I see the following problems:

✔ System Menu Icons and System Menu Drop Down are all messed up.

enter image description here

✔ Some system menu icons (including the sound icon) are not visible.

✔ The system menu volume bar doesn't seem to have any effect on the volume. Although the speakers seem to be working, because they produce sound when I play some movie or mp3.

✔ When I open the system setting, it lags very badly and becomes unresponsive every now and then upon clicking.

✔ The sound settings inside system settings are all blank.

✖ Doesn't connect to internet when I insert my dongle. Also I am unable to connect via mobile tethering.

enter image description here

I have no idea how I should proceed to solve these problems, please help.

UPDATE 1

  • I went ahead with the live boot chroot method as described in the link provided by raffa and then I did a full update+upgrade as instructed here by user535733. This did not fix any of the problems at first.

  • I investigated my system services using systemctl and found that [email protected] was failing to start. Then I looked up the problem and found a solution here. I used it along with the live boot method. This fixed the lag in the system settings.

  • However, the sound settings are still blank, system menu is still messed up, and I can't connect to the internet by any means.

  • Upon further investigation, I found that I have a number of services marked as 'not-found' in systemctl. I have listed them below. I highly suspect that these missing services are causing the problem. Is there any way to fix these services?

$ systemctl --state=not-found

  UNIT                           LOAD      ACTIVE   SUB  DESCRIPTION                   
● tmp.mount                      not-found inactive dead tmp.mount                     
● auditd.service                 not-found inactive dead auditd.service                
● connman.service                not-found inactive dead connman.service               
● console-screen.service         not-found inactive dead console-screen.service        
● firewalld.service              not-found inactive dead firewalld.service             
● kbd.service                    not-found inactive dead kbd.service                   
● oem-config.service             not-found inactive dead oem-config.service            
● plymouth-quit-wait.service     not-found inactive dead plymouth-quit-wait.service    
● plymouth-quit.service          not-found inactive dead plymouth-quit.service         
● plymouth-start.service         not-found inactive dead plymouth-start.service        
● slapd.service                  not-found inactive dead slapd.service                 
● sssd.service                   not-found inactive dead sssd.service                  
● systemd-update-done.service    not-found inactive dead systemd-update-done.service   
● systemd-vconsole-setup.service not-found inactive dead systemd-vconsole-setup.service
● ua-auto-attach.service         not-found inactive dead ua-auto-attach.service        
● xfs.service                    not-found inactive dead xfs.service                   
● all.target                     not-found inactive dead all.target                    
● display-manager.target         not-found inactive dead display-manager.target        
● x-display-manager.target       not-found inactive dead x-display-manager.target      

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

19 loaded units listed.

Request: I'd really like to fix this problem if possible because doing an OS reinstall is just not feasible for me right now. Any little guidance will be of great help.

UPDATE 2

  • I did as instructed by @Raffa, and it worked! 🥳🥳🎉🎉🎉

Most of the output in your systemctl --state=not-found is usual ... I would suggest reinstalling ubuntu-desktop like so sudo apt install --reinstall ubuntu-desktop

This fixed the messed up system menu icons and drop-down and also the blank sound settings problem.

  • My internet dongle and tethering aren't connecting yet. There's seems to be some problem with usb_modeswitch.
$ systemctl --failed
  UNIT                           LOAD   ACTIVE SUB    DESCRIPTION           
● [email protected] loaded failed failed USB_ModeSwitch_2-1.5.4
● vboxweb.service                loaded failed failed VirtualBox Web Service

$ systemctl status [email protected] --no-pager
● [email protected] - USB_ModeSwitch_2-1.5.4
     Loaded: loaded (/lib/systemd/system/[email protected]; static; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sun 2021-07-04 21:05:57 IST; 22min ago
       Docs: man:usb_modeswitch_dispatcher(1)
    Process: 1842 ExecStart=/usr/sbin/usb_modeswitch_dispatcher --switch-mode 2-1.5.4 (code=exited, status=1/FAILURE)
   Main PID: 1842 (code=exited, status=1/FAILURE)

Jul 04 21:05:57 hcl-desktop systemd[1]: Starting USB_ModeSwitch_2-1.5.4...
Jul 04 21:05:57 hcl-desktop usb_modeswitch_dispatcher[1842]: Could not read attribute: No such file or directory
Jul 04 21:05:57 hcl-desktop usb_modeswitch_dispatcher[1842]: Could not read attribute: No such file or directory
Jul 04 21:05:57 hcl-desktop usb_modeswitch_dispatcher[1842]: Could not read attribute: No such file or directory
Jul 04 21:05:57 hcl-desktop systemd[1]: [email protected]: Main process exited, code=exited, status=1/FAILURE
Jul 04 21:05:57 hcl-desktop systemd[1]: [email protected]: Failed with result 'exit-code'.
Jul 04 21:05:57 hcl-desktop systemd[1]: Failed to start USB_ModeSwitch_2-1.5.4.

I tried to fix it by a force reinstall, but to no avail.

Since doing a sudo apt install --reinstall ubuntu-desktop fixed a lot of issues, I wonder if we can fix the rest by doing a reinstall of all the essential system applications and services. In which case, please tell me which services I should reinstall.

UPDATE 3

  • Again, it turned out that the problem wasn't with usb-modeswitch, it's usual for it to show a 'failed' status even in normal conditions. I checked it in a live boot session where my dongle and tethering were working fine, yet usb-modeswitch showed a 'failed' error in systemctl. So, I think that's sufficient to rule out modeswitch as a culprit for the problem at hand.

New Findings

  • Doing an lshw shows DISABLED written against my networks and link=no in each of them, whereas under normal circumstances (e.g. proper working internet on a live boot), the word DISABLED is absent and link=yes. Any ideas how we might resolve this?
$ lshw -C network

  *-network:0 DISABLED  <---------------------- Dongle
       description: Ethernet interface
       physical id: 1
       bus info: usb@2:1.6.4
       logical name: enxfcde56ff0106
       serial: fc:de:56:ff:01:06
       capabilities: ethernet physical
       configuration: broadcast=yes driver=rndis_host driverversion=22-Aug-2005 firmware=RNDIS device link=no multicast=yes
       
  *-network:1 DISABLED  <---------------------- Tethered phone
       description: Ethernet interface
       physical id: 2
       bus info: usb@2:1.5
       logical name: usb0
       serial: ea:af:19:e2:c4:6c
       capabilities: ethernet physical
       configuration: broadcast=yes driver=rndis_host driverversion=22-Aug-2005 firmware=RNDIS device link=no multicast=yes
  • also my network settings appear as such

enter image description here


  1. Never, ever do that. Now you know why.

  2. Run sudo apt update and sudo apt upgrade

  3. If that doesn't fix your problem, then reinstall Ubuntu.