Hardware problems after the latest kernel update?

Tux Linux with glitter

Sometimes when they are installed new kernels in our equipment with the respective updates of our distribution some hardware device may stop working or function improperly. Why happens? Well, it's simple, because the hardware drivers have been altered with the kernel update. The generic kernels that distributions usually install are configured to work with most computers, but are not optimized.

Sometimes, if you have a specific driver for some device, it may change with the new kernel version and you may see how your webcam, your network card, your sound card or any other device has suddenly stopped working when it used to work properly, well, the most sure is that the module corresponding to the driver of that device was discarded because it was considered obsolete or for any other reason, maybe it is just a rare device and the generic kernel has not been configured to load it.

Don't worry, if with the older version of the kernel your device worked, it has an easy fix. For example, imagine that your network card, your sound card, webcam or any other device has suddenly stopped working and used to work. If this happened after a kernel update, you may find that the module is no longer present in the new version. You can check it with (for example, assuming that what is not working is the network card whose driver is ath5k):

sudo modprobe ath5k && dmseg | grep ath

If it appears to us that module does not exist, it means that it is not present in our kernel. Then check that the kernel detects your device, because it may not work and that is the cause. For instance:

lsmod

Y search the list The specific device you are looking for, for example if it is the network card, looks for something like Ethernet, WiFi, Wireless or in our case Atheros ... If it is listed it has been detected, therefore we will do the following, which is to delete or eliminate the latest version of the kernel and its headers.

dpkg --get-selections | grep linux-image

With that the kernels that we have installed are listed. Let's imagine that our problematic version is 4.10.0-28 that appears in that list, but that with the previous version 4.10.0-2-generic the driver worked properly, since let's delete it:

sudo apt-get remove --purge linux-image-4.10.0-28-generic linux-image-extra-4.10.0-28-generic

Then we do the same for kernel headers, we look for and from the list we eliminate those corresponding to the annoying kernel, for that:

dpkg --get-selections | grep linux-headers

sudo apt-get remove --purge linux-headers-4.10.0-28 linux-headers-4.10.0-28-generic

sudo update-grub2

Finally tell GRUB to boot the system using the version kernel preview that did not give you problems:

sudo nano /etc/default/grup

Inside that file change the line GRUB_DEFAULT = 0 to GRUB_DEFAULT = saved. Then go to the end of the file and add another new line that contains GRUB_SAVEDEFAULT = true. Save the changes and exit. Now we update again for the changes to take effect:

sudo update-grub2

Reboot and go… Now everything should work. Obviously this is only valid for distros that have several kernels available, if you only have one you cannot do this, it is logical ... That is why it is always good not to discard the old kernels after updates, they can serve as a backup at any given time.

That will save you from downloading, configuring, and compiling a new kernel by hand to install on your distro. Do not forget to leave your comments with doubts or specific cases in which you have had problems after updating to a new kernel ...


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   Mikel said

    Good article and very timely for me, since it has happened to me and just with the driver of a wifi with Atheros 5k ... I assumed that my problem was due to the reason that you point out in the post, since, it has not been the first time that This setback happens to me. In the end, because I wanted to try the latest version of Ubuntu, I decided to do a new installation after almost 3 years with the lts that I had on.

  2.   mlpbcn said

    We are already with the same as always, you explain it in the article only serves for debian, ubuntu and derivatives, but not for other distros, as if there were only those distros and then we boast that in GNU / Linux there is a lot of variety, but only We talked about a few distros, I use Manjaro and it works great and according to Distrowatch it is the third most downloaded, above Ubuntu and among other things, it detects the hardware, I have installed the drivers without having to do anything and what to say about the kernel. install in graphio mode, you get a list and with a single click you choose the one you want and that's it, but if you do it from the terminal it is only a super short line and not three or four like Ubuntu. The only thing I ask is that if you are only going to talk about a specific distro, it is specified in the title.

  3.   Bill said

    It happened to me with my only rigid sata, that is, I ran out of boot in KDE Neon, although I'm not sure who to blame because it seems to me that the bios did not recognize it.
    I plugged it into another port of the mather and it booted

    1.    Felipe said

      Some of us are not able to interpret that the instructions are the same for all distros and start playing with more complicated distros.

  4.   Neules said

    Hey! I wanted to report a typo in the first [code]:

    sudo modprobe ath5k && dmseg | grep ath

    dmesg instead of dmseg

    You're welcome!

  5.   Ignacio said

    Magnificent explanation that has allowed me to recover the cable connection to the internet. The web card was gone after a kernel update to linux image and linux headers version 4.4.0-127, which I performed on Thursday May 24, 2018.
    Note the comment before mine that corrects an instruction.

  6.   laninred said

    If the controller, suppose a WiFi board, which is the most frequent case, has been compiled and installed, activated the module with modprobe, will the same thing happen? Will it be possible in this case to compile and load the module again?

  7.   Pablo said

    You see how this site works, they correct a line with an error and no case after two years.