Težave s strojno opremo po zadnji posodobitvi jedra?

Tux Linux z bleščicami

Včasih, ko so nameščeni nova jedra V naši opremi z ustreznimi posodobitvami naše distribucije lahko neka strojna naprava preneha delovati ali deluje nepravilno. Zakaj se zgodi? No, preprosto je, ker so bili gonilniki strojne opreme spremenjeni s posodobitvijo jedra. Splošna jedra, ki jih distribucije običajno namestijo, so konfigurirana za delo z večino računalnikov, vendar niso optimizirana.

Včasih, če že imate določen voznik za nekatere naprave se lahko spremeni z novo različico jedra in videli boste, kako je spletna kamera, omrežna kartica, zvočna kartica ali katera koli druga naprava nenadoma prenehala delovati, ko je nekoč delovala pravilno, no, najbolj prepričan je, da je bil modul, ki ustreza gonilniku te naprave, zavržen, ker je veljal za zastarelega ali iz kakršnega koli drugega razloga, morda je le redka naprava in generično jedro ni nastavljeno za nalaganje.

Ne skrbite, če je starejša različica jedra vaša naprava je delovala, jo je enostavno popraviti. Na primer, predstavljajte si, da je vaša omrežna kartica, zvočna kartica, spletna kamera ali katera koli druga naprava nenadoma prenehala delovati in je nekoč delovala. Če se je to zgodilo po posodobitvi jedra, boste morda ugotovili, da modul ni več prisoten v novi različici. Lahko ga preverite (na primer, če predpostavimo, da ne deluje omrežna kartica, katere gonilnik je ath5k):

sudo modprobe ath5k && dmseg | grep ath

Če se nam zdi tako modul ne obstaja, to pomeni, da ni v našem jedru. Nato preverite, ali jedro zazna vašo napravo, ker morda ne bo delovala in je to vzrok. Na primer:

lsmod

Y poiščite seznam Naprava, ki jo iščete, na primer, če gre za omrežno kartico, išče nekaj takega, kot je Ethernet, WiFi, Wireless ali v našem primeru Atheros ... Če je navedena, je bila zaznana, zato bomo storili naslednje, to je izbrisati ali odstraniti najnovejšo različico jedra in njegovih glav.

dpkg --get-selections | grep linux-image

S tem so navedena jedra, ki smo jih namestili. Predstavljajmo si, da je naša problematična različica 4.10.0-28, ki se pojavlja na tem seznamu, toda da je s prejšnjo različico 4.10.0-2-generic voznik deloval pravilno, saj izbrišimo ga:

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

Potem naredimo enako za glave jedra, iščemo in s seznama odstranimo tiste, ki ustrezajo nadležnemu jedru, za to:

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

Končno naročite GRUB-u, da zažene sistem z različico predogled jedra, ki vam ni povzročil težav:

sudo nano /etc/default/grup

V tej datoteki spremenite vrstico GRUB_DEFAULT = 0 na GRUB_DEFAULT = shranjeno. Nato pojdite na konec datoteke in dodajte novo vrstico, ki vsebuje GRUB_SAVEDEFAULT = res. Shranite spremembe in zapustite. Zdaj ponovno posodabljamo, da začnejo spremembe veljati:

sudo update-grub2

Znova zaženite in pojdite... Zdaj bi moralo vse delovati. Očitno to velja le za distribucijske sisteme, ki imajo na voljo več jeder, če pa imate samo enega, tega ne morete storiti, je logično ... Zato je vedno dobro, da starih jeder po posodobitvah ne zavržemo, lahko služijo kot varnostno kopiranje kadar koli.

To vam bo prihranilo pred prenosom, konfiguriranjem in ročnim sestavljanjem novega jedra za namestitev na vašo distribucijo. Ne pozabite svojih komentarjev pustiti z dvomi ali posebnimi primeri, v katerih ste imeli težave po posodobitvi na novo jedro ...