Sorry, I don't have any solutions.
"journalctl" is the tool to view the systems (systemd) logs.
"man journalctl" for some info. A good site to learn and see examples ishttps://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs
For your problem
If you have gotten to a tty via Ctl-Alt-F1 (or F2, etc.) you can look at what happened recently via
"journalctl -n 50" ## which would show the last 50 lines of logs.
If you had to reboot "journalctl -b -1 -n 150" ## more lines because of all the shut down procedures.
and for seeing what is not working "journalctl -b -0 | grep ailed" which would should show you lines containing "Failed" or "failed" Example from me is
journalctl -b -0 | grep ailed
Dec 13 16:46:49 raunes systemd-udevd: Process '/usr/sbin/alsactl -E HOME=/run/alsa restore 0' failed with exit code 99.
Dec 13 16:46:49 raunes systemd-udevd: Process '/usr/sbin/alsactl -E HOME=/run/alsa restore 1' failed with exit code 99.
Dec 13 16:46:50 raunes minissdpd: Failed to add IPv4 multicast membership for interface 0.0.0.0.
Dec 13 16:46:52 raunes kernel: vboxdrv: module verification failed: signature and/or required key missing - tainting kernel
Dec 13 16:46:53 raunes colord: failed to get session [pid 600]: No such device or address
For your internet - if you have "ifupdown" you can take your network all the way down with "ifdown blah" and then back up with "ifup blah". blah can be found via ifconfig.
Network-manager is a large big thing, but fairly well maintained. You might want to look at the Debian Bug Tracker page for network-manager. Wicd is imho not well maintained these days. It has fewer developers keeping up with the changes. Your main choices are networkmanager or connman or some command line ways. There has been some changes in iptables, etc. in November. Since you have the same problems with network-manager and wicd, I would suggest going back to network-manager.