The incorrect driver has been installed for the wireless. Let's fix it:
sudo apt-get purge bcmwl-kernel-source
Now let's load the correct ethernet driver:
sudo modprobe b44
Now that the ethernet is working, install the required firmware for the wireless:
sudo apt-get update
sudo apt-get install firmware-b43-installer
After a reboot, all should be working as expected.
EXPLANATION: The installation of the driver bcmwl-kernel-source, in your specific case, the wrong driver, blacklists conflicting drivers:
blacklist b43
blacklist b43legacy
blacklist ssb
blacklist bcm43xx
blacklist brcm80211
blacklist brcmfmac
blacklist brcmsmac
blacklist bcma
The installation is supposed to determine if you have a Broadcom ethernet device and allow its driver b44 and the crucially blacklisted ssb to load nevertheless. Like most things in Linux or, for that matter, life, it usually goes perfectly and invisibly. Once in a while, it does not.
When it goes perfectly, the blacklist file is longer:
blacklist b43
blacklist b43legacy
blacklist ssb
blacklist bcm43xx
blacklist brcm80211
blacklist brcmfmac
blacklist brcmsmac
blacklist bcma
blacklist b44
install wl
modprobe -r b43 b44 b43legacy ssb; modprobe --ignore-install wl ; modprobe --ignore-install b44
That is supposed to allow the otherwise blacklisted ssb to load and bring along b44 allowing the ethernet to work. For some reason it did not install such.
Since you had the incorrect driver all along, it was quick and easy to purge bcmwl-kernel-source which also removes the blacklist-bcm43.conf file altogether. This allowed ssb, b43 (for wireless) and b44 (for ethernet) to load normally. The installation of firmware then gets your wireless working well, too.
If you're running on a SSD, you run the risk of things booting faster than the network is coming online and then you'll need to modify the following file: /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service
[Unit]
Description=Network Manager Wait Online
Documentation=man:nm-online(1)
Requires=NetworkManager.service
After=NetworkManager.service
Before=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/bin/nm-online -s -q --timeout=60
RemainAfterExit=yes
[Install]
WantedBy=network-online.target
and change the timeout from 30
to 60
. Reboot.
Update #1:
rfkill list
if this shows any blocked devices...
rfkill unblock all
and make sure that no "wireless" hardware switch, or function key, is set to "disabled".
- Edit
/etc/network/interfaces
and change...
this:
iface enp5s0f1 inet dhcp
to this:
#iface enp5s0f1 inet dhcp
- Edit
/etc/NetworkManager/NetworkManager.conf
and make sure that this line is set to false
...
[ifupdown]
managed=false
Reboot the system and retest both wired and wireless connections. Show me sudo lshw -C network
again.
Best Answer
The following bug in Ubuntu 16.10 might be related: network-manager does not manage ethernet and bluetooth interfaces when Ubuntu 16.10 is installed using chroot/netboot method
First try running the following command:
If you get the error message:
Try running the command below:
and look for a device name similar to
enp8s0
and substitute it in the original command.If the that didn't solve the problem, try running the following (backup orig file, and create 0 bytes file instead)
The reboot, or restart the Network Manager service:
or the old way: