Ubuntu – Very slow, intermittent WiFi speeds with 14.04 and Intel PRO/Wireless 5100 AGN [Shiloh]

14.04intel-wirelesslenovonetworkingwireless

I did a fresh install of Ubuntu 14.04 LTS on the harddisk of a Lenovo Y650 Ideapad laptop. The wireless adapter is an Intel PRO/Wireless 5100 AGN [Shiloh].

Initially I could not connect to any wireless networks; however, I could see them. There are no issues when connecting via Ethernet. I was only able to connect to the wireless network by entering this command in the Terminal:

echo "options iwlwifi 11n_disable=1" | sudo tee /etc/modprobe.d/iwlwifi.conf

The speeds are extremely slow and intermittent. When I am able to run a speed test, the ping is good (24 to 26 ms) but the download speeds range from 0.15 to 0.30 Mbps.

iwconfig

eth0      no wireless extensions.

lo        no wireless extensions.

wlan0     IEEE 802.11abg  ESSID:"PinkRabbit"  
          Mode:Managed  Frequency:2.412 GHz  Access Point: E8:40:F2:CD:18:0B   
          Bit Rate=2 Mb/s   Tx-Power=15 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=70/70  Signal level=-26 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:3  Invalid misc:254   Missed beacon:0

ifconfig

eth0      Link encap:Ethernet  HWaddr 00:23:5a:d2:70:91  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:17 

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:171 errors:0 dropped:0 overruns:0 frame:0
          TX packets:171 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:15613 (15.6 KB)  TX bytes:15613 (15.6 KB)

wlan0     Link encap:Ethernet  HWaddr 00:1e:65:3e:0c:48  
          inet addr:192.168.0.13  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::21e:65ff:fe3e:c48/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:42 errors:0 dropped:0 overruns:0 frame:0
          TX packets:96 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9032 (9.0 KB)  TX bytes:16851 (16.8 KB)

nm-tool

NetworkManager Tool

State: connected (global)

- Device: eth0 -----------------------------------------------------------------
  Type:              Wired
  Driver:            tg3
  State:             unavailable
  Default:           no
  HW Address:        00:23:5A:D2:70:91

Capabilities:
    Carrier Detect:  yes

Wired Properties
    Carrier:         off

- Device: wlan0  [PinkRabbit] --------------------------------------------------
  Type:              802.11 WiFi
  Driver:            iwlwifi
  State:             connected
  Default:           yes
  HW Address:        00:1E:65:3E:0C:48

  Capabilities:
    Speed:           1 Mb/s

  Wireless Properties
    WEP Encryption:  yes
    WPA Encryption:  yes
    WPA2 Encryption: yes

  Wireless Access Points (* = current AP)
    *PinkRabbit:     Infra, E8:40:F2:CD:18:0B, Freq 2412 MHz, Rate 54 Mb/s, Strength       92 WPA WPA2

  IPv4 Settings:
    Address:         192.168.0.13
    Prefix:          24 (255.255.255.0)
    Gateway:         192.168.0.1

    DNS:             64.71.255.204
    DNS:             64.71.255.198
    DNS:             8.8.8.8
    DNS:             8.8.4.4

Best Answer

I don't know how much relevant this may be, still an Ubuntu newbie, but I had similar problems with my Ralink 5362 card.

The only thing it seemed to work was the following:

There is a bug in the Debian Avahi daemon in Ubuntu. And to resolve this you need to edit the following file /etc/nsswitch.conf as follows.

Type the following in the command line

sudo -H gedit  /etc/nsswitch.conf

This will open the nsswitch.conf file in the text editor. Then simply change the following line

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

to the below line and save the file.

hosts:          files dns

Reset your internet connection or probably restart your system and your wireless connection should be back on top speed. This worked for me at least.

Related Question