Проблеми з апаратним забезпеченням після останнього оновлення ядра?

Tux Linux з блиском

Іноді при їх встановленні нові ядра в нашому обладнанні з відповідними оновленнями нашого дистрибутиву деякий апаратний пристрій може перестати працювати або працювати неправильно. Чому трапляється? Ну, це просто, тому що драйвери обладнання були змінені з оновленням ядра. Загальні ядра, які зазвичай встановлюють дистрибутиви, налаштовані на роботу з більшістю комп’ютерів, але не оптимізовані.

Іноді, якщо у вас є конкретний контролер для деяких пристроїв це може змінитися з новою версією ядра, і ви зможете побачити, як ваша веб-камера, мережева карта, звукова карта чи будь-який інший пристрій раптово перестали працювати, коли раніше працювали належним чином, ну, найпевніше, що модуль, що відповідає драйверу цього пристрою, було відкинуто, оскільки він вважався застарілим або з якоїсь іншої причини, можливо, це просто рідкісний пристрій, і загальне ядро ​​не налаштоване для його завантаження.

Не хвилюйтеся, якщо з старіша версія ядра Ваш пристрій працював, його легко виправити. Наприклад, уявіть, що ваша мережева карта, звукова карта, веб-камера чи будь-який інший пристрій раптово перестали працювати і звикли працювати. Якщо це сталося після оновлення ядра, ви можете виявити, що модуль більше не присутній у новій версії. Ви можете перевірити це (наприклад, припустивши, що не працює мережева карта, драйвером якої є ath5k):

sudo modprobe ath5k && dmseg | grep ath

Якщо нам це здається модуль не існує, це означає, що він відсутній у нашому ядрі. Потім переконайтеся, що ядро ​​виявляє ваш пристрій, оскільки він може не працювати, і це причина. Наприклад:

lsmod

Y пошук у списку Конкретний пристрій, який ви шукаєте, наприклад, якщо це мережева карта, шукає щось на зразок Ethernet, WiFi, Wireless або в нашому випадку Atheros ... Якщо воно є в списку, його було виявлено, тому ми зробимо наступне, що полягає у видаленні або усуненні останньої версії ядра та його заголовків.

dpkg --get-selections | grep linux-image

При цьому перелічені ядра, які ми встановили. Давайте уявимо, що наша проблемна версія - 4.10.0-28, яка є в цьому списку, але що з попередньою версією 4.10.0-2-generic драйвер працював належним чином, оскільки давайте його видалимо:

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

Тоді ми робимо те саме для заголовки ядра, ми шукаємо і зі списку ми вилучаємо ті, що відповідають надокучливому ядру, для цього:

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

В кінці кінців доручити GRUB завантажити систему за допомогою версії попередній перегляд ядра, який не створював проблем:

sudo nano /etc/default/grup

Усередині цього файлу змініть рядок GRUB_DEFAULT = 0 на GRUB_DEFAULT = збережено. Потім перейдіть до кінця файлу та додайте ще один новий рядок, який містить GRUB_SAVEDEFAULT = істина. Збережіть зміни та вийдіть. Тепер ми знову оновлюємо, щоб зміни набрали чинності:

sudo update-grub2

Перезавантажтесь і йдіть... Тепер все повинно працювати. Очевидно, що це справедливо лише для дистрибутивів, у яких доступно кілька ядер, якщо у вас є лише одне, то цього зробити не можна, це логічно ... Ось чому завжди добре не відкидати старі ядра після оновлення, вони можуть служити як резервне копіювання в будь-який час.

Це позбавить вас від завантаження, налаштування та компіляції нового ядра вручну для встановлення на вашому дистрибутиві. Не забудьте залишити свої коментарі з сумнівами або конкретними випадками, коли у вас виникли проблеми після оновлення до нового ядра ...