Wi-Fi no funciona en Lenovo ThinkPad E570 (Realtek RTL8821CE)

17

Acabamos de comprar un Lenovo ThinkPad E570 (que se supone que tiene el Intel 8265 para conexión inalámbrica). Esta computadora portátil se compró en parte porque está certificada para ejecutar Ubuntu y, como tal, para mí al menos tendría sentido que las cosas funcionen de fábrica ... pero no tuve tanta suerte.

Primero, instalé Ubuntu 17.10 y después de la instalación me di cuenta de que el Wi-Fi no funcionaba. También probé Ubuntu 16.04 desde una unidad USB, ya que esa es la versión de Ubuntu para la que está certificada, pero tampoco tuve suerte.

El chip inalámbrico no es detectado por lshw(o incluso lspcipor su aspecto), ip linkno muestra una interfaz inalámbrica y el iwlwifimódulo del kernel no se carga en el arranque (puedo cargarlo yo mismo, modprobe iwlwifipero esto no hace que el Wi-Fi funcione) . Creo que es un chip combinado de Wi-Fi / Bluetooth, y parece que Bluetooth funciona (o al menos Bluetooth aparece en Gnome y rfkill list).

modinfo iwlwifi | grep 8265me muestra que un archivo que termina en -34 supuestamente está cargado pero solo un archivo que termina en -33 (y algunos otros números más bajos) está presente /lib/firmware, si eso ayuda).

También instalé el kernel Linux 4.14.9 en un intento de hacer que las cosas funcionen, pero esto tampoco resolvió el problema.

Más información

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]

Actualizar

Acabo de notar que la computadora portátil no tiene un chip inalámbrico Intel, pero de hecho tiene una Realtek ... lo que significa que las especificaciones presentadas en la página del producto de la tienda donde compré esta computadora portátil no eran precisas ... Suspiro. Sin embargo, el mismo problema se presenta solo con un chip inalámbrico más desagradable.

RobinJ
fuente
1
Para futuros Googlers, me gustaría señalar que la respuesta elegida también funciona en Linux Mint 19.1
LondonRob
El sitio web de Lenovo especifica que tiene una tarjeta WiFi Intel, por lo que si la compró usada, tiene un caso contra la tienda. Consulte los enlaces web agregados anteriormente para su confirmación.
K7AAY
1
Esto funcionó para mí youtube.com/watch?v=vPfLVsyQU_A
Dagang el
gracias @Dagang, me salvaste las horas. Lo he probado en lenovo ideapad 130 15ikb.
Hridaynath

Respuestas:

15

Primero, sugeriría que es más probable que estas instrucciones funcionen con Ubuntu 17.10. Si no lo está ejecutando actualmente, le sugiero que lo reinstale.

Haga clic en este enlace para descargar el archivo del controlador: https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce

A menos que haya especificado lo contrario en su navegador, las descargas van al directorio Descargas . Abra una terminal y haga:

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

Desplácese hacia abajo hasta la línea 152 y cambie la línea que ahora dice:

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

Para leer ahora:

export TopDIR ?= $ ~/Downloads/rtl8821ce

Revise cuidadosamente, dos veces, y guarde (Ctrl + o seguido de Enter) y cierre (Ctrl + x) el editor de texto.

Ahora haz:

make
sudo make install
sudo modprobe 8821ce

Su conexión inalámbrica ahora debería estar funcionando.

EDITAR: Ha compilado el módulo solo para su versión actual del kernel. Cuando Update Manager ofrece una versión posterior del kernel, conocida como linux-image, después del reinicio solicitado, debe volver a compilar:

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

Guarde el archivo y estas instrucciones para ese momento.

chili555
fuente
Esto es lo que encontré ayer también y funcionó :) Sin embargo, tengo curiosidad por saber si esto seguirá funcionando en las actualizaciones del kernel.
RobinJ
Muy buena captura! Por favor, vea mi edición anterior en unos momentos.
chili555
Después de editar el archivo, intenté ejecutar el comando make, pero me da un error. ejecuto el "make" en el directorio "rtl8821ce", el error es / bin / sh: 1 cc: no encontrado. Alguna idea . ¿Hacer una utilidad predeterminada viene con el sistema operativo?
DILEEP THOMAS
@DILEEPTHOMAS Comience su propia nueva pregunta.
chili555
Para mí editar el archivo no era necesario. Simplemente descargue la compilación del controlador, instale y active el mod donde sea suficiente. ¡¡¡Gracias!!!
Diego Andrés Díaz Espinoza
15

Este es un seguimiento hasta Stason 's respuesta que sugiere el uso de DKMS .

Por lo que puedo decir, al momento de escribir esto, aún no hay un controlador Wifi para el Realtek RTL8821CE en los repositorios oficiales de Ubuntu.

En github hay un repositorio con un controlador RTL8821CE dirigido a los núcleos 4.14 y superiores y específicamente para Arch Linux sin soporte para otras distribuciones de Linux: https://github.com/tomaspinho/rtl8821ce

(Nota menor: a partir de febrero de 2019, lamentablemente, tomaspinho ya no puede mantener el controlador ya que ya no tiene acceso a una computadora con este conjunto de chips, por lo que puede ser necesario un nuevo mantenedor , pero el controlador aún funciona con Ubuntu 18.04 como en ese momento.)

Sin embargo, se ha informado que funciona bien con Ubuntu 18.04.

Se requerirá una conexión temporal a Internet (como un cable de ethernet , un dongle wifi USB o conectar su teléfono con un cable usb y ' conectarlo ' para usar el wifi de su teléfono)

