Драйвер Для Canon 29 00

Posted on
Драйвер Для Canon 29 00 Average ratng: 5,7/10 3436 reviews
  1. Драйвер Для Canon 29 00 1
  2. Драйвер Для Canon 29 000

Информация про совместимость драйвера для Canon PIXMA iP2500 указана в соответсвующем столбце для каждого файла в отдельности. Выберите свою операционную систему: -- все операционные системы -- Linux Mac OS X 10.2 Mac OS X 10.3 Mac OS X 10.4 Mac OS X 10.5 Mac OS X 10.6 Mac OS X 10.7 Mac OS X 10.8 Windows 2000 Windows 7 Windows 7 x64 Windows 8 Windows 8 x64 Windows 8.1 Windows 8.1 x64 Windows Vista.. Mac OS X 10.2 / X 10.3 / X 10.4 / X 10.5. This is a driver software that allows your computer to interface with a Canon printer - now including OSX 10.5 support. Windows Vista x64, WinXP x64. Canon i-SENSYS MF4410 - очередная модель МФУ, которая отлично подходит для офисного применения.

Попытался запустить LBP-2900 в Ubuntu. Довольно быстро выяснилось, что фирменный драйвер Canon - полный отстой, не поддерживается, и с этим надо что-то делать. Обнаружил также попытки написания энтузиастами аналогичного драйвера, но для 2900 он не работает. В связь с этим начал обратный инжениринг принтера и решил написать СОБСТВЕННЫЙ ДРАЙВЕР. UPD: ТЕКУЩЕЕ СОСТОЯНИЕ Исходники доступны на Github: Чеклист к первому релизу: X Передача параметров компрессии Hi-SCoA X Компрессия Hi-SCoA X Поддержка LBP-2900 и LBP-3000 X Баг «only 10 bytes» X Печать многих страниц X Ожидание наличия бумаги Генерация PPD-файлов Чеклист ко второму релизу: Компрессия SCoA Поддержка LBP-810 и LBP-1120 (Текст исходного верхнего поста следует) Ищу единомышленников для Reverse Engineering протокола принтера.

На сегодняшний день мне удалось полностью расшифровать протокол нижнего уровня USB и частично - протокол верхнего уровня. Мой драйвер уже может отсылать страницы на печать. ТРЕБУЕТСЯ расшифровать алгоритм сжатия пиксельных данных (он оказался отличным от алгоритма LBP-810 и, по-видимому, является какой-то модификацией ALPC-сжатия). Попытки прикрутить алгоритм от 810 привели к тому, что принтер включается и печатает, но на бумаге получаются только полосы, линии и регулярные узоры из пикселей.

У меня пока нет времени на расшифровку, поэтому прошу помощи. ОПИСАНИЕ ТОГО, ЧТО УДАЛОСЬ РАСШИФРОВАТЬ Работать с принтером можно с помощью простого open(«/dev/usb/lp0») - libusb не требуется. Общение идет пакетами довольно простого формата. Формат пакета: байты 1,2 - код команды - 16 бит (младший байт первый) байты 3,4 - длина посылки (полная) - 16 бит (очевидно, меньше 4 байт не бывает) байты с 5 - данные (опционально) Если суммарная длина посылки превышает 4096 байт, посылка делится на части по 4096 байт.

Драйвер Для Canon 29 00 1

Компьютер посылает принтеру команду. Принтер отвечает пакетом, содержащим код той же команды и минимум 2 байта данных (код возврата), всего не менее 6 байт. Эти 6 байт читают одним read. Если длина превышает 6 байт, то затем делается read на оставшуюся длину (она у меня никогда не превышала 4 килобайта, так что про ограничения ничего не знаю). Если не прочитать ответ принтера и продолжить посылать данные, он зависнет, и его придется выключить и включить снова. Коды команд: 0xA1A1 - начало работы. Параметров нет (4 байта).

Принтер отвечает длинной последовательностью байтов - видимо, номером модели, серийным номером, характеристиками и чем-то еще, я не разбирался. 0xA0A0 - какая-то проверка статуса? Встречается на 810, ни разу не видел на 2900. Параметров нет.

Принтер отвечает длинной простышей байтов. 0xA0A8 - запрос какого-то статуса. Параметров нет. В коде возврата - явно битовые флаги.

Для

0xA3A2 - что-то включает, меняет флаги в предыдущей команде. Параметров нет.

Ответ всегда 0x0000. 0xE0A0 - проверка готовности.

Если в ответе поднят бит 0x0008, то буфер принтера полон, надо ждать и не посылать больше данные. 0xA0A1 - проверка кучи вещей, в том числе наличия бумаги. Как оно работает на 2900 - не знаю. 0xA2A0 - загрузка первой магической последовательности. Параметр: магическая последовательность байтов.

