Wi-Fi nie działa na Lenovo ThinkPad E570 (Realtek RTL8821CE)


19

Właśnie kupiliśmy Lenovo ThinkPad E570 (który ma mieć Intel 8265 do łączności bezprzewodowej). Ten laptop został kupiony częściowo, ponieważ ma certyfikat do uruchamiania Ubuntu i jako taki przynajmniej miałbym sens, aby wszystko działało po wyjęciu z pudełka ... ale nie ma szczęścia.

Najpierw zainstalowałem Ubuntu 17.10 i po instalacji zdałem sobie sprawę, że Wi-Fi nie działa. Próbowałem również Ubuntu 16.04 z dysku USB, ponieważ jest to wersja Ubuntu, dla której jest certyfikowany, ale nie ma też szczęścia.

Chip bezprzewodowy nie jest wykrywany przez lshw(ani nawet lspciprzez jego wygląd), ip linknie pokazuje interfejsu bezprzewodowego, a iwlwifimoduł jądra nie jest ładowany podczas rozruchu (sam mogę go załadować, modprobe iwlwifiale to nie działa Wi-Fi) . Myślę, że jest to połączony układ Wi-Fi / Bluetooth, a Bluetooth wydaje się działać (lub przynajmniej Bluetooth pokazuje się w Gnome i rfkill list).

modinfo iwlwifi | grep 8265pokazuje mi, że plik z końcówką -34 jest rzekomo załadowany, ale tylko plik z rozszerzeniem -33 (i kilka innych niższych liczb) jest obecny /lib/firmware, jeśli to pomaga).

Zainstalowałem również jądro Linuksa 4.14.9, próbując sprawić, by wszystko działało, ale to również nie rozwiązało problemu.

Dalsza informacja

root@ThinkPad-E570:~# modinfo iwlwifi | grep 8265
firmware:       iwlwifi-8265-34.ucode
root@ThinkPad-E570:~# rfkill list all
0: tpacpi_bluetooth_sw: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
root@ThinkPad-E570:~# dmesg | grep iwl
root@ThinkPad-E570:~# lspci -nnk | grep 0280 -A3
05:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:c821]
    Subsystem: Lenovo Device [17aa:c024]

Aktualizacja

Właśnie zauważyłem, że laptop w ogóle nie ma procesora bezprzewodowego Intel, ale tak naprawdę ma Realtek ... co oznacza, że specyfikacje przedstawione na stronie produktu w sklepie, w którym kupiłem ten laptop, nie były dokładne ... Westchnienie. Ten sam problem dotyczy jednak tylko crappier Wireless Chip.


1
Dla przyszłych Googlersów chciałbym zauważyć, że wybrana odpowiedź działa również na Linux Mint 19.1
LondonRob

Witryna Lenovo określa, że ​​ma kartę Intel WiFi, więc jeśli kupiłeś ją używaną, masz sprawę przeciwko sklepowi. Zobacz linki dodane powyżej w celu potwierdzenia.
K7AAY

1
To działało dla mnie youtube.com/watch?v=vPfLVsyQU_A
Dagang

dzięki @Dagang, uratowałeś mi godziny. Próbowałem tego na lenovo ideapad 130 15ikb.
Hridaynath,

Odpowiedzi:


17

Po pierwsze, sugerowałbym, że te instrukcje są bardziej prawdopodobne w przypadku Ubuntu 17.10. Jeśli nie używasz go teraz, sugeruję, aby go ponownie zainstalować.

Kliknij ten link, aby pobrać plik sterownika: https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce

O ile nie określono inaczej w przeglądarce, pliki do pobrania przejdź do katalogu Pobrane . Otwórz terminal i wykonaj:

cd ~/Downloads
unzip rtl8821ce.zip
cd rtl8821ce
nano Makefile

Przewiń w dół do linii 152 i zmień linię, która teraz brzmi:

export TopDIR ?= $(srctree)/drivers/net/wireless/rtl8821ce

Aby teraz przeczytać:

export TopDIR ?= $ ~/Downloads/rtl8821ce

Sprawdź dokładnie, dwa razy i zapisz (Ctrl + o następnie Enter) i zamknij (Ctrl + x) edytor tekstu.

Teraz wykonaj:

make
sudo make install
sudo modprobe 8821ce

Twoja sieć bezprzewodowa powinna teraz działać.

EDYCJA: Skompilowałeś moduł tylko dla aktualnie działającej wersji jądra. Gdy Update Manager oferuje późniejszą wersję jądra, znaną jako obraz linux, po żądanym ponownym uruchomieniu, musisz ponownie skompilować:

cd rtl8821ce
make clean
make
sudo make install
sudo modprobe 8821ce

Zachowaj plik i instrukcje na ten czas.


