Actualizar el controlador CH340 en Raspberry Pi

Actualizar el controlador CH340 en Raspberry Pi

Introducción

El controlador CH340 en el sistema basado en el núcleo Linux, como Raspberry Pi, es demasiado antiguo y presenta problemas de compatibilidad con el nuevo chip CH340G. Debe instalar el nuevo controlador manualmente.

La URL de descarga del código fuente del controlador de Linux está aquí:
descargar

Hardware y sistema operativo

Raspberry Pi 4B, Broadcom BCM711, 4 GB de RAM, instala el sistema oficial Raspberry Pi lanzado el 7 de mayo de 2021. La versión del kernel es 5.10.




1. Eliminar el controlador original

Ingrese el comando para encontrar el controlador del dispositivo serie instalado en el sistema.

 ls /lib/modules/(versión)/kernel/drivers/usb/serial/ 



Busque ch341.ko y elimínelo.

 sudo rm /lib/modules/(versión)/kernel/drivers/usb/serial/ch341.ko 



2. Compila e instala el nuevo controlador

Descargue el código fuente del controlador CH340 y descomprímalo.

 Descomprima CH341SER_LINUX.ZIP 



Ingrese al directorio de origen y compile.

 cd CH341SER_LINUX && hacer 



Si el archivo de encabezado del núcleo no está instalado en el sistema, el compilador generará un error: /lib/modules/(versión)/build no encontrado.
Instalar los archivos de encabezado del kernel de Raspberry Pi.

sudo apt install raspberrypi-kernel-headers 



Vuelva a compilar después de instalar los archivos de encabezado del núcleo. Si el compilador muestra un error desconocido de tipo 'wait-queue+t', utilice vi para abrir el archivo ch34x.c, busque y comente la línea 591.


Después de una compilación exitosa, se generará el archivo ch34x.ko.


Copie el archivo ch34x.ko al directorio del controlador del kernel e instale el controlador.

 sudo cp ch34x.ko /lib/modules/(versión)/kernel/drivers/usb/serial/
 sudo depmod 



3. Pruebe la conexión en serie

Conecte la impresora 3D con un cable USB y enciéndala. Si el controlador se instaló correctamente, el dispositivo ttyUSB0 aparecerá en el directorio /dev/.


Busque el dispositivo ttyUSB0 en OctoPrint y configure la velocidad en baudios en 115200.
Abra el puerto y cambie al panel de terminales. La información de la versión de firmware de la impresora 3D se muestra en la consola y la conexión se realiza correctamente.



Pulpo Pi

Si está utilizando un sistema OctoPi V0.18.0 o anterior, primero deberá actualizar el kernel.

 sudo apt-get actualización 
sudo apt-get install raspberrypi-bootloader raspberrypi-kernel
 sudo reiniciar 



Reinicie el sistema, verifique la versión del kernel y luego instale los archivos de encabezado del kernel de Raspberry Pi.