Wi-Fi tidak berfungsi pada Lenovo ThinkPad E570 (Realtek RTL8821CE)

17

Kami baru saja membeli Lenovo ThinkPad E570 (yang seharusnya memiliki Intel 8265 untuk nirkabel). Laptop ini dibeli sebagian karena disertifikasi untuk menjalankan Ubuntu dan dengan demikian bagi saya setidaknya masuk akal untuk hal-hal untuk bekerja di luar kotak ... tetapi tidak beruntung.

Pertama, saya menginstal Ubuntu 17.10 dan setelah instalasi menyadari Wi-Fi tidak berfungsi. Saya juga mencoba Ubuntu 16.04 dari USB karena itu adalah versi Ubuntu yang disertifikasi untuknya, tetapi tidak ada keberuntungan di sana juga.

Chip nirkabel tidak terdeteksi oleh lshw(atau bahkan lspcioleh kelihatannya), ip linktidak menunjukkan antarmuka nirkabel, dan iwlwifimodul kernel tidak dimuat saat boot (saya dapat memuat ini sendiri menggunakan modprobe iwlwifitetapi ini tidak membuat Wi-Fi berfungsi) . Saya pikir ini adalah gabungan chip Wi-Fi / Bluetooth, dan Bluetooth tampaknya berfungsi (atau setidaknya Bluetooth muncul di Gnome dan rfkill list).

modinfo iwlwifi | grep 8265menunjukkan kepada saya file yang diakhiri dengan -34 seharusnya dimuat tetapi hanya file yang berakhiran -33 (dan beberapa angka lain yang lebih rendah) hadir /lib/firmware, jika itu membantu).

Saya juga telah menginstal kernel 4.14.9 Linux dalam upaya untuk mendapatkan sesuatu untuk bekerja, tetapi ini tidak menyelesaikan masalah juga.

Informasi lebih lanjut

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]

Memperbarui

Saya hanya memperhatikan bahwa laptop tidak memiliki chip nirkabel Intel sama sekali, tetapi sebenarnya memiliki satu Realtek ... yang berarti bahwa spesifikasi yang disajikan pada halaman produk toko tempat saya membeli laptop ini tidak akurat ... Mendesah. Masalahnya sama, hanya dengan chip nirkabel crappier.

RobinJ
sumber
1
Untuk Googler masa depan, saya ingin mencatat bahwa jawaban yang dipilih juga bekerja di Linux Mint 19.1
LondonRob
Situs web Lenovo menyatakan memiliki kartu WiFi Intel, jadi jika Anda membelinya bekas, Anda memiliki kasing di toko. Lihat tautan web yang ditambahkan di atas untuk konfirmasi.
K7AAY
1
Ini bekerja untuk saya youtube.com/watch?v=vPfLVsyQU_A
Dagang
Terima kasih @Dagang, Anda menghemat waktu saya. Saya mencobanya di lenovo ideapad 130 15ikb.
Hridaynath

Jawaban:

15

Pertama, saya menyarankan agar petunjuk ini lebih memungkinkan untuk bekerja dengan Ubuntu 17.10. Jika saat ini Anda tidak menjalankannya, saya sarankan Anda menginstalnya kembali.

Klik tautan ini untuk mengunduh file driver: https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce

Kecuali Anda telah menentukan sebaliknya di browser Anda, unduhan masuk ke direktori Unduhan . Buka terminal dan lakukan:

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

Gulir ke bawah ke baris 152 dan ubah baris yang sekarang berbunyi:

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

Untuk sekarang baca:

export TopDIR ?= $ ~/Downloads/rtl8821ce

Mengoreksi dengan cermat, dua kali, dan menyimpan (Ctrl + o diikuti oleh Enter) dan tutup (Ctrl + x) editor teks.

Sekarang lakukan:

make
sudo make install
sudo modprobe 8821ce

Nirkabel Anda sekarang seharusnya berfungsi.

EDIT: Anda telah mengompilasi modul hanya untuk versi kernel yang sedang berjalan. Ketika Update Manager menawarkan versi kernel yang lebih baru, yang dikenal sebagai linux-image, setelah reboot yang diminta, Anda harus mengkompilasi ulang:

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

Harap simpan file dan instruksi ini untuk saat itu.

