As of this afternoon the wifi on my Dell XPS 13 stopped working (running Debian sid with kernel 4.4.0-1-amd64). lspci detects my wifi card, but ifconfig -a shows only the loopback interface.I tried plugging in a USB wifi dongle which I have used recently with this laptop, and this also does not get recognized as a network interface. Both during startup and immediately after plugging in a USB wifi dongle, the following message appears in dmesg:cfg80211: Unknown symbol wireless_nlevent_flush (err 0)cfg80211 sounds like it would be used for configuring 802.11 (i.e. wifi) so I suspect this kernel module isn't getting loaded correctly. Indeed, if I try to modprobe cfg80211 I receive the following error:modprobe: ERROR: could not insert 'cfg80211':? Unknown symbol in module, or unknown parameter (see dmesg)and checking dmesg I see the same message as above.Googling for unknown symbol wireless_nlevent_flush yields zero results, although googling for just wireless_nlevent_flush seems to imply that it relates to wext somehow. One page suggested that rfkill must be loaded before cfg80211, but rfkill is already loaded. I would be very grateful for any advice.
Wifi stopped working, Unknown symbol wireless_nlevent_flush
wifi;kernel modules;dmesg
Your cfg80211 module and your running kernel are incompatible. The internal programming interfaces in the kernel change rather frequently, so when you upgrade your kernel, you need to keep modules in synch. (The exception is a few out-of-tree modules that are specifically maintained to work across a large range of kernel versions.)If you upgraded your kernel package since the last reboot, you probably have a running kernel that no longer matches the kernel version(s) on disk, and so modprobe is trying to load a module for a more recent kernel. Make sure not to uninstall a linux-image- package corresponding to the running kernel. You can check the running kernel version with the command uname -r; with Debian's package naming convention, the package linux-image-$(uname -r) should be installed.If you've removed the package, then you'll either need to reinstall it or reboot. To reinstall, check if you still have the package in /var/cache/apt/archives. If you don't, look for the package on snapshot.debian.org (with a version matching the version of the linux-image- package, i.e. the second column of dpkg -l, which is not always exactly the version contained in the name).