Creality Sonic Pad - Klipper Oficial, custom firmware

Como muchas veces hemos comentado, la Creality Sonic Pad utiliza un firmware personalizado por Creality y que por desgracia no está actualizado por lo que la compatibilidad y acceso a según que opciones de Klipper no son posibles.

Pero, ¿por qué es importante utilizar un firmware custom, no de Creality, para poder disponer de una versión Klipper oficial y actualizada?

La versión stock del sistema operativo de la Creality Sonic Pad utilizan una distribución llamada Tina, una versión a su vez que es un fork de OpenWRT hecha por Allwinner para sus procesadores, que es el que justamente monta la Creality Sonic Pad.

Creality ha personalizado esta distribución para instalar los componentes de Klipper como es el core de Klipper, Moonraker y Klipper Screen y personalizarlos para su ecosistema pero, por otro lado, esta customizacion se basa en versiones antiguas de Klipper por lo que perdemos ciertas funciones y compatibilidad.

Aquí es donde entra en juego la comunidad y el proyecto para crear una distribución para la Creality Sonic Pad con un Debian y Klipper oficial preinstalado además de compatible con herramientas como Kiauh para poder instalar o actualizar los componentes de Klipper o relacionados.

IMPORTANTE!!!

Para poder adaptar nuestra Sonic Pad a este nuevo firmware custom vamos a tener que descargar un nuevo firmware/imagen/distribución, aplicarlo a nuestro Sonic Pad y realizar configuraciones de nuestro entorno de la forma tradicional... esto es sin alguno de los asistentes que Creality incluye en su firmware stock.

Por eso es importante recordar que para realizar este proceso has de tener unos minimos conocimientos de Linux, informática ademas de manejo de Klipper y sus ajustes.

Por otro lado indicar que este proceso puede dejar inservible vuestro Sonic Pad y que al final es vuestra responsabilidad realizar el proceso y cualquier problema que pueda venir de utilizarlo.

Instalación custom firmware (Debian) en la Creality Sonic Pad

A continuación os vamos a describir los pasos del proceso, de todas formas os facilitamos el siguiente video que puede facilitar entender el proceso.

Descarga del custom firmware (Debian) para la Creality Sonic Pad

Disponemos de los ficheros a descargar desde el apartado Releases del proyecto Sonic Pad Debian del compañero Jpe230. Hemos de descargar el zip y todos los zxx que estén en el apartado Assets de cada release:

Una vez descargados los descomprimimos y nos dejará un fichero con la imagen con extensión .img.

Descarga de PhoenixSuit

El siguiente paso será la descarga de PhoenixSuit que podremos encontrar en la carpeta tools dentro del repositorio oficial de Creality Sonic Pad donde encontraremos versiones para Windows y MacOS.

Una vez descargado lo descomprimimos en nuestro ordenador y abriremos la aplicación cargando la imagen descargada en el punto anterior:

Creality Sonic Pad en modo BOOT

A continuación conectaremos el cable USB (USB-A macho a USB-A macho!!!) entre nuestro ordenador y nuestra Creality Sonic Pad... es importante hacerlo en el puerto USB con la etiqueta CAM!!!

Pulsaremos con un clip o una llave Allen del diámetro adecuado el pulsador FEL que podéis ver en la imagen a continuación al mismo tiempo que encendemos la Sonic Pad.

Si todo ha ido bien nuestra Creality Sonic Pad estará en modo BOOT, la pantalla no mostrará imagen durante este modo.

Instalación de drivers Sonic Pad

Con la Creality Sonic Pad en modo BOOT y con el cable USB-Am/Am conectados nuestro ordenador deberá detectar un nuevo dispositivo del que probablemente no tengamos drivers, estos drivers los podemos encontrar en el PhoenixSuit descomprimido en la carpeta Drivers.

Aplicar custom firmware (Debian) a nuestra Sonic Pad

Una vez tengamos los drivers instalados PhoenixSuit podrá aplicar el firmware custom a ella, como primer paso nos va a pedir que formateemos el dispositivo:

Este proceso va a borrar completamente el contenido de nuestro Sonic Pad por lo que os aconsejamos disponer de un backup de vuestras configuraciones previas.

Este proceso es crítico, cualquier problema durante el mismo podría dañar la Sonic Pad y dejarla inservible.

Una vez finalizado el proceso ya tendremos todo instalado, apagaremos la Sonic Pad y volveremos a encenderla normalmente asegurándonos que retiraremos el cable entre esta y el ordenador.