cabai555
sumber
Ini adalah apa yang saya temukan kemarin juga dan berhasil :) Satu hal yang saya ingin tahu adalah apakah ini akan tetap bekerja di seluruh pembaruan kernel.
RobinJ
Tangkapan yang sangat bagus! Silakan lihat edit saya di atas dalam beberapa saat.
chili555
setelah mengedit file saya mencoba menjalankan perintah make, tetapi itu memberi saya kesalahan. saya menjalankan "make" di direktori "rtl8821ce", kesalahannya adalah / bin / sh: 1 cc: tidak ditemukan. Ada ide . Apakah membuat utilitas default dilengkapi dengan OS?
DILEEP THOMAS
@DILEEPTHOMAS Silakan mulai pertanyaan baru Anda sendiri.
chili555
Bagi saya edit file itu tidak perlu. Cukup unduh kompilasi driver instal dan aktifkan mod di mana cukup. Terima kasih!!!
Diego Andrés Díaz Espinoza
15

Ini adalah tindak lanjut dari jawaban stason yang menyarankan menggunakan dkms .

Sejauh yang saya tahu, pada saat penulisan ini, belum ada Wifi Driver untuk Realtek RTL8821CE di Repositori resmi Ubuntu.

Di atas github terdapat repositori dengan driver RTL8821CE yang ditujukan untuk kernel 4.14 ke atas dan khusus untuk Arch Linux tanpa dukungan yang disediakan untuk Distro Linux lainnya: https://github.com/tomaspinho/rtl8821ce

(Catatan kecil: pada Februari 2019 tomaspinho sayangnya tidak lagi dapat mempertahankan driver karena dia tidak lagi memiliki akses ke komputer dengan chipset ini, dan karenanya pengelola baru mungkin diperlukan , tetapi pengemudi masih bekerja dengan Ubuntu 18.04 pada waktu itu.)

Namun, telah dilaporkan berfungsi dengan baik dengan Ubuntu 18.04.

Diperlukan koneksi internet sementara (seperti kabel ethernet , dongle wifi USB atau menghubungkan ponsel Anda dengan kabel usb dan ' menambatkannya ' untuk menggunakan Wifi ponsel Anda)

Solusinya diambil langsung dari pos # 4 oleh Praseodym (banyak pujian atas kebijaksanaan mereka!): Https://ubuntuforums.org/showthread.php?t=2398917 dan akan menginstal sejumlah paket untuk membangun modul driver wifi (git , dkms, build-essential & linux-header) dan clone rtl8821ce git repositori dari tomaspinho (banyak pujian juga!).

DKMS digunakan karena "sistem yang secara otomatis akan mengkompilasi ulang dan menginstal modul kernel ketika kernel baru diinstal atau diperbarui."


Buka terminal dan ketik baris berikut (Anda dapat memotong dan menempelkan jika Anda mau):

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

Setelah ini selesai dengan sukses, Anda harus reboot dan menemukan bahwa Wifi Anda berfungsi.

Anda juga ingin memastikan SecureBoot adalah cacat dalam pengaturan BIOS atau tidak akan membiarkan Anda memuat modul kernel diri memenuhi unsigned.

PHeLiOn
sumber
Saya dapat mengkonfirmasi bahwa Anda tidak perlu menonaktifkan SecureBoot . Jika Anda mengaktifkan SecureBoot cukup ikuti petunjuknya selama sudo ./dkms-install.shdan masukkan kata sandi yang sama yang akan Anda pilih saat reboot.
Niel de Wet
1
Bekerja untukku. Menghemat waktu saya.
Iftakharul Alam
Fantastis. Terima kasih. Ini berhasil untuk saya.
Dr Xorile
memiliki masalah yang sama ... tetapi yang terburuk. idePadS145 tidak memiliki ethernet jadi saya bahkan tidak bisa menginstal apt-get .. Bagaimana bisa mendapatkan modul hanya dikompilasi untuk kernel default di eon: 5.3.0-18-generic?
Nico Grunfeld
2

Perbarui 2018-02-27

Harap dicatat bahwa driver yang disarankan adalah untuk OS Tanpa Batas dan oleh karena itu mungkin rusak pada titik mana pun. Jika ada orang yang memiliki driver resmi untuk Ubuntu itu akan lebih baik.

Jawaban Asli

Ini bukan jawaban baru, akan lebih baik komentar.

Jadi saya mencoba untuk mengikuti jawaban @ chili555 tapi saya terus mendapatkan kesalahan saat mencoba membuat modul.

Kesalahan seperti:

/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

