iwlwifi: 8260: missing iwlwifi-8000C-{22..30}.ucode firmware

Bug #1704799 reported by Edmund Laugasson on 2017-07-17
32
This bug affects 7 people
Affects Status Importance Assigned to Milestone
linux-firmware (Ubuntu)
Medium
Seth Forshee

Bug Description

Filed a bug at https://bugzilla.kernel.org/show_bug.cgi?id=196395 but filing it also here as suggested.

Using amd64 version from http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.2/ in Xenial 16.04.2 LTS based Linux Mint 18.2.

Checking firmware files:
$ ls /lib/firmware/ | grep 8000C
iwlwifi-8000C-13.ucode
iwlwifi-8000C-16.ucode
iwlwifi-8000C-21.ucode

Missing modules that were required according logging output below:
iwlwifi-8000C-22.ucode
iwlwifi-8000C-23.ucode
iwlwifi-8000C-24.ucode
iwlwifi-8000C-25.ucode
iwlwifi-8000C-26.ucode
iwlwifi-8000C-27.ucode
iwlwifi-8000C-28.ucode
iwlwifi-8000C-29.ucode
iwlwifi-8000C-30.ucode
....

$ lspci | grep Wireless

04:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)

Initially following error output can be found in appropriate logs:

$ dmesg | grep iwlwifi

[ 10.011090] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-30.ucode failed with error -2
[ 10.011238] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-29.ucode failed with error -2
[ 10.012734] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-28.ucode failed with error -2
[ 10.012747] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-27.ucode failed with error -2
[ 10.012756] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-26.ucode failed with error -2
[ 10.012764] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-25.ucode failed with error -2
[ 10.012772] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-24.ucode failed with error -2
[ 10.014057] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-23.ucode failed with error -2
[ 10.014071] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-22.ucode failed with error -2
[ 10.014073] iwlwifi 0000:04:00.0: no suitable firmware found!
[ 10.014075] iwlwifi 0000:04:00.0: minimum version required: iwlwifi-8000C-22
[ 10.014077] iwlwifi 0000:04:00.0: maximum version supported: iwlwifi-8000C-30
[ 10.014078] iwlwifi 0000:04:00.0: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

$ journalctl -b grep iwlwifi

July 17 01:29:22 host kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-30.ucode failed with error -2
July 17 01:29:22 host kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-29.ucode failed with error -2
July 17 01:29:22 host kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-28.ucode failed with error -2
July 17 01:29:22 host kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-27.ucode failed with error -2
July 17 01:29:22 host kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-26.ucode failed with error -2
July 17 01:29:22 host kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-25.ucode failed with error -2
July 17 01:29:22 host kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-24.ucode failed with error -2
July 17 01:29:22 host kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-23.ucode failed with error -2
July 17 01:29:22 host kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-22.ucode failed with error -2
July 17 01:29:22 host kernel: iwlwifi 0000:04:00.0: no suitable firmware found!
July 17 01:29:22 host kernel: iwlwifi 0000:04:00.0: minimum version required: iwlwifi-8000C-22
July 17 01:29:22 host kernel: iwlwifi 0000:04:00.0: maximum version supported: iwlwifi-8000C-30
July 17 01:29:22 host kernel: iwlwifi 0000:04:00.0: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

$ modinfo iwlwifi | grep 1010; dmesg | grep iwl

alias: pci:v00008086d000024FDsv*sd00001010bc*sc*i*
alias: pci:v00008086d000024F3sv*sd00001010bc*sc*i*
alias: pci:v00008086d0000095Asv*sd00001010bc*sc*i*
[ 10.011090] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-30.ucode failed with error -2
[ 10.011238] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-29.ucode failed with error -2
[ 10.012734] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-28.ucode failed with error -2
[ 10.012747] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-27.ucode failed with error -2
[ 10.012756] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-26.ucode failed with error -2
[ 10.012764] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-25.ucode failed with error -2
[ 10.012772] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-24.ucode failed with error -2
[ 10.014057] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-23.ucode failed with error -2
[ 10.014071] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-22.ucode failed with error -2
[ 10.014073] iwlwifi 0000:04:00.0: no suitable firmware found!
[ 10.014075] iwlwifi 0000:04:00.0: minimum version required: iwlwifi-8000C-22
[ 10.014077] iwlwifi 0000:04:00.0: maximum version supported: iwlwifi-8000C-30
[ 10.014078] iwlwifi 0000:04:00.0: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

$ modinfo iwlmvm

filename: /lib/modules/4.12.2-041202-generic/kernel/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko
license: GPL
author: Copyright(c) 2003- 2015 Intel Corporation <email address hidden>
description: The new Intel(R) wireless AGN driver for Linux
srcversion: 33002BAF51C74D469497DC2
depends: iwlwifi,mac80211,cfg80211
intree: Y
vermagic: 4.12.2-041202-generic SMP mod_unload
parm: init_dbg:set to true to debug an ASSERT in INIT fw (default: false (bool)
parm: power_scheme:power management scheme: 1-active, 2-balanced, 3-low power, default: 2 (int)
parm: tfd_q_hang_detect:TFD queues hang detection (default: true (bool)

# # #

Then added some firmware files:

sudo -i
cd /lib/firmware
wget https://github.com/NetBit73/NeteXt73_pakiety/raw/master/iwlwifi/iwlwifi-8000C-23.ucode; \
wget https://github.com/NetBit73/NeteXt73_pakiety/raw/master/iwlwifi/iwlwifi-8000C-24.ucode; \
wget https://github.com/NetBit73/NeteXt73_pakiety/raw/master/iwlwifi/iwlwifi-8000C-25.ucode; \
wget https://github.com/NetBit73/NeteXt73_pakiety/raw/master/iwlwifi/iwlwifi-8000C-26.ucode; \
wget https://github.com/NetBit73/NeteXt73_pakiety/raw/master/iwlwifi/iwlwifi-8000C-28.ucode; \
wget https://github.com/NetBit73/NeteXt73_pakiety/raw/master/iwlwifi/iwlwifi-8000C-29.ucode; \
wget https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git/plain/iwlwifi-8265-27.ucode; \
wget https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git/plain/iwlwifi-8000C-31.ucode
modprobe -r iwlwifi
modprobe iwlwifi

... after that the Intel 8260 started to work and log output:

$ journalctl -b | grep iwlwifi

July 17 03:01:43 host kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-30.ucode failed with error -2
July 17 03:01:43 host kernel: iwlwifi 0000:04:00.0: capa flags index 3 larger than supported by driver
July 17 03:01:43 host kernel: iwlwifi 0000:04:00.0: loaded firmware version 27.455470.0 op_mode iwlmvm
July 17 03:01:43 host kernel: iwlwifi 0000:04:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208
July 17 03:01:43 host kernel: iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled
July 17 03:01:43 host kernel: iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled
July 17 03:01:43 host kernel: ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
July 17 03:01:43 host NetworkManager[1332]: <info> [1500249703.6108] rfkill3: found WiFi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.2/0000:04:00.0/ieee80211/phy0/rfkill3) (driver iwlwifi)
July 17 03:01:43 host kernel: iwlwifi 0000:04:00.0 wlp4s0: renamed from wlan0
July 17 03:01:43 host kernel: iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled
July 17 03:01:43 host kernel: iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled
July 17 03:01:43 host kernel: iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled
July 17 03:01:43 host kernel: iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled

# # #

I really hope that Ubuntu Kernel Team can cooperate with Intel Linux Wireless Team and make it all working again like it was in case of previous (4.11 and older) kernels.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1704799

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Edmund Laugasson (ed-lau) wrote :

dmesg with original set of modules

Edmund Laugasson (ed-lau) wrote :

journalctl output with original set of modules

Edmund Laugasson (ed-lau) wrote :

modinfo output with original set of modules

Seth Forshee (sforshee) on 2017-07-17
affects: linux (Ubuntu) → linux-firmware (Ubuntu)
Changed in linux-firmware (Ubuntu):
assignee: nobody → Seth Forshee (sforshee)
importance: Undecided → Medium
status: Incomplete → Confirmed
Edmund Laugasson (ed-lau) wrote :

Forgot to add that after downloading missing firmware to /lib/firmware/ folder, I used sudo depmod -a command and then reloaded the kernel module (sudo modprobe -r iwlwifi && sudo modprobe iwlwifi).

Edmund Laugasson (ed-lau) wrote :

Also would like to mention that the main source for firmware is https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi/core_release and direct link to firmware modules https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git/plain/

Mario Olivio Flores (mflores3) wrote :

I found I was able to resolved this by upgrading to the latest version of iwlwifi-8000C-27.ucode. In my case, wifi was fine, but my bluetooth was not working.

27.455470.0 => 27.541033.0

Only source I could find: https://github.com/wkennington/linux-firmware/blob/master/iwlwifi-8000C-27.ucode

After backing up my old version and copying the new file and updating permissions/owner.
depmod -a command
sudo modprobe -r iwlwifi && sudo modprobe iwlwifi
sudo /etc/init.d/bluetooth restart

DONE. finally my bluetooth works on 4.11 and 4.12

Max Bowsher (maxb) wrote :

It is expected that the -22.ucode file is missing because it was deliberately removed per https://lists.ubuntu.com/archives/kernel-team/2017-July/085667.html

The -27.ucode file was added in linux-firmware 1.165 and updated in 1.168

None of the other versions were ever released by Intel according to the table at https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi/core_release

Thus, there doesn't actually appear to be any outstanding problem tracked in this bug, so I'll set it to Fix Released.

Changed in linux-firmware (Ubuntu):
status: Confirmed → Fix Released
Edmund Laugasson (ed-lau) wrote :

Just for comment:
using
64-bit Ubuntu kernel 4.16.2
linux-firmware 1.173

not working...

journalctl -b | grep iwlwifi
----------------------------
kernel: iwlwifi 0000:04:00.0: hwdev DMA mask = 0x0000000fffffffff, dev_addr = 0x00000000290ed000
kernel: iwlwifi 0000:04:00.0: swiotlb: coherent allocation failed, size=4096
kernel: iwl_pcie_alloc_ict+0x96/0x120 [iwlwifi]
kernel: iwl_trans_pcie_alloc+0x7f7/0xcb0 [iwlwifi]
kernel: iwl_pci_probe+0x1d/0x1d0 [iwlwifi]
kernel: iwl_pci_register_driver+0x24/0x40 [iwlwifi]
kernel: iwl_drv_init+0x89/0x8b [iwlwifi]
kernel: iwlwifi: probe of 0000:04:00.0 failed with error -12

...but kernel 4.15.17 with linux-firmware 1.173 is working...

tried to add (both 4.15.17 and 4.16.2):
iwlwifi-8000C-36.ucode
iwlwifi-8265-36.ucode
...from https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git/plain/
...did not help... even caused a problem

also
iwlwifi-9000-pu-b0-jf-b0-38.ucode
iwlwifi-9260-th-b0-jf-b0-38.ucode
...did not help...

Edmund Laugasson (ed-lau) wrote :

somehow I could once with kernel 4.16.2 and linux-firmware 1.173 get it working:

kernel: iwlwifi 0000:04:00.0: loaded firmware version 36.e91976c0.0 op_mode iwlmvm
kernel: iwlwifi 0000:04:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208

...but could not reproduce it and rest of times could not get working. Tried to purge original linux-firmware and reinstalled, also deleted all manually added firmware packages but still no results.

Currently working with 4.15.17 and linux-firmware 1.173:
kernel: iwlwifi 0000:04:00.0: loaded firmware version 34.0.1 op_mode iwlmvm
kernel: iwlwifi 0000:04:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208

Changed in linux-firmware (Ubuntu):
status: Fix Released → Incomplete
Edmund Laugasson (ed-lau) wrote :

... still using 64-bit Linux Mint 18.3 MATE which is based on Ubuntu 18.04 LTS. Updated linux-firmware package manually. Originally Ubuntu 16.04 LTS has linux-firmware 1.157.17
Would be thankful to know, which firmware version works with which kernel version.

Edmund Laugasson (ed-lau) wrote :

sorry - Linux Mint 18.3 is Ubuntu 16.04 LTS based... Unfortunately cannot edit and fix the comment...

juri (eng-juri) wrote :

The problem persists

kernel: iwlwifi 0000:02:00.0: enabling device (0000 -> 0002)
kernel: iwlwifi 0000:02:00.0: firmware: failed to load iwlwifi-8000C-26.ucode (-2)
kernel: iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8000C-26.ucode failed with error -2
kernel: iwlwifi 0000:02:00.0: firmware: failed to load iwlwifi-8000C-25.ucode (-2)
kernel: iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8000C-25.ucode failed with error -2
kernel: iwlwifi 0000:02:00.0: firmware: failed to load iwlwifi-8000C-24.ucode (-2)
kernel: iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8000C-24.ucode failed with error -2
kernel: iwlwifi 0000:02:00.0: firmware: failed to load iwlwifi-8000C-23.ucode (-2)
kernel: iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-8000C-23.ucode failed with error -2
kernel: iwlwifi 0000:02:00.0: firmware: direct-loading firmware iwlwifi-8000C-22.ucode
kernel: iwlwifi 0000:02:00.0: loaded firmware version 22.361476.0 op_mode iwlmvm
kernel: iwlwifi 0000:02:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208
kernel: iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
kernel: iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
kernel: iwlwifi 0000:02:00.0 wlp2s0: renamed from wlan0
sensors[826]: iwlwifi-virtual-0
NetworkManager[821]: <info> [1527579231.8894] rfkill1: found WiFi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.3/0000:02:00.0/ieee80211/phy0/rfkill1) (driver iwlwifi)
kernel: iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
kernel: iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
kernel: iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
kernel: iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
kernel: iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
kernel: iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
kernel: iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled
kernel: iwlwifi 0000:02:00.0: L1 Enabled - LTR Enabled

