2

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:

  1. I somehow damaged the wi-fi card when taking the computer apart, or
  2. 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

mchid
  • 43,546
  • 8
  • 97
  • 150
cjolley
  • 787
  • To get the most helpful information needed you can run the Wireless Info Script and then post the output here or to pastebin if it's too long to post in your question. – mchid Dec 31 '22 at 04:36
  • 1
    Did you accidentally unplug the 2 antenna lines to the wifi card? – Terrance Dec 31 '22 at 05:38
  • @mchid -- Thanks for the suggestion! I just ran the script and posted results at https://pastebin.com/dEbb2i4a – cjolley Dec 31 '22 at 15:48
  • @Terrance -- Those are the black and gray wires that snap onto the wifi card, right? (You can see them around minute 4 in this video: https://www.youtube.com/watch?v=iJs01Q8EuDw) I disconnected them so that I could get to the fan, then snapped them back in when I put everything back together. Is there anything else special that needs to happen with those wires? – cjolley Dec 31 '22 at 15:53
  • Yep, those are those wires. I would also try reseating the card. Also, you might need a magnifying glass to look at the connectors for the antenna wires as those things are way too easy to break or crush. Look for any physical damage to the card and cables. Also, the black wire goes to the AUX connection. – Terrance Dec 31 '22 at 17:18
  • No luck... cables and connectors looked fine (even with a magnifying glass); removing the card and putting it back in didn't have any effect. – cjolley Dec 31 '22 at 22:15
  • Do you remember the name of the interface (i.e., wlp1s0 or wlan0, 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 device sudo iw phy phy0 interface add wlp1s0 type namaged – mchid Jan 01 '23 at 12:02
  • I also noticed that iwldvm is 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:13
  • Also also, phy name should be phy0 and I think you should be able to verify this by running iw list and the first device listed should be phy0 or something similar. Again, you might want to look into this if the iw command above doesn't work and then adjust the command accordingly. – mchid Jan 01 '23 at 12:18
  • Thanks for the ideas, @mchid! iw list actually gives me nothing at all; it seems not to know anything about the physical device. The iw command 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:07
  • @cjolley lshw shows the device so the system knows that it's there (sort of). What about after you enable the module sudo modprobe iwldvm? Then, check if it's actually enabled with lsmod iwldvm and if so, then try iw list again if it doesn't show up in NetworkManager automatically. – mchid Jan 01 '23 at 18:50
  • @cjolley If iwldvm doesn't load, run dmesg -T | grep iwldvm and dmesg | grep iwl to check for errors. That module should be loaded and I'm pretty sure you should experience all the same symptoms if iwldvm is not loaded. I tested it on a different card that uses iwlwifi with the iwlmvm firmware and then removed iwlmvm and ran the wireless script, checked iw list, no response from rfkill — all the same symptoms. – mchid Jan 01 '23 at 18:59
  • sudo modprobe iwldvm gives me an error: modprobe: ERROR: could not insert 'iwldvm': Input/output error. The dmesg output only mentions iwldvm in 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:00
  • 1
    Got it! I had to downgrade my kernel from 5.15.0-56-generic to 5.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 and iwldvm, maybe? – cjolley Jan 02 '23 at 14:44

1 Answers1

2

Not sure if this fix will help anyone else, but I tried booting into a previous kernel version and everything worked. I followed the instructions here to set GRUB to boot into 5.15.0-53-generic by default (instead of 5.15.0-56-generic).

cjolley
  • 787