Intel 3160 Wifi Problems

Hallo,

I recently updated my system and can't use my wifi now. (ethernet works)

The network manager tells me: "No Wi-Fi Adapter Found"

$ inxi -Fxzc0
System: Host: Manjaro Kernel: 4.19.91-1-MANJARO x86_64 bits: 64 compiler: gcc v: 9.2.0 Desktop: Gnome 3.34.2
Distro: Manjaro Linux
Machine: Type: Laptop System: LENOVO product: 80N6 v: Lenovo Yoga 500-15IBD serial:
Mobo: LENOVO model: Lenovo Yoga 500-15IBD v: 31900058 WIN serial: UEFI: Lenovo v: BDCN31WW
date: 04/29/2015
Battery: ID-1: BAT0 charge: 21.2 Wh condition: 21.2/30.0 Wh (71%) model: SMP L14M2P21 status: Full
CPU: Topology: Dual Core model: Intel Core i5-5200U bits: 64 type: MT MCP arch: Broadwell rev: 4 L2 cache: 3072 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 17559
Speed: 800 MHz min/max: 500/2700 MHz Core speeds (MHz): 1: 801 2: 798 3: 798 4: 797
Graphics: Device-1: Intel HD Graphics 5500 vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0
Display: x11 server: X.Org 1.20.6 driver: i915 resolution: 1366x768~60Hz
OpenGL: renderer: Mesa DRI Intel HD Graphics 5500 (Broadwell GT2) v: 4.6 Mesa 19.3.1 direct render: Yes
Audio: Device-1: Intel Broadwell-U Audio vendor: Lenovo driver: snd_hda_intel v: kernel bus ID: 00:03.0
Device-2: Intel Wildcat Point-LP High Definition Audio vendor: Lenovo driver: snd_hda_intel v: kernel
bus ID: 00:1b.0
Sound Server: ALSA v: k4.19.91-1-MANJARO
Network: Device-1: Intel Wireless 3160 driver: N/A port: efa0 bus ID: 02:00.0
Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Lenovo driver: r8168 v: 8.047.05-NAPI
port: 3000 bus ID: 03:00.0
IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac:
Drives: Local Storage: total: 465.76 GiB used: 86.00 GiB (18.5%)
ID-1: /dev/sda vendor: HGST (Hitachi) model: HTS545050A7E660 size: 465.76 GiB
Partition: ID-1: / size: 161.44 GiB used: 85.97 GiB (53.3%) fs: ext4 dev: /dev/sda11
ID-2: swap-1 size: 3.91 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sda9
Sensors: System Temperatures: cpu: 45.0 C mobo: 37.0 C
Fan Speeds (RPM): N/A
Info: Processes: 230 Uptime: 1h 07m Memory: 7.70 GiB used: 1.81 GiB (23.5%) Init: systemd Compilers: gcc: N/A Shell: bash
v: 5.0.11 inxi: 3.0.37

I tried the 4.14 kernel, but it didn't work either.

Can someone help me?

Thank you in advance.

I think you might want to check into downgrading the linux-firmware package.

If you are on the stable branch you will need to install downgrade.

sudo pacman -S downgrade

Then downgrade the linux-firmware:

DOWNGRADE_FROM_ALA=1 downgrade linux-firmware

Choose the firmware version you wish to test from the list.

Select a package by its number to install.

Test different versions of firmware until you hopefully find one that works.

The other thing I might suggest is resetting your bios to the factory default.

I tried downgrading, but an error occured:

$ DOWNGRADE_FROM_ALA=1 downgrade linux-firmware

Downgrading from A.L.A. is disabled on the stable branch. To override this behavior, set DOWNGRADE_FROM_ALA to 1 .
See https://wiki.manjaro.org/index.php?title=Using_Downgrade for more details.

Available packages:

    1. linux-firmware 20190118.a8b75ca 1 any (remote)
    1. linux-firmware 20190212.28f5f7d 1 any (remote)
    1. linux-firmware 20190313.efd2c1c 1 any (remote)
    1. linux-firmware 20190424.4b6cf2b 1 any (remote)
    1. linux-firmware 20190514.711d329 1 any (remote)
    2. linux-firmware 20190618.acb56f2 1 any (remote)
    3. linux-firmware 20190628.70e4394 1 any (remote)
    4. linux-firmware 20190712.d52556e 1 any (remote)
    5. linux-firmware 20190717.bf13a71 1 any (remote)
    1. linux-firmware 20190815.07b925b 1 any (remote)
    2. linux-firmware 20190923.417a9c6 1 any (remote)
    1. linux-firmware 20191022.2b016af 1 any (remote)
    2. linux-firmware 20191022.2b016af 2 any (remote)
    3. linux-firmware 20191022.2b016af 3 any (remote)
    4. linux-firmware 20191118.e8a0f4c 1 any (remote)
    5. linux-firmware 20191118.e8a0f4c 1 any (local)
    1. linux-firmware 20191118.e8a0f4c 2 any (remote)
    2. linux-firmware 20191215.eefb5f7 1 any (remote)
    3. linux-firmware 20191215.eefb5f7 1 any (local)
    1. linux-firmware 20191220.6871bff 1 any (remote)
    1. linux-firmware 20191220.6871bff 1 any (local)

select a package by number: 14
linux-firmware-2... 82.1 MiB 730 KiB/s 01:55 [######################] 100%
linux-firmware-2... 310.0 B 0.00 B/s 00:00 [######################] 100%
loading packages...
warning: downgrading package linux-firmware (20191220.6871bff-1 => 20191022.2b016af-3)
resolving dependencies...
looking for conflicting packages...

Packages (1) linux-firmware-20191022.2b016af-3

Total Installed Size: 472.96 MiB

:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [######################] 100%
(1/1) checking package integrity [######################] 100%
(1/1) loading package files [######################] 100%
(1/1) checking for file conflicts [######################] 100%
error: failed to commit transaction (conflicting files)
linux-firmware: /usr/lib/firmware/3com/3C359.bin exists in filesystem
linux-firmware: /usr/lib/firmware/3com/typhoon.bin exists in filesystem
linux-firmware: /usr/lib/firmware/a300_pfp.fw exists in filesystem
[...]
linux-firmware: /usr/lib/firmware/i2400m-fw-usb-1.5.sbcf exists in filesystem
linux-firmware: /usr/lib/firmware/i6050-fw-usb-1.5.sbcf exists in filesystem
Errors occurred, no packages were upgraded.

Hello aristoxenos,

the intel wireless driver is not available.
the right driver should be iwlwifi-3160-ucode or something like that. It should come with the kernel.
what does lsmod say?
you could try
modprobe iwlwifi-3160-ucode (or just iwlwifi-3160) to load the right driver. (as root of course)

You can always rename the files the error is referring to.

$ lsmod
Module Size Used by
fuse 122880 3
bnep 24576 2
nls_iso8859_1 16384 1
nls_cp437 20480 1
vfat 24576 1
fat 86016 1 vfat
snd_hda_codec_hdmi 57344 1
i915 2121728 16
uvcvideo 118784 0
videobuf2_vmalloc 16384 1 uvcvideo
snd_hda_codec_realtek 122880 1
videobuf2_memops 16384 1 videobuf2_vmalloc
videobuf2_v4l2 28672 1 uvcvideo
intel_rapl 24576 0
snd_hda_codec_generic 86016 1 snd_hda_codec_realtek
videobuf2_common 53248 2 videobuf2_v4l2,uvcvideo
kvmgt 28672 0
snd_hda_intel 49152 8
videodev 217088 3 videobuf2_v4l2,uvcvideo,videobuf2_common
snd_hda_codec 151552 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
x86_pkg_temp_thermal 16384 0
vfio_mdev 16384 0
mdev 20480 2 kvmgt,vfio_mdev
vfio_iommu_type1 28672 0
snd_hda_core 98304 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
intel_powerclamp 16384 0
vfio 32768 3 kvmgt,vfio_mdev,vfio_iommu_type1
snd_hwdep 16384 1 snd_hda_codec
media 45056 2 videodev,uvcvideo
coretemp 16384 0
btusb 53248 0
kvm 761856 1 kvmgt
btrtl 16384 1 btusb
btbcm 16384 1 btusb
btintel 24576 1 btusb
snd_pcm 131072 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
bluetooth 655360 11 btrtl,btintel,btbcm,bnep,btusb
snd_timer 36864 1 snd_pcm
irqbypass 16384 1 kvm
snd 106496 24 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm
i2c_algo_bit 16384 1 i915
drm_kms_helper 208896 1 i915
hid_sensor_accel_3d 16384 0
drm 512000 7 drm_kms_helper,i915
ofpart 16384 0
r8168 565248 0
hid_sensor_trigger 16384 2 hid_sensor_accel_3d
crct10dif_pclmul 16384 0
ecdh_generic 24576 1 bluetooth
cmdlinepart 16384 0
industrialio_triggered_buffer 16384 1 hid_sensor_accel_3d
crc32_pclmul 16384 0
kfifo_buf 16384 1 industrialio_triggered_buffer
intel_gtt 24576 1 i915
ghash_clmulni_intel 16384 0
agpgart 49152 2 intel_gtt,drm
soundcore 16384 1 snd
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
iwlwifi 356352 0
hid_sensor_iio_common 16384 2 hid_sensor_trigger,hid_sensor_accel_3d
joydev 24576 0
intel_spi_platform 16384 0
intel_spi 20480 1 intel_spi_platform
pcbc 16384 0
spi_nor 36864 1 intel_spi
industrialio 81920 4 industrialio_triggered_buffer,hid_sensor_trigger,kfifo_buf,hid_sensor_accel_3d
mousedev 24576 0
cfg80211 790528 1 iwlwifi
intel_pch_thermal 16384 0
ideapad_laptop 36864 0
mei_me 45056 0
intel_wmi_thunderbolt 16384 0
mtd 69632 5 cmdlinepart,intel_spi,ofpart
aesni_intel 200704 0
i2c_i801 32768 0
sparse_keymap 16384 1 ideapad_laptop
aes_x86_64 20480 1 aesni_intel
mei 118784 1 mei_me
rfkill 28672 9 bluetooth,ideapad_laptop,cfg80211
hid_sensor_hub 20480 3 hid_sensor_trigger,hid_sensor_iio_common,hid_sensor_accel_3d
lpc_ich 28672 0
crypto_simd 16384 1 aesni_intel
input_polldev 16384 0
psmouse 176128 0
wmi_bmof 16384 0
input_leds 16384 0
cryptd 28672 3 crypto_simd,ghash_clmulni_intel,aesni_intel
glue_helper 16384 1 aesni_intel
wmi 32768 3 intel_wmi_thunderbolt,wmi_bmof,ideapad_laptop
wdat_wdt 16384 0
evdev 28672 25
intel_cstate 16384 0
pcc_cpufreq 16384 0
mac_hid 16384 0
ac 16384 0
battery 24576 0
intel_uncore 135168 0
intel_rapl_perf 16384 0
i2c_hid 28672 0
gpio_lynxpoint 16384 0
pcspkr 16384 0
uinput 20480 0
sg 40960 0
crypto_user 16384 0
ip_tables 32768 0
x_tables 45056 1 ip_tables
ext4 745472 1
crc32c_generic 16384 0
crc16 16384 2 bluetooth,ext4
mbcache 16384 1 ext4
jbd2 126976 1 ext4
hid_multitouch 28672 0
hid_generic 16384 0
usbhid 57344 0
hid 135168 5 i2c_hid,usbhid,hid_multitouch,hid_sensor_hub,hid_generic
sd_mod 61440 4
ahci 40960 3
serio_raw 16384 0
libahci 40960 1 ahci
atkbd 32768 0
libps2 16384 2 atkbd,psmouse
libata 270336 2 libahci,ahci
xhci_pci 16384 0
crc32c_intel 24576 2
scsi_mod 253952 3 sd_mod,libata,sg
ehci_pci 16384 0
xhci_hcd 266240 1 xhci_pci
ehci_hcd 94208 1 ehci_pci
i8042 32768 1 ideapad_laptop
serio 28672 6 serio_raw,atkbd,psmouse,i8042

$ sudo modprobe iwlwifi-3160-ucode
modprobe: FATAL: Module iwlwifi-3160-ucode not found in directory /lib/module/4.19.91-1-MANJARO
$ sudo modprobe iwlwifi-3160
modprobe: FATAL: Module iwlwifi-3160 not found in directory /lib/modules/4.19.91-1-MANJARO

I am on kernel 5.4. So i can't say for sure. So...
do you have entries for iwlwifi-3160 in /usr/lib/firmware? There should be.
/usr/lib/firmware/iwlwifi-3160-10.ucode
/usr/lib/firmware/iwlwifi-3160-12.ucode
/usr/lib/firmware/iwlwifi-3160-13.ucode
/usr/lib/firmware/iwlwifi-3160-16.ucode
/usr/lib/firmware/iwlwifi-3160-17.ucode
/usr/lib/firmware/iwlwifi-3160-7.ucode
/usr/lib/firmware/iwlwifi-3160-8.ucode
/usr/lib/firmware/iwlwifi-3160-9.ucode
One of them is the correct driver.

I think the correct command is
modprobe iwlwifi

1 Like

Please try running these commands:

sudo rmmod ideapad_laptop
lsmod | grep -o -e ^iwlmvm -e ^iwldvm -e ^iwlwifi | xargs sudo rmmod
sudo rfkill unblock all
sudo modprobe -v iwlwifi swcrypto=1 11n_disable=8 bt_coex_active=0 lar_disable=1
sudo systemctl restart NetworkManager

After running the above commands please post:

rfkill list
hwinfo --netcard --bluetooth | grep -Ei "(speed|hotplug|model|status|cmd|file|detected|driver:)" | grep -v "Config S"  

Be sure to post the full input and output of all commands (not a summary).

I would also suggest testing more kernels such as 4.9, 4.19 and the real time kernels.

Did you do this^^^ If not I would highly suggest doing this ASAP. Remove all power sources for a few minutes before resetting the bios.

Is your bios up to date?

It's not, there is an update available:
https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/yoga-series/yoga-500-15ibd/downloads/ds102775

You need to update your bios.

This is caused by only a few things. Either the kernel has a regression in which case you must use another kernel. The bios is at fault and it needs to reset/updated, or the driver/firmware is incorrect.

I was looking for some instruction to update my BIOS, but I found nothing that convinced me. I'm very afraid to mess up my system (again), so I would be very grateful for further help.

It is nothing to be afraid of. The only thing you need to be absolutely sure of, is that the bios update file is the correct one for your motherboard.

Once you're absolutely sure of that, it is usually as easy as putting it on a usb pin, boot into bios and select the file from there, usually under something like ''flash bios utility'' or some such.

Nothing to it, but double and triple check you've found the correct update.

But if you are nervous and uncomfortable with that, the best (but cumbersome) option might be to install windows and then download the official GUI bios utility from your motherboard vendor, if the have one. This should automatically select the right bios. If something should go wrong, you'd have a good case to get the mainboard replaced, if you've followed the official instructions.

You still have not posted the outputs I requested. Before you receive further information from me, you must answer my prior questions (and post the outputs I requested). Troubleshooting is a two way street. You must be cooperative, or you will receive little further help.

Question:

Have you tested alternate kernels?

Sorry, I was a little overwhelmed by all the input I was getting. I really appreciate your help.

$ sudo rmmod ideapad_laptop
$ lsmod | grep -o -e ^iwlmvm -e ^iwldvm -e ^iwlwifi | xargs sudo rmmod
$ sudo rfkill unblock all
$ sudo modprobe -v iwlwifi swcrypto=1 11n_disable=8 bt_coex_active=0 lar_disable=1
insmod /lib/modules/4.19.91-1-MANJARO/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko.xz swcrypto=1 11n_disable=8 bt_coex_active=0 lar_disable=1
$ sudo systemctl restart NetworkManager
$ rfkill list
$ hwinfo --netcard --bluetooth | grep -Ei "(speed|hotplug|model|status|cmd|file|detected|driver:)" | grep -v "Config S"
Model: "Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller"
Driver: "r8168"
Device File: enp3s0
Link detected: yes
Driver Status: r8169 is not active
Driver Activation Cmd: "modprobe r8169"
Driver Status: r8168 is active
Driver Activation Cmd: "modprobe r8168"
Model: "Intel Dual Band Wireless AC 3160"
Driver Status: iwlwifi is active
Driver Activation Cmd: "modprobe iwlwifi"

I tried the 4.19, 4.14 and the 4.9 Kernel.

Also test real time kernel 4.19rt and kernel 5.5.

Performing an .EXE format BIOS update in Linux:

If the bios update utility is an ".EXE" format you will need to run the executable file from within a Windows environment.

The easiest way you can do that without installing Windows is from a Windows based boot disk.

Download Hirens boot CD and burn the image to a CD or USB boot disk.

Download your bios update .exe file from your manufacturer, and place it on a FAT formatted USB flash drive

Boot from the Hiren's Boot disk, and insert the USB drive containing the bios update exe.

Once in the Hiren's boot environment you should be able to open, launch, and apply the bios update.

Other alternate Windows based live boot disks you can use for BIOS updates:

FalconFour’s Ultimate Boot CD
https://falconfour.wordpress.com/tag/f4ubcd/

SystemRescueCd
http://www.system-rescue-cd.org/Download/

Ultimate Boot CD (UBCD)
http://www.ultimatebootcd.com/download.html

Trinity Rescue Kit
http://trinityhome.org/Home/index.php?content=TRINITY_RESCUE_KIT_DOWNLOAD

Gandalf’s Windows 10PE
Gandalf’s Windows 10PE

Boot Repair Disk
Boot Repair Disk

Ensure you have the correct bios version before you attempt to flash your bios.

note: to start the BIOS update you need to plug in the AC adapter of your laptop and ensure that your battery is over 50% charge.
For desktops, it is best to do this with a UPS battery to be sure the update will not fail if there is a power outage.

BIOS update information on the Archwiki:

https://wiki.archlinux.org/index.php/Flashing_BIOS_from_Linux

Info on Lenovo :BIOS updates:

http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk 1
https://aur.archlinux.org/packages/geteltorito/
https://fwupd.org/lvfs/devicelist
https://www.daveeddy.com/2018/09/09/thinkpad-x1-carbon-gen-6-bios-update/
https://medium.com/@BladeCoder/flash-your-lenovo-ideapad-laptop-bios-from-linux-using-uefi-capsule-updates-a82e455ea29c
UEFI BIOS update with fwupdmgr / fwupd

1 Like

Okay, I got my BIOS updated and tried the kernels:
5.5rc3.d1222.g46cf
4.19.90_rt35-1
4.19.91-1
4.14.160-1
4.9.207-1

There's still no wifi.

From above posts I can't see what wifi adapter you have. In terminal, run lspci -nn and look what it says at Network controller.

Intel Corporation Wireless 3160

Forum kindly sponsored by