Seth Forshee (sforshee) wrote :

The linux-firmware package for xenial contains firmware for all supported kernel versions. You are running unsupported kernel versions, so the firmware you need may not be present and you may need to download it manually.

Marking this invalid since the problems only occur with unsupported kernel versions.

Changed in linux-firmware (Ubuntu):
status: Incomplete → Invalid
Edmund Laugasson (ed-lau) wrote :

Actually the current bug report was not against Ubuntu 16.04, codename: Xenial Xerus. It is against missing firmware for newer kernels. Actually Ubuntu 18.04 is using already 4.15 kernel. There are even newer to come when time goes on. At that time when tested newer kernels, the Ubuntu 16.04 LTS was out and therefore used. As I described, also the newest linux-firmware package found in Ubuntu 18.04 LTS still missing required firmware.

Changed in linux-firmware (Ubuntu):
status: Invalid → Confirmed
Seth Forshee (sforshee) wrote :

But you said yourself that "kernel 4.15.17 with linux-firmware 1.173 is working." 4.15 is currently the only supported kernel version in 18.04. Over time support for kernels for subsequent releases will be added via the linux-hwe packages, and linux-firmware will be updated accordingly, but as of right now there are not any subsequent releases.

The builds from http://kernel.ubuntu.com/~kernel-ppa/mainline/ are only for testing purposes and are not supported. If you wish to run one of those kernels you may encounter problems like missing firmware, but we generally won't be adding firmware specifically to make these work.

However, as it happens we have added some new iwlwifi firmware to the package currently in bionic-proposed (https://launchpad.net/ubuntu/+source/linux-firmware/1.173.1) for other reasons, so this might coincidentally provide a version that will work with 4.16.

Changed in linux-firmware (Ubuntu):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers