Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: tamrock - 16.02.20 - klo:09.54
-
Yritin asentaa otsikossa mainuttua wlan-tikkua (RTL88AU) huonolla menestyksellä. Tikku toimii koneessa jossa on Ubuntu 16.04 mutta nyt yritin asentaa sitä toiseen koneeseen jossa on versio 18.04. Kokeilin asentaa ajureita suoraan
sudo apt-get install rtl8812au-dkms
sekä näillä ohjella: https://forum.ubuntu-fi.org/index.php?topic=53378.msg408702#msg408702, tikku ei kuitenkaan alkunut toimimaan. Viimein sain tikun toimimaan asentamalla ajurit: https://github.com/gnab/rtl8812au mutta se ei onnistunut täydellisesti koska uudelleen käynnistyksen jälkeen tikku oli jälleen kateissa. Arvelin että aiemmin asennetut, toimimattomat asennukset haittaa tikun toimintaa ja päätin poistaa aiemmat asennukset.
Kysymys kuuluu: teinkö virheen kun poistin "ylimääräiset/toimimattomat" ajureiden asennukset poistalla kyseiset RTL8812 xxxx - kansiot suoraan osoitteesta /usr/src/
vai kuinka ne oikea oppisesti tulisi poistaa ja kuinka pääsisin ns. takaisin lähtötilanteeseen?
Netistä ohjeita tutkiessani törmäsin komentoon: dkms status
joka antaa virheilmoituksen kone@ThinkCentre-M93p:~/rtl8812au-master$ dkms status
Error! Could not locate dkms.conf file.
File: does not exist.
Liittyykö tämä virhe näihin aiemmin poistamiini kansioihin/tiedostoihin vai mitä tämä tarkoittaa?
Myös komento sudo dkms autoinstall
antaa saman virheilmoituksen Error! Could not locate dkms.conf file.
File: does not exist.
-
Lisäystä aikaisempaan.
Wlan-tikku alkoi toimimaan eli sen puolesta asia on kunnossa. Vielä askarruttaa mitä dkms status
komennon jälkeen tuleva ilmoitus kone@ThinkCentre-M93p: dkms status
Error! Could not locate dkms.conf file.
File: does not exist.
tarkoittaa, mistä se johtuu ja mitä asian korjaamiseksi voi tehdä, vai tarvitseeko sille tehdä mitään?
-
dkms meni todennäköisesti rikki, kun poistit dkms:llä asennetun ajurin lähdekoodin /usr/src:stä. Mitä dkms-ajureita järjestelmässä on nyt, ja mihin niiden lähdekoodilinkit osoittavat:
ls /var/lib/dkms
ls -l /var/lib/dkms/*/*/source
-
Wlan-tikku alkoi toimimaan eli sen puolesta asia on kunnossa.
File: does not exist.
tarkoittaa, mistä se johtuu ja mitä asian korjaamiseksi voi tehdä, vai tarvitseeko sille tehdä mitään?
Jos kerran systeemi toimii, kannattaako korjata toimivaa ;)
https://www.linux.fi/wiki/DKMS
-
ls /var/lib/dkms/
dkms_dbversion rtl8812au
ja
ls -l /var/lib/dkms/*/*/source
lrwxrwxrwx 1 root root 27 helmi 15 19:32 /var/lib/dkms/rtl8812au/5.2.20.2/source -> /usr/src/rtl8812au-5.2.20.2
lrwxrwxrwx 1 root root 25 helmi 15 12:07 /var/lib/dkms/rtl8812au/5.2.20/source -> /usr/src/rtl8812au-5.2.20
-
ls -l /var/lib/dkms/*/*/source
lrwxrwxrwx 1 root root 27 helmi 15 19:32 /var/lib/dkms/rtl8812au/5.2.20.2/source -> /usr/src/rtl8812au-5.2.20.2
lrwxrwxrwx 1 root root 25 helmi 15 12:07 /var/lib/dkms/rtl8812au/5.2.20/source -> /usr/src/rtl8812au-5.2.20
Jep. Onko poistamasi lähdekoodihakemisto /usr/src/rtl8812au-5.2.20.2 vai /usr/src/rtl8812au-5.2.20
Sitä vastaava versio on paras poistaa tuolta /var/lib/dkms/rtl8812au -hakemistosta, niin dkms status lähtee toimimaan.
Eli jos /usr/src/rtl8812au-5.2.20 on poistettu, poista myös /var/lib/dkms/rtl8812au/5.2.20:
sudo rm -r /var/lib/dkms/rtl8812au/5.2.20
-
ls -l /var/lib/dkms/*/*/source
lrwxrwxrwx 1 root root 27 helmi 15 19:32 /var/lib/dkms/rtl8812au/5.2.20.2/source -> /usr/src/rtl8812au-5.2.20.2
lrwxrwxrwx 1 root root 25 helmi 15 12:07 /var/lib/dkms/rtl8812au/5.2.20/source -> /usr/src/rtl8812au-5.2.20
Minulla näemmä on jokin Nvida-ajuri DKMS-käännettynä kerneliin:
ls /usr/src
linux-5.4-headers-5.4.0-12 linux-headers-5.4.0-12-generic linux-headers-5.4.0-9 nvidia-440.59
linux-5.4-headers-5.4.0-14 linux-headers-5.4.0-14-generic linux-headers-5.4.0-9-generic
(Käytössä Ubuntu-Beta 20.04)
En nyt aivan ymmärrä, mikä jakeluversio ja sen kernel-versio on käytössäsi.
En edes muista, milloin käytössä olisi ollut kernel-versio 5.2.xxxx ???
Jos tai kun jakeluun asennetaan mitä monimuotoisimpia kernel-versioita, voi olla luvassa ongelmia ja toimimattomuutta.
Lisäys: dkms status
nvidia, 440.59, 5.4.0-12-generic, x86_64: installed
nvidia, 440.59, 5.4.0-14-generic, x86_64: installed
Huom. Ehdinkin poistaa tuon Focal-kernel -version linux-image-5.4.0-9-generic ;)
-
En nyt aivan ymmärrä, mikä jakeluversio ja sen kernel-versio on käytössäsi.
En edes muista, milloin käytössä olisi ollut kernel-versio 5.2.xxxx ???
5.2.20 on rtl8812au-ajurin versio, ei kernelin versio.
-
5.2.20 on rtl8812au-ajurin versio, ei kernelin versio.
Jeps. Mutta komento dkms status
pitäisi tulostaa ajurit, jotka on käännetty kernelimoduleiksi.
Koskapa Linux (ja Ubuntu) tukee varsin laajasti laitteita, ei ajureiden kääntäminen ole usein tarpeen.
-
Jeps. Mutta komento dkms status
pitäisi tulostaa ajurit, jotka on käännetty kernelimoduleiksi.
Niin, mutta tamrockilla dkms status on nyt rikki, koska ajurin lähdekoodi on poistettu ja linkitys on rikki. Kyseessä on dkms-ohjelman ominaisuus, ja vika korjaantuu helpoiten poistamalla kyseinen ajuriversio myös /var/lib/dkms:stä, kuten yllä neuvoin.
-
Tein nm:n antamien ohjeiden mukaan ja virheilmoitus poistui. Nyt komento:
kone@ThinkCentre-M93p:~$ dkms status
kone@ThinkCentre-M93p:~$
ei anna mitään tietoa. On vissiinkin nyt siis kunnossa?
Vielä yksi kysymys aiheeseen liittyen: kuinka ajuri joka ei asennuksen jälkeen toimikaan toivotulla tavalla tulisi oikea oppisesti poistaa? (esimerkiksi ajuri joka ladataan githubista ja asennetaan ./install.sh komennolla jne.)
Kiitos taas kerran avusta ja jatketaan harjoituksia :)
-
....
Vielä yksi kysymys aiheeseen liittyen: kuinka ajuri joka ei asennuksen jälkeen toimikaan toivotulla tavalla tulisi oikea oppisesti poistaa? (esimerkiksi ajuri joka ladataan githubista ja asennetaan ./install.sh komennolla jne.)
...
Onpa aikaa kun moiseen on tarvinnut ryhtyä - mutta aika usein samaan hakemistoon tulee myös uninstall.sh (tai remove.sh)
Ja fiksusti koottuihin paketteihin sisältyy myös README, jossa tarkemmat ohjeet.
-
Pistetään äkkinäisyyden/tietämättömyyden piikkiin. Kysyinkin siksi jottei tulisi jatkossa tehtyä samoja virheitä ja mitä ajan käyttöön tulee niin aikaa häärämisessä meni korkeintaan 15 min ;)
-
Tein nm:n antamien ohjeiden mukaan ja virheilmoitus poistui. Nyt komento: kone@ThinkCentre-M93p:~$ dkms status
kone@ThinkCentre-M93p:~$
ei anna mitään tietoa. On vissiinkin nyt siis kunnossa?
Joo, DKMS on nyt sinänsä kunnossa, mutta rtl8812au on käännetty ja asennettu vain ajossa olevalle kernelille, koska sitä ei näy dkms:n listauksessa. Wlan-ajuri siis lakkaa toimimasta, kun kerneli seuraavan kerran päivittyy, ja joudut kääntämään ja asentamaan ajurin itse uudelleen. Kannattanee vielä yrittää DKMS-asennusta uudelleen.
Vielä yksi kysymys aiheeseen liittyen: kuinka ajuri joka ei asennuksen jälkeen toimikaan toivotulla tavalla tulisi oikea oppisesti poistaa? (esimerkiksi ajuri joka ladataan githubista ja asennetaan ./install.sh komennolla jne.)
Tämä on tapauskohtaista riippuen siitä, miten ajuri on asennettu. DKMS:n kautta asennetut ajurit voi poistaa dkms remove -komennolla: https://wiki.archlinux.org/index.php/Dynamic_Kernel_Module_Support#Remove_modules
-
Nyt on kokeiltu dkms-asennusta:
sudo dkms add -m 8812au -v 4.2.2
sudo dkms build -m 8812au -v 4.2.2
sudo dkms install -m 8812au -v 4.2.2
ja tulos on tässä :D :
kone@ThinkCentre-M93p:~/rtl8812au-master$ dkms status
8812au, 4.2.2, 5.3.0-40-generic, x86_64: installed (WARNING! Diff between built and installed module!)