Настройка CUPS для термопринтера на Raspberry Pi: ошибки драйверов и их решение

Вы собрали сервер печати на CUPS для термоэтикеточного принтера, но тестовые страницы упорно не выходят? Проблема часто кроется в отсутствии совместимых драйверов, даже если CUPS видит устройство через USB. Расскажу, как решить это, используя пример с принтером LabelLife D520BT и Raspberry Pi.

Почему стандартные PPD-файлы не работают

Термопринтеры для этикеток – особый класс устройств. Они требуют специфических команд для управления температурой нагрева, скоростью печати и другими параметрами. Стандартные драйверы CUPS (например, для PDF или Generic Text) здесь бесполезны: они не передают аппаратные инструкции. Даже если производитель предоставляет PPD-файлы, их может быть недостаточно – часто нужны низкоуровневые утилиты, которые идут в комплекте с официальным софтом.

Кстати, многие пропускают шаг с установкой Linux-пакетов от производителя, надеясь обойтись CUPS. Это ошибка. В моём случае драйвер появился в списке доступных только после запуска инсталлятора из командной строки.

Пошаговая установка проприетарных драйверов

1. Скачайте пакет с драйверами. Обычно он находится на сайте производителя в разделе «Поддержка» или «Загрузки». Для LabelLife D520BT это был файл LabelLife_Linux_Driver.tar.gz.

2. Перенесите пакет на Raspberry Pi. Используйте SCP или флешку:

scp LabelLife_Linux_Driver.tar.gz pi@ваш_IP:/home/pi/Downloads

3. Распакуйте архив. Перейдите в папку с файлом и выполните:

tar -xzvf LabelLife_Linux_Driver.tar.gz

4. Запустите инсталлятор. Здесь ключевой момент – добавление ./ перед командой. Без этого система не найдёт скрипт:

cd LabelLife_Driver
chmod +x install # если нет прав на выполнение
./install

5. Перезапустите CUPS:

sudo systemctl restart cups

После этих действий в веб-интерфейсе CUPS (http://localhost:631) появится новый драйвер с названием модели принтера.

Почему именно ./install? В Linux текущая папка не включена в переменную PATH по умолчанию (это защита от случайного запуска скриптов). Добавление ./ явно указывает системе: «ищи файл здесь».

Настройка принтера в CUPS

1. В разделе Administration > Add Printer выберите USB-устройство.
2. Укажите драйвер с именем вашей модели (например, LabelLife D520BT – Thermal).
3. В параметрах проверьте:
– Page Size: 4×6 inches
– Media Type: Thermal
– Print Density: Medium (слишком высокая плотность может повредить этикетку)
4. Нажмите «Set Default Options».

Важно: Если принтер не появился в списке, проверьте права пользователя:

sudo usermod -aG lpadmin pi # добавляем пользователя 'pi' в группу lpadmin

Типичные ошибки и их исправление

  • «Filter failed» – CUPS не может обработать данные для печати. Решение: переустановите драйверы через инсталлятор и убедитесь, что выбран правильный PPD.
  • Пустая страница – проблема с настройками размера. Укажите точные габариты этикетки в миллиметрах (102×152 мм для 4×6 дюймов).
  • Принтер не отвечает – проверьте подключение USB. Попробуйте другой кабель или порт. Запустите диагностику: lsusb | grep “LabelLife”, если устройство не отображается, проблема аппаратная.

Интеграция Raspberry Pi с принтером

Чтобы система была автономной, закрепите Raspberry Pi на корпусе принтера. Используйте двухсторонний скотч или нейлоновые стяжки. Подключите питание Pi через GPIO, если принтер имеет USB-порт с достаточной мощностью (потребуется модификация кабеля).

Для автоматического включения после подачи питания добавьте в /etc/rc.local:

#!/bin/bash
sleep 10
sudo service cups restart
exit 0

Теперь сервер будет готов к работе даже после перебоев с электричеством. Если печать из Windows не работает, установите Samba для общего доступа и настройте IPP-порт в панели управления принтерами.

Добавить комментарий

Все поля обязательны к заполнению. Ваш адрес email не будет виден никому.

Новое
Интересное