La solución se toma directamente desde el post # 4 por Praseodym (muchos elogios a su sabiduría!): Https://ubuntuforums.org/showthread.php?t=2398917 e instalará una serie de paquetes para la construcción del módulo de controlador wifi (GIT , dkms, build-essential y linux-headers) y clone el repositorio rtl8821ce git de tomaspinho (¡muchos elogios también!).

DKMS se utiliza porque es "un sistema que recompilará e instalará automáticamente un módulo del núcleo cuando se instale o actualice un nuevo núcleo".


Abra una terminal y escriba las siguientes líneas (puede cortar y pegar si lo prefiere):

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

Después de que esto se complete con éxito, debe reiniciar y descubrir que su Wifi está funcionando.

También desea asegurarse de que SecureBoot esté deshabilitado en la configuración del BIOS o no le permitirá cargar el módulo del núcleo autocumplido sin firmar.

pHeLiOn
fuente
Puedo confirmar que no necesita deshabilitar SecureBoot . Si tiene SecureBoot habilitado, simplemente siga las instrucciones durante el sudo ./dkms-install.she ingrese la misma contraseña que elegirá durante el reinicio.
Niel de Wet
1
Trabajó para mi. Me salvó el tiempo.
Iftakharul Alam
Fantástico. Gracias. Esto funcionó para mí.
Dr. Xorile
teniendo el mismo problema ... pero peor. el idePadS145 no tiene ethernet, así que ni siquiera puedo instalar apt-get. ¿Cómo se puede compilar el módulo para el kernel predeterminado en eon: 5.3.0-18-generic?
Nico Grunfeld
2

Actualizar 2018-02-27

Tenga en cuenta que el controlador sugerido es para Endless OS y, por lo tanto, podría romperse en cualquier momento. Si algún cuerpo tiene un controlador oficial para Ubuntu, será mejor.

Respuesta original

Esta no es una respuesta nueva, sería mejor un comentario.

Así que traté de seguir la respuesta de @ chili555 pero seguí recibiendo errores al intentar crear el módulo.

Errores como:

/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

Así que intenté descargar una revisión diferente ( enlace de descarga directa del archivo zip ) que para el momento de la respuesta original también podría ser maestra. Luego pude hacer el módulo e instalarlo siguiendo los pasos proporcionados por @ chili555

ingkevin
fuente
2

La compilación / instalación de dkms para rtl8821ce se puede encontrar aquí: https://github.com/tomaspinho/rtl8821ce

Cuando use ese enfoque, no necesitará reconstruir el módulo cada vez que se actualice el núcleo.

Lo acabo de construir en Lenovo Idea 720s con kubuntu 18.04.


También le sugiero que edite Makefile para cambiar el nivel de registro de 4 (información) a 3 (advertencias). De lo contrario, se /var/log/syslogllenará a una velocidad increíble con mensajes de información inútiles del conductor.

Entonces edite Makefile, para cambiar:

CONFIG_RTW_LOG_LEVEL = 4

a:

CONFIG_RTW_LOG_LEVEL = 3

y luego compile e instale el módulo según las instrucciones. Si ya lo instaló, debe desinstalarlo (usando dkms-remove.sh) y luego reinstalarlo nuevamente.

Alternativamente, puede cambiar manualmente el nivel de registro hasta el próximo reinicio con:

echo 3 > /proc/net/rtl8821ce/log_level

actualización: el mantenedor cambió el Makefile para reflejar esta sugerencia, por lo que si realiza una compra / descarga nueva, ya tendrá la configuración correcta (silenciosa).

stason
fuente
1

Una solución para el error del temporizador.

Logré que funcione para mi lenovo E570 con ubuntu 16.04 y estos son mis pasos: Primero, actualizo mi versión del kernel a 4.15.4 usando esta guía

Creo que cualquier versión de kernel anterior a 4.15.4 debería funcionar porque tuve que actualizar mi kernel a 4.15.9 nuevamente. Tenga en cuenta que el controlador debe ser reinstalado.

Luego, seguí los pasos mencionados en @ chili555 respuestas

Juichung_Kuo
fuente
¿Qué quiere decir con "instalar el controlador"?
Pim
Significa que debe sudo hacer la instalación nuevamente. avíseme si funcionó para usted y qué versión de kernel está utilizando. Este método me funcionó antes, pero recientemente tuve que reinstalar ubuntu varias veces y dejó de funcionar para mí.
Juichung_Kuo
El siguiente hilo incluye un controlador alternativo al 8821ce, enlace y funciona para mí otra vez
Juichung_Kuo
Parece que tengo exactamente la misma máquina que tú, ejecutando 16.04 LTS y parece estar teniendo exactamente los mismos problemas, pero sin ningún éxito. ¿Es posible que publique, línea por línea, exactamente lo que hizo para que el suyo funcione? Parece que estoy dando vueltas en círculos y sigo viendo la parte posterior de mi cabeza. Arrrrgh. Gracias.
Piloti
uh ... ha pasado un tiempo y no recuerdo exactamente lo que hice para solucionarlo. ¿Pero revisaste el enlace que publiqué arriba porque contiene los comandos que usé? también has probado esto: github.com/lwfinger/rtlwifi_new
Juichung_Kuo
0

créditos a praseodym de ubuntuusers.de para este breve tutorial usando dkms para instalar el controlador porque después de probar varias variantes respondidas, solo esto funcionó para mí en un debian 10 (buster) recién instalado:

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 

la eliminación funciona de esta manera:

sudo ./dkms-remove.sh 

También se mencionó que eventualmente deshabilitaría el arranque seguro, incluso antes de la instalación del sistema operativo. no estoy seguro de si esto marca la diferencia porque lo necesitaba en una "PC de escritorio HP Slimline (290-a0512ng)" que tenía el arranque seguro desactivado de forma predeterminada, lo comprobé / noté después de la instalación del sistema operativo.

vchrizz
fuente