Wi-Fi, не работающий над Lenovo ThinkPad E570 (Realtek RTL8821CE)

Мы просто купили Lenovo ThinkPad E570 (который, как предполагается, имеет Intel 8265 для беспроводной связи). Этот ноутбук был куплен частично, потому что он, как сертифицируют, запускает Ubuntu и как таковой мне, по крайней мере, он имел бы смысл для вещей работать из поля..., но никакой такой удачи.

Во-первых, я установил Ubuntu 17.10 и после того, как установка поняла, что Wi-Fi не работал. Я также попробовал Ubuntu 16.04 от Карты памяти, так как это - версия 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 один..., что означает, что спецификации представили на странице продукта магазина, в котором я купил этот ноутбук, не были точны... Вздох. Та же проблема стоит, однако, только с более дрянной беспроводной микросхемой.

23
задан 25 July 2018 в 12:21

9 ответов

Во-первых, я бы предположил, что эти инструкции с большей вероятностью будут работать с 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

Теперь ваша беспроводная сеть должна работать.

РЕДАКТИРОВАТЬ: Вы скомпилировали модуль для текущей версии ядра. только. Когда диспетчер обновлений предлагает более позднюю версию ядра, известную как образ linux, после запрошенной перезагрузки, вы должны перекомпилировать:

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

Пожалуйста, сохраните файл и эти инструкции на это время.

18
ответ дан 25 July 2018 в 12:21

Это продолжение ответа stason, в котором предлагается использовать dkms.

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

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

(Незначительное примечание: с февраля 2019 года томаспиньо, к сожалению больше не может обслуживать драйвер, так как у него больше нет доступа к компьютеру с этим чипсетом, и поэтому может понадобиться новый мейнтейнер, но драйвер все еще работает с Ubuntu 18.04 на тот момент)

Тем не менее, по имеющимся данным, он прекрасно работает с Ubuntu 18. 04. Потребуется временное подключение к Интернету (например, ethernet-кабель), USB wifi dongle или подключение телефона с помощью usb кабеля и 'привязывания ' его использовать Wifi вашего телефона)

Решение принято непосредственно из должности #4 по Praseodym (большая похвала их мудрости! ): https://ubuntuforums.org/showthread.php?t=2398917 и установит несколько пакетов для сборки модуля драйвера wifi (git, dkms, build-essential & linux-заголовки) и клонирует git-репозиторий 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

После того, как все будет успешно завершено, вы должны перезагрузиться и обнаружить, что ваш Wifi работает.

Вы также хотите убедиться, что SecureBoot имеет значение Disabled в настройках BIOS, иначе он не позволит загрузить неподписанный модуль самозавершенного ядра.

20
ответ дан 25 July 2018 в 12:21

Обновление 2018-02-27

Обратите внимание, что предлагаемый драйвер предназначен для Endless 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
ответ дан 25 July 2018 в 12:21

Решение ошибки таймера.

Мне удалось заставить его работать на моем lenovo E570 с ubuntu 16.04, и вот мои шаги: Во-первых, я обновляю версию ядра до 4.15.4, используя это руководство

. Я считаю, что любая версия ядра выше 4.15.4 должна работать, потому что мне пришлось снова обновить ядро ​​до 4.15.9. Обратите внимание, что драйвер необходимо переустановить.

Затем я выполнил шаги, упомянутые в ответах @ chili555

1
ответ дан 25 July 2018 в 12:21

dkms сборка/установка для 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, чтобы отразить это предложение, так что если вы сделаете свежую проверку/загрузку, то она уже будет иметь правильную (тихую) настройку.

2
ответ дан 25 July 2018 в 12:21
  • 1
    Право. You' ll также должны использовать API для запросов IconView для получения ячейки, по которой произошел щелчок мышью. Сигнал пресс-мероприятия кнопки является универсальным сигналом от GtkWidget, который большинство всех (interactive/focusable) виджетов испустит при щелчке кнопкой мыши по ним. You' ll должны сделать всю тяжелую работу вручную, которую активировать код в GTK + уже делает для двойного щелчка, но делает это для одиночного нажатия, и вручную избегает условий двойного щелчка в Вашем коде. – dobey 31 May 2012 в 15:32
  • 2
    Право. You' ll также должны использовать API для запросов IconView для получения ячейки, по которой произошел щелчок мышью. Сигнал пресс-мероприятия кнопки является универсальным сигналом от GtkWidget, который большинство всех (interactive/focusable) виджетов испустит при щелчке кнопкой мыши по ним. You' ll должны сделать всю тяжелую работу вручную, которую активировать код в GTK + уже делает для двойного щелчка, но делает это для одиночного нажатия, и вручную избегает условий двойного щелчка в Вашем коде. – dobey 31 May 2012 в 15:32

кредиты 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)», у которого по умолчанию отключена безопасная загрузка, я проверил / заметил после установки ОС.

0
ответ дан 23 November 2019 в 02:54

Учитывая, что у вас есть несколько заданий cron с определенным пользователем, и у них разное расписание. Вы можете просто создать файл в папке /etc/cron.d/ Допустим, имя файла - myjobs , тогда просто запишите все ваши планировщики в этот файл и затем выполните следующую команду.

crontab -u <имя пользователя> /etc/cron.d/myjobs

121- --889507-

Вот как я исправил IdeaPad s145-15ast. Если вы хотите по-прежнему использовать ubuntu 16.04, сначала установите Hardware Enablement:

apt-get install linux-generic-hwe-16.04

Затем добавьте Realtek 8821c dkms "Jesse Sung" для 4.15

add-apt-repository ppa:wenchien/rtl8821c
apt-get update
apt install oem-realtek-8821ce-lp1767920-4.15-dkms

Reboot и все.

0
ответ дан 5 January 2021 в 22:16

Для этого устройства требуются драйверы и прошивка. Для новых ядер Ubuntu 4.19+ rtw88 будут работать драйверы из репозитория Ларри Фингера.

Выполните, чтобы установить драйвер:

sudo apt update
sudo apt install git dkms
git clone https://github.com/lwfinger/rtw88.git
sudo dkms add ./rtw88
sudo dkms install rtlwifi-new/0.6

Выполните, чтобы установить прошивку:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
sudo cp linux-firmware/rtw88/rtw8821c_fw.bin /lib/firmware/rtw88
0
ответ дан 5 January 2021 в 22:16

Сегодня вы столкнулись с той же проблемой с ubuntu 20.04.

Внимательно прочитав https://github.com/tomaspinho/rtl8821ce , я обнаружил, что есть готовый пакет от Canonical: rtl8821ce-dkms

Установка сводится к:

  1. sudo apt install rtl8821ce-dkms
  2. Reboot

Вот и все. Ничего больше. После перезагрузки все работает.

6
ответ дан 5 January 2021 в 22:16

Другие вопросы по тегам:

Похожие вопросы: