Wi-Fi ไม่ทำงานบน Lenovo ThinkPad E570 (Realtek RTL8821CE)


19

เราเพิ่งซื้อ Lenovo ThinkPad E570 (ซึ่งควรจะมี Intel 8265 สำหรับระบบไร้สาย) แล็ปท็อปนี้ถูกซื้อมาบางส่วนเพราะได้รับการรับรองให้ใช้งาน Ubuntu และอย่างน้อยสำหรับฉันมันก็สมเหตุสมผลสำหรับสิ่งที่ต้องทำงานนอกกรอบ ... แต่ก็ไม่มีโชค

ก่อนอื่นฉันติดตั้ง Ubuntu 17.10 และหลังจากติดตั้งแล้วตระหนักว่า Wi-Fi ไม่ทำงาน ฉันยังลอง Ubuntu 16.04 จากไดรฟ์ USB เนื่องจากเป็นรุ่นของ Ubuntu ที่ได้รับการรับรอง แต่ก็ไม่มีโชคเช่นกัน

ชิปไร้สายไม่ได้ตรวจพบโดยlshw(หรือแม้กระทั่งlspciโดยลักษณะของมัน) ip linkไม่แสดงอินเตอร์เฟซแบบไร้สายและiwlwifiเคอร์เนลโมดูลไม่โหลดที่บูต (ฉันสามารถโหลดนี้เองใช้modprobe iwlwifiแต่ไม่ได้ทำให้การทำงาน Wi-Fi) . ฉันคิดว่ามันเป็นชิพ Wi-Fi / Bluetooth แบบรวมและบลูทู ธ ก็ดูเหมือนจะทำงานได้ (หรืออย่างน้อยบลูทู ธ จะแสดงใน Gnome และrfkill list)

modinfo iwlwifi | grep 8265แสดงให้ฉันเห็นไฟล์ที่ลงท้ายด้วย -34 ถูกคาดคะเน แต่มีเพียงไฟล์ที่ลงท้ายด้วย -33 (และตัวเลขอื่น ๆ ที่ต่ำกว่า) มีอยู่ใน/lib/firmwareนั้นหากช่วยได้)

ฉันยังได้ติดตั้งเคอร์เนล Linux 4.14.9 ในความพยายามเพื่อให้ได้งาน แต่ก็ไม่ได้แก้ปัญหาเช่นกัน

ข้อมูลเพิ่มเติม

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]

ปรับปรุง

ฉันเพิ่งสังเกตเห็นว่าแล็ปท็อปไม่มีชิปไร้สายของ Intel เลย แต่จริงๆแล้วมี Realtek หนึ่ง ... ซึ่งหมายความว่าข้อกำหนดที่นำเสนอในหน้าผลิตภัณฑ์ของร้านค้าที่ฉันซื้อแล็ปท็อปนี้นั้นไม่ถูกต้อง ... ถอนหายใจ ปัญหาเดียวกันนี้เกิดขึ้นกับชิปไร้สาย crappier


1
สำหรับชาว Google ในอนาคตฉันต้องการทราบว่าคำตอบที่เลือกใช้งานได้กับ Linux Mint 19.1
LondonRob

เว็บไซต์ Lenovo ระบุว่ามีการ์ด Intel WiFi ดังนั้นหากคุณซื้อมันใช้คุณจะพบกับร้านค้า ดูเว็บลิงค์ที่เพิ่มด้านบนเพื่อยืนยัน
K7AAY

1
สิ่งนี้ใช้ได้กับฉันyoutube.com/watch?v=vPfLVsyQU_A
Dagang

ขอบคุณ @Dangang คุณประหยัดเวลาได้แล้ว ฉันลองใช้กับ lenovo ideapad 130 15ikb
Hridaynath

คำตอบ:


17

อันดับแรกฉันขอแนะนำว่าคำแนะนำเหล่านี้มีแนวโน้มที่จะทำงานกับ Ubuntu 17.10 หากคุณไม่ได้ทำงานอยู่ตอนนี้ฉันขอแนะนำให้คุณติดตั้งใหม่อีกครั้ง

คลิกที่ลิงค์นี้เพื่อดาวน์โหลดไฟล์ไดรเวอร์: https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce

จนกว่าคุณจะได้ระบุไว้เป็นอย่างอื่นในเบราว์เซอร์ของคุณดาวน์โหลดไปไดเรกทอรีดาวน์โหลด เปิดเทอร์มินัลและทำ:

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

เลื่อนลงไปที่บรรทัดที่ 152 และเปลี่ยนบรรทัดที่ตอนนี้อ่าน:

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

ถึงตอนนี้อ่าน:

export TopDIR ?= $ ~/Downloads/rtl8821ce

พิสูจน์อักษรอย่างระมัดระวังสองครั้งและบันทึก (Ctrl + o ตามด้วย Enter) และปิด (Ctrl + x) เท็กซ์เอดิเตอร์

ตอนนี้ทำ:

make
sudo make install
sudo modprobe 8821ce

ไร้สายของคุณควรจะทำงาน

แก้ไข: คุณได้รวบรวมโมดูลสำหรับรุ่นเคอร์เนลที่รันอยู่ในปัจจุบันเท่านั้น เมื่อ Update Manager เสนอเคอร์เนลเวอร์ชันใหม่กว่าซึ่งรู้จักกันในชื่อ linux-image หลังจากรีบูตเครื่องตามที่ร้องขอคุณจะต้องคอมไพล์ใหม่:

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

โปรดเก็บไฟล์และคำแนะนำเหล่านี้ไว้ในเวลานั้น


นี่คือสิ่งที่ฉันพบเมื่อวานด้วยเช่นกันและมันก็ใช้งานได้ :) สิ่งหนึ่งที่ฉันอยากรู้คือมันจะทำงานข้ามการปรับปรุงเคอร์เนลหรือไม่
RobinJ

จับได้ดีมาก! โปรดดูการแก้ไขของฉันด้านบนในอีกสักครู่
chili555

หลังจากแก้ไขไฟล์ฉันพยายามเรียกใช้คำสั่ง make แต่มันทำให้ฉันมีข้อผิดพลาด ฉันเรียกใช้ "ทำ" ในไดเรกทอรี "rtl8821ce" ข้อผิดพลาดคือ / bin / sh: 1 cc: ไม่พบ ความคิดใด ๆ การสร้างยูทิลิตี้เริ่มต้นมาพร้อมกับระบบปฏิบัติการหรือไม่?
DILEEP THOMAS

@DILEEPTHOMAS โปรดเริ่มคำถามใหม่ของคุณเอง
chili555

สำหรับฉันแก้ไขไฟล์ไม่จำเป็น เพียงดาวน์โหลดไดรเวอร์การติดตั้งคอมไพล์แล้วเปิดใช้งาน mod ในกรณีที่เพียงพอ ขอบคุณ !!!
Diego AndrésDíaz Espinoza

17

นี่คือการติดตามถึงstason 's คำตอบที่แนะนำให้ใช้DKMS

เท่าที่ฉันสามารถบอกได้ในขณะที่เขียนนี้ยังไม่มีไดรเวอร์ Wifi สำหรับ Realtek RTL8821CE ในที่เก็บของ Ubuntu อย่างเป็นทางการ

บน github มีพื้นที่เก็บข้อมูลพร้อมไดรเวอร์ RTL8821CE ที่มุ่งไปที่เมล็ด 4.14 ขึ้นไปและเฉพาะสำหรับ Arch Linux ที่ไม่มีการสนับสนุนสำหรับ Linux Distros อื่น ๆ : https://github.com/tomaspinho/rtl8821ce

(หมายเหตุเล็กน้อย: ณ เดือนกุมภาพันธ์ 2019 tomaspinho เศร้าที่ไม่สามารถรักษาไดรเวอร์ได้อีกต่อไปเนื่องจากเขาไม่สามารถเข้าถึงคอมพิวเตอร์ด้วยชิปเซ็ตนี้ได้อีกต่อไปดังนั้นผู้ดูแลระบบคนใหม่อาจจำเป็นต้องใช้แต่คนขับยังคงทำงานกับ Ubuntu 18.04 เหมือนเดิม เวลานั้น.)

อย่างไรก็ตามมีรายงานว่าใช้งานได้ดีกับ Ubuntu 18.04

จะต้องมีการเชื่อมต่ออินเทอร์เน็ตชั่วคราว (เช่นสายอีเธอร์เน็ต , USB wifi dongleหรือเชื่อมต่อโทรศัพท์ของคุณด้วยสาย usb และ ' tethering ' เพื่อใช้ Wifi ในโทรศัพท์ของคุณ)

วิธีการแก้ปัญหาจะถูกนำโดยตรงจากโพสต์# 4โดยPraseodym (สรรเสริญมากภูมิปัญญาของพวกเขา!): https://ubuntuforums.org/showthread.php?t=2398917และจะติดตั้งจำนวนของแพคเกจสำหรับการสร้างโมดูลไดรเวอร์ wifi (git , dkms, build-essential & linux-headers)และโคลนrtl8821ce git repository จากtomaspinho (สรรเสริญมากเช่นกัน!)

DKMS ใช้เนื่องจากเป็น "ระบบที่จะคอมไพล์ใหม่และติดตั้งโมดูลเคอร์เนลโดยอัตโนมัติเมื่อเคอร์เนลใหม่ได้รับการติดตั้งหรืออัปเดต"


เปิดเทอร์มินัลแล้วพิมพ์บรรทัดต่อไปนี้ (คุณสามารถตัดและวางหากต้องการ):

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

หลังจากนี้เสร็จเรียบร้อยแล้วคุณควรรีบูทและพบว่า Wifi ของคุณใช้งานได้

นอกจากนี้คุณยังต้องแน่ใจว่าSecureBootนั้นถูกปิดใช้งานในการตั้งค่า BIOS มิเช่นนั้นจะไม่ทำให้คุณโหลดโมดูลเคอร์เนลที่ไม่ได้รับการรับรองด้วยตนเองได้


เราสามารถยืนยันได้ที่คุณไม่จำเป็นต้องปิดการใช้งานSecureBoot หากคุณเปิดใช้งานSecureBootเพียงทำตามคำแนะนำในระหว่างsudo ./dkms-install.shและป้อนรหัสผ่านเดียวกันกับที่คุณจะเลือกระหว่างการรีบูต
Niel de Wet

1
ทำงานให้ฉัน บันทึกเวลาของฉัน
Iftakharul Alam

น่าอัศจรรย์ ขอขอบคุณ. สิ่งนี้ใช้ได้สำหรับฉัน
Dr Xorile

มีปัญหาเดียวกัน ... แต่แย่ที่สุด idePadS145 ไม่มีอีเธอร์เน็ตดังนั้นฉันจึงไม่สามารถติดตั้ง apt-get .. ฉันจะทำให้โมดูลที่คอมไพล์แล้วสำหรับเคอร์เนลเริ่มต้นใน eon: 5.3.0-18-generic ได้อย่างไร?
นิโก้ Grunfeld

2

อัปเดต 2018-02-27

โปรดทราบว่าไดรเวอร์ที่แนะนำนั้นมีไว้สำหรับOS ที่ไม่มีที่สิ้นสุดดังนั้นจึงอาจแตกได้ทุกเวลา หากร่างกายใดมีไดรเวอร์อย่างเป็นทางการสำหรับ Ubuntu มันจะดีกว่า

คำตอบเดิม

นี่ไม่ใช่คำตอบใหม่จะดีกว่าความคิดเห็น

ดังนั้นฉันจึงพยายามติดตาม @ chili555 คำตอบ แต่ฉันยังคงได้รับข้อผิดพลาดในขณะที่พยายามสร้างโมดูล

ข้อผิดพลาดเช่น:

/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

ดังนั้นฉันจึงลองดาวน์โหลดการแก้ไขที่แตกต่างกัน( ลิงค์ดาวน์โหลดโดยตรงที่เก็บถาวร zip ) ซึ่งในเวลาที่คำตอบเดิมอาจเป็นหลักเช่นกัน จากนั้นฉันก็สามารถสร้างโมดูลและติดตั้งโดยทำตามขั้นตอนที่ได้รับจาก @ chili555


2

dkms build / install สำหรับ rtl8821ce สามารถดูได้ที่นี่: https://github.com/tomaspinho/rtl8821ce

เมื่อคุณใช้วิธีการนั้นคุณไม่จำเป็นต้องสร้างโมดูลใหม่ทุกครั้งที่เคอร์เนลได้รับการอัพเดต

ฉันเพิ่งสร้างมันบน Lenovo Idea 720s ด้วย kubuntu 18.04


นอกจากนี้ฉันขอแนะนำให้คุณแก้ไขMakefileเพื่อเปลี่ยนระดับการบันทึกจาก 4 (ข้อมูล) เป็น 3 (คำเตือน) มิฉะนั้นคุณจะพบว่า/var/log/syslogการเติมของคุณเต็มไปด้วยความบ้าคลั่งพร้อมกับข้อความข้อมูลที่ไร้ประโยชน์จากคนขับ

ดังนั้นแก้ไข Makefile เพื่อเปลี่ยน:

CONFIG_RTW_LOG_LEVEL = 4

ถึง:

CONFIG_RTW_LOG_LEVEL = 3