0xE1A1 - загрузка второй магической последовательности. 0xE0A3, 0xE0A2, 0xE0A4 - что-то включают. Всегда идут в начале и в такой последовательности. Их отсутствие никак на печать не влияет(?). Возвращают 0, а при попытке вызвать повторно - 0x8800. 0xE0A5 - третья магическая последовательность. 0xD0A9 - загрузка магической последовательности, непосредственно предшествующая загрузке данных печати.

Драйвер для canon 29 00 1

Драйвер Для Canon 29 000

Ответа на эту команду не дожидаются (?). 0xC0A0 - Главная Команда. Загружает в принтер сжатое изображение или его часть. Ответа принтера нет. 0xC0A4 - Конец Загрузки. Выдается сразу после 0xC0A0.

0xE0A7 - Включение Печати. Когда принтер подтвердит готовность после загрузки, выдают эту команду, и принтер начинает печатать.

Параметр: 16-битное число 0x0001 (видимо, означающее «включить»). Дополнительная информация - в исходниках драйвера Исходники того, что написал на данный момент, могу прислать. Я совершенно с этим согласен. Тем более, что оборудование дрянное - в LBP-2900 стоит оптика и часть механики, идентичная устаревшему HP LJ-1100, а электроника хуже (упрощен процессор). Тем не менее, linuxprinting.org причисляет CAPT к наиболее востребованным для разработки драйверам - Canon явно не собирается отказываться от этого протокола и продолжает клепать на нем принтеры. Необходимость драйвера под 2900 у меня лично возникла потому, что из-за него не удается перевести на Linux работающий под Windows XP компьютер.

Весь нужный софт есть, все работает - кроме принтера. Покупать новый принтер, разумеется, не хочется (хотя рассматриваю и этот вариант). Поэтому считаю, что Reverse Engineering сделать все же надо - хотя бы такой, чтобы принтер из состояния «кирпич» перешел в состояние «кое-как печатает». Это поможет миллионам пользователей. Проделана большая работа, но не сделано главное. Неизвестен формат передачи изображений.

Вы можете помочь еще кое-чем. А именно, сбором данных для расшифровки протокола.

Это просто, но нужна винда. Возьмите SnoopyPro или другой сниффер протокола USB. Возьмите Paint (именно Paint, чтобы печатал пиксел к пикселу - это важно). Нарисуйте картинку: черный пиксел в углу, остальное белое. Распечатайте, в сниффере найдите пакет, начинающися с «A0 C0» и запишите в файл его, а также все последующие пакеты вплоть до начинающегося с «A4 C0».

На файле напишите, что это был один пиксел. Повторите то же самое с другими простыми картинками - два пиксела, три пиксела.

16 пикселов по горизонтали, потом по вертикали, потом квадратом - пока не надоест. Попробуйте более сложные рисунки - черный-белый-черный, например.

Результаты выложите куда-нибудь в инет и дайте на них ссылку здесь. По этим данным я или кто-нибудь еще попытаемся расшифровать алгоритм сжатия картинок. Если у вас не 2900, а другой CAPT-принтер, пришлите полный снифф. Интересно посмотреть, чем же принтеры отличаются.

Выложите примеры пакетов и соответствующие им картинки, попробую посмотреть, что там за алгоритм. Собственно я и прошу, чтобы мне помогли набрать подобные примеры. При печати большого белого поля идет длинная периодическая последовательность байтов, не содержащая 0x00 - что-то около 16 байтов в периоде. Детальнее пока не исследовал. У принтера LBP-810 была разновидность RLE. А что на текущий момент происходит после 0xC0A0, если лить рандомные данные?

Я пробовал лить данные, пожатые алгоритмом от LBP-810 (прежде чем посмотрел повнимательнее и понял, что алгоритм другой). Как правило, печатается нечто (полосы шума, иногда тонкие вертикальные линии). От некоторых длинных принтер зависает (видимо, если в результате распаковки данные переполняют память видеогенератора).

Скачать драйвер Canon PIXMA MX894, 20:48 Драйвер Canon PIXMA MX894 Оригинальный драйвер МФУ (принтер, сканер, копир). Для операционных систем: Windows 10, Windows 8, 8.1, Windows 7, Vista, Windows XP (32-bit, 64-bit). Версия: 1.03 (последняя версия драйвера) Дата выпуска: 05 февраля 2016 Размер: 29,0 МБ Язык: русский и другие.

Данное программное обеспечение находится на оригинальном диске, входящем в комплект принтера Canon PIXMA MX894 / PIXMA MX 894 и предназначено для установки устройства.