LINUX.ORG.RU

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

 ,


0

1

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

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

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



Последнее исправление: repchick (всего исправлений: 1)

А какой принтер? LPT или USB?

На LPT можно и без драйвера обойтись, есть стандартный драйвер LPT порта и можно туда из user-space писать. Скорее всего у принтера какой-нибудь PostScript язык. Если какой-нибудь совсем древний принтер, там возможны варианты.

USB принтер тоже несложно. Стандартный usb-endpoint пишется за пару минут, есть готовые шаблоны. И дальше можно тоже отправлять принтеру данные. Тоже скорее всего PostScript язык.

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

USB принтер тоже несложно. Стандартный usb-endpoint пишется за пару минут, есть готовые шаблоны. И дальше можно тоже отправлять принтеру данные. Тоже скорее всего PostScript язык.

Тогда возник вопрос. Принтеры usb, HP - мфу, у них произошло обновление катриджей, и теперь они часто «запирают» печать на винде, возможно вирусом через инет.

Вопрос в чём: может для них на линуксе есть самопальные(пиратские) дрова, которые насильно заставляют их печатать? Уже готовые? Даже если там строчка будет или пятна - вообще не проблема, даже кривые буквы и ошибки - нормально.

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

Ты делаешь очень странные выводы.

Принтер - это отдельное вычислительное устройство и внутренняя логика у него своя.

От ПК с которого идёт печать поступают только данные на печать по определенному протоколу через некоторый интерфейс подключени, lpt, USB или TCP/IP.

Печатать эти данные или нет, если данные и протокол корректны - решение самого принтера.

Т.е. если внутреннее по, опрашивающее картридж, в котором тоже есть чип, получает сигнал, что печатать нельзя - принтер ничего не напечатает.

Иными словами логика обработки разрешения на печать находится не в драйвере на ПК, а во внутреннем ПО самого принтера.

Хватит писать на форум не понятные вопросы.

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

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

SpaceRanger ★★★
()

Тебе прошивку аппарата надо хакать для такого, а не драйвера. На часть аппаратов такие безчиповые прошивки продаются, можно и бесплатно, если есть программатор и умеешь паять. На другую часть есть только сменные чипы для картриджей. И на оставшуюся часть нет ничего, и можно только покупать оригинальные картриджи.

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

От ПК с которого идёт печать поступают только данные на печать по определенному протоколу через некоторый интерфейс подключени, lpt, USB или TCP/IP.

Ты забыл про прошивку, которая грузится тем же драйвером.

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

Вопрос в чём: может для них на линуксе есть самопальные(пиратские) дрова, которые насильно заставляют их печатать?

Это не так работает. Современные принтеры сложные устройства, они больше не управляются как в старину: двигай сюда, включай то. На принтер идет только картинка. Как и что печатать решает сам принтер.

no-such-file ★★★★★
()

Про нейронки слышал? Попробуй поставить OpenCode, выбери модель Kimi k2.5, опиши проблему оно либо тебе поднастроит твой принтер, либо код налабает

AntonyRF ★★★★
()

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

Что за заряды? Сброс счётчика?

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

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

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

Что за заряды? Сброс счётчика?

HP это падлостроительная контора, особого успеха в этом плане они добились на своих картриджах. Там краски кот наплакал; принтеры её не просто экономить не умеют, а ещё и тратят попусту - прям нарочно. Ну и сверху бантик: картриджи чипованные и имеют счётчик на объём печати. Распечатал достаточно и хватит - а есть ещё в картридже чернила или нет ему по барабану.

Собстна если не использовать проприетарный драйвер принтера, то эту антифичу можно просто не реализовать.

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

А есть или нет - хз, модель ты не написал.

Моделей сотни, катриджей десятки если не сотни… там печатает сама головка катриджа и нужно ей управлять но они все чем то похожи, обычно рекомендуют замкнуть на катридже что то, но на новых - это не работает. я думаю что катридж через принтер ломает через вирус что то на самом компе, так как «пустым» катриджем, который печатал пустой лист при смене на другой ос смог пропечатать разметку и потом он еще раз смог полосу пропечатать на предыдущей ос, т.е. форсунки работают, поэтому я предполагаю, что есть драйвер который насильно заставит печатать катридж на каждой модели, если это не сложно как писали сверху.

например серия 4х, 5х, 6х, 7х, и т.д. там такие цифры типа 4430 4440 4450 4460 и т.д. драйвер может быть универсальным каким нибудь… Типа окошко, выбираешь какой символ - какие форсунки.

repchick
() автор топика
Ответ на: комментарий от kostik87

Иными словами логика обработки разрешения на печать находится не в драйвере на ПК, а во внутреннем ПО самого принтера. Хватит писать на форум не понятные вопросы.

Ос шлет сигнал, что нельзя печатать - см. пример выше я описал случай который был. Что ты понимаешь под непонятными вопросами?

repchick
() автор топика
Ответ на: комментарий от Alvo

см. пример выше - у вас неправильное понимание т.к. не пробовали, они просто наврали, что бы никто не лез в это… принтер hp был, где катридж печатает, а не принтер

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

