Bug 50742

Summary: битый URI для USB принтера до момента выбора драйвера (cups)
Product: Sisyphus Reporter: Tatyana Gagina <tatyana>
Component: cupsAssignee: Anton Farygin <rider>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P5 CC: george, rastyoginds, rider
Version: unstable   
Hardware: x86_64   
OS: Linux   
See Also: https://bugzilla.altlinux.org/show_bug.cgi?id=51077
Attachments:
Description Flags
screen
none
Location none

Description Tatyana Gagina 2024-06-25 15:29:40 MSK
Created attachment 16329 [details]
screen

Стенды, обновлённые до Sisyphus:
ALT Workstation K x86-64
ALT Workstation x86-64
ALT Education x86-64 KDE/XFCE

Версия: cups-2.4.9-alt1
Принтеры: 
OKI_MB472
Oki B431
Epson M200

Шаги:
1) Подключить принтер по USB к ПК;
2) Добавить принтер с помощью CUPS:
Для Workstation/Kworkstation/Для Education KDE:
Меню -> Системные -> Настройка печати (настройка CUPS) -> Администрирование -> Добавить принтер -> Выбрать нужный принтер -> В поле "Подключение" ввести ip адрес принтера (ниже приведены примеры).

Для Education XFCE:
Открыть браузер -> http://localhost:631/ -> Администрирование -> Добавить принтер -> Выбрать нужный принтер.

Результат: 
выполняется переход как при добавлении сетевого принтера, где необходимо ввести ip адрес принтера 
(см.во вложении screen здесь же смотреть ошибку с иероглифами https://bugzilla.altlinux.org/50732).
На данном шаге ("Добавить принтер") указаны примеры:
    http://hostname:631/ipp/
    http://hostname:631/ipp/port1

    ipp://hostname/ipp/
    ipp://hostname/ipp/port1

    lpd://hostname/queue

    socket://hostname
    socket://hostname:9100
А также "Смотрите раздел 'Сетевые принтеры' для выяснения правильного адреса вашего принтера".

Подобные настройки свойственны для подключения по сети (wi-Fi/Ethernet). 
Как итог: настройка одинаково проходит при подключении как по сети, так и по USB.

Сравнение с p10 (версия cups-2.4.7-alt2):  выполняется сразу переход на страницу "Добавление принтера", достаточно ввести название принтера и продолжить.

Детали:
- сама печать по USB работает, достаточно прописать в строке подключения socket://ip_принетра:9100 (далее выбрав нужный драйвер принтер добавляется успешно, печать осуществляется корректно).
Comment 1 Anton Farygin 2024-06-25 15:36:31 MSK
Половину не понял. Вы же добавляете принтер как сетевой ? Ну всё правильно, должно появляться поле ввода адреса.
Comment 2 Tatyana Gagina 2024-06-25 15:42:32 MSK

(Ответ для Anton Farygin на комментарий #1)
> Половину не понял. Вы же добавляете принтер как сетевой ? Ну всё правильно,
> должно появляться поле ввода адреса.

Всё верно. Возможно, что такая особенность при добавлении.
Потому как на p10 поведение другое, там не требуется добавление ip, сразу переход к заполнению названия принтера (и выбору драйвера). 
Устройства одни и те же.

Ожидаемый результат: переход к вводу названия устройства, без ввода ip.
Опять же: вероятно, что такая особенность (разница при настройке на Sisyphus и p10).
Comment 3 Tatyana Gagina 2024-06-26 10:48:59 MSK
Возможен второй сценарий, при котором эта ошибка не воспроизводится.
1) Установить пакет gutenprint-cups-ppds (если не установлен);
2) Меню -> Системные -> Настройка печати (настройка CUPS) -> Администрирование;
3) Вместо "Добавить принтер" нажать "Найти новый принтер"- Выбрать принтер -> указать модель OKI -> драйвер "B430 — CUPS+Gutenprint v5.3.4 (en)" - Продолжить - печать выполняется, но с ошибками (ошибки в строке Location, см. во вложении "Location").
Comment 4 Tatyana Gagina 2024-06-26 10:50:36 MSK
Created attachment 16333 [details]
Location
Comment 5 Tatyana Gagina 2024-06-26 12:38:12 MSK
Детали:
Стенд: Intel(R) Core(TM) i3-10100 CPU
Принтер подключен OKI_B431
gutenprint-cups-ppds-5.3.4-alt2
Печать: по USB.

Драйвер, с которым осуществлялась печать:
B430 — CUPS+Gutenprint v5.3.4 (en) (с остальными не печает или печатает некорректно).
Аналогично с драйвером B401d — CUPS+Gutenprint v5.3.4 (как на скриншоте "Location").

Первый сценарий, описанный в https://bugzilla.altlinux.org/show_bug.cgi?id=50742#c0:
Администрирование → Добавить принтер → OKI DATA CORP B431 (OKI DATA CORP B431) → Продолжить → socket://10.88.128.115:9100 (где 10.88.128.115 - ip принтера) → Продолжить → ввести название → Продолжить → Oki → Продолжить → выбрать драйвер B430 — CUPS+Gutenprint v5.3.4 (en) → Добавить принтер;
Открыть добавленный принтер → Обслуживание → Печать пробной страницы.


Дополнительно проверено с другими моделями:
1) Kyocera_ECOSYS-M2040dn_(print)
Драйвер Kyocera FS-2000D - CUPS+Gutenprint v.5.3.4

2) Epson M200 (установив epson-inkjet-printer-escpr, если не установлен)
Драйвер: Epson Inkjet Printer Driver ESC/P-R for Linux



По ошибке с обрезанной страницей смотреть здесь https://bugzilla.altlinux.org/50399 (только на OKI_B431, при использовании с разными драйверами рамка обрезана): https://bugzilla.altlinux.org/50399
По ошибке с некорректными символами с строке Location (при добавлении принтера по второй схеме, выбрав "Найти новый принтер"): https://bugzilla.altlinux.org/50754 (с любым принтером).
Comment 6 Denis Rastyogin 2024-07-01 10:45:52 MSK
По данной проблеме было открыто обсуждение и предложено исправление.
https://github.com/OpenPrinting/cups/issues/998
Comment 7 Anton Farygin 2024-07-01 10:54:25 MSK
Спасибо. подождём решения от апстрима.
Comment 8 Repository Robot 2024-08-06 19:08:08 MSK
cups-2.4.10-alt2 -> sisyphus:

 Mon Aug 05 2024 Anton Farygin <rider@altlinux.ru> 2.4.10-alt2
 - Merged with the upstream 2.4.x branch
 - Applyed upstream fix against memory corruption
   in the cgiSetVariable (Closes: #50742, #50732, #50754)