Jadi saya mencoba mengunduh revisi yang berbeda ( tautan unduhan arsip langsung zip ) yang pada saat jawabannya mungkin sudah menjadi master juga. Kemudian saya bisa membuat modul dan menginstal mengikuti langkah-langkah yang disediakan oleh @ chili555

ingkevin
sumber
2

build / install dkms untuk rtl8821ce dapat ditemukan di sini: https://github.com/tomaspinho/rtl8821ce

Ketika Anda menggunakan pendekatan itu, Anda tidak perlu membangun kembali modul setiap kali kernel diperbarui.

Saya baru saja membangunnya di Lenovo Idea 720s dengan kubuntu 18.04.


Saya juga menyarankan Anda mengedit Makefile untuk mengubah level log dari 4 (info) menjadi 3 (peringatan). Kalau tidak, Anda akan menemukan /var/log/syslogpengisian Anda pada kecepatan gila dengan pesan info yang tidak berguna dari pengemudi.

Jadi edit Makefile, untuk mengubah:

CONFIG_RTW_LOG_LEVEL = 4

untuk:

CONFIG_RTW_LOG_LEVEL = 3

dan kemudian membangun dan menginstal modul sesuai instruksi. Jika Anda sudah menginstalnya, Anda harus menghapus instalannya (menggunakan dkms-remove.sh) dan menginstalnya kembali.

Atau Anda dapat secara manual mengubah level log hingga reboot berikutnya dengan:

echo 3 > /proc/net/rtl8821ce/log_level

pembaruan: pengelola mengubah Makefile untuk mencerminkan saran ini, jadi jika Anda membuat checkout baru / unduhan itu akan sudah memiliki pengaturan yang benar (tenang).

Stason
sumber
1

Solusi untuk kesalahan timer.

Saya berhasil membuatnya bekerja untuk lenovo E570 saya dengan ubuntu 16.04 dan berikut adalah langkah-langkah saya: Pertama, saya meningkatkan versi kernel saya ke 4.15.4 menggunakan panduan ini

Saya percaya versi kernel di atas 4.15.4 harus berfungsi karena saya harus memutakhirkan kernel saya ke 4.15.9 lagi. Perhatikan bahwa driver perlu diinstal ulang.

Kemudian, saya mengikuti langkah-langkah yang disebutkan dalam jawaban @ chili555

Juichung_Kuo
sumber
Apa yang Anda maksud dengan "menginstal driver"?
pim
Itu berarti Anda perlu sudo melakukan instalasi lagi. tolong beri tahu saya jika itu berhasil untuk Anda dan versi kernel apa yang Anda gunakan. Metode ini bekerja untuk saya sebelumnya, tetapi baru-baru ini saya harus menginstal ulang ubuntu beberapa kali dan berhenti bekerja untuk saya.
Juichung_Kuo
Utas berikut menyertakan driver alternatif ke 8821ce, tautan dan itu berfungsi lagi untuk saya
Juichung_Kuo
Saya sepertinya memiliki mesin yang sama persis dengan Anda, menjalankan 16,04 LTS dan tampaknya memiliki masalah yang persis sama, tetapi tidak berhasil. Apakah mungkin bagi Anda untuk memposting, baris demi baris, persis apa yang Anda lakukan untuk membuat pekerjaan Anda: Saya tampaknya berputar-putar dan terus melihat bagian belakang kepala saya. Arrrrgh. Terima kasih.
Piloti
uh .. sudah lama dan saya tidak ingat persis apa yang saya lakukan untuk memperbaikinya. Tapi apakah Anda memeriksa tautan yang saya posting di atas karena berisi perintah apa yang saya gunakan. Anda juga sudah mencoba ini: github.com/lwfinger/rtlwifi_new
Juichung_Kuo
0

kredit untuk praseodym dari ubuntuusers.de untuk tutorial singkat ini menggunakan dkms untuk menginstal driver karena setelah mencoba beberapa varian yang dijawab, hanya ini yang bekerja untuk saya pada debian 10 (buster) yang baru diinstal:

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 

penghapusan bekerja seperti ini:

sudo ./dkms-remove.sh 

itu juga disebutkan untuk akhirnya menonaktifkan boot aman, bahkan sebelum instalasi os. tidak yakin apakah ini membuat perbedaan karena saya membutuhkan ini pada "PC Desktop Slimline (290-a0512ng)" yang boot aman dinonaktifkan secara default saya memeriksa / perhatikan setelah instalasi os.

vchrizz
sumber