1

I am a new linux user, and as per this recent question of mine, I am having extremely slow and laggy wifi connection on my Intel NUC Skull Canyon using Ubuntu 16.04.

The internal wifi card of my NUC PC is

Intel® Dual Band Wireless-AC 8260 soldered-down, (IEEE 802.11ac 2x2, Bluetooth™ 4.2, internal antennas, Intel® Wireless Display 6.0)

Following chilli555's sage advice from this relatively old thread, I have run the following code in terminal to try and decipher whether my wifi drivers are up to date:

sudo modprobe iwlwifi 
dmesg | grep iwl
[    3.709686] iwlwifi 0000:03:00.0: enabling device (0000 -> 0002)
[    3.712400] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-8000C-24.ucode failed with error -2
[    3.712411] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-8000C-23.ucode failed with error -2
[    3.712419] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-8000C-22.ucode failed with error -2
[    3.728307] iwlwifi 0000:03:00.0: loaded firmware version 21.302800.0 op_mode iwlmvm
[    3.755937] iwlwifi 0000:03:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208
[    3.758382] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled
[    3.759172] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled
[    3.891732] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
[    3.892692] iwlwifi 0000:03:00.0 wlp3s0: renamed from wlan0
[    4.421974] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled
[    4.422791] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled
[    4.555741] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled
[    4.556095] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled`

I also got this information dump about my wifi card using terminal:

sudo lshw -class network
*-network               
   description: Wireless interface
   product: Wireless 8260
   vendor: Intel Corporation
   physical id: 0
   bus info: pci@0000:03:00.0
   logical name: wlp3s0
   version: 3a
   serial: a0:c5:89:14:2b:07
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
   configuration: broadcast=yes driver=iwlwifi driverversion=4.8.0-58-generic firmware=21.302800.0 latency=0 link=yes multicast=yes wireless=IEEE 802.11
   resources: irq:127 memory:dc000000-dc001fff
  *-network
   description: Ethernet interface
   product: Ethernet Connection (2) I219-LM
   vendor: Intel Corporation
   physical id: 1f.6
   bus info: pci@0000:00:1f.6
   logical name: eno1
   version: 31
   serial: 00:1f:c6:9c:4d:5b
   capacity: 1Gbit/s
   width: 32 bits
   clock: 33MHz
   capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
   configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=0.8-4 latency=0 link=no multicast=yes port=twisted pair
   resources: irq:124 memory:dc200000-dc21ffff`

Are my wifi drivers out of date? How can I update them? And will such an update potentially fix my connection issues? As per the above cited question I will be investigating other solutions such as a BIOS update, a WLAN USB dongle, and ethernet cable.

1
  • @henry thanks for formatting help! What was I doing wrong? :-S
    – Spectre
    Jul 8, 2017 at 12:38

1 Answer 1

0

As it happens, I also own a NUC with Ubuntu installed on it. Although updating the BIOS is off-topic, I willl very briefly discuss it. It should be easy to download the .bio file (not the .exe) from Intel specific to your NUC model, place it in the top level of a USB key; that is, not in a folder, and at the BIOS, press F7 - Update BIOS and proceed. I did so on mine yesterday.

Having said that, I doubt that it will materially affect your wireless speeds and stability.

I have my doubts about the ability of wireless in a NUC because the antenna is confined in a very small area. My NUC doesn't have wireless so I can't report my experience. If you have the option for ethernet, as I do, I recommend it.

In your dmesg, we see:

[    3.712400] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-8000C-24.ucode failed with error -2
[    3.712411] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-8000C-23.ucode failed with error -2
[    3.712419] iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-8000C-22.ucode failed with error -2
[    3.728307] iwlwifi 0000:03:00.0: loaded firmware version 21.302800.0 op_mode iwlmvm

In human terms, the driver looked for -24, didn't find it, looked for -23 and so on and then found and loaded -21. The latest linux-firmware package from Ubuntu only contains -21. There are sites that contain -22, -23, -24 and beyond. Whether they are helpful would only be a guess. It costs nothing to try. From the terminal:

cd /lib/firmware
sudo wget https://github.com/wkennington/linux-firmware/raw/master/iwlwifi-8000C-22.ucode
sudo wget https://github.com/NetBit73/NeteXt73_pakiety/raw/master/iwlwifi/iwlwifi-8000C-23.ucode
sudo wget https://github.com/NetBit73/NeteXt73_pakiety/raw/master/iwlwifi/iwlwifi-8000C-24.ucode

Reboot. Check which firmware loaded:

dmesg | grep iwl

Any improvement?

Next, check the settings in the router. WPA2-AES is preferred; not any WPA and WPA2 mixed mode and certainly not TKIP. Second, if your router is capable of N speeds, you may have better connectivity with a channel width of 20 MHz in the 2.4 GHz band instead of automatic 20/40 MHz, although it is likely to affect N speeds. I also have better luck with a fixed channel, either 1, 6 or 11, rather than automatic channel selection. Also, be certain the router is not set to use N speeds only; auto B, G and N is preferred. After making these changes, reboot the router.

Next, I recommend that your regulatory domain be set explicitly. Check yours:

sudo iw reg get

If you get 00, that is a one-size-maybe-fits-all setting. Find yours here: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Then set it temporarily:

sudo iw reg set IS

Of course, substitute your country code if not Iceland. Set it permanently:

gksudo gedit /etc/default/crda

Use nano or kate or leafpad if you don't have the text editor gedit.

Change the last line to read:

REGDOMAIN=IS

Proofread carefully, save and close the text editor.

Next, I'd set IPv6 to Ignore in Network Manager: http://docs.fedoraproject.org/en-US/Fedora/18/html/Installation_Guide/images/netconfig/network-connections-ipv6-ignore.png This example is for ethernet, but you want wireless.

If these changes do not help, please try:

sudo modprobe -r iwlwifi
sudo modprobe iwlwifi 11n_disable=8

If it helps, make it permanent:

sudo -i
echo "options iwlwifi 11n_disable=8"  >>  /etc/modprobe.d/iwlwifi.conf
exit

If necessary, I will address the issue of an external USB adapter later.

17
  • Note: The md5sum for -23 and -24 are identical; I suspect they are identical in every respect.
    – chili555
    Jul 8, 2017 at 13:46
  • you're amazing! Thank you so much. I'm currently having a weird username/password issue and can't access my router settings so will contact my ISP tomorrow to sort this. However I found the correct driver for my wifi card here. Installed it using sudo cp iwlwifi-*.ucode /lib/firmware ; I have also followed your instructions with the sudo wget functions. Huge improvement so far, reaching 10+ mbps on speedtest.net ! Big thank you. Will reply if still stable 2moro and once I check the router.
    – Spectre
    Jul 8, 2017 at 14:43
  • dmesg report: [ 3.501662] iwlwifi 0000:03:00.0: enabling device (0000 -> 0002) [ 3.517630] iwlwifi 0000:03:00.0: loaded firmware version 22.361476.0 op_mode iwlmvm [ 3.554750] iwlwifi 0000:03:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208 [ 3.557146] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled [ 3.558371] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled [ 3.691935] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs' [ 3.693142] iwlwifi 0000:03:00.0 wlp3s0: renamed from wlan0 [ 4.194565] iwlwifi 0000:03:00.0: L1 Enabled - LTR Enabled
    – Spectre
    Jul 8, 2017 at 14:46
  • Interesting. Now it loads -22 and the stability is, so far, improved!
    – chili555
    Jul 8, 2017 at 15:00
  • After about a day of great speeds, the extreme lag returned. I have just reset my router and updated the settings as you suggested. I also set IPv6 to "ignore". Unfortunately the gedit step returned some errors though: (gksudo:5064): Gtk-WARNING **: Unable to locate theme engine in module_path: "hcengine", ** (gedit:5072): WARNING **: Set document metadata failed: Setting attribute metadata::gedit-spell-enabled not supported ** (gedit:5072): WARNING **: Set document metadata failed: Setting attribute metadata::gedit-encoding not supported
    – Spectre
    Jul 13, 2017 at 4:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .