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, і Bluetooth, здається, працює (або принаймні 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 вказано, що у нього є карта Wi-Fi Intel, тому якщо ви купили її раніше, у вас є справа проти магазину. Для підтвердження див. Додані вище посилання.
K7AAY

1
Це працювало для мене youtube.com/watch?v=vPfLVsyQU_A
Даган

дякую @Dagang, ти врятував мої години. Я пробую це на lenovo ideapad 130 15ikb.
Хрідайнат

Відповіді:


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

Тепер ваш бездротовий зв’язок повинен працювати.

EDIT: Ви склали модуль лише для вашої поточної версії ядра. Коли диспетчер оновлень пропонує пізнішу версію ядра, відому як linux-образ, після запиту перезавантаження потрібно перекомпілювати:

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

Будь ласка, збережіть файл та ці інструкції до цього часу.


Це те, що я знайшов і вчора, і це спрацювало :) Мені цікаво одне, чи продовжуватиме працювати над оновленнями ядра.
RobinJ

Дуже хороший улов! Будь ласка, перегляньте мою редакцію вище через кілька моментів.
chili555

після редагування файлу я спробував запустити команду make make, але це дає мені помилку. я запускаю "make" в каталозі "rtl8821ce", помилка / bin / sh: 1 cc: не знайдено. Будь-яка ідея. Чи утиліта make за замовчуванням поставляється з ОС?
ДІЛЕП ТОМАС

@DILEEPTHOMAS Будь ласка, розпочніть власне нове запитання.
chili555

Для мене редагування файлу не було необхідним. Просто завантажте драйвер компіляції встановити та активувати мод там, де достатньо. Дякую!!!
Дієго Андрес Діас Еспіноза

17

Це подання на відповідь Стасона , який пропонує використовувати dkms .

Наскільки я можу сказати, на момент написання цього запису в офіційних сховищах Ubuntu ще немає драйвера Wifi для Realtek RTL8821CE.

На github є сховище з драйвером RTL8821CE, спрямоване на ядра 4.14 і вище, спеціально для Arch Linux, не підтримується для інших дистрибутивів Linux: https://github.com/tomaspinho/rtl8821ce

(Незначна примітка: станом на лютий 2019 року tomaspinho, на жаль, більше не може підтримувати драйвер, оскільки він більше не має доступу до комп'ютера з цим чіпсетом, і тому може знадобитися новий технічний сервіс , але драйвер все ще працює з Ubuntu 18.04 як того часу.)

Однак, як повідомляється, він працює добре з Ubuntu 18.04.

Потрібно тимчасове підключення до Інтернету (наприклад, кабель Ethernet , USB- мережа Wi-Fi або підключення телефону за допомогою кабелю usb та ' прив’язання ' його, щоб використовувати Wi-Fi вашого телефону)

Рішення взято прямо з посади №4 від Praseodym (велика похвала їхній мудрості!): Https://ubuntuforums.org/showthread.php?t=2398917 та встановить ряд пакетів для побудови модуля драйвера wifi (git , dkms, build-basic & linux-headers) та клонують сховище grt rtl8821ce від 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

Після того, як це буде успішно завершено, вам слід перезавантажити і виявити, що ваш Wi-Fi працює.

Ви також хочете , щоб переконатися , що SecureBoot є відключення в настройках BIOS , або це не дозволить вам завантажити непідписаний модуль ядра самостійно підкорився.


Я можу підтвердити, що вам не потрібно вимикати SecureBoot . Якщо у вас включена програма SecureBoot, просто дотримуйтесь підказок під час sudo ./dkms-install.shі введіть той самий пароль, який ви оберете під час перезавантаження.
Ніль де Мокрий

1
Працювали для мене. Економив мій час.
Іфтахарул Алам

Фантастичний. Дякую. Це працювало для мене.
Доктор Ксоріле

маючи ту ж проблему ... але найгіршу. idePadS145 не має ethernet, тому я не можу навіть apt-get install .. Як можна отримати модуль, щойно скомпільований для ядра за замовчуванням в eon: 5.3.0-18-generic?
Ніко Грунфельд

2

Оновлення 2018-02-27

Зверніть увагу: запропонований драйвер призначений для ОС Endless, і тому він може зламатися в будь-який момент. Якщо у будь-якого органу є офіційний драйвер для 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


Що ви маєте на увазі під "встановленням драйвера"?
пім

Це означає, що вам потрібно знову зробити встановлення. будь ласка, дайте мені знати, чи працювало воно для вас і яку версію ядра ви використовуєте. Цей метод працював для мене раніше, але останнім часом мені довелося кілька разів перевстановити ubuntu, і він перестав працювати для мене.
Juichung_Kuo

Наступний потік містить альтернативний драйвер 8821ce, посилання, і він працює для мене знову
Juichung_Kuo

У мене, здається, є точно така ж машина, як у вас, працює 16.04 LTS і, здається, виникають абсолютно ті самі проблеми, але без успіху. Чи можна, щоб ви розміщували, рядок за рядком, саме те, що ви зробили, щоб ви працювали: я, здається, кружляють по колах і продовжують бачити потилицю. Arrrrgh. Дякую.
Пілоті

е-е .. минув певний час, і я не пам'ятаю точно, що я зробив, щоб виправити це. Але ви перевірили посилання, яке я розмістив вище, оскільки воно містить, які команди я використовував. також ви пробували це: github.com/lwfinger/rtlwifi_new
Juichung_Kuo

0

кредити praseodym від ubuntuusers.de для цього короткого підручника, що використовує dkms для встановлення драйвера, оскільки після спроби декількох варіантів відповідей, тільки це працювало для мене на свіжому встановленому debian 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 

видалення працює таким чином:

sudo ./dkms-remove.sh 

згадувалося також, що врешті-решт вимкнеться безпечне завантаження, навіть до встановлення ОС. не впевнений, що це має значення, тому що я потребував цього на "HP Slimline (290-a0512ng) Настільний ПК", який захищений завантажувач відключений за замовчуванням, я перевірив / помітив після встановлення ОС.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.