En primer lugar, muchas gracias a lwfinger por su trabajo. Gracias a él, tengo Debian corriendo en mi portátil.
Tras instalar Debian 9 (Stretch) en mi portátil e instalar los drivers privativos de Realtek, mediante el paquete firmware-realtek
, ocurre que mi tarjeta WiFi Realtek RTL8723BE tiene señal débil cerca del router o se desconecta cuando me alejo unos metros. Tras comprobar que no es de la tarjeta, ya que con Windows y sus drivers correspondientes, funciona perfectamente, busqué una solución para Debian 9 (Stretch). Buscando por la red, encontré lo siguiente y me funciona a la perfección.
Solo hay que tener en cuenta que, cada vez que actualizamos el kernel, tenemos que volver a recompilar los drivers de la tarjeta WiFi, instalarlos y configurarlos. Pero con un simple script lo haremos en un momento.
A continuación os indico los pasos que seguí para solucionar el problema:
En primer lugar hemos de tener instaladas las herramientas necesarias para la compilación del driver y la descarga del código fuente. Si aún no las tenemos instaladas, ejecutaremos el siguiente comando:
$ sudo apt-get install build-essential git linux-headers-$(uname -r) |
Con estos paquetes instalaremos las herramientas para poder descargar el código fuente con git y compilar el driver desde el código fuente.
En segundo lugar, tenemos que descargar el código fuente para la tarjeta WiFi Realtek RTL8723BE. Podréis comprobar que el driver descargado vale para múltiples dispositivos Realtek. Pincha aquí si quieres ver el listado de dispositivos soportados.
Insisto!!!, muchas gracias a lwfinger por su trabajo. Gracias a él, tenemos la solución a este gran problema.
Para descargarlo, ejecutaremos el siguiente comando:
$ git clone https://github.com/lwfinger/rtl8723be Cloning into 'rtlwifi_new'... remote: Counting objects: 5770, done. remote: Total 5770 (delta 0), reused 0 (delta 0), pack-reused 5770 Receiving objects: 100% (5770/5770), 9.54 MiB | 190.00 KiB/s, done. Resolving deltas: 100% (4765/4765), done. |
Una vez descargado el código fuente, nos posicionamos en la carpeta del mismo.
$ cd rtlwifi_new |
Comenzamos la compilación con el siguiente comando:
$ make |
Instalamos los paquetes compilados con el siguiente comando, eso sí, como root:
$ sudo make install |
Terminada la instalación quitamos el módulo antiguo del kernel:
$ sudo modprobe -rv rtl8723be |
Inyectamos los módulos compilados en el kernel:
$ sudo modprobe -v rtl8723be ant_sel=2 |
En mi caso no tuve que reiniciar el equipo, tras ejecutar la última orden, mi tarjeta WiFi comenzó a buscar redes WiFi disponibles. Si no es tu caso, reinicia el equipo.
Hay que tener en cuenta que el parámetro ant_sel
aceptará varios valores, que cambiaremos hasta optimizarlo para nuestro sistema:
$ sudo modprobe rtl8723be ant_sel=0 |
$ sudo modprobe rtl8723be ant_sel=1 |
Para hacer permanentes los cambios y no se pierdan en el apagado o reinicio, usaremos el siguiente comando:
$ echo "options rtl8723be ant_sel=2" | sudo tee /etc/modprobe.d/rtl8723be.conf |
Para comprobar que interfaz WiFi estamos utilizando y la fuerza de la señal de la misma podemos ejecutar el siguiente comando:
$ sudo iwlist scan | egrep -i ‘ssid|quality’ |
Si no existe el comando iwlist
en tu sistema, tendrás que instalar el siguiente paquete:
$ sudo apt-get install wireless-tools. |
Recordad que cada vez que instalemos un nuevo kernel, habrá que recompilar de nuevo el driver. Pero esto se hace en un momento con el siguiente script. Partimos de que no hemos borrado el código fuente del driver.
#!/bin/bash # Script para compilar y cargar driver tarjeta # WiFi rtl8723be #Directorio del código fuente SOURCE="/home/usuario/rtlwifi_new" # Nos posicionamos en el directorio del código fuente cd $SOURCE # Limpiamos compilaciones anteriores make clean # Actualizamos el repositorio git git pull # Compilamos make # Instalamos sudo make install # Quitamos el módulo antiguo del kernel sudo modprobe -rv rtl8723be # Cargamos el módulo en el kernel y seleccionamos el puerto de la antena (valores 0, 1 y 2) sudo modprobe -v rtl8723be ant_sel=2 ## Hacemos permanentes los cambios guardando la configuración en ## archivo /etc/modprobe.d/rtl8723be echo "options rtl8723be ant_sel=2" | sudo tee /etc/modprobe.d/rtl8723be.conf |
Configuración de privacidad y de cookies.
Cristhian
Buenos dias estaba siguiendo los pasos tal como dijiste pero al ejecutar el comando make en la carpeta rtlwifi new me sale este errror:
root@kali:~/rtlwifi_new# make
make -C /lib/modules/4.15.0-kali2-amd64/build M=/root/rtlwifi_new modules
make[1]: *** /lib/modules/4.15.0-kali2-amd64/build: No existe el fichero o el directorio. Alto.
Makefile:58: fallo en las instrucciones para el objetivo ‘all’
make: *** [all] Error 2
root@kali:~/rtlwifi_new#
Me podrias ayudar te lo agradeceria mucho tengo el sistema operativo kali linux y la misma tarjeta interna rtl8723BE
J. Carlos
Hola Cristhian,
Comprueba que has descargados los paquetes build-essential, git y linux-headers-$(uname -r) y todas sus dependencias.
Recuerda que la variable $(uname -r) toma el valor de la versión de tu núcleo. En definitiva, tienes que descargar el paquete linux-headers correspondiente a tu núcleo.
Prueba y me cuentas.
Un Saludo
Francisco
.En ubuntu 18.04 (kernel 4.15-033), al llegar al paso de inyectar el módulo dice
modprobe: ERROR: could not insert ‘rtl8723be’: Required key not available
¿Alguna solución?, Gracias
J. Carlos
Hola Francisco,
¿Has deshabilitado el módulo antiguo con sudo modprobe -rv rtl8723be antes de inyectar el módulo nuevo?
¿supongo que lo estás ejecutando como root?
Otra cosa que se me ocurre es que en Ubuntu hay un paquete para las tarjetas de red RealTek, prueba a desinstalar el paquete y luego vuelve a realizar todos los pasos para compilar el módulo.
Un Saludo.
Francisco
Gracias por su respuesta.
Si deshabilité el modulo rtl8723be, lo he vuelto hacer, después de reiniciar, y no aparece listado como módulo en memoria (lsmod).
Siempre como root (sudo), al inyectar, da el mismo mensaje (modprobe).
Parece que en el repositorio, no está el firmware firmado digitalmente, dicen que hay que deshabilitar el arranque modo seguro en la BIOS.
He optado por poner otra tarjeta wifi por usb, en la anterior versión del kernel funcionaba bien, solo había que hacer la selección de antena (la 2), y hacer permanente el cambio.
Un saludo.
Kinyer Molano
No se que decir, te amo, sos un genio, DIos bendiga a tu familia!
Hombre muchas gracias me ha funcionado de maravilla, me he recorrido toda la red, tenia justo ese problema en elementary os freya con el rtl8723be, tras una actualizacion del kernel me habia dejado de funcionar el wifi, lo unico es que en elementary tuve que usar el usuario root desde la clonacion del rtlwifi new, y de resto ando como la seda.
Muchas gracias.
J. Carlos
De nuevo, gracias por tu comentario
Kinyer Molano
Genio!, funciona perfectamente en elementary Os
Me ha salvado realmente, lo unico es que para que me funcionara make, tuve que hacer todo el proceso como root, desde la clonacion del repositorio.
de resto de 10.
sos grande.
J. Carlos
Me alegro Kinyer Molano, un saludo y gracias por tu comentario
Diego
Muchas gracias!! Me funciono, tengo una pc hp y esta placa de red, en windows siempre me funcionaba bien pero al momento de instalar linux mint empezo a no tener buena señal y bueno, lo pude solucionar, muchas gracias!!
J. Carlos
Gracias a ti por pasar por ZeppelinuX
Un Saludo
Robert Meyer
Al principio me emocione porque al hacer todo esto a la primera, mi wifi funcionó por primera vez sin tener que reiniciar. Al reiniciar mi notebook ya quede sin wifi de nuevo y sin poder visualizar las redes disponibles. Hice todos los pasos, guarde para que cada vez que reinicie quede la configuración, ahora ya no se como hacer para solucionar definitivamente esto.
J. Carlos
Hola Rober Meyer,
En primer lugar, gracias por visitar ZeppelinuX.
Intenta esto:
1. Hacer un $ sudo apt-get update seguido de $ sudo apt-get upgrade para actualizar todos los paquetes necesarios. Repite los pasos del post al detalle. Si se ha actualizado la versión de tu kernel, tendrás que volver a instalar el paquete linux-headers-$(uname -r) para tu nueva versión del kernel. Los paquetes build-essential y git no será necesario que los vuelvas a descargar.
2. Hecho esto fíjate si tienes errores de compilación ($ make) y al instalar ($sudo make install) y tras ejecutar los dos comandos con modprobe, comprueba que se ha creado el archivo /etc/modprobe.d/rtl8723be.conf y dentro están las opciones options rtl8723be ant_sel=2.
3. Si sigue sin detectar redes, prueba a cambiar el valor de ant_sel por un 0 ó 1, hasta que te funcione con alguno.
4. Con el comando $ sudo iwlist scan | sudo egrep -i ‘ssid|quality’ podrás comprobar que WiFi estás utilizando y la fuerza de la señal.
Si no existe el comando iwlist en tu sistema, tendrás que instalar el siguiente paquete: $ sudo apt-get install wireless-tools.
Espero que te sirva esta ayuda.
No olvides que si se actualiza el kernel a una nueva versión, habrá que volver a a descargar linux-headers-$(uname -r) y volver a compilar el driver.
Y sobre todo, fíjate bien en los comandos que deban ejecutarse como root (sudo).
Un saludo y gracias de nuevo.
Izaskun
Buenas,
He seguido todos los pasos pero la señal no mejora, tengo w10 en otra particion y ubuntu 18.04. En windows funciona perfectamente pero en ubuntu me tengo que acercar al router.
En windows he podido ver que es un RTL8723B.
¿Se te ocurre que puede ser?
Gracias de antemano.
J. Carlos
Hola Izaskun,
Has probado a cambiar los valores de ant_sel en el comando $ sudo modprobe rtl8723be ant_sel=2 por ant_sel=0 o ant_sel=1 ?
Cuéntame más.