จากนั้นสร้างและติดตั้งโมดูลตามคำแนะนำ หากคุณติดตั้งแล้วคุณจะต้องถอนการติดตั้ง (โดยใช้dkms-remove.sh) จากนั้นติดตั้งใหม่อีกครั้ง

หรือคุณสามารถเปลี่ยนระดับบันทึกได้ด้วยตนเองจนกว่าจะรีบูตครั้งถัดไปด้วย:

echo 3 > /proc/net/rtl8821ce/log_level

ปรับปรุง: ผู้ดูแลระบบเปลี่ยนMakefileเพื่อให้สอดคล้องกับคำแนะนำนี้ดังนั้นหากคุณทำการชำระเงิน / ดาวน์โหลดใหม่จะมีการตั้งค่าที่ถูกต้อง (เงียบ)


1

วิธีการแก้ไขข้อผิดพลาดจับเวลา

ฉันจัดการเพื่อให้มันทำงานกับ lenovo E570 ของฉันกับ Ubuntu 16.04 และนี่คือขั้นตอนของฉัน: ก่อนอื่นฉันอัพเกรดเคอร์เนลเวอร์ชันของฉันเป็น 4.15.4 โดยใช้คู่มือนี้

ฉันเชื่อว่าเคอร์เนลเวอร์ชันด้านบน 4.15.4 ควรใช้งานได้เพราะฉันต้องอัพเกรดเคอร์เนลเป็น 4.15.9 อีกครั้ง หมายเหตุจำเป็นต้องติดตั้งไดรเวอร์อีกครั้ง

จากนั้นฉันทำตามขั้นตอนที่กล่าวถึงใน @ chili555 คำตอบ


คุณหมายถึงอะไรโดย "ติดตั้งไดรเวอร์"?
pim

หมายความว่าคุณต้องติดตั้ง sudo อีกครั้ง โปรดแจ้งให้เราทราบหากใช้งานได้กับคุณและเวอร์ชั่นเคอร์เนลที่คุณใช้อยู่ วิธีนี้ใช้ได้ผลกับฉันมาก่อน แต่เมื่อเร็ว ๆ นี้ฉันต้องติดตั้ง Ubuntu หลายครั้งและหยุดทำงานสำหรับฉัน
Juichung_Kuo

เธรดต่อไปนี้มีตัวเลือกอื่นสำหรับไดรเวอร์ 8821ce ลิงก์และใช้งานได้สำหรับฉันอีกครั้ง
Juichung_Kuo

ฉันดูเหมือนจะมีเครื่องเดียวกันกับคุณทำงาน 16.04 LTS และดูเหมือนว่าจะมีปัญหาเดียวกัน แต่ไม่ประสบความสำเร็จ เป็นไปได้หรือไม่ที่คุณจะโพสต์ทีละบรรทัดสิ่งที่คุณทำเพื่อให้งานของคุณ: ฉันดูเหมือนจะวนเวียนเป็นวงกลมและเห็นด้านหลังศีรษะของฉัน Arrrrgh ขอบคุณ
Piloti

เอ่อ .. มันผ่านมาซักพักแล้วและฉันก็จำไม่ได้ว่าฉันทำอะไรเพื่อแก้ไข แต่คุณตรวจสอบลิงค์ที่ฉันโพสต์ด้านบนเพราะมีคำสั่งที่ฉันใช้ คุณลองสิ่งนี้แล้ว: github.com/lwfinger/rtlwifi_new
Juichung_Kuo

0

เงินให้สินเชื่อเพื่อ praseodym จาก ubuntuusers.de สำหรับการสอนสั้น ๆนี้โดยใช้ dkmsเพื่อติดตั้งไดรเวอร์เพราะหลังจากลองใช้คำตอบหลากหลายรูปแบบเพียงแค่นี้ก็ใช้ได้สำหรับฉันบนเดเบียน 10 ที่เพิ่งติดตั้งใหม่:

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 

การกำจัดทำงานด้วยวิธีนี้:

sudo ./dkms-remove.sh 

มันถูกกล่าวถึงในที่สุดก็ปิดการใช้งานการบูตที่ปลอดภัยแม้กระทั่งก่อนการติดตั้งระบบปฏิบัติการ ไม่แน่ใจว่าสิ่งนี้สร้างความแตกต่างได้หรือไม่เพราะฉันต้องการสิ่งนี้ใน "HP Slimline (290-a0512ng) Desktop PC" ซึ่งปิดใช้งานการบูตที่ปลอดภัยโดยค่าเริ่มต้นฉันตรวจสอบ / สังเกตหลังจากการติดตั้งระบบปฏิบัติการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.