Compilando el Driver del Lector de Tarjetas RealTek RTS5229 (ejemplo para Laptop Dell Inspiron 1750) para Linux Kernel 5.3 hasta 5.10.0-9

Tengo una Laptop Dell Inspiron 1750 y he instalado MX Linux 21 que trae el Kernel 5.10 a esta fecha 2021:

uname -r

me da:

5.10.0-9

ANTES DE SEGUIR

Le explico a quien esté leyendo esto que para poder instalar el controlador he hecho un fork o bifurcación del repositorio de Zibri:


que lo pueden revisar en:


a mi me da como resultado:


que por cierto debemos comprender que estamos buscando virus en Linux y que hay antivirus que no se dedican a aquello, digo porque en la búsqueda no encuentro por ejemplo a Avast

Y veo en los resultados a antivirus conocidos como son:

ESET
Kaspersky


personalmente yo confio en esos antivirus y llego a la conclusión personal que es un falso positivo de Antiy-AVL. Por favor entienda el lector esto, no ve vaya a marcar esta entrada de Blogger en Google con alguna advertencia de virus si fuera así mejor no lea este entrada, yo no soy el responsable de ese codigo sino lo unico que he hecho es arreglarlo para que funcione en el Kernel que estoy usando.

Tambén les cuento que hay laptops de diferentes fabricantes que usan hardware RealTek para sus lectores de tarjetas, si alguno de ustedes en su ordenador necesitaran instalar este driver pueden probarlo a ver si les funciona. También si es que no encuentran (si es que este Driver RealTek RTS5229 no es) busquen en inglés para el driver de su laptop pues en español hay pocos resultados, ejemplo: "hp laptop modelo tal driver card reader linux"

 

REQUISITOS

- Un Linux que tenga el Kernel 5.10.0-9 en adelante pero no se hasta cuando funcionará

- Instale git

sudo apt install git dkms

 

Las siguientes cuatro lineas en MX Linux 21 en la terminal xfce4-terminal de XFCE acepta el copiar de un solo y pegar allí, pero no se si en todas las terminales se pueda hacer eso, sino se pueda copiar una por un cada una de las lineas ejecutandolas:

git clone https://github.com/Zibri/Realtek-rts5229-linux-driver
sudo mkdir /usr/src/rts5229-1.07
sudo cp Realtek-rts5229-linux-driver/* /usr/src/rts5229-1.07
cd /usr/src/rts5229-1.07



Explicación de cada uno de estos comandos:

  1. git clone https://github.com/Zibri/Realtek-rts5229-linux-driver:
  • Este comando utiliza git para clonar un repositorio desde GitHub.
  • La URL especificada (https://github.com/Zibri/Realtek-rts5229-linux-driver) es la dirección del repositorio que deseas clonar.
  • El comando descargará todo el contenido del repositorio en un directorio local llamado Realtek-rts5229-linux-driver.
  1. sudo mkdir /usr/src/rts5229-1.07:
  • sudo es un comando que permite ejecutar comandos con privilegios de superusuario o administrador.
  • mkdir es el comando que crea un nuevo directorio.
  • /usr/src/rts5229-1.07 es la ruta y el nombre del nuevo directorio que se creará.
  • Este comando crea un nuevo directorio en /usr/src llamado rts5229-1.07.
  1. sudo cp Realtek-rts5229-linux-driver/* /usr/src/rts5229-1.07:
  • sudo permite ejecutar el comando con privilegios de superusuario.
  • cp es el comando que copia archivos y directorios.
  • Realtek-rts5229-linux-driver/* especifica todos los archivos del directorio Realtek-rts5229-linux-driver (el directorio clonado en el primer paso).
  • /usr/src/rts5229-1.07 es el destino donde se copiarán estos archivos.
  • Este comando copia todos los archivos del repositorio clonado al nuevo directorio creado en /usr/src.
  1. cd /usr/src/rts5229-1.07:
  • cd es el comando que cambia el directorio de trabajo actual.
  • /usr/src/rts5229-1.07 es el directorio al cual deseas cambiar.
  • Este comando te mueve al directorio /usr/src/rts5229-1.07

En resumen, estos comandos clonan un repositorio de GitHub, crean un nuevo directorio en /usr/src, copian los archivos del repositorio clonado a ese nuevo directorio y luego cambian el directorio de trabajo a dicho nuevo directorio donde vamos a poner lo siguiente



Luego ponga lo siguiente:

sudo su

 

Ahora ponga uno por uno lo siguiente:

 

dkms install -m rts5229 -v 1.07
make
make install
depmod


Luego debe:

Reiniciar

 

Usar el Kernel y el Driver instalado

Este Driver que hemos instalado se instalará sólo en el Kernel que usted esté usando. Para saber cual kernel está usando ponga:

uname -r

a mi me aparece así:


Anote el Kernel que ustéd está usando. Si luego le envíen alguna actualización del Kernel y usted lo instala o se instala al actualizar el sistema, tendrá que otra vez hacer todo este procedimiento para instalar el Driver en el nuevo Kernel

Pero si usted desea puede elegir el Kernel anterior:

 

Elegir un kernel anterior al encender el ordenador

Es posible también que si han enviado un nuevo kernel y se ha instalado poder escoger el anterior (en el cual instaló el driver) al iniciar el ordenador eligiendo la opción avanzada, ejemplo en MX Linux 19.3 al iniciar el ordenador por defecto aparece:


Nota: En estas imágenes yo tengo instalado en mi ordenador dos tipos de Linux y Windows.

al dar clic en avanzado:


se puede elegir el anterior o anteriores instalados:

 


uno de ellos puede ser el anterior en el cual funcionaba bien su tarjeta lectora, ejemplo eligiendo una versión anterior del kernel instalado:



Usando Grub-Customizer para usar un Kernel anterior

Si usted desea puede usar Grub-Customizer para no tener que elegir el kernel manualmente cada vez que inicia el ordenador. En los Linux del 2021 debería de estar disponible en los repositorios Grub-customizer pero sino si es en Ubuntu y derivados se puede instalar desde PPA (hace tiempo hice un tutorial de cómo hacer eso. Pero también buscando en Google encontrará cómo instalarlo). 

Bueno una vez instalado usted lo abre y allí selecciona el Kernel que quiera usar, ejemplo en MX Linux 21 se ve así:


pero:

se puede subir un kernel (después de haberlo seleccionado) dando clic varias veces al botón arriba:

y guardar los cambios:


y esperar hasta que se actualice la configuración

al reiniciar aparecerá así (y nomás dar enter o esperar se entrará con ese Kernel que hayamos escogido):


la única dificultad es que cuando en el futuro se instale otro Kernel se desordenará todo y habrá que abrir otra vez a grub-customizer y ordenar otra vez como uno quiere que aparezca


CONSULTAS

La solución para el Kernel 5.3 vista en:

Announcement of SUBDIRS removal after kernel 5.3 · Issue #187 · MEN-Mikro-Elektronik/13MD05-90
https://github.com/MEN-Mikro-Elektronik/13MD05-90/issues/187

Siguiendo los pasos anteriores desde. No funcionaba, y me aparecía este error:


e investigando encontré la solución en:

Announcement of SUBDIRS removal after kernel 5.3 · Issue #187 · MEN-Mikro-Elektronik/13MD05-90
https://github.com/MEN-Mikro-Elektronik/13MD05-90/issues/187

allí abajo me envia a:

https://github.com/MEN-Mikro-Elektronik/13MD05-90/commit/0ae7b7ebb32a74e3c2673e5fdd87c192de3adf55


y eso hice y lo añadí a un Fork que hice:

wachin/Realtek-rts5229-linux-driver: Realtek card reader driver for kernel >5.3.x (ubuntu >20.04.x, Debian 11 like MX Linux >21, have broken driver and all kernels from 5.3)
https://github.com/wachin/Realtek-rts5229-linux-driver

y allí si ya funciona al poner make:

y sigue hasta el final:

 

2024-07-22 la ultima solución al problema que me sale al quererlo instalar en MX Linux 21 en el Kernel 5.10.0-22 las estoy revisando de:

rts5227-dkms driver fails to build module on 5.16 kernel
https://bbs.archlinux.org/viewtopic.php?id=273422

https://bbs.archlinux.org/viewtopic.php?pid=2017456#p2017456




https://aur.archlinux.org/packages/rts5227-dkms


Dios les bendiga

 

Comentarios