To właśnie znalazłem wczoraj i zadziałało :) Ciekawe, czy to zadziała w przypadku aktualizacji jądra.
RobinJ

Bardzo dobry połów! Zobacz moją edycję powyżej za kilka chwil.
chili555

po edycji pliku próbowałem uruchomić polecenie make, ale pojawia się błąd. uruchamiam „make” w katalogu „rtl8821ce”, błąd to / bin / sh: 1 cm3: nie znaleziono. Dowolny pomysł . Czy domyślne narzędzie jest dostarczane z systemem operacyjnym?
DILEEP THOMAS

@DILEEPTHOMAS Rozpocznij nowe pytanie.
chili555

Dla mnie edycja pliku nie była konieczna. Wystarczy pobrać sterownik kompilacji zainstalować i aktywować mod tam, gdzie to wystarczające. Dzięki!!!
Diego Andrés Díaz Espinoza,

17

Jest to kontynuacja odpowiedzi Stason , która sugeruje użycie dkms .

O ile mi wiadomo, w chwili pisania tego nie ma jeszcze oficjalnego sterownika Realtek RTL8821CE w oficjalnych repozytoriach Ubuntu.

Na github znajduje się repozytorium ze sterownikiem RTL8821CE przeznaczone dla jąder 4.14 i wyższych, a szczególnie dla Arch Linux, bez wsparcia dla innych dystrybucji Linux: https://github.com/tomaspinho/rtl8821ce

(Drobna uwaga: od lutego 2019 r. Tomaspinho niestety nie jest już w stanie utrzymać sterownika, ponieważ nie ma już dostępu do komputera z tym chipsetem, więc może być potrzebny nowy opiekun , ale sterownik nadal działa z Ubuntu 18.04 jak na ten czas.)

Jednak zgłoszono, że działa dobrze z Ubuntu 18.04.

Wymagane będzie tymczasowe połączenie z Internetem (takie jak kabel Ethernet , klucz USB Wi-Fi USB lub podłączenie telefonu kablem USB i „ tethering ” w celu korzystania z Wi-Fi telefonu)

Rozwiązanie pochodzi bezpośrednio z postu 4 przez Praseodym (wielka chwała ich mądrości!): Https://ubuntuforums.org/showthread.php?t=2398917 i zainstaluje wiele pakietów do budowy modułu sterownika Wi-Fi (git , dkms, build-essential & linux-headers) i sklonuj repozytorium git rtl8821ce z tomaspinho (również wielkie uznanie!).

DKMS jest używany, ponieważ jest to „system, który automatycznie ponownie skompiluje i zainstaluje moduł jądra, gdy nowe jądro zostanie zainstalowane lub zaktualizowane”.


Otwórz terminal i wpisz następujące wiersze (możesz wyciąć i wkleić, jeśli wolisz):

sudo apt-get install --reinstall git dkms build-essential linux-headers-$(uname -r)
git clone https://github.com/tomaspinho/rtl8821ce
cd rtl8821ce
chmod +x dkms-install.sh
chmod +x dkms-remove.sh
sudo ./dkms-install.sh

Po pomyślnym zakończeniu tego zadania należy ponownie uruchomić komputer i sprawdzić, czy działa Wifi.

Chcesz także upewnić się, że SecureBoot jest wyłączony w ustawieniach BIOS, w przeciwnym razie nie pozwoli załadować niepodpisanego modułu jądra.


Mogę potwierdzić, że nie musisz wyłączać SecureBoot . Jeśli masz włączony SecureBoot , po prostu postępuj zgodnie z instrukcjami wyświetlanymi podczas sudo ./dkms-install.shi wprowadź to samo hasło, które wybierzesz podczas ponownego uruchamiania.
Niel de Wet

1
Pracował dla mnie. Zaoszczędziłem mój czas.
Iftakharul Alam

Fantastyczny. Dziękuję Ci. To zadziałało dla mnie.
Dr Xorile,

mając ten sam problem ... ale najgorsze. idePadS145 nie ma Ethernetu, więc nie mogę nawet zainstalować apt-get. Jak mogę skompilować moduł dla domyślnego jądra w eon: 5.3.0-18-generic?
Nico Grunfeld

2

Aktualizacja 2018-02-27

Należy pamiętać, że sugerowany sterownik jest przeznaczony dla systemu Endless OS i dlatego może ulec awarii w dowolnym momencie. Jeśli jakikolwiek organ ma oficjalny sterownik dla Ubuntu, będzie lepiej.

Oryginalna odpowiedź

To nie jest nowa odpowiedź, lepiej komentarz.

Próbowałem więc postępować zgodnie z odpowiedzią @ chili555, ale ciągle pojawiały się błędy podczas próby utworzenia modułu.

Błędy takie jak:

/rtl8821ce/include/osdep_service_linux.h:294:2: error: implicit declaration of function ‘timer_setup’; did you mean ‘ether_setup’?
[-Werror=implicit-function-declaration]
   timer_setup(ptimer, pfunc, 0);
   ^~~~~~~~~~~   ether_setup

Próbowałem więc pobrać inną wersję ( link do bezpośredniego pobierania archiwum zip ), który do czasu oryginalnej odpowiedzi może być również master. Następnie udało mi się wykonać moduł i zainstalować zgodnie z instrukcjami dostarczonymi przez @ chili555


2

dkms build / install dla rtl8821ce można znaleźć tutaj: https://github.com/tomaspinho/rtl8821ce

Kiedy zastosujesz to podejście, nie będziesz musiał odbudowywać modułu przy każdej aktualizacji jądra.

Właśnie zbudowałem go na Lenovo Idea 720s z kubuntu 18.04.


Sugeruję również edycję Makefile, aby zmienić poziom logu z 4 (informacje) na 3 (ostrzeżenia). W przeciwnym razie /var/log/syslognapełnisz się z szaloną prędkością niepotrzebnymi wiadomościami informacyjnymi od kierowcy.

Edytuj plik Makefile, aby zmienić:

CONFIG_RTW_LOG_LEVEL = 4

do:

CONFIG_RTW_LOG_LEVEL = 3

a następnie skompiluj i zainstaluj moduł zgodnie z instrukcjami. Jeśli już go zainstalowałeś, musisz go odinstalować (za pomocą dkms-remove.sh), a następnie ponownie zainstalować.

Alternatywnie możesz ręcznie zmienić poziom dziennika do następnego uruchomienia za pomocą:

echo 3 > /proc/net/rtl8821ce/log_level

aktualizacja: opiekun zmienił plik Makefile, aby odzwierciedlić tę sugestię, więc jeśli dokonasz nowej transakcji / pobrania, będzie już miał właściwe (ciche) ustawienie.


1

Rozwiązanie problemu z timerem.

Udaje mi się sprawić, że działa dla mojego lenovo E570 z Ubuntu 16.04 i oto moje kroki: Najpierw aktualizuję wersję jądra do 4.15.4, korzystając z tego przewodnika

Wierzę, że każda wersja jądra powyżej 4.15.4 powinna działać, ponieważ musiałem ponownie zaktualizować swoje jądro do 4.15.9. Uwaga: należy ponownie zainstalować sterownik.

Następnie wykonałem kroki wymienione w odpowiedziach @ chili555


Co rozumiesz przez „instalację sterownika”?
pim

Oznacza to, że musisz ponownie zainstalować sudo. daj mi znać, czy to zadziałało i jakiej wersji jądra używasz. Ta metoda działała dla mnie wcześniej, ale ostatnio musiałem kilka razy ponownie instalować Ubuntu i przestało to działać.
Juichung_Kuo

Poniższy wątek zawiera alternatywny sterownik do 8821ce, link i działa dla mnie ponownie
Juichung_Kuo

Wydaje mi się, że mam dokładnie taką samą maszynę jak Ty, z 16.04 LTS i wydaje mi się, że mam dokładnie te same problemy, ale bez powodzenia. Czy możesz napisać, wiersz po wierszu, dokładnie to, co zrobiłeś, aby twój działał: wydaje mi się, że krążę w kółko i wciąż widzę tył mojej głowy. Arrrrgh. Dzięki.
Piloti

minęło trochę czasu i nie pamiętam dokładnie, co zrobiłem, aby to naprawić. Ale czy sprawdziłeś link, który opublikowałem powyżej, ponieważ zawiera on polecenia, których użyłem. też próbowałeś tego: github.com/lwfinger/rtlwifi_new
Juichung_Kuo

0

podziękowania dla praseodym z ubuntuusers.de za ten krótki samouczek z użyciem dkms do instalacji sterownika, ponieważ po wypróbowaniu kilku odpowiedzi na warianty, tylko to działało dla mnie na świeżo zainstalowanym debianie 10 (buster):

sudo apt-get install --reinstall git dkms build-essential linux-headers-$(uname -r)
git clone https://github.com/tomaspinho/rtl8821ce
cd rtl8821ce
chmod +x dkms-install.sh
chmod +x dkms-remove.sh
sudo ./dkms-install.sh 

usuwanie działa w ten sposób:

sudo ./dkms-remove.sh 

wspomniano również, aby ostatecznie wyłączyć bezpieczny rozruch, nawet przed instalacją systemu operacyjnego. nie jestem pewien, czy to robi różnicę, ponieważ potrzebowałem tego na komputerze stacjonarnym HP Slimline (290-a0512ng), w którym domyślnie wyłączono bezpieczne uruchamianie, sprawdziłem / zauważyłem po instalacji systemu operacyjnego.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.