Ос шлет сигнал, что нельзя печатать

Из чего ты сделал вывод, что сигнал шлёт именно ОС? Если принтер сетевой, он может и сам в интернет выйти, например. Вот с USB поинтереснее, да.

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

Драйвер для принтера не нужен. Выброси каку и купи нормальный, который понимает PS и PDF кинутый ему по сети

это нарушает цель печатания - не стать сильно дороже печати в местной забегаловке за лист

repchick
() автор топика
Ответ на: комментарий от SkyMaverick

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

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

Давай ты хотя-бы модель принтера в тред напишешь, да. Если этот принтер времён до исторического материализма, то там может рулить драйвер. Принтеры уже годов двухтысячедесятых 99.9% драйвер - интерфейс между ОС и прошивкой, где всё «интересное» в прошивке. Сейчас приличные принтеры вообще driverless.

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

Правильно, внутреннее ПО отвергает печать, драйвер получает сообщение.

Если тебе нужно переписать внутреннее ПО принтера - нужно обращаться в производителю с запросом предоставления описания и исходников.

Обращайся в сервисы, которые перезаправляют картриджи, у них как правило есть прошивки под принтеры: https://mnogochernil.ru/newsroom/hp-2436a-953-957/

Первая ссылка в гугл.

И у них же проконсультируйся как заблокировать потом ещё обновление на новую прошивку от производителя.

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

Из чего ты сделал вывод, что сигнал шлёт именно ОС? Если принтер сетевой, он может и сам в интернет выйти, например. Вот с USB поинтереснее, да.

Выше написал. Принтер сетевой через usb. Ошибка повторялась на принтере другой модели, но там уже сломал сам катридж, примерно то же - на ос где работал не открывает инструмент калибровки в опен офисе, на другой оси меню активно, но там бук не было возможности подключить к принтеру, пробовал копировать ПО с компа на комп - на старой оси скопированное ПО не открывало инструмент разметки, а на буке - открывает. Принтер так же печатал полосу через паинт, если её нарисовать на листе в том месте, где форсунки работают - примерно по середине листа, но в других местах не печатает ничего. То что написал из сообщения выше - повторялось в других сферах, не связанных с принтерами(Например радио мышки)…

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

Хотя я догадываюсь, что ты купил струйник HP из новых, искатал легальный картридж и купил левый (заправил старый), который ест-но не завёлся. Так? Огорчу:

  • логика работы с картриджем В ПРОШИВКЕ
  • прошивка шифрована и ключей тебе НР не даст примерно никогда.
SkyMaverick ★★★★★
()
Ответ на: комментарий от kostik87

Правильно, внутреннее ПО отвергает печать, драйвер получает сообщение.

Нет, нужно это сообщение в идеале - исправить, но сначала подумал что придется драйвер писать, если это просто - наверно должны быть готовые «фиксы» для кончившихся катриджей? Я на линуксе не работал и поэтом никогда не искал, нужно что бы кто то, кто давно на линуксе написал есть или нет. Сам катридж шить точно не вариант - дорого за лист будет, печатаю мало.

repchick
() автор топика
Ответ на: комментарий от anonymous

Потрудись сообщить, что принтер через монитор драйвера пишет о своём состоянии и о состоянии картриджа

Уже не возможно почти, это нужно его везти из сарая и втыкать тот катридж… Писал по русски что катридж кончился - замените катридж, а где смотреть системное сообщение - даже не знаю такое. Там программа мониторинга катриджа на одной модели такое пишет, а в другом принтере - обработчик печати вызывает окно Hp о том, что «замените катридж - кончились чернила»

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

Зажми кнопку продолжения печати на аппарате, это отключит слежение за уровнем чернил в закончившемся картридже. Потом, правда, картридж помрёт от перегрева из-за недостатка чернил, но это уже другая история.

anonymous
()

Сеня, драйвер на принтер это неактуально! Кому нужно печатать протухшим картриджем, нищим студентам? С них никакого навару. То ли дело, память, ты видел цены на память? То-то же! Значит, план такой: у всех приложений течет память, твоя задача написать демона, который эту память собирает и складирует чтобы продавать образовавшиеся излишки памяти богатеньким буратинам. И всё, можно чилить с симпатяшками.

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

Принтер сетевой через usb

Ты уж определись. Сетевой или через USB.

То что написал из сообщения выше - повторялось в других сферах, не связанных с принтерами(Например радио мышки)…

Радиомышка не печатает? Что ж, логично.

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

то что у тя LPT, совершенно не означает, что ты туда можешь спокойно текст из Writer заливать. и да - обычно туда образ графики льют, в случае HP DeskJet это будет PCL.

технически там ещё раньше фильтр был (до эпохи CUPS), там можно было всякие PCL (ESC/P, PS) команды вставлять или наоборот убирать лишнее.

а если у тя есть готовый образ графики (PCL, ESC/P, PS) - то можешь смело их лить тупо по dd if=file of=/dev/lp0 (/dev/usb/lp0)

инфа - сотка! я имел дело и с LPT и c USB.
там правда есть нюансы, но то такое…

mumpster ★★★★★
()