Ubuntu – Ubuntu 14.04 Ethernet and Wifi not working (unclaimed network)

14.04driversethernetnetworking

I'm having a problem that seems to be a common issue for new Ubuntu installations (as in http://ubuntuforums.org/showthread.php?t=2260232), but none of the posted solutions work for me. I replaced Windows XP on a Dell Inspiron 6400 laptop (32-bit) with Ubuntu 14.04.4 using LiveUSB. With Windows, Wifi worked well. When I booted up Ubuntu using LiveUSB, the wifi would not work, but wired connection worked. I decided to go ahead with the permanent installation and fix the connection later. After replacing Windows with Ubuntu, wired ethernet does not work either. From reading posts on this issue, it clear that the kernel needs to be updated, but I don't know which version, or which linux image file, to use. I'd greatly appreciate any pointers. System parameters are below.

**lshw -C network**
  *-network               
       description: Network controller
       product: BCM4311 802.11b/g WLAN
       vendor: Broadcom Corporation
       physical id: 0
       bus info: pci@0000:0b:00.0
       version: 01
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=wl latency=0
       resources: irq:16 memory:efdfc000-efdfffff
  *-network UNCLAIMED
       description: Ethernet controller
       product: BCM4401-B0 100Base-TX
       vendor: Broadcom Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       version: 02
       width: 32 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list
       configuration: latency=64
       resources: memory:ef9fe000-ef9ffff

**nm-tool**

NetworkManager Tool

State: disconnected

**cat /var/lib/NetworkManager/NetworkManager.state**
[main]
NetworkingEnabled=true
WirelessEnabled=true
WWANEnabled=true
WimaxEnabled=true

**cat /etc/NetworkManager/NetworkManager.conf**
[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq

[ifupdown]
managed=false

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

rfkill list 
(blank output)

**ifconfig -a**
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:161 errors:0 dropped:0 overruns:0 frame:0
          TX packets:161 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:11790 (11.7 KB)  TX bytes:11790 (11.7 KB)

**cat /etc/udev/rules.d/70-persistent-net.rules**
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x14e4:0x170c (b44)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:19:b9:6e:82:cf", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

iwconfig
lo        no wireless extensions.

Best Answer

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.

Related Question