Una sesión de cuatro horas de Claude Code construyó un puente Mac para la HP Laser 1008a

La solución de Kuber Mehta enruta CUPS a través de una VM de Linux y el códec SPL3 de HP, y luego escribe los trabajos de impresión directamente por USB.

By · Published

Primary source: Kuber Studio

Why it matters

Coding agents can now compress obscure, cross-layer hardware work into one sitting. The result still depends on human testing, root access and heavyweight runtime infrastructure.

Claude Code Teaching macOS to Natively Print to the HP Laser 1008a — cdn.kuber.studio/chat # Teaching macOS to natively print to the HP Laser 1008a _A printer HP never shipped a Mac driver for, made to "just work" from Cmd-P, in one…

Kuber Mehta (@kuberwastaken) usó Claude Code de Anthropic para hacer que una HP Laser 1008a imprimiera desde un Mac con Apple Silicon, completando la primera versión funcional durante una sesión de aproximadamente cuatro horas el 17 de agosto.

El resultado, un repositorio con licencia MIT, convierte la impresión en un flujo de trabajo habitual de Cmd-P para los modelos Laser 1003, 1006 y 1008 de HP. La infraestructura subyacente es considerablemente menos común: una cola de CUPS, un daemon con privilegios de root, una máquina virtual Linux siempre activa, el codificador raster propietario de HP y escrituras USB directas.

Mehta documentó el trabajo en una transcripción de la sesión ligeramente redactada. Según su currículum, estudia ciencias de la computación e inteligencia artificial en BITS Pilani y en Guru Gobind Singh Indraprastha University, trabaja en iniciativas centrales de IA en Razorpay y fundó el proyecto de interfaz generativa PolyThink Labs. El proyecto de la impresora comenzó como una petición para instalar un controlador en la Mac de un familiar, en lugar de un lanzamiento de software planificado.

Four hours across the printing stack

Mehta dice que ejecutó la sesión con Claude Opus 4.8, el modelo que Anthropic lanzó el 28 de mayo para trabajo de codificación y agentes de larga duración. Claude Code inicialmente siguió el camino obvio: detectar el dispositivo USB, inspeccionar los controladores de CUPS disponibles e instalar una configuración genérica PCL.

Esa configuración se estancó porque la Laser 1008a usa Samsung Printer Language, o SPL, en lugar de PCL o PostScript. La impresora se basa en hardware de Samsung y requiere que el equipo host genere un flujo raster específico del dispositivo.

La sesión luego pasó por varios enfoques fallidos. Los controladores genéricos dejaron el dispositivo fuera de línea. El codificador de código abierto foo2zjs hizo que la impresora produjera una página de error pidiendo el controlador correcto. Mehta también probó SpliX 2.0.2, que recientemente añadió soporte para modelos HP Laser relacionados, pero su salida produjo páginas con rayas repetidas en su 1008a.

El camino que funcionó reutilizó el binario rastertospl de HP de su Unified Linux Driver. Dado que ese binario no puede ejecutarse directamente en macOS, el instalador lo coloca dentro de un contenedor Linux ARM64 gestionado por Colima. Una cola de CUPS en macOS convierte la salida de la aplicación en datos raster de CUPS y los envía a un socket local. Un LaunchDaemon con privilegios de root recibe el trabajo, lo pasa por el códec de HP y usa libusb para escribir el flujo SPL3 resultante directamente en la impresora.

Esa separación también evita dos restricciones de macOS con las que Mehta se encontró: los filtros de CUPS no pueden invocar el contenedor desde su sandbox, y el backend USB estándar trataba a la impresora como permanentemente fuera de línea. Mover ambas operaciones a un daemon fuera del sandbox de CUPS produjo una página de prueba limpia.

HP's macOS support records disagree with its driver page

La documentación de HP hace que el problema de compatibilidad sea más difícil de interpretar. La página de especificaciones de la Laser 1008a lista versiones de macOS hasta Sonoma entre los sistemas operativos compatibles. Sin embargo, la actual página de descarga de controladores de HP ofrece Linux y varias versiones de Windows en su selector de sistema operativo, sin opción para macOS.

La hoja de datos del producto de HP de 2023 también menciona AirPrint, aunque sus notas al pie restringen la impresión inalámbrica y móvil al 1008w. La 1008a solo tiene conectividad USB. Las pruebas de Mehta no encontraron un endpoint IPP sin controlador en esa conexión USB, dejando a macOS 26 sin una ruta incorporada utilizable en su máquina.

Según Mehta, el repositorio hasta ahora ha sido probado en Macs con Apple Silicon que ejecutan macOS 26. Soporta los modelos "a" solo USB y los modelos "w" conectados por USB. No se ha establecido una compatibilidad más amplia.

Native printing, with an always-on Linux VM

El resultado se comporta como una impresora nativa desde una aplicación. La implementación estira considerablemente el término "nativa".

La instalación requiere Homebrew y añade Colima, Docker y libusb, junto con una pequeña VM Linux que debe permanecer disponible. También instala un LaunchDaemon con privilegios de root y un elemento de inicio de sesión para reiniciar Colima después del reinicio. El instalador solicita la contraseña de administrador del Mac y descarga el controlador de Linux de HP durante la configuración.

El repositorio contiene el código de unión de Mehta en lugar del códec de HP. El instalador obtiene el binario propietario rastertospl de HP, mientras que los componentes de Mehta están publicados bajo la licencia MIT.

Una primera impresión después del reinicio puede tardar hasta un minuto mientras la VM arranca. Los trabajos enviados después de que la impresora se haya apagado tardan alrededor de 10 a 15 segundos mientras la impresora despierta y calienta su fusor, según Mehta. La conversión y la entrega por USB tardan alrededor de un segundo una vez que el sistema está en funcionamiento.

Esas dependencias hacen del proyecto una solución práctica para propietarios que ya tienen el hardware, más que un paquete universal de impresoras ligero. Una versión más limpia requeriría identificar las diferencias a nivel de bytes entre la salida SPL3 de HP y la salida malformada generada por SpliX. Mehta está pidiendo a contribuyentes que ayuden a parchear ese codificador de código abierto, lo que podría eliminar la VM de Linux del flujo.

La sesión es una medida útil de dónde se han vuelto efectivos los agentes de codificación: problemas oscuros que abarcan comandos de shell, servicios del sistema operativo, códecs binarios, runtimes de contenedores y hardware físico. Claude Code recorrió esas capas en una sola sesión y generó un instalador empaquetado. Mehta aún suministró el dispositivo, interpretó su salida física y probó cada arreglo intentado. El artefacto enviado provino de ese bucle entre un agente que operaba el Mac y un desarrollador de pie junto a la impresora.

Reader comments

Conversation for this story loads after sign-in.