I don’t currently have ethernet lines running to my new office space.  The NUC does have builtin wireless, but doesn’t appear functional in the linux 3.10 kernel that is installed by default on RHEL7


#  lspci -nn | grep -n net
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection I219-V [8086:1570] (rev 21)

01:00.0 Network controller [0280]: Intel Corporation Wireless 8260 [8086:24f3] (rev 3a)

#  grep -i 8086.*24f3 /lib/modules/*/modules.alias

alias pci:v00008086d000024F3sv*sd00000010bc*sc*i* iwlwifi

#  lsmod | grep wifi
# [nothing]

I can load it explicitly by doing:

#  modprobe iwlwifi

iwlwifi               112501  0 

cfg80211              514740  1 iwlwifi

but the NetworkManager doesn’t see the interface. Running ‘systemctl restart NetworkManager’ doesn’t help.

If I switch to the 4.5 kernel and install the latest iwlwifi firmware I’m able to get things up and running:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum -y install yum-plugin-fastestmirror
yum --enablerepo=elrepo-kernel install kernel-ml

git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
cp linux-firmware/iwlwifi*.ucode /lib/firmware/

After boot, I get dmesg errors from the iwlwifi driver:

# dmesg | grep wifi

[    2.612790] iwlwifi 0000:01:00.0: enabling device (0000 -> 0002)

[    2.618136] iwlwifi 0000:01:00.0: Unsupported splx structure

[    2.619632] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8000C-20.ucode failed with error -2

[    2.619635] iwlwifi 0000:01:00.0: Falling back to user helper

[   63.005134] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8000C-19.ucode failed with error -2

[   63.005137] iwlwifi 0000:01:00.0: Falling back to user helper

[  122.981747] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8000C-18.ucode failed with error -2

[  122.981751] iwlwifi 0000:01:00.0: Falling back to user helper

[  182.977468] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8000C-17.ucode failed with error -2

[  182.977472] iwlwifi 0000:01:00.0: Falling back to user helper

The firmware copied from linux-firmware had version: iwlwifi-8000C-21.ucode which is newer than the any of the ones in the failed to load messages. I wonder if that splx structure error is from attempting to load 8000C-21?

It turns out that the user mode driver works, but you have to be really patient. A number of minutes after boot it kicks in, which can be seen by the mac80211 driver now running:

# lsmod | grep wifi

iwlwifi               139264  1 iwlmvm

cfg80211              577536  3 iwlwifi,mac80211,iwlmvm

I then also see the following additional dmesg log points from the wifi driver:


# dmesg | grep iwlwifi

[  122.544157] iwlwifi 0000:01:00.0: Falling back to user helper

[  182.549189] iwlwifi 0000:01:00.0: loaded firmware version 17.254495.0 op_mode iwlmvm

[  182.557558] iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208

[  182.557910] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled

[  182.558824] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled

[  182.559866] iwlwifi 0000:01:00.0: can't access the RSA semaphore it is write protected

[  182.707622] iwlwifi 0000:01:00.0 wlp1s0: renamed from wlan0

[  182.719296] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled

[  182.719562] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled

[  182.720422] iwlwifi 0000:01:00.0: can't access the RSA semaphore it is write protected

[  182.855388] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled

[  182.855958] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled


[  182.857102] iwlwifi 0000:01:00.0: can't access the RSA semaphore it is write protected

At this point the wifi connection shows up in the NetworkManager, and I’m able to configure the WPA password, giving me a wlp1s0 interface configured and available for use.