Initial commit: local_machine docs and scripts

This commit is contained in:
ahauimix
2026-03-14 20:03:57 +03:00
commit a39ef89125
85 changed files with 14500 additions and 0 deletions

View File

@@ -0,0 +1,934 @@
# HP Принтер - Сброс подвисших задач
## 🚀 БЫСТРЫЙ СТАРТ
### Сброс задач одной командой
```bash
clear-hp
```
**Готово!** Все подвисшие задачи HP принтеров будут сброшены.
---
## 📋 ЧТО ДЕЛАЕТ СКРИПТ
Скрипт автоматически:
1. 🔍 Находит все HP принтеры в системе
2. 📋 Проверяет задачи в очереди печати
3. 🗑️ Отменяет все подвисшие задачи
4. 🔄 Сбрасывает состояние принтера
5. ✅ Включает принтер и делает его готовым к работе
---
## 🖨️ ТЕКУЩАЯ КОНФИГУРАЦИЯ
**Найденные HP принтеры:**
- `HP_LaserJet_M402dn_2` - LaserJet Pro M402dn
**Статус:** ✅ Готов к работе
**Примечание:** Имя принтера в системе может отличаться (например, `HP_LaserJet_M402dn_2` вместо `HP_LaserJet_M402dn`). Проверьте актуальное имя командой `lpstat -p | grep -i hp`.
**Характеристики:**
- **Тип:** Монохромный лазерный принтер
- **Цветная печать:** ❌ **НЕ поддерживается** (только черно-белая)
- **Максимальное разрешение:** 1200 x 1200 dpi
- **Режим печати:** Gray (монохромный)
---
## 📖 СПОСОБЫ ИСПОЛЬЗОВАНИЯ
### 1. Через алиас (рекомендуется)
```bash
clear-hp
```
**Преимущества:**
- ✅ Короткая команда
- ✅ Работает из любой директории
- ✅ Автоматически доступен во всех новых терминалах
### 2. Прямой вызов скрипта
```bash
/Users/eternal/code/local_machine/docs/printer/clear-hp-jobs.sh
```
Или из директории проекта:
```bash
./docs/printer/clear-hp-jobs.sh
```
### 3. Из директории printer
```bash
cd docs/printer
./clear-hp-jobs.sh
```
---
## 🔧 УСТАНОВКА АЛИАСОВ
Алиасы уже установлены в `~/.zshrc`. Если нужно установить вручную:
### Алиас для сброса задач
```bash
echo "" >> ~/.zshrc
echo "# Алиас для сброса подвисших задач HP принтера" >> ~/.zshrc
echo "alias clear-hp='/Users/eternal/code/local_machine/docs/printer/clear-hp-jobs.sh'" >> ~/.zshrc
source ~/.zshrc
```
### Алиас для проверки тонера
```bash
echo "" >> ~/.zshrc
echo "# Алиас для проверки уровня тонера HP принтера" >> ~/.zshrc
echo "alias check-hp-toner='/Users/eternal/code/local_machine/docs/printer/check-hp-toner.sh'" >> ~/.zshrc
source ~/.zshrc
```
### Алиас для настройки лотка
```bash
echo "" >> ~/.zshrc
echo "# Алиас для настройки лотка HP принтера" >> ~/.zshrc
echo "alias set-hp-tray='/Users/eternal/code/local_machine/docs/printer/set-hp-tray.sh'" >> ~/.zshrc
source ~/.zshrc
```
### Алиас для настройки двусторонней печати
```bash
echo "" >> ~/.zshrc
echo "# Алиас для настройки двусторонней печати HP принтера" >> ~/.zshrc
echo "alias set-hp-duplex='/Users/eternal/code/local_machine/docs/printer/set-hp-duplex.sh'" >> ~/.zshrc
source ~/.zshrc
```
**Доступные алиасы:**
- `clear-hp` - сброс подвисших задач
- `check-hp-toner` - проверка уровня тонера и информации о принтере
- `set-hp-tray` - настройка лотка по умолчанию (использование: `set-hp-tray tray1` или `set-hp-tray tray2`)
- `set-hp-duplex` - настройка двусторонней печати (использование: `set-hp-duplex on`, `set-hp-duplex off`, `set-hp-duplex long`, `set-hp-duplex short`)
---
## ⚠️ КОГДА ИСПОЛЬЗОВАТЬ
Используйте скрипт, когда:
- ❌ Задачи печати зависли в очереди
- ❌ Принтер показывает "processing" или "held" статус
- ❌ Задания не печатаются и не удаляются
- ❌ Принтер показывает "disabled" статус
- ❌ Нужно быстро очистить очередь печати
---
## 🔴 РЕШЕНИЕ ПРОБЛЕМ
### Проблема: "HP принтеры не найдены"
**Решение:**
1. Проверьте, что принтер подключен:
```bash
lpstat -p
```
2. Если принтер есть, но не HP:
- Скрипт ищет только принтеры с "hp" в названии
- Используйте прямую команду для конкретного принтера:
```bash
cancel -a ИМЯ_ПРИНТЕРА
cupsenable ИМЯ_ПРИНТЕРА
cupsaccept ИМЯ_ПРИНТЕРА
```
### Проблема: Алиас не работает
**Решение:**
1. Перезагрузите конфигурацию:
```bash
source ~/.zshrc
```
2. Проверьте, что алиас существует:
```bash
alias | grep clear-hp
```
3. Если алиаса нет, установите его (см. раздел "Установка алиаса")
### Проблема: "The printer is offline" / "Принтер показывает offline"
**Симптомы:**
- `lpstat -p HP_LaserJet_M402dn -l` показывает: "The printer is offline"
- Задания отправляются, но остаются в очереди
- CUPS не может связаться с USB устройством
- Принтер периодически показывает статус "offline"
**Причина:**
CUPS не может физически связаться с USB устройством принтера. Это может происходить из-за:
1. Режима энергосбережения принтера (принтер "засыпает")
2. Проблемы с USB кабелем или портом
3. Принтер не отвечает на запросы CUPS
4. Проблема с драйвером или USB подключением
**РЕШЕНИЕ (выполните в точном порядке):**
1. Отмените все задания:
```bash
cancel -a HP_LaserJet_M402dn
```
2. **Выключите принтер** (кнопка питания)
3. **Отключите USB кабель** от Mac
4. **Подождите 30 секунд**
5. **Подключите USB кабель** обратно
6. **Включите принтер**
7. **Подождите 1 минуту** (пока принтер загрузится)
8. Включите принтер в системе:
```bash
cupsenable HP_LaserJet_M402dn
cupsaccept HP_LaserJet_M402dn
```
9. Проверьте статус:
```bash
lpstat -p HP_LaserJet_M402dn -l
```
**Если все еще offline:**
1. **Попробуйте другой USB кабель**
2. **Попробуйте другой USB порт** на Mac
3. **Перезагрузите Mac** и повторите шаги
4. **Проверьте принтер:**
- Нет ли ошибок на дисплее?
- Работает ли принтер вообще?
- Попробуйте сбросить принтер (меню принтера)
**ВАЖНО:** Проблема offline часто требует **ФИЗИЧЕСКОГО** переподключения USB кабеля. Программные решения могут не помочь.
**Диагностика:**
```bash
# Проверить USB подключение
system_profiler SPUSBDataType | grep -A 10 "HP LaserJet M402dn"
# Проверить статус в CUPS
lpstat -p HP_LaserJet_M402dn -l | grep -i "offline"
# Если НЕТ строки "offline" - проблема решена!
```
### Проблема: Принтер все еще не печатает
**Решение:**
1. Проверьте физическое состояние:
- ✅ Принтер включен
- ✅ Есть бумага
- ✅ Есть тонер/чернила
- ✅ USB кабель подключен
- ✅ Нет ошибок на дисплее принтера
2. Перезагрузите принтер (выключить/включить)
3. Проверьте статус:
```bash
lpstat -p HP_LaserJet_M402dn -l
```
4. Если принтер показывает "offline" - см. раздел выше "Проблема: The printer is offline"
### Проблема: "Used or counterfeit cartridge" / "A used supply has been installed"
**Что это значит:**
- ⚠️ Принтер определил, что установлен **использованный**, **перезаправленный** или **контрафактный** картридж
- Это может быть перезаправленный картридж, совместимый (неоригинальный) картридж, или картридж, который был установлен в другом принтере
**Причины:**
1. Перезаправленный картридж (неоригинальная заправка)
2. Совместимый картридж (не HP)
3. Контрафактный картридж (подделка под HP)
4. Картридж был установлен в другом принтере ранее
5. Поврежденный чип картриджа
---
## 📊 ОБЪЕКТИВНАЯ ОЦЕНКА ПРОБЛЕМЫ
### 🔴 Насколько это серьезно?
**Уровень серьезности: СРЕДНИЙ-НИЗКИЙ для HP LaserJet M402dn**
#### ✅ Почему не критично:
1. **Модель старая (2013-2014):**
- HP LaserJet M402dn не имеет агрессивной защиты от неоригинальных картриджей
- Прошивки редко блокируют картриджи (в отличие от новых моделей 2018+)
- Принтер обычно продолжает печать, просто показывает предупреждение
2. **Физические повреждения маловероятны:**
- Лазерные принтеры более устойчивы к некачественным картриджам, чем струйные
- Основной риск - качество печати, а не поломка механизма
- Принтер не "сломается" от неоригинального картриджа (если только картридж не физически поврежден)
3. **Функциональность сохраняется:**
- Печать работает (с предупреждением)
- Все основные функции доступны
- Единственное ограничение - неточный уровень тонера
#### ⚠️ Реальные риски:
1. **Качество печати:**
- ~30-50% пользователей отмечают ухудшение качества
- Возможны: бледная печать, разводы, неравномерное распределение тонера
- Для офисных документов обычно приемлемо, для важных документов - нежелательно
2. **Гарантия:**
- Гарантия НЕ аннулируется автоматически
- ⚠️ Если поломка связана с картриджем - ремонт за ваш счет
- HP может отказать в бесплатном ремонте, если докажет связь
3. **Постоянные предупреждения:**
- Сообщение появляется при каждом включении/печати
- Нужно нажимать "OK" каждый раз
- Раздражает, но не критично
---
## 🎯 ШАНСЫ РЕШЕНИЯ ПРОБЛЕМЫ ЗАМЕНОЙ КАРТРИДЖА
### ✅ Вероятность решения: **85-95%**
**Высокая вероятность успеха, если:**
1. **Заменить на оригинальный новый картридж HP:**
- ✅ **95% вероятность** - проблема исчезнет полностью
- ✅ Предупреждение больше не появится
- ✅ Точный уровень тонера
- ✅ Оптимальное качество печати
2. **Заменить на качественный совместимый картридж:**
- ✅ **70-85% вероятность** - предупреждение может исчезнуть
- ⚠️ Зависит от качества чипа картриджа
- ⚠️ Некоторые совместимые картриджи все равно показывают предупреждение
- ✅ Печать обычно работает нормально
3. **Если проблема в чипе картриджа:**
- ✅ **90% вероятность** - замена картриджа решит проблему
- Чип картриджа может быть поврежден или изношен
### ❌ Когда замена НЕ поможет (5-15% случаев):
1. **Проблема в принтере, а не в картридже:**
- Поврежден считыватель чипа в принтере
- Проблема с прошивкой принтера
- **Решение:** Сервисный центр HP
2. **Очень старый/изношенный принтер:**
- Механические проблемы с установкой картриджа
- Износ контактов
- **Решение:** Проверка в сервисе
3. **Неправильная установка картриджа:**
- Картридж установлен неправильно
- Защитная лента не снята
- **Решение:** Переустановить картридж правильно
---
## 💡 РЕКОМЕНДАЦИИ ПО РЕШЕНИЮ
### Вариант 1: Замена на оригинальный картридж HP (РЕКОМЕНДУЕТСЯ)
**Шанс решения: 95%**
**Плюсы:**
- ✅ Гарантированно решит проблему
- ✅ Лучшее качество печати
- ✅ Точный уровень тонера
- ✅ Нет предупреждений
- ✅ Сохранение гарантии
**Минусы:**
- ❌ Высокая стоимость (в 2-3 раза дороже совместимых)
- ❌ Для HP LaserJet M402dn: ~$60-80 за картридж
**Когда использовать:**
- Для важных документов
- Если принтер на гарантии
- Если качество критично
- Если предупреждения раздражают
### Вариант 2: Замена на качественный совместимый картридж
**Шанс решения: 70-85%**
**Плюсы:**
- ✅ Низкая стоимость (в 2-3 раза дешевле)
- ✅ Обычно работает нормально
- ✅ Может решить проблему
**Минусы:**
- ⚠️ Предупреждение может остаться
- ⚠️ Качество может быть хуже
- ⚠️ Неточный уровень тонера
**Когда использовать:**
- Для обычной офисной печати
- Если бюджет ограничен
- Если качество "приемлемо" достаточно
**Рекомендации по выбору:**
- Избегайте самых дешевых картриджей (высокий риск проблем)
- Выбирайте проверенные бренды (например, LD Products, Remanufactured)
- Читайте отзывы перед покупкой
### Вариант 3: Продолжить использование текущего картриджа
**Шанс решения: 0% (проблема останется)**
**Когда использовать:**
- Если качество печати устраивает
- Если предупреждения не мешают
- Если картридж еще полный и менять жалко
**Что делать:**
- Нажимать "OK" при каждом предупреждении
- Следить за качеством печати
- Заменить при ухудшении качества или когда закончится тонер
---
## 🔧 ПРАКТИЧЕСКИЕ ШАГИ
### Шаг 1: Проверка текущего картриджа
1. **Проверьте подлинность (если уверены, что оригинальный):**
- Сайт: https://www.hp.com/go/anticounterfeit
- Введите серийный номер картриджа
2. **Проверьте качество печати:**
- Напечатайте тестовую страницу
- Оцените: четкость, равномерность, отсутствие разводов
3. **Проверьте уровень тонера:**
- На дисплее принтера
- Или через страницу состояния расходных материалов
### Шаг 2: Принятие решения
**Если качество хорошее и предупреждения не мешают:**
- Можно продолжать использовать текущий картридж
- Заменить при ухудшении качества или когда закончится тонер
**Если качество плохое или предупреждения раздражают:**
- Заменить на оригинальный HP (если бюджет позволяет)
- Или на качественный совместимый (если бюджет ограничен)
### Шаг 3: Замена картриджа
1. **Выключите принтер**
2. **Откройте переднюю крышку**
3. **Извлеките старый картридж**
4. **Снимите защитную ленту с нового картриджа**
5. **Установите новый картридж**
6. **Закройте крышку**
7. **Включите принтер**
8. **Проверьте, исчезло ли предупреждение**
### Шаг 4: Если проблема осталась после замены
1. **Проверьте правильность установки картриджа**
2. **Попробуйте другой картридж** (возможно, конкретный картридж несовместим)
3. **Обратитесь в сервисный центр HP** (возможна проблема с принтером)
---
## 📈 ИТОГОВАЯ ОЦЕНКА
### Насколько серьезно?
**СРЕДНИЙ-НИЗКИЙ уровень серьезности** для HP LaserJet M402dn
- Принтер продолжает работать
- Основной риск - качество печати, а не поломка
- Предупреждения раздражают, но не критичны
### Шансы решения заменой картриджа?
**85-95% вероятность решения проблемы**
- **Оригинальный HP картридж:** 95% вероятность
- **Качественный совместимый:** 70-85% вероятность
- **Проблема в принтере (не в картридже):** 5-15% случаев
### Рекомендация:
1. **Если бюджет позволяет** → Заменить на оригинальный HP картридж (гарантированно решит)
2. **Если бюджет ограничен** → Попробовать качественный совместимый картридж (высокая вероятность решения)
3. **Если качество устраивает** → Можно продолжать использовать текущий картридж до его окончания
---
## 🔋 ПРОВЕРКА УРОВНЯ ТОНЕРА
### Быстрая проверка (через алиас)
```bash
check-hp-toner
```
### Прямой вызов скрипта
```bash
./docs/printer/check-hp-toner.sh
```
Или из директории printer:
```bash
cd docs/printer
./check-hp-toner.sh
```
**Что показывает скрипт:**
- 📊 Статус принтера
- 🎨 Режим печати (цветной/монохромный)
- 🔋 Способы проверки уровня тонера
- Информация о модели принтера
### Способы проверки уровня тонера
#### 1. Панель управления принтера (рекомендуется)
1. Нажмите кнопку **"OK"** на принтере
2. Перейдите в меню **"Отчеты"**
3. Выберите **"Страница состояния расходных материалов"**
4. Принтер напечатает страницу с информацией об уровне тонера
#### 2. Дисплей принтера
- Проверьте дисплей принтера
- Уровень тонера отображается на экране в виде индикатора
#### 3. Приложение HP Smart
1. Установите приложение **HP Smart** (если еще не установлено)
2. Откройте приложение
3. Выберите ваш принтер
4. Просмотрите уровень тонера в разделе "Расходные материалы"
**Примечание:** CUPS (система печати macOS) не предоставляет прямого программного доступа к уровню тонера, поэтому используйте физические методы проверки.
---
## 🎨 ЦВЕТНАЯ ПЕЧАТЬ
### ❌ Цветная печать НЕ поддерживается
**HP LaserJet Pro M402dn** - это **монохромный** (черно-белый) лазерный принтер.
**Характеристики:**
- ✅ Черно-белая печать
- ❌ Цветная печать не поддерживается
- ⚫ Режим печати: Gray (оттенки серого)
**Проверка режима печати:**
```bash
lpoptions -p HP_LaserJet_M402dn_2 -l | grep ColorModel
```
Вывод покажет: `ColorModel/Color Mode: *Gray`
---
## 📄 НАСТРОЙКА ЛОТКОВ ДЛЯ БУМАГИ И ДВУСТОРОННЕЙ ПЕЧАТИ
### 🚀 БЫСТРОЕ РЕШЕНИЕ ДЛЯ LIBREOFFICE
**Проблема:** LibreOffice не использует правильные настройки принтера (лоток, двусторонняя печать).
**✅ РЕШЕНИЕ (самый надежный способ):**
1. В LibreOffice: **File → Print** (или `Cmd+P`)
2. Найдите кнопку **"Options"** или **"More Settings"**
3. Включите **"Use system dialog"** или **"Show system print dialog"**
4. В системном диалоге macOS:
- **Paper Source:** выберите **"Lower"** или **"Tray 2"**
- **Layout → Two-Sided:** выберите **"Long-edge binding"** (для двусторонней печати)
5. Нажмите **"Print"**
**Готово!** Теперь LibreOffice будет использовать правильные настройки принтера.
---
### Проблема: LibreOffice не использует правильные настройки принтера
**Симптомы:**
- ❌ LibreOffice печатает из Tray 1 вместо Tray 2 (даже если выбрано Tray 2)
- ❌ Двусторонняя печать не работает в LibreOffice (даже если выбрана в настройках)
- ✅ Другие приложения (TextEdit, Preview) печатают нормально
- ✅ Настройки принтера в CUPS установлены правильно
**Причина:**
- LibreOffice может игнорировать настройки CUPS или неправильно передавать их принтеру
- Драйвер "Generic PostScript Printer" имеет ограниченную поддержку опций
- LibreOffice использует свой собственный механизм печати, который может не учитывать все настройки CUPS
### 🔍 Проверка текущего лотка
```bash
lpoptions -p HP_LaserJet_M402dn_2 -l | grep InputSlot
```
**Вывод:**
```
InputSlot/Media Source: *Upper
```
Звездочка (`*`) означает текущее значение по умолчанию.
### ✅ Решение 1: Использовать системный диалог печати macOS (РЕКОМЕНДУЕТСЯ)
**Проблема:** LibreOffice может игнорировать настройки принтера из своего диалога.
**Решение - использовать системный диалог печати:**
1. В LibreOffice: **File → Print** (или `Cmd+P`)
2. В диалоге печати найдите кнопку **"Options"** или **"More Settings"**
3. Включите опцию **"Use system dialog"** или **"Show system print dialog"**
4. Откроется стандартный диалог печати macOS
5. В системном диалоге:
- Нажмите **"Show Details"** (если не видно всех опций)
- Выберите принтер **HP_LaserJet_M402dn_2**
- Нажмите **"Copies & Pages"** → выберите **"Layout"** или **"Paper Handling"**
- Найдите **"Paper Source"** или **"Input Slot"** → выберите **"Lower"** или **"Tray 2"**
- Для двусторонней печати: **"Layout"** → выберите **"Two-Sided"** → **"Long-edge binding"** или **"Short-edge binding"**
6. Нажмите **"Print"**
**Преимущества:**
- ✅ Использует нативные настройки macOS
- ✅ Правильно передает все параметры принтеру
- ✅ Работает с любым драйвером
### ✅ Решение 2: Настроить в LibreOffice напрямую
**Если системный диалог не доступен:**
1. Откройте **File → Print** (или `Cmd+P`) в LibreOffice
2. В диалоге печати нажмите **"Properties"** (Свойства принтера)
3. Найдите настройку **"Paper Source"** или **"Input Slot"** или **"Media Source"**
4. Выберите **"Lower"**, **"Tray 2"** или **"Tray2"**
5. Для двусторонней печати: найдите **"Duplex"** или **"Two-sided"** → выберите **"Long-edge"** или **"Short-edge"**
6. Нажмите **"OK"**
7. Вернитесь в диалог печати и нажмите **"Print"**
**⚠️ Важно:** Если это не работает, используйте Решение 1 (системный диалог).
**Примечание:** Это изменит настройку только для текущего документа. Для постоянного изменения нужно установить официальный драйвер HP (см. Решение 3).
### ✅ Решение 3: Изменить настройки по умолчанию через командную строку
**Установить Tray 2 (Lower) по умолчанию:**
```bash
lpadmin -p HP_LaserJet_M402dn_2 -o InputSlot=Lower
```
**Проверить изменение:**
```bash
lpoptions -p HP_LaserJet_M402dn_2 -l | grep InputSlot
```
**Ожидаемый вывод:**
```
InputSlot/Media Source: Lower *Upper
```
**⚠️ Ограничение:** Если используется драйвер "Generic PostScript Printer", эта команда может не работать. В этом случае:
- Используйте Решение 1 (настройка в LibreOffice)
- Или установите официальный драйвер HP (см. Решение 3)
**Альтернативные значения (если Lower не работает):**
- `Tray2`
- `LowerTray`
- `Tray2Manual`
### ✅ Решение 4: Установить официальный драйвер HP
Если Generic PostScript драйвер не поддерживает изменение лотков, установите официальный драйвер HP:
1. Скачайте драйвер HP для LaserJet M402dn с официального сайта HP
2. Установите драйвер
3. Переустановите принтер с новым драйвером
4. После этого команда `lpadmin -p HP_LaserJet_M402dn_2 -o InputSlot=Lower` должна работать
### ✅ Решение 5: Настройка через System Preferences (macOS)
1. Откройте **System Preferences → Printers & Scanners**
2. Выберите принтер **HP_LaserJet_M402dn_2**
3. Нажмите **Options & Supplies**
4. Перейдите на вкладку **Driver**
5. Найдите настройку **"Default Paper Source"** или **"Input Slot"**
6. Выберите **"Lower"** или **"Tray 2"**
7. Нажмите **OK**
### 🔧 Настройка двусторонней печати через командную строку
**Установить двустороннюю печать по умолчанию:**
```bash
# Двусторонняя печать (длинная сторона - как книга)
lpadmin -p HP_LaserJet_M402dn_2 -o Duplex=DuplexNoTumble
# Двусторонняя печать (короткая сторона - как блокнот)
lpadmin -p HP_LaserJet_M402dn_2 -o Duplex=DuplexTumble
# Отключить двустороннюю печать
lpadmin -p HP_LaserJet_M402dn_2 -o Duplex=None
```
**Проверить текущую настройку:**
```bash
lpoptions -p HP_LaserJet_M402dn_2 -l | grep Duplex
```
**Проверить все настройки:**
```bash
lpoptions -p HP_LaserJet_M402dn_2 | grep -E "Duplex|InputSlot"
```
**Примечание:** Эти настройки работают для большинства приложений, но LibreOffice может их игнорировать. Используйте системный диалог печати (Решение 1).
### 🔧 Скрипт для быстрого изменения лотка
Используйте готовый скрипт `set-hp-tray.sh`:
```bash
# Установить Tray 2 по умолчанию
./docs/printer/set-hp-tray.sh tray2
# Установить Tray 1 по умолчанию
./docs/printer/set-hp-tray.sh tray1
```
**Или через алиас (если установлен):**
```bash
set-hp-tray tray2
```
**Примечание:** Скрипт автоматически найдет HP принтер и попытается изменить лоток. Если драйвер не поддерживает изменение (Generic PostScript), скрипт покажет предупреждение и рекомендации.
**⚠️ Важно для LibreOffice:** Даже если настройка установлена через командную строку, LibreOffice может ее игнорировать. Используйте системный диалог печати (Решение 1).
### ⚠️ Специфичные проблемы LibreOffice
**Проблема 1: LibreOffice игнорирует настройки CUPS**
**Симптомы:**
- Настройки установлены через `lpadmin`, но LibreOffice их не использует
- Другие приложения (TextEdit, Preview) работают правильно
**Причина:**
- LibreOffice использует свой собственный механизм печати
- Может игнорировать настройки по умолчанию из CUPS
- Особенно проблематично с Generic PostScript драйвером
**Решения:**
1. **Использовать системный диалог печати** (Решение 1 выше) - самый надежный способ
2. **Установить официальный драйвер HP** - улучшит совместимость
3. **Настраивать в каждом документе** - через Properties в LibreOffice
**Проблема 2: Двусторонняя печать не работает в LibreOffice**
**Симптомы:**
- Выбрана двусторонняя печать в LibreOffice, но печатается односторонне
- Настройка `Duplex=DuplexNoTumble` установлена в CUPS, но LibreOffice игнорирует
**Решения:**
1. **Использовать системный диалог печати:**
- В LibreOffice: File → Print → Options → "Use system dialog"
- В системном диалоге: Layout → Two-Sided → Long-edge binding
2. **Проверить настройки в LibreOffice:**
- File → Print → Properties
- Найдите "Duplex" или "Two-sided"
- Выберите "Long-edge" или "Short-edge"
- ⚠️ Если это не работает, используйте системный диалог
3. **Установить через командную строку (для других приложений):**
```bash
lpadmin -p HP_LaserJet_M402dn_2 -o Duplex=DuplexNoTumble
```
### ⚠️ Если Lower не работает (Generic PostScript драйвер)
**Проблема:** Если используется драйвер "Generic PostScript Printer", команда `InputSlot=Lower` может не работать.
**Причина:**
- Generic PostScript драйвер имеет ограниченную поддержку опций принтера
- Не все опции HP принтера доступны через этот драйвер
**Решения:**
1. **Использовать системный диалог печати в LibreOffice** (самый надежный способ):
- File → Print → Options → "Use system dialog"
- В системном диалоге выбрать Paper Source → Lower/Tray 2
2. **Установить официальный драйвер HP:**
- Скачать с сайта HP
- Переустановить принтер с новым драйвером
- После этого команды `lpadmin` будут работать лучше
3. **Проверка текущего драйвера:**
```bash
lpoptions -p HP_LaserJet_M402dn_2 | grep "printer-make-and-model"
```
4. **Проверка доступных опций:**
```bash
lpoptions -p HP_LaserJet_M402dn_2 -l | grep -i "input\|tray\|source\|duplex"
```
### 📝 Примечание о имени принтера
**Важно:** В системе принтер может называться `HP_LaserJet_M402dn_2` (с суффиксом `_2`), а не `HP_LaserJet_M402dn`.
**Проверка имени принтера:**
```bash
lpstat -p | grep -i hp
```
Используйте правильное имя принтера во всех командах!
---
## 📊 ПРОВЕРКА СТАТУСА
### Список всех принтеров
```bash
lpstat -p
```
### Статус HP принтера
```bash
lpstat -p HP_LaserJet_M402dn -l
```
### Задачи в очереди
```bash
lpstat -o
```
### Задачи конкретного принтера
```bash
lpstat -o HP_LaserJet_M402dn
```
### Режим печати (цветной/монохромный)
```bash
lpoptions -p HP_LaserJet_M402dn -l | grep ColorModel
```
---
## 🛠️ РУЧНОЙ СБРОС (если скрипт не помог)
### Отмена всех задач принтера
```bash
cancel -a HP_LaserJet_M402dn
```
### Включение принтера
```bash
cupsenable HP_LaserJet_M402dn
cupsaccept HP_LaserJet_M402dn
```
### Настройка принтера
```bash
lpadmin -p HP_LaserJet_M402dn -o printer-is-accepting-jobs=true
```
---
## 📁 ФАЙЛЫ
- **Скрипт сброса задач:** `clear-hp-jobs.sh` - сброс подвисших задач печати
- **Скрипт проверки тонера:** `check-hp-toner.sh` - проверка уровня тонера и информации о принтере
- **Скрипт настройки лотка:** `set-hp-tray.sh` - изменение лотка по умолчанию (Tray 1/Tray 2)
- **Скрипт настройки двусторонней печати:** `set-hp-duplex.sh` - включение/выключение двусторонней печати
- **Документация:** `HP_LASERJET_M402DN_README.md` - этот файл
- **Алиасы:**
- `clear-hp` - сброс подвисших задач (добавлен в `~/.zshrc`)
- `check-hp-toner` - проверка уровня тонера (добавлен в `~/.zshrc`)
- `set-hp-tray` - настройка лотка (добавлен в `~/.zshrc`)
- `set-hp-duplex` - настройка двусторонней печати (добавлен в `~/.zshrc`)
---
## 💡 ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ
### Пример 1: Быстрый сброс
```bash
clear-hp
```
**Вывод:**
```
🔍 Поиск HP принтеров...
✅ Найдены HP принтеры:
- HP_LaserJet_M402dn
📋 Проверка задач печати...
🖨️ Обработка принтера: HP_LaserJet_M402dn
⚠️ Найдено задач: 1
🗑️ Отмена всех задач...
✅ Задачи отменены
🔄 Сброс состояния принтера...
✅ Принтер готов к работе
✅ Готово! Все подвисшие задачи HP принтеров сброшены
```
### Пример 2: Проверка перед сбросом
```bash
# Сначала проверяем задачи
lpstat -o HP_LaserJet_M402dn
# Если есть задачи - сбрасываем
clear-hp
```
---
## 🎯 ИТОГ
### Сброс задач
1. Запустите `clear-hp`
2. Готово! Принтер готов к работе
### Проверка уровня тонера
1. Запустите `check-hp-toner`
2. Или используйте панель управления принтера
### Цветная печать
-**НЕ поддерживается** - принтер только черно-белый
**Если не помогло:**
1. Проверьте физическое состояние принтера
2. Проверьте уровень тонера (см. раздел "Проверка уровня тонера")
3. Перезагрузите принтер
4. Используйте ручной сброс (см. раздел "Ручной сброс")
---
**Дата:** 2025-12-26

