LINUX.ORG.RU

Насколько тяжело написать драйвер на принтер на линукс

 ,


0

1

Насколько тяжело написать драйвер на принтер на линукс методом тыка: выводить блоки(поиск блоков) и просмотр, что напечатается? Если точность не нужна вообще никакая, просто заставить принтер работать насильно катриджем, у которого кончились «заряды».

Тема дополнилась:

Есть ли на линукс для мфу фирмы Hp программные «хотфиксы» неработающего катриджа с ошибкой «кончились чернила, замените катридж». Предположительно работает только на мфу hp, если они есть. Это может быть реализовано через юстировку страницы, т.е. катридж выдает ошибку, не печатает с офиса напрямую, но документ на печать передается через эту функцию, где сопла можно открыть принудительно.



Последнее исправление: repchick (всего исправлений: 1)
Ответ на: комментарий от Suigintou

купи нормальный, который понимает PS и PDF кинутый ему по сети.

И такое бывает? Как гуглить?

pihter ★★★★★
()
Ответ на: комментарий от steemandlinux

Тебя не смущает что принт-серверы работают через /dev/usb/lpx?

Не могли бы привести пример? AFAIK, CUPS общается с устройством напрямую через libusb (usb-libusb backend).

Что касается CAPT, то там я знаю только один драйвер (captdriver), который использует backend от CUPS, остальные на libusb.

entrance
()

фирмы Hp программные «хотфиксы» неработающего катриджа с ошибкой «кончились чернила, замените катридж».

Фирма HP зарабытвает бабло на картриджах - продает тебе принтер за три гроша, а потом ты картриджами окупишь это все в несколько раз. Бизнес-модель такая. Поэтому они очень сильно постарались чтобы никакой хитрожопый нищеброд с помощью программного взлома начал эти картриджи за три копейки заправлять и продолжать печатать.

На какие-то старые модели китайцы выпускают «вечные» картриджи или отдельные чипы к ним которые принтер распознает как родные и полные - но понятно что НР всячески старается это безобразие прикрыть все более изощряясь в защите своих принтеров от неродных китайских поделок.

Так что кдинственное что ты можешь попробовать сделать - это поискать на алике картриджи или чипы под твою модель и если они вдруг есть - то радостно покупать. А если нет - то проще и дешевле отнести это недоразумние на помойку и купить что-то более вменяемое - какой-нибудь эпсон или бразер с заводской СНПЧ если уж нужен цветной струйник.

Qui-Gon ★★★★★
()
Ответ на: комментарий от entrance

Не могли бы привести пример?

https://openwrt.org/docs/guide-user/services/print_server/p910ndprinterserver

Принт-серверы, включая китайские закрытые коробки, работают через стандартный usblp, благодаря чему можно спокойно подключать Windows на родных драйверах принтера.

В каких конкретно принтерах libusb, кроме тех, которые полностью свой стек используют типа плоттеров?

Открыл CAPT-II, там нет libusb, это фильтр.

steemandlinux ★★★★★
()
Последнее исправление: steemandlinux (всего исправлений: 1)
Ответ на: комментарий от steemandlinux

https://openwrt.org/docs/guide-user/services/print_server/p910ndprinterserver

Прикольно, не знал о таком. Правда, назвать это принт-сервером у меня язык не поворачивается.

Принт-серверы, включая китайские закрытые коробки, работают через стандартный usblp, благодаря чему можно спокойно подключать Windows на родных драйверах принтера.

А если драйверов на Windows нет? (Здесь должна быть реклама printserver.ink.)

В каких конкретно принтерах libusb, кроме тех, которые полностью свой стек используют типа плоттеров?

Да, в принципе, во всех, которые используют CUPS usb backend.

IMHO, использовать usblp в драйверах — последнее дело, в основном из-за переносимости. Я пробовал использовать местный аналог usblp во FreeBSD, там он оказался нежизнеспособен.

Ну и нужно как-то обрабатывать случаи, когда драйвер на usblp, например, крашится и не читает своё добро из девайса (если это bi-dir).

entrance
()
Ответ на: комментарий от steemandlinux

Да, там свой CUPS backend (capt) и фильтр (captfilter). Причем их backend всё-таки использует usblp, тут я соврал, давно к нему не прикасался. И, кстати, при использовании их драйвера приходилось частенько перезагружать принтер с драйвером, думаю как раз из-за того, что драйвер при ошибке не вычитывал до конца /dev/usb/lpN.

entrance
()
Ответ на: комментарий от entrance

А если драйверов на Windows нет? (Здесь должна быть реклама printserver.ink.)

А я и не знал, что такую кучу открытых фильтров запилили.

У меня был опыт пиления драйвера с двумя неизвестными, ни принтера, ни драйвера для линукса не было, но протокол был модифицированный Star based. Потом проект отменили, разработчик выпустил прошивку прибора с поддержкой экспорта XML по USB.

steemandlinux ★★★★★
()
Ответ на: комментарий от entrance

Да вообще шаринг usblp это эпичная дырень, которую некрософт породил, а теперь лет 15 пытается закрыть её с помощью driverless.

Регулярно дыры в usbprint.sys и spoolsvc находят.

steemandlinux ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария