I'm running 22.04.1 on a Lenovo X220 laptop. I was having some trouble with a faulty fan, and just replaced it with a new one. When I put everything back together and booted it up, my fan issues were solved, but wi-fi seems not to work anymore.
I'm concerned that either:
- I somehow damaged the wi-fi card when taking the computer apart, or
- My OS has mysteriously forgotten about the card and somehow needs to be reminded.
Any ideas on how to tell the difference between these two things? Here's what I know so far:
lspci -k shows two entries that seem relevant:
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (Lewisville) (rev 04)
Subsystem: Lenovo ThinkPad T520
Kernel driver in use: e1000e
Kernel modules: e1000e
for my ethernet (which works just fine), and
03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34)
Subsystem: Intel Corporation Centrino Advanced-N 6205 (802.11a/b/g/n)
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
for the wi-fi. I get something similar from lshw:
*-network
description: Network controller
product: Centrino Advanced-N 6205 [Taylor Peak]
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:03:00.0
version: 34
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=iwlwifi latency=0
resources: irq:30 memory:d2400000-d2401fff
It looks like my firmware is OK:
$ sudo dmesg | grep iwlwifi
[ 15.853806] iwlwifi 0000:03:00.0: can't disable ASPM; OS doesn't have ASPM control
[ 16.302507] iwlwifi 0000:03:00.0: loaded firmware version 18.168.6.1 6000g2a-6.ucode op_mode iwldvm
I don't know if the ASPM thing is a big deal; I ran sudo fwts aspm and it gave some warnings about L0s not enabled but no obvious failures.
However, it seems like nmcli doesn't know about the wi-fi card. If I unplug the ethernet cable (since it's not relevant here), I get:
np0s25: unavailable
"Intel 82579LM"
ethernet (e1000e), F0:DE:F1:62:D6:31, hw, mtu 1500
lo: unmanaged
"lo"
loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536
Any ideas about what might be wrong here?
UPDATE: I ran the wireless-info script from this post and pasted the results at: https://pastebin.com/dEbb2i4a
wlp1s0orwlan0, etc)? It looks like the device has been deleted. Although, this usually resolves with a reboot, it also says managed=false in one of your config files. Anyhow, if this is the case, the following command or something very similar using the correct device name should add the devicesudo iw phy phy0 interface add wlp1s0 type namaged– mchid Jan 01 '23 at 12:02iwldvmis mentioned in dmesg but it's not listed for lsmod so you might want to enable that module if nothing else works:sudo modprobe iwldvm– mchid Jan 01 '23 at 12:13phy0and I think you should be able to verify this by runningiw listand the first device listed should bephy0or something similar. Again, you might want to look into this if theiwcommand above doesn't work and then adjust the command accordingly. – mchid Jan 01 '23 at 12:18iw listactually gives me nothing at all; it seems not to know anything about the physical device. Theiwcommand you suggested returns a "command failed: No such file or directory (-2)" error -- I assume this is because that phy name doesn't correspond to anything. – cjolley Jan 01 '23 at 17:07lshwshows the device so the system knows that it's there (sort of). What about after you enable the modulesudo modprobe iwldvm? Then, check if it's actually enabled withlsmod iwldvmand if so, then tryiw listagain if it doesn't show up in NetworkManager automatically. – mchid Jan 01 '23 at 18:50iwldvmdoesn't load, rundmesg -T | grep iwldvmanddmesg | grep iwlto check for errors. That module should be loaded and I'm pretty sure you should experience all the same symptoms ifiwldvmis not loaded. I tested it on a different card that usesiwlwifiwith theiwlmvmfirmware and then removediwlmvmand ran the wireless script, checkediw list, no response from rfkill — all the same symptoms. – mchid Jan 01 '23 at 18:59sudo modprobe iwldvmgives me an error:modprobe: ERROR: could not insert 'iwldvm': Input/output error. Thedmesgoutput only mentionsiwldvmin the lines I pasted above in the original post. I'm starting to wonder if this is some kind of kernel issue. – cjolley Jan 02 '23 at 12:005.15.0-56-genericto5.15.0-53-generic, and then it all started working again. It looks like what was going on was some kind of conflict between that kernel andiwldvm, maybe? – cjolley Jan 02 '23 at 14:44