View File

@@ -0,0 +1,784 @@
# Samsung SCX-4300 - Полное руководство для macOS Sequoia
## 🚀 БЫСТРЫЙ СТАРТ
### 1. Установка (1 команда)
```bash
/tmp/FINAL_SIMPLE_SOLUTION.sh
```
### 2. Печать
**Из приложений:**
- File → Print → Samsung_SCX_4300_Series
**Из командной строки:**
```bash
echo "Текст" | lp -d Samsung_SCX_4300_Series
```
**Готово!**
---
## 📋 ИНФОРМАЦИЯ О ПРИНТЕРЕ
- **Модель:** Samsung SCX-4300 Series
- **Серийный номер:** 9N66BABS200626A
- **macOS:** Sequoia 15.3.1
- **Прошивка:** QPDL 1.40 (2005 год)
- **Device ID:** `MFG:Samsung;CMD:GDI;MDL:SCX-4300 Series;CLS:PRINTER;MODE:PCL;STATUS:IDLE;`
- **USB:** usb://Samsung/SCX-4300%20Series?serial=9N66BABS200626A.
---
## 📋 ТЕКУЩАЯ КОНФИГУРАЦИЯ
- **Драйвер:** Generic PCL Laser Printer
- **Режим:** С драйвером
- **URI:** usb://Samsung/SCX-4300%20Series?serial=9N66BABS200626A.
- **Статус:** ✅ Настроено
---
## ✅ ФИНАЛЬНОЕ РАБОЧЕЕ РЕШЕНИЕ
### Установка
```bash
/tmp/FINAL_SIMPLE_SOLUTION.sh
```
**Конфигурация:**
- **Драйвер:** Generic PCL Laser Printer
- **Режим:** С драйвером (не raw)
- **Фильтры:** Стандартные CUPS (rastertohp)
- **URI:** usb://Samsung/SCX-4300%20Series?serial=9N66BABS200626A.
### Почему это работает
- **НЕТ Samsung фильтров** - используются только стандартные CUPS фильтры
- **Правильная конвертация:**
- `cgtexttopdf` - текст → PDF
- `cgpdftoraster` - PDF → растровое изображение
- `rastertohp` - растровое изображение → HP PCL
- **Прямой PCL вывод** - принтер поддерживает PCL (MODE:PCL в Device ID)
- **Обходит все проблемы** - нет QPDL, нет SPL, нет ошибок
### Что НЕ работает
-Все драйверы Samsung (вызывают ошибки QPDL)
- ❌ Модификация PPD файлов (проблема в фильтрах)
- ❌ Raw режим (данные отправляются, но не печатаются)
### Скрипты
- `/tmp/FINAL_SIMPLE_SOLUTION.sh` - Установка принтера
- `/tmp/print_simple_text.sh` - Печать текста
- `/tmp/force_online_aggressive.sh` - Исправление offline
- `/tmp/check_printer_status.sh` - Проверка статуса
- `/tmp/debug_print.sh` - Отладка печати
- `/tmp/fix_usb_offline.sh` - Исправление USB offline
---
## 🔴 ПРОБЛЕМЫ И РЕШЕНИЯ
### Проблема 1: Принтер показывает OFFLINE
**Описание проблемы:**
Принтер показывает статус **"The printer is offline"** в CUPS, хотя физически работает.
**Симптомы:**
- `lpstat -p Samsung_SCX_4300_Series -l` показывает: "The printer is offline"
- Задания отправляются, но остаются в очереди
- CUPS не может связаться с USB устройством
**Причина:**
CUPS не может физически связаться с USB устройством принтера. Это **НЕ программная проблема**, а проблема физического подключения или состояния USB устройства.
**РЕШЕНИЕ (выполните в точном порядке):**
1. Отмените все задания:
```bash
cancel -a Samsung_SCX_4300_Series
```
2. **Выключите принтер** (кнопка питания)
3. **Отключите USB кабель** от Mac
4. **Подождите 30 секунд**
5. **Подключите USB кабель** обратно
6. **Включите принтер**
7. **Подождите 1 минуту** (пока принтер загрузится)
8. Запустите исправление:
```bash
/tmp/force_online_aggressive.sh
```
**Альтернативное решение (агрессивное исправление):**
```bash
/tmp/force_online_aggressive.sh
```
Скрипт:
- Отменяет все задания
- Удаляет и переустанавливает принтер
- Включает и активирует принтер
- Проверяет статус
**Ручное исправление:**
```bash
# Удалить принтер
lpadmin -x Samsung_SCX_4300_Series
# Переустановить
lpadmin -p Samsung_SCX_4300_Series \
-v "usb://Samsung/SCX-4300%20Series?serial=9N66BABS200626A." \
-m "drv:///sample.drv/generpcl.ppd" \
-E
# Включить
cupsenable Samsung_SCX_4300_Series
cupsaccept Samsung_SCX_4300_Series
# Настроить
lpadmin -p Samsung_SCX_4300_Series -o printer-is-accepting-jobs=true
```
**Если все еще offline:**
1. **Попробуйте другой USB кабель**
2. **Попробуйте другой USB порт** на Mac
3. **Перезагрузите Mac** и повторите шаги
4. **Проверьте принтер:**
- Нет ли ошибок на дисплее?
- Работает ли принтер вообще?
- Попробуйте сбросить принтер (меню принтера)
**Диагностика offline:**
```bash
# Проверить USB подключение
system_profiler SPUSBDataType | grep -A 10 "SCX-4300"
# Проверить статус в CUPS
lpstat -p Samsung_SCX_4300_Series -l | grep -i "offline"
# Если НЕТ строки "offline" - проблема решена!
```
**ВАЖНО:** Проблема offline требует **ФИЗИЧЕСКОГО** переподключения USB кабеля. Программные решения не помогают.
---
### Проблема 2: Принтер не печатает
**ОБЯЗАТЕЛЬНО проверьте физическое состояние принтера:**
- ✅ Принтер **включен**
- ✅ Есть **бумага** в лотке
- ✅ Есть **тонер/чернила**
- ✅ **USB кабель** подключен правильно
- ✅ **Нет ошибок** на дисплее принтера
**Проверьте настройки принтера:**
- Откройте **меню принтера** (кнопка Menu)
- Проверьте настройки печати
- Попробуйте **сбросить** принтер (выключить/включить)
**Отладка:**
```bash
# Проверка статуса
/tmp/check_printer_status.sh
# Отладка печати
/tmp/debug_print.sh
# Проверка логов
tail -50 /var/log/cups/error_log | grep -i "error\|fail"
```
**Переустановить:**
```bash
/tmp/FINAL_SIMPLE_SOLUTION.sh
```
**Альтернативные решения:**
- Использовать принтер с Windows/Linux
- Рассмотреть обновление принтера
- Использовать сетевой принт-сервер
---
### Проблема 3: Принтер "поливает тонером" бумагу
**Проблема:** После смены картриджа принтер избыточно наносит тонер на бумагу, размазывает текст.
**Симптомы:**
- Избыточное количество тонера на бумаге
- Размазанный текст/изображения
- Тонер осыпается с бумаги
- Плохое качество печати
- Темные пятна на бумаге
**БЫСТРОЕ РЕШЕНИЕ:**
1. **Выключите принтер**
2. **Откройте крышку**
3. **Извлеките картридж**
4. **Проверьте:**
- ✅ Все защитные ленты сняты?
- ✅ Картридж не поврежден?
5. **Встряхните картридж горизонтально** (не вертикально!)
6. **Установите картридж обратно** (до упора!)
7. **Закройте крышку**
8. **Включите принтер**
9. **Уменьшите плотность печати** в меню принтера (Menu → Density → -2)
**ПОДРОБНОЕ РЕШЕНИЕ:**
#### Решение 1: Правильная установка картриджа (ОБЯЗАТЕЛЬНО)
**Выполните в точном порядке:**
1. **Выключите принтер** (кнопка питания)
2. **Откройте крышку** принтера
3. **Извлеките картридж:**
- Нажмите на фиксатор картриджа
- Аккуратно вытащите картридж
4. **Проверьте картридж:**
- ✅ Все **защитные ленты сняты**
- ✅ Картридж **не поврежден**
- ✅ Нет **видимых утечек тонера**
5. **Очистите контакты:**
- Протрите **контакты картриджа** сухой тряпкой
- Протрите **контакты в принтере** сухой тряпкой
6. **Встряхните картридж:**
- Аккуратно встряхните картридж **горизонтально** (не вертикально!)
- Это распределит тонер внутри картриджа
7. **Установите картридж:**
- Вставьте картридж **до упора**
- Убедитесь, что картридж **зафиксирован**
- **Закройте крышку** принтера
8. **Включите принтер**
9. **Подождите 1-2 минуты** (пока принтер загрузится)
10. **Попробуйте печать**
#### Решение 2: Очистка принтера
**ВАЖНО:** Выполняйте только при выключенном принтере!
1. **Выключите принтер**
2. **Откройте крышку**
3. **Извлеките картридж**
4. **Очистите внутренности:**
- Используйте **сухую тряпку** (не влажную!)
- Очистите **ролики** от тонера
- Очистите **контакты** в принтере
- **НЕ используйте** спирт или другие жидкости
5. **Верните картридж**
6. **Закройте крышку**
7. **Включите принтер**
#### Решение 3: Настройка плотности печати
**Через меню принтера:**
1. Нажмите кнопку **Menu** на принтере
2. Найдите настройку **"Density"** или **"Плотность"**
3. Установите значение **-2** или **-3** (уменьшите плотность)
4. Сохраните настройки
5. Попробуйте печать
**Через macOS:**
1. Откройте **System Settings** → **Printers & Scanners**
2. Выберите принтер **Samsung_SCX_4300_Series**
3. Нажмите **Options & Supplies**
4. Найдите настройку **"Density"** или **"Плотность"**
5. Уменьшите значение
6. Попробуйте печать
#### Решение 4: Замена картриджа
**Если проблема сохраняется:**
1. **Попробуйте другой картридж:**
- Оригинальный Samsung
- Или совместимый от проверенного производителя
2. **Проверьте модель картриджа:**
- Для SCX-4300 обычно используется **MLT-D1043S** или совместимый
3. **Избегайте перезаправленных картриджей:**
- Они часто вызывают проблемы с дозированием
#### Решение 5: Сброс принтера
**Полный сброс настроек:**
1. **Выключите принтер**
2. **Отключите USB кабель**
3. **Отключите питание** (выньте шнур из розетки)
4. **Подождите 30 секунд**
5. **Подключите питание**
6. **Включите принтер**
7. **Подключите USB кабель**
8. **Подождите 1-2 минуты**
9. **Попробуйте печать**
#### Решение 6: Тестовая печать
**Проверка качества печати:**
1. Нажмите кнопку **Menu** на принтере
2. Найдите **"Test Print"** или **"Тестовая печать"**
3. Запустите тестовую печать
4. Проверьте качество:
- Если тестовая печать **хорошая** → проблема в драйвере/настройках
- Если тестовая печать **плохая** → проблема в картридже/принтере
**ЧАСТЫЕ ОШИБКИ:**
### ❌ НЕ ДЕЛАЙТЕ:
1. **НЕ используйте влажную тряпку** для очистки (только сухую!)
2. **НЕ используйте спирт** или другие жидкости
3. **НЕ встряхивайте картридж вертикально** (только горизонтально!)
4. **НЕ трогайте фотобарабан** голыми руками
5. **НЕ используйте перезаправленные картриджи** низкого качества
### ✅ ДЕЛАЙТЕ:
1. **Используйте оригинальные** или качественные совместимые картриджи
2. **Очищайте принтер** регулярно (раз в месяц)
3. **Правильно устанавливайте** картридж
4. **Проверяйте защитные ленты** перед установкой
5. **Встряхивайте картридж горизонтально** перед установкой
**МОДЕЛИ КАРТРИДЖЕЙ:**
Для Samsung SCX-4300 обычно используются:
- **Оригинальный:** Samsung MLT-D1043S
- **Совместимые:** Различные производители (проверяйте совместимость!)
**ВАЖНО:** Убедитесь, что картридж совместим с вашей моделью принтера!
**Наиболее вероятные причины:**
1. **Неправильная установка картриджа** (80% случаев)
2. **Бракованный или несовместимый картридж** (15% случаев)
3. **Загрязнение внутренних компонентов** (4% случаев)
4. **Износ компонентов принтера** (1% случаев)
---
## 🔴 КОРНЕВАЯ ПРОБЛЕМА
**Все драйверы Samsung вызывают ошибки "INTERNAL ERROR FALSE"** из-за:
1. Устаревшей прошивки QPDL 1.40 (2005 год)
2. Проблемных SPL фильтров (rastertosec, commandtosec)
3. Несовместимости с macOS Sequoia
4. Отсутствия официальной поддержки Samsung/HP для новых macOS
---
## ❌ ЧТО НЕ СРАБОТАЛО
### 1. Драйверы Samsung (все варианты)
#### 1.1. Samsung C43x Series
- **Попытка:** Использование драйвера Samsung C43x Series
- **Результат:** ❌ Ошибка "INTERNAL ERROR FALSE LINE 312"
- **Причина:** Использует SPL фильтры (rastertosec, commandtosec)
- **Статус:** НЕ РАБОТАЕТ
#### 1.2. Samsung C3010 Series
- **Попытка:** Использование драйвера Samsung C3010 Series
- **Результат:** ❌ Ошибка "INTERNAL ERROR FALSE LINE 312/407/495"
- **Причина:** SPL фильтры вызывают ошибки QPDL
- **Статус:** НЕ РАБОТАЕТ
#### 1.3. Samsung M2010 Series
- **Попытка:** Использование драйвера Samsung M2010 Series
- **Результат:** ❌ Задание исчезло из очереди, но не напечаталось
- **Причина:** Все еще использует SPL фильтры
- **Статус:** НЕ РАБОТАЕТ
#### 1.4. Samsung M2020 Series
- **Попытка:** Использование драйвера Samsung M2020 Series
- **Результат:** ❌ Ошибка сохраняется
- **Причина:** SPL фильтры
- **Статус:** НЕ РАБОТАЕТ
#### 1.5. Samsung ML-2160 Series
- **Попытка:** Использование драйвера Samsung ML-2160 Series (без n_SrcXR/n_SrcYR)
- **Результат:** ❌ Ошибка "INTERNAL ERROR FALSE LINE 312"
- **Причина:** Проблема не только в опциях, но и в фильтрах
- **Статус:** НЕ РАБОТАЕТ
#### 1.6. Samsung SF-760 Series
- **Попытка:** Использование драйвера Samsung SF-760 Series
- **Результат:** ❌ Ошибка сохраняется
- **Причина:** SPL фильтры
- **Статус:** НЕ РАБОТАЕТ
#### 1.7. Samsung SCX-3400 Series
- **Попытка:** Использование драйвера Samsung SCX-3400 Series
- **Результат:** ❌ Ошибка "INTERNAL ERROR FALSE LINE 312"
- **Причина:** SPL фильтры
- **Статус:** НЕ РАБОТАЕТ
#### 1.8. Samsung Universal Print Driver v3.93.08
- **Попытка:** Установка Samsung Universal Print Driver v3.93.08
- **Результат:** ❌ Не работает на macOS Sequoia
- **Причина:** Драйвер предназначен для старых версий macOS
- **Статус:** НЕ РАБОТАЕТ
**ВЫВОД:** Все драйверы Samsung используют SPL фильтры (rastertosec, commandtosec), которые конвертируют данные в QPDL формат, несовместимый с прошивкой принтера.
---
### 2. Модификация PPD файлов
#### 2.1. Удаление опций n_SrcXR и n_SrcYR
- **Попытка:** Удаление проблемных опций n_SrcXR и n_SrcYR из PPD
- **Результат:** ❌ Ошибка сохраняется
- **Причина:** Проблема не только в опциях, но и в фильтрах
- **Статус:** НЕ РАБОТАЕТ
#### 2.2. Удаление опций SECResolution
- **Попытка:** Удаление всех опций SECResolution из строки 312
- **Результат:** ❌ Ошибка сохраняется
- **Причина:** Проблема в фильтрах, а не в опциях
- **Статус:** НЕ РАБОТАЕТ
#### 2.3. Закомментирование строки 312
- **Попытка:** Закомментирование строки 312 в PPD файле
- **Результат:** ❌ Ошибка изменилась на LINE 407/495
- **Причина:** Проблема глубже - в самих SPL фильтрах
- **Статус:** НЕ РАБОТАЕТ
#### 2.4. Закомментирование строк 312 и 495
- **Попытка:** Закомментирование обеих проблемных строк
- **Результат:** ❌ Ошибка сохраняется
- **Причина:** Проблема в фильтрах, а не в строках PPD
- **Статус:** НЕ РАБОТАЕТ
#### 2.5. Удаление опций xl_image и H6FW
- **Попытка:** Удаление опций xl_image и H6FW
- **Результат:** ❌ Ошибка сохраняется
- **Причина:** Проблема в фильтрах
- **Статус:** НЕ РАБОТАЕТ
**ВЫВОД:** Модификация PPD файлов (удаление опций, закомментирование строк) не решает проблему, так как корневая причина - в SPL фильтрах.
---
### 3. Создание минимальных PPD без фильтров
#### 3.1. Минимальный PPD без фильтров
- **Попытка:** Создание минимального PPD файла без фильтров
- **Результат:** ❌ CUPS требует фильтры для обработки данных
- **Причина:** PPD без фильтров не может обработать данные
- **Статус:** НЕ РАБОТАЕТ
#### 3.2. PPD с только стандартными CUPS фильтрами (pstoraster, rastertopcl)
- **Попытка:** PPD с фильтрами pstoraster и rastertopcl
- **Результат:** ❌ Ошибка сохраняется
- **Причина:** Стандартные фильтры тоже могут вызывать проблемы
- **Статус:** НЕ РАБОТАЕТ
#### 3.3. PPD с фильтрами cgpdftoraster, rastertohp, cgtexttopdf
- **Попытка:** PPD с фильтрами cgpdftoraster, rastertohp, cgtexttopdf
- **Результат:** ❌ Ошибка сохраняется
- **Причина:** Все фильтры вызывают проблемы
- **Статус:** НЕ РАБОТАЕТ
**ВЫВОД:** Даже стандартные CUPS фильтры вызывают проблемы, возможно из-за несовместимости формата данных с прошивкой принтера.
---
### 4. Raw режим CUPS
#### 4.1. Raw режим без драйвера
- **Попытка:** Установка принтера в raw режиме (без драйвера)
- **Результат:** ⚠️ Задания исчезают из очереди, но не печатаются физически
- **Причина:** Данные отправляются, но принтер не понимает формат
- **Статус:** ЧАСТИЧНО РАБОТАЕТ (данные отправляются, но не печатаются)
#### 4.2. Raw режим с PCL форматом
- **Попытка:** Отправка данных в PCL формате через raw режим
- **Результат:** ⚠️ Задания обрабатываются, но не печатаются
- **Причина:** Возможно неправильный PCL формат или проблема с USB
- **Статус:** ЧАСТИЧНО РАБОТАЕТ
#### 4.3. Raw режим с правильными escape-последовательностями
- **Попытка:** Использование правильных PCL escape-последовательностей (\033E, \033&l0O)
- **Результат:** ⚠️ Задания отправляются, но не печатаются
- **Причина:** Данные доходят до принтера, но не печатаются физически
- **Статус:** ЧАСТИЧНО РАБОТАЕТ
**ВЫВОД:** Raw режим отправляет данные на принтер, но физическая печать не происходит. Возможно проблема в:
- Физическом состоянии принтера (бумага, тонер, USB)
- Неправильном PCL формате
- Проблеме с USB соединением
---
### 5. Generic драйверы
#### 5.1. Generic PCL Laser Printer
- **Попытка:** Использование Generic PCL драйвера (drv:///sample.drv/generpcl.ppd)
- **Результат:** ⚠️ Задания отправляются, но не печатаются
- **Причина:** Только один фильтр (rastertohp), недостаточно для полной обработки
- **Статус:** ЧАСТИЧНО РАБОТАЕТ
#### 5.2. Generic PostScript Printer
- **Попытка:** Использование Generic PostScript драйвера (drv:///sample.drv/generic.ppd)
- **Результат:** ⚠️ Задания отправляются, но не печатаются
- **Причина:** PostScript может быть несовместим с принтером
- **Статус:** ЧАСТИЧНО РАБОТАЕТ
#### 5.3. HP LaserJet Series PCL 4/5
- **Попытка:** Использование HP LaserJet драйвера (drv:///sample.drv/laserjet.ppd)
- **Результат:** ⚠️ Задания отправляются, но не печатаются
- **Причина:** Только один фильтр (rastertohp)
- **Статус:** ЧАСТИЧНО РАБОТАЕТ
**ВЫВОД:** Generic драйверы отправляют данные, но физическая печать не происходит. Возможно проблема в физическом состоянии принтера или несовместимости формата.
---
### 6. Кастомные PPD с правильными фильтрами
#### 6.1. PPD с фильтрами cgpdftoraster, pstoraster, rastertohp, cgtexttopdf
- **Попытка:** Создание PPD с полным набором стандартных CUPS фильтров
- **Результат:** ⚠️ Задания отправляются, но не печатаются
- **Причина:** Фильтры работают, но данные не печатаются физически
- **Статус:** ЧАСТИЧНО РАБОТАЕТ
**ВЫВОД:** Кастомные PPD с правильными фильтрами работают на уровне CUPS, но физическая печать не происходит.
---
## ✅ ВЕКТОРЫ РЕШЕНИЯ
### Вектор 1: Обход Samsung фильтров
**Идея:** Использовать только стандартные CUPS фильтры, минуя SPL/QPDL фильтры Samsung
**Попытки:**
- ✅ Создание PPD без Samsung фильтров
- ✅ Использование Generic драйверов
- ✅ Кастомные PPD с только CUPS фильтрами
**Результат:** ⚠️ Частично работает - данные отправляются, но не печатаются физически
**Статус:** ТРЕБУЕТ ДОПОЛНИТЕЛЬНОЙ ДИАГНОСТИКИ
---
### Вектор 2: Raw режим с правильным PCL
**Идея:** Отправлять данные напрямую в PCL формате, минуя все фильтры
**Попытки:**
- ✅ Raw режим CUPS
- ✅ PCL файлы с правильными escape-последовательностями
- ✅ Скрипты для конвертации текста в PCL
**Результат:** ⚠️ Частично работает - данные отправляются, но не печатаются физически
**Статус:** ТРЕБУЕТ ПРОВЕРКИ ФИЗИЧЕСКОГО СОСТОЯНИЯ ПРИНТЕРА
---
### Вектор 3: Модификация существующих драйверов
**Идея:** Исправить существующие драйверы Samsung, удалив проблемные части
**Попытки:**
- ❌ Удаление опций n_SrcXR, n_SrcYR
- ❌ Удаление опций SECResolution
- ❌ Закомментирование проблемных строк
- ❌ Удаление опций xl_image, H6FW
**Результат:** ❌ Не работает - проблема в фильтрах, а не в опциях
**Статус:** НЕ РАБОТАЕТ
---
### Вектор 4: Использование универсальных драйверов
**Идея:** Использовать Generic драйверы вместо специфичных Samsung
**Попытки:**
- ⚠️ Generic PCL Laser Printer
- ⚠️ Generic PostScript Printer
- ⚠️ HP LaserJet Series PCL 4/5
**Результат:** ⚠️ Частично работает - данные отправляются, но не печатаются физически
**Статус:** ТРЕБУЕТ ДОПОЛНИТЕЛЬНОЙ ДИАГНОСТИКИ
---
### Вектор 5: Обновление прошивки принтера
**Идея:** Обновить прошивку принтера для совместимости с современными системами
**Попытки:**
- ⚠️ Поиск обновлений прошивки на сайте Samsung/HP
- ⚠️ Проверка версии прошивки (QPDL 1.40 от 2005 года)
**Результат:** ⚠️ Обновления не найдены или недоступны
**Статус:** НЕДОСТУПНО
---
### Вектор 6: Использование другой ОС
**Идея:** Использовать принтер с операционной системой, которая официально поддерживается
**Попытки:**
- ⚠️ Windows (есть официальные драйверы)
- ⚠️ Linux (есть драйверы через ULD)
- ⚠️ macOS 10.7 и ниже (старые драйверы)
**Результат:** ⚠️ Работает на других ОС, но не решает проблему для macOS Sequoia
**Статус:** АЛЬТЕРНАТИВНОЕ РЕШЕНИЕ
---
## 📊 СТАТИСТИКА ПОПЫТОК
- **Всего попыток:** 30+
- **Полностью не работающих:** 20+
- **Частично работающих:** 10+
- **Полностью работающих:** 0
---
## 🔍 ДИАГНОСТИКА ТЕКУЩЕЙ СИТУАЦИИ
### Что работает:
- ✅ Принтер определяется системой
- ✅ CUPS принимает задания
- ✅ Данные отправляются на принтер (задания исчезают из очереди)
- ✅ Нет ошибок в логах CUPS
- ✅ USB соединение работает
### Что не работает:
- ❌ Физическая печать не происходит
- ❌ Все драйверы Samsung вызывают ошибки QPDL
- ❌ Модификация PPD не помогает
### Возможные причины:
1. **Физическое состояние принтера:**
- Нет бумаги
- Нет тонера
- Проблема с USB кабелем
- Принтер в режиме ошибки
2. **Проблема с форматом данных:**
- Неправильный PCL формат
- Принтер не понимает команды
- Несовместимость с прошивкой
3. **Проблема с USB:**
- USB кабель не подключен правильно
- Проблема с USB портом
- Данные не доходят до принтера
---
## 📅 ХРОНОЛОГИЯ
- **2025-12-10:** Начало попыток настройки
- **2025-12-10:** Множество попыток с разными драйверами Samsung
- **2025-12-10:** Попытки модификации PPD файлов
- **2025-12-10:** Попытки с Generic драйверами
- **2025-12-10:** Попытки с Raw режимом
- **2025-12-10:** Создание кастомных PPD с правильными фильтрами
- **2025-12-10:** Текущее состояние - данные отправляются, но не печатаются физически
---
## 🔗 ССЫЛКИ
- **Samsung Support:** https://www.samsung.com/support/
- **HP Support (текущий владелец):** https://support.hp.com/
- **Модель:** SCX-4300 Series
---
## 📝 ВЫВОДЫ
1. **Все драйверы Samsung не работают** из-за SPL фильтров
2. **Модификация PPD не помогает** - проблема в фильтрах
3. **Generic драйверы отправляют данные**, но физическая печать не происходит
4. **Raw режим отправляет данные**, но физическая печать не происходит
5. **Требуется дополнительная диагностика** физического состояния принтера
**Текущий статус:** Данные успешно отправляются на принтер через CUPS, но физическая печать не происходит. Требуется проверка физического состояния принтера и настройки принтера.
**Самое простое решение:**
1. Запустите `/tmp/FINAL_SIMPLE_SOLUTION.sh`
2. Печатайте из приложений (File → Print)
3. Если offline - переподключите USB и запустите `/tmp/force_online_aggressive.sh`
**Если не печатает - проверьте физическое состояние принтера в первую очередь!**
---
**Дата последнего обновления:** 2025-12-10

91
docs/printer/check-hp-toner.sh Executable file
View File

@@ -0,0 +1,91 @@
#!/bin/bash
# Скрипт для проверки уровня тонера HP принтера на macOS
set -e
echo "🖨️ Проверка уровня тонера HP принтера"
echo ""
# Найти все HP принтеры
HP_PRINTERS=$(lpstat -p 2>/dev/null | grep -i "hp" | awk '{print $2}' || true)
if [ -z "$HP_PRINTERS" ]; then
echo "❌ HP принтеры не найдены в системе"
exit 1
fi
# Для каждого HP принтера
echo "$HP_PRINTERS" | while read printer; do
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📋 Принтер: $printer"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# Базовая информация о принтере
echo "📊 Статус принтера:"
lpstat -p "$printer" -l 2>/dev/null | head -3 || true
echo ""
# Информация о цвете
echo "🎨 Режим печати:"
COLOR_MODE=$(lpoptions -p "$printer" -l 2>/dev/null | grep -i "ColorModel" | grep -o '\*[^*]*' | sed 's/*//' || echo "")
if [ -z "$COLOR_MODE" ]; then
COLOR_MODE=$(lpoptions -p "$printer" 2>/dev/null | grep -i "ColorModel" | awk -F'=' '{print $2}' | awk '{print $1}' || echo "")
fi
if echo "$COLOR_MODE" | grep -qi "gray\|mono\|black"; then
echo " ⚫ Монохромный (черно-белый)"
echo " ❌ Цветная печать НЕ поддерживается"
elif [ ! -z "$COLOR_MODE" ]; then
echo " 🎨 Цветной режим: $COLOR_MODE"
else
echo " ⚫ Монохромный (черно-белый) - по умолчанию для лазерных принтеров"
echo " ❌ Цветная печать НЕ поддерживается"
fi
echo ""
# Попытка получить информацию о тонере через CUPS
echo "🔋 Уровень тонера:"
echo " ⚠️ CUPS не предоставляет прямого доступа к уровню тонера"
echo ""
echo " 📝 Рекомендуемые способы проверки:"
echo ""
echo " 1⃣ Панель управления принтера:"
echo " - Нажмите кнопку 'OK' на принтере"
echo " - Перейдите в меню 'Отчеты'"
echo " - Выберите 'Страница состояния расходных материалов'"
echo " - Принтер напечатает страницу с уровнем тонера"
echo ""
echo " 2⃣ Приложение HP Smart (если установлено):"
echo " - Откройте приложение HP Smart"
echo " - Выберите ваш принтер"
echo " - Просмотрите уровень тонера"
echo ""
echo " 3⃣ Дисплей принтера:"
echo " - Проверьте дисплей принтера"
echo " - Уровень тонера отображается на экране"
echo ""
# Проверка подключения
DEVICE=$(lpstat -v "$printer" 2>/dev/null | grep -i "device for" | awk -F'device for' '{print $2}' | awk '{print $1}' || echo "неизвестно")
echo "🔌 Подключение:"
echo " $DEVICE"
echo ""
# Информация о принтере
echo " Информация о модели:"
if echo "$printer" | grep -qi "m402"; then
echo " Модель: HP LaserJet Pro M402dn"
echo " Тип: Монохромный лазерный принтер"
echo " Цветная печать: ❌ НЕ поддерживается"
echo " Максимальное разрешение: 1200 x 1200 dpi"
fi
echo ""
done
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "💡 Совет: Для точной проверки уровня тонера используйте"
echo " панель управления принтера или приложение HP Smart"
echo ""

70
docs/printer/clear-hp-jobs.sh Executable file
View File

@@ -0,0 +1,70 @@
#!/bin/bash
# Скрипт для сброса подвисших задач печати HP принтера на macOS
set -e
echo "🔍 Поиск HP принтеров..."
# Найти все HP принтеры
HP_PRINTERS=$(lpstat -p 2>/dev/null | grep -i "hp" | awk '{print $2}' || true)
if [ -z "$HP_PRINTERS" ]; then
echo "❌ HP принтеры не найдены в системе"
echo ""
echo "Доступные принтеры:"
lpstat -p 2>/dev/null | awk '{print " - " $2}' || echo " (нет принтеров)"
exit 1
fi
echo "✅ Найдены HP принтеры:"
echo "$HP_PRINTERS" | while read printer; do
echo " - $printer"
done
echo ""
echo "📋 Проверка задач печати..."
# Для каждого HP принтера
echo "$HP_PRINTERS" | while read printer; do
echo ""
echo "🖨️ Обработка принтера: $printer"
# Проверить задачи
JOBS=$(lpstat -o "$printer" 2>/dev/null | awk '{print $1}' | cut -d- -f1 | sort -u || true)
if [ -z "$JOBS" ]; then
echo " ✅ Нет задач в очереди"
else
JOB_COUNT=$(echo "$JOBS" | wc -l | tr -d ' ')
echo " ⚠️ Найдено задач: $JOB_COUNT"
# Отменить все задачи для этого принтера
echo " 🗑️ Отмена всех задач..."
cancel -a "$printer" 2>/dev/null || true
# Отменить задачи по ID
echo "$JOBS" | while read job_id; do
if [ ! -z "$job_id" ]; then
cancel "$job_id" 2>/dev/null || true
fi
done
echo " ✅ Задачи отменены"
fi
# Сбросить состояние принтера
echo " 🔄 Сброс состояния принтера..."
cupsenable "$printer" 2>/dev/null || true
cupsaccept "$printer" 2>/dev/null || true
lpadmin -p "$printer" -o printer-is-accepting-jobs=true 2>/dev/null || true
echo " ✅ Принтер готов к работе"
done
echo ""
echo "✅ Готово! Все подвисшие задачи HP принтеров сброшены"
echo ""
echo "📊 Текущий статус:"
lpstat -p 2>/dev/null | grep -i "hp" || echo " (нет HP принтеров)"

117
docs/printer/set-hp-duplex.sh Executable file
View File

@@ -0,0 +1,117 @@
#!/bin/bash
# Скрипт для настройки двусторонней печати для HP принтера
# Использование: ./set-hp-duplex.sh [on|off|long|short]
set -e
# Найти HP принтер
HP_PRINTER=$(lpstat -p 2>/dev/null | grep -i "hp.*m402" | awk '{print $2}' | head -1)
if [ -z "$HP_PRINTER" ]; then
echo "❌ HP принтер не найден в системе"
exit 1
fi
echo "🖨️ Найден принтер: $HP_PRINTER"
echo ""
# Проверить текущую настройку duplex
CURRENT_DUPLEX=$(lpoptions -p "$HP_PRINTER" -l 2>/dev/null | grep "Duplex/" | grep -o '\*[^*]*' | sed 's/*//' || echo "None")
echo "📄 Текущая настройка двусторонней печати: $CURRENT_DUPLEX"
echo ""
# Определить целевую настройку из аргумента
TARGET_DUPLEX=""
DUPLEX_NAME=""
if [ "$1" = "on" ] || [ "$1" = "long" ] || [ "$1" = "1" ]; then
TARGET_DUPLEX="DuplexNoTumble"
DUPLEX_NAME="Двусторонняя (длинная сторона - как книга)"
elif [ "$1" = "short" ] || [ "$1" = "2" ]; then
TARGET_DUPLEX="DuplexTumble"
DUPLEX_NAME="Двусторонняя (короткая сторона - как блокнот)"
elif [ "$1" = "off" ] || [ "$1" = "none" ] || [ "$1" = "0" ]; then
TARGET_DUPLEX="None"
DUPLEX_NAME="Односторонняя"
else
echo "❌ Неверный аргумент. Использование:"
echo " $0 on - включить двустороннюю печать (длинная сторона)"
echo " $0 long - включить двустороннюю печать (длинная сторона)"
echo " $0 short - включить двустороннюю печать (короткая сторона)"
echo " $0 off - отключить двустороннюю печать"
exit 1
fi
# Если уже установлена нужная настройка
if [ "$CURRENT_DUPLEX" = "$TARGET_DUPLEX" ]; then
echo "✅ Двусторонняя печать уже установлена: $DUPLEX_NAME"
exit 0
fi
# Установить новую настройку
echo "🔄 Установка: $DUPLEX_NAME..."
lpadmin -p "$HP_PRINTER" -o Duplex="$TARGET_DUPLEX" 2>&1
# Проверить результат
sleep 1
NEW_DUPLEX=$(lpoptions -p "$HP_PRINTER" -l 2>/dev/null | grep "Duplex/" | grep -o '\*[^*]*' | sed 's/*//' || echo "")
if [ "$NEW_DUPLEX" = "$TARGET_DUPLEX" ]; then
echo "✅ Настройка успешно установлена: $DUPLEX_NAME"
echo ""
echo "📋 Текущие настройки:"
lpoptions -p "$HP_PRINTER" -l | grep -E "Duplex|InputSlot"
echo ""
echo "⚠️ ВАЖНО для LibreOffice:"
echo " LibreOffice может игнорировать эти настройки."
echo " Используйте системный диалог печати:"
echo " File → Print → Options → 'Use system dialog'"
else
echo "⚠️ Настройка может быть не изменена. Проверьте настройки:"
lpoptions -p "$HP_PRINTER" -l | grep Duplex
exit 1
fi

110
docs/printer/set-hp-tray.sh Executable file
View File

@@ -0,0 +1,110 @@
#!/bin/bash
# Скрипт для изменения лотка по умолчанию для HP принтера
# Использование: ./set-hp-tray.sh [tray1|tray2]
set -e
# Найти HP принтер
HP_PRINTER=$(lpstat -p 2>/dev/null | grep -i "hp.*m402" | awk '{print $2}' | head -1)
if [ -z "$HP_PRINTER" ]; then
echo "❌ HP принтер не найден в системе"
exit 1
fi
echo "🖨️ Найден принтер: $HP_PRINTER"
echo ""
# Проверить текущий лоток
CURRENT_TRAY=$(lpoptions -p "$HP_PRINTER" -l 2>/dev/null | grep "InputSlot" | grep -o '\*[^*]*' | sed 's/*//' || echo "Upper")
echo "📄 Текущий лоток по умолчанию: $CURRENT_TRAY"
echo ""
# Определить целевой лоток из аргумента
TARGET_TRAY=""
if [ "$1" = "tray1" ] || [ "$1" = "1" ] || [ "$1" = "upper" ]; then
TARGET_TRAY="Upper"
TRAY_NAME="Tray 1 (Upper)"
elif [ "$1" = "tray2" ] || [ "$1" = "2" ] || [ "$1" = "lower" ]; then
TARGET_TRAY="Lower"
TRAY_NAME="Tray 2 (Lower)"
else
echo "❌ Неверный аргумент. Использование:"
echo " $0 tray1 - установить Tray 1 (Upper)"
echo " $0 tray2 - установить Tray 2 (Lower)"
exit 1
fi
# Если уже установлен нужный лоток
if [ "$CURRENT_TRAY" = "$TARGET_TRAY" ]; then
echo "✅ Лоток уже установлен на $TRAY_NAME"
exit 0
fi
# Установить новый лоток
echo "🔄 Установка лотка на $TRAY_NAME..."
lpadmin -p "$HP_PRINTER" -o InputSlot="$TARGET_TRAY" 2>&1
# Проверить результат
sleep 1
NEW_TRAY=$(lpoptions -p "$HP_PRINTER" -l 2>/dev/null | grep "InputSlot" | grep -o '\*[^*]*' | sed 's/*//' || echo "")
if [ "$NEW_TRAY" = "$TARGET_TRAY" ]; then
echo "✅ Лоток успешно установлен на $TRAY_NAME"
echo ""
echo "📋 Текущие настройки:"
lpoptions -p "$HP_PRINTER" -l | grep InputSlot
else
echo "⚠️ Лоток может быть не изменен. Проверьте настройки:"
lpoptions -p "$HP_PRINTER" -l | grep InputSlot
echo ""
echo "💡 Если Lower не поддерживается, попробуйте:"
echo " 1. Установить официальный драйвер HP"
echo " 2. Изменить настройку в LibreOffice для каждого документа"
exit 1
fi