Si todo ha ido bien al encenderla veremos el logo rojo de Debian, el primer arranque puede tardar unos minutos.

Primeros pasos con custom firmware (Debian) para Sonic Pad

Ahora que ya tenemos un sistema "libre" además de la IP podemos comenzar a por conectarnos a el por SSH para realizar algunas acciones.

Conectar a la WiFi

El primer paso, si no conectamos por cable a nuestra red, será configurar la WiFi utilizando la pantalla de la Sonic Pad donde veremos el interfaz, puro, de KlipperScreen. Iremos a Menu -> Network donde veremos las redes WiFi disponibles y podemos conectarnos a una además de ver la IP asignada una vez conectados.

Conectar por SSH

Aunque tenemos más información sobre esto en nuestra guia de primeros pasos os vamos a describir brevemente el proceso.

Lo primero es importante disponer de la IP de red asignada a nuestra Sonic Pad tal como vimos en el paso anterior, esta IP la utilizaremos para configurar el acceso desde nuestro cliente SSH os aconsejamos Terminus por ser multiplataforma, sencillo y no tiene coste para el uso de administrar tus máquinas con Klipper. También dispones de otras como Putty.

Igualmente importante recordar el usuario/password que podemos utilizar, os aconsejamos utilizar sonic:

UsuarioPassword

root

toor

sonic

pad

Si tenemos nuestra Sonic Pad en un entorno con acceso de red compartido os aconsejamos cambiar estos passwords por unos propios por seguridad con el comando:

sudo passwd root -> si queremos cambiarlo para el usuario root

sudo passwd sonic -> en el caso del usuario sonic

También os aconsejamos actualizar el sistema mediante el comando sudo apt-get update && sudo apt-get upgrade para asegurarnos que tenemos todo actualizado.

Kiauh

En esta distribución contamos con Kiauh que es un script que desde SSH y mediante sencillos menús nos va a permitir instalar, actualizar y eliminar componentes relacionados con Klipper.

Podremos lanzar Kiauh desde la línea de comandos de SSH lanzando ~/kiauh/kiauh.sh (el path completo por información es /home/sonic/kiauh/kiauh.sh)

Toda la información de nuestra instancia de Klipper en nuestra nueva Sonic Pad custom la vamos a encontrar en el path /home/sonic/printer_data/config

CONSEJOS SOBRE APAGADO DE LA SONIC PAD:

Para evitar problemas con el sistema os aconsejamos SIEMPRE realizar un apagado correcto de la Sonic Pad, apagar el sistema utilizando el botón de apagado/encendido es contraproducente.

El apagado correcto podremos realizarlo desde el interfaz web o Klipperscreen que disponen de opciones para ello apagando el sistema de la forma correcta.

Ajuste de zona horaria

Otro ajuste recomendable es el de la zona horaria para que la información de tiempos sea siempre correcta con nuestra localización.

Para ello:

  • Podemos listar todas las zonas horarias con timedatectl list-timezones | more

  • Para ajustar nuestra Sonic Pad a una zona horaria lo haremos con timedatectl set-timezone 'Europe/Madrid'

  • Verificaremos que todo está correcto con timedatectl y reiniciaremos el sistema para que se apliquen los cambios

Añadir soporte USB para gcodes

Al realizar los cambios anteriores perdemos algunas de las funcionalidades que Creality integra en su firmware como es que podamos usar un USB para pasar los gcodes a nuestra máquina, algo que con Klipper no suele ser necesario salvo en determinados usos específicos por requerimiento... como por ejemplo tener la máquina en un entorno sin acceso a red.

  • El primer paso, para simplificar el proceso, es darle un nombre estándar a nuestro USB... pongamos para la guía que le llamamos USB

Es importante recordar que Linux es sensible a mayúsculas y minúsculas por lo que el nombre que le des a tu USB ha de ser exactamente igual al que uses en los siguiente pasos.

  • Editaremos la configuración de fstab que es el demonio que se encarga de montar unidades, esto lo haremos mediante el siguiente comando desde SSH sudo nano /etc/fstab (en la guía de primeros pasos tienes información de nano que es un editor de textos en línea de comandos para Linux) y añadiremos al final lo siguiente:

/dev/disk/by-label/USB  /home/sonic/printer_data/gcodes/USB    auto    defaults,uid=sonic      0       0
  • Crearemos un punto de montaje para ello con mkdir ~/printer_data/gcodes/USB

  • Montaremos todos los recursos sudo mount -a

Última actualización