Содержание
- Surface Pro
- Как установить принтер с помощью продвинутых настроек
- Установить вручную
- Установить вручную беспроводной принтер
- Установить вручную локальный принтер
- Как установить старый принтер, используя несовместимые драйверы
- Добавить комментарий Отменить ответ
- Написание 64-разрядных драйверов принтера
- Ограничения для дескрипторов контекста устройства
- Проблемы с написанием 64-разрядных драйверов
- Статья Создание драйвера под Windows. Часть 1: Введение
- Предыстория
- Базовые понятия о внутреннем устройстве Windows (Windows Internals)
Surface Pro
Windows 10 в целом хорошо справляется с автоматическим поиском и установкой как беспроводных устройств, так и проводных принтеров. Однако, иногда вы все же можете столкнуться с определенными проблемами при подключении принтера старого поколения. Это происходит не только потому, что устройство уже не поддерживается, но и потому, что сейчас у ПО отсутствуют базовые драйверы для принтеров и сканеров.
Если вы или ваша компания все еще работаете со старыми матричными, струйными или лазерными принтерами (от HP, Canon, Epson, Brother и т.д.), которые Windows 10 отказывается видеть автоматически, вам может пригодиться один из нескольких способов установки несовместимых устройств, правда придется покопаться в продвинутых настройках и установить драйверы.
Здесь мы опишем несколько возможных последовательностей действий, которые позволят вам пользоваться принтером старого поколения, который не поддерживается, или который компьютер просто не видит.
Как установить принтер с помощью продвинутых настроек
Если система не распознает ваш старый принтер автоматически, вы можете добавить его вручную, в зависимости от типа подключения и возраста принтера.
Важно: прежде, чем продолжить, убедитесь, что компьютер подключен к интернету и сможет загрузить дополнительные драйверы через Windows Update.
Установить вручную
Если вы пытаетесь подключить принтер через USB-кабель или без использования провода, сделайте следующее:
- Откройте Настройки.
- Выберите Устройства.
- Выберите Принтеры и сканеры.
- Выберите Добавить принтер или сканер.
- Подождите.
- Выберите В списке нет нужного принтера.
- Выберите Мой принтер старого поколения, мне нужна помощь в поиске.
- Выберите принтер из списка.
- Нажмите Далее.
- Впишите имя принтера.
- Нажмите Далее.
- Выберите Не делиться этим принтером.
- Нажмите Далее.
- Выберите Напечатать тестовую страницу, чтобы убедиться, что принтер работает.
- Выберите Завершить.
Выполнив эти шаги, вы сможете пользоваться своим принтером.
Установить вручную беспроводной принтер
В этом случае вы можете создать подключение вручную через IP-адрес. Сделайте следующее:
- Откройте Настройки.
- Выберите Устройства.
- Выберите Принтеры и сканеры.
- Нажмите Добавить принтер или сканер.
- Подождите.
- Выберите В списке нет нужного принтера.
- Выберите Добавить принтер с помощью TCP/IP адреса или имени хоста.
- Нажмите Далее.
- Откройте список Тип устройства и выберите TCP/IP
- В поле Имя хоста или IP-адрес укажите адрес принтера, например, 10.1.2.175.Важно: если вы не знаете конфигурацию TCP/IP своего принтера, вы можете найти эту информацию на встроенном экране устройства, в остальных случаях можете справиться у производителя.
- В поле Имя порта укажите имя по умолчанию (рекомендуется), либо новое имя.
- Отметьте поле возле Запросить информацию о принтере и автоматически выбрать драйвер (рекомендуется).
- Нажмите Далее.
- Укажите имя для принтера.
- Нажмите Далее.
- Выберите Не делиться этим принтером.
- Нажмите Далее.
- Нажмите Напечатать тестовую страницу, чтобы убедиться, что принтер работает.
- Выберите Завершить.
По выполнении этих шагов беспроводной принтер будет готов к использованию.
Установить вручную локальный принтер
Если способы выше не сработали, или вы пытаетесь подключить старый принтер через кабель USB, который ОС не видит, сделайте следующее:
- Откройте Настройки.
- Выберите Устройства.
- Выберите Принтеры и сканеры.
- Нажмите Добавить принтер или сканер.
- Подождите.
- Выберите В списке нет нужного принтера.
- Выберите Добавить локальный или сетевой принтер.
- Нажмите Далее.
- Выберите порт, который вы в данный момент используете, в разделе Использовать существующий порт. Например, если вы используете кабель USB, выберите USB, если вы используете параллельный кабель с адаптером DB-25, выберите порт LPT1.
- Нажмите Далее.
- Выберите Windows Update.
Важно: Windows 10 больше не поддерживает основные драйверы сканеров и принтеров, так что нажимая на Windows Update, приготовьтесь дождаться конца загрузки драйверов из облака.
- Слева выберите производителя принтера.
- Справа выберите модель.
Подсказка: если модели вашего принтера нет в списке, выберите наиболее близкий драйвер. Также вы можете выбрать Диск, чтобы установить драйвер от производителя.
- Нажмите Далее.
- Введите имя для принтера.
- Нажмите Далее.
- Выберите Не делиться этим принтером.
- Нажмите Далее.
- Выберите Напечатать тестовую страницу, чтобы убедиться, что принтер работает.
- Выберите Завершить.
Как установить старый принтер, используя несовместимые драйверы
Если ваш принтер больше не поддерживается Windows 10, вы можете сделать следующее:
- Откройте Проводник.
- Найдите папку с несовместимым драйвером.
- Нажмите правой кнопкой мыши и выберите Поиск проблемы совместимости.
- Нажмите Программа поиска проблемы.
- Отметьте Программа работала в более ранних версиях Windows, но больше не работает.
- Нажмите Далее.
- Выберите версию Windows, совместимую с принтером.
- Нажмите Далее.
- Выберите Протестировать программу.
- Следуйте инструкциям на экране.
После выполнения этих шагов принтер должен установиться автоматически и работать безо всяких проблем с драйвером.
Если принтер все еще не работает, возможно, настал момент подыскать ему замену.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Источник
Написание 64-разрядных драйверов принтера
При написании 64-разрядного драйвера или написании драйвера, который можно скомпилировать для работы как в 32-разрядных, так и в 64-разрядных системах, 64 следуйте рекомендациям по переносу драйверов на 64-разрядные Windows. В этом разделе описываются некоторые ограничения и проблемы, которые могут возникнуть при написании 64-разрядного драйвера принтера.
Дополнительные сведения об использовании украшений для обнаружения 64-разрядной архитектуры см. в следующих разделах:
Ограничения для дескрипторов контекста устройства
если 32-разрядное приложение выполняется в 64-разрядной версии операционной системы Microsoft Windows, подключаемый модуль драйвера принтера, который выполняется в контексте процесса преобразователя Splwow64.exe, не должен вызывать функцию GDI креатедк . этот вызов завершится ошибкой.
Проблемы с написанием 64-разрядных драйверов
В существующем 32-разрядном коде драйвера следует соблюдать осторожность при преобразовании между типами указателей и целочисленными типами, например DWORD или ULONG. Если у вас есть опыт написания кода для 32-разрядных компьютеров, вы можете использовать, чтобы предположить, что значение указателя соответствует DWORD или ULONG. Для 64-разрядного кода это предположение опасно. При приведении указателя к типу DWORD или ULONG 64-разрядный указатель может быть усечен.
Вместо этого приведите указатель к типу DWORD_PTR или ULONG_PTR. Целое число без знака типа DWORD_PTR или ULONG_PTR всегда достаточно велико для хранения всего указателя, независимо от того, компилируется ли код для 32-разрядного или 64-разрядного компьютера.
Например, поле указателя Пдрвоптитемс. UserData в структуре оемкуиппарам имеет тип ULONG_PTR. В следующем примере кода показано, что не нужно делать при копировании значения 64-битного указателя в это поле.
Предыдущий пример кода приводит указатель pData к типу ulong, что может привести к усечению значения указателя, если sizeof(pData) >sizeof(ulong). Правильный подход заключается в приведении указателя к ULONG_PTR, как показано в следующем примере кода.
В предыдущем примере кода сохраняются все 64 бит значения указателя.
Встроенные 64-разрядные функции, такие как птртаулонг и улонгтоптр , безопасно преобразуют между типами указателя и целого числа, не полагаясь на предположения относительно относительных размеров этих типов. Если один тип короче другого, он должен быть расширен при преобразовании в более длинный тип. Если более короткий тип расширяется, заполняя знак разрядом или нулем, то каждая функция Win64 может справиться с этими ситуациями. Рассмотрим следующий пример кода.
Необходимо заменить предыдущий пример кода следующим примером.
Второй пример кода предпочтительнее, несмотря на то что
может представлять значение реестра оборудования длиной всего 32 бит/с, а не 64 бит. Список всех новых вспомогательных функций Win64 для преобразования между типами указателя и целого числа см. в разделе новые типы данных.
Источник
Статья Создание драйвера под Windows. Часть 1: Введение
Mod. Ethical Hacking
Предыстория
Для очередного проекта возникла необходимость написать простенький софтверный драйвер под Windows, но так как опыта в написании драйверов у меня примерно столько же, сколько и в балете, я начал исследовать данную тему. В таких делах я предпочитаю начинать с основ, ибо если кидаться сразу на сложные вещи, то можно упустить многие базовые понятия и приёмы, что в дальнейшем только усложнит жизнь.
После 20 минут поисков по сети я наткнулся на Github Павла Иосифовича (zodiacon — Overview). Личность легендарная в своих кругах, достаточно посмотреть на его репозиторий, публикации и выступления на именитых конференциях. Помимо этого, Павел является автором/соавтором нескольких книг: «Windows Internals» (книга, имеющаяся у меня на полке, которая принесла немало пользы), и «Windows Kernel Programming» 2019 года выпуска (бегло пролистав 11 Глав или 390 страниц, я понял – это то, что нужно!).
Кстати, книгу вы можете купить прямо на сайте Павла Books
Книгу я приобрёл в бумажной версии, чтобы хоть и немного, но поддержать автора. Безупречное качество, несмотря на то, что она издается в мягком переплете. Хорошие плотные листы формата А4 и качественная краска. (книга без проблем пережила вылитую на нее кружку горячего кофе).
Пока я сидел на балконе и читал четвёртую главу книги, в голову пришла мысль: а почему бы не сделать ряд статей на тему «Программирования драйвера под Windows», так сказать, совместить полезное, с еще более полезным.
И вот я здесь, пишу предысторию.
Как я вижу этот цикл статей и что от него ожидать:
Это будут статьи, которые будут базироваться на вышеупомянутой книге, своеобразный вольный и сокращенный перевод, с дополнениями и примечаниями.
Базовые понятия о внутреннем устройстве Windows (Windows Internals)
Для того, чтобы начать разрабатывать Драйвер под Windows, то есть работать на уровне с ядром ОС, необходимо базовое понимание того, как эта ОС утроена. Так как я хочу сосредоточиться на написании драйвера, а не на теории об операционных системах, подробно описывать понятия я не буду, чтобы не растягивать статью, вместо этого прикреплю ссылки для самостоятельного изучения.
Следовательно, нам стоит ознакомиться с такими базовыми понятиями как:
Источник
Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики.
Продолжая посещать сайты проектов вы соглашаетесь с нашей
Политикой в отношении файлов cookie
Привет, друзья! Я расскажу об одном из множества существующих способов заставить печатать старый принтер Canon Laser Shot LBP 1120 из любой 64-х разрядной операционной системы Windows, хотя официального драйвера для работы в 64-х разрядных системах семейства Windows не существует.
Если быть точным, то мой способ достаточно универсален и позволяет запустить печать на любом старом принтере (не только Canon LBP 1120), не поддерживаемыми новыми операционными системами Windows.
Как обычно, рулит «теория заговора». Разработка драйвера находится в компетенции производителя, так как необходимо знать, как работает принтер. Основная проблема использования старых моделей принтеров состоит в том, что производители, по мнению сообщества Internet, для увеличения продаж новых моделей принтеров перестают разрабатывать драйверы для старых принтеров с поддержкой новых операционных систем Windows, особенно 64-х разрядных. На многие старые принтеры, которые проявили себя надежными и экономичными устройствами для домашнего использования, производителями разработаны драйверы только для 32-х разрядных версий Windows. Если производитель не считает нужным разработать драйвер для своего устройства—это политика производителя, мы повлиять на это не сможем. Поэтому крутимся ужом и находим альтернативу.
Для примера несколько вариантов запуска принтера на который отсутствуют драйверы под современные системы Windows:
Те, кто используют до сих пор 64-х разрядные Windows 7 (Ultimate, Professional и Enterprise) и процессор поддерживает аппаратную виртуализацию—устанавливают XP Mode, устанавливают в нем драйвер для Windows XP и печатают, используя XP Mode, что может позволить использовать старый принтер еще долгое время.
Другие делают принт-сервер на отдельном совместимом компьютере, на базе Raspberry Pi или другом подобном устройстве и печатают по локальной сети.
Третий способ для тех, кто использует только один компьютер и если им нужно печатать на принтерах не поддерживаемыми новыми операционными системами Windows, например из 64-х разрядной Windows, ставят VirtualBox (бесплатная виртуальная машина от Oracle), в ней устанавливают 32-х разрядную версию Windows, например Windows XP как не сильно требовательную к ресурсам, ставят набор драйверов и программ, немного настроек и всё готово, можно печатать.
Я так и сделал. Использовал рецепт https://forum.ixbt.com/topic.cgi?id=58:4892, установил:
VirtualBox Oracle 6.0.10, VirtualBox Extension Pack и VBoxGuestAdditions_6.0.10.iso http://download.virtualbox.org/virtualbox/6.0.10/, для установки на Host Windows.
VBoxHeadlessTray https://www.toptensoftware.com/vboxheadlesstray/, для установки на Host Windows.
Драйвер принтера HP LaserJet 4100 Series PS (HP Universal Print Driver for Windows PostScript (64-bit)) https://www.support.hp.com/ua-ru/drivers/selfservice/hp-laserjet-4100-printer-series/83436, для установки на Host Windows.
Дистрибутив Windows XP Professional with Service Pack 3
Драйвер принтера Canon Laser Shot LBP-1120 https://www.canon-europe.com/support/consumer_products/products/printers/laser/laser_shot_lbp1120.html?type=drivers&language=ru&os=windows%207%20(32-bit), для установки на гостевой Windows XP.
Эмулятор PostScript принтера GPL Ghostscript Windows 32 https://code.google.com/archive/p/ghostscript/downloads, для установки на гостевой Windows XP.
RedMon — Redirection Port Monitor http://www.ghostgum.com.au/software/redmon.htm, для установки на гостевой Windows XP
Intel PRO/1000 MT Desktop Adapter https://downloadcenter.intel.com/download/18717/Network-Adapter-Drivers-for-Windows-XP-Final-Release?product=50485, для установки на гостевой Windows XP.
Все заработало, принтер печатает, но открылся один недостаток: при печати файлов в формате PDF очень долго готовится файл к печати, одна страница заполненная рисунками высокого разрешения преобразовывается в файл для печати размером около 100 Мб, что занимает много времени, порядка 10 минут. Явный недостаток. Устал ждать пока закончится печать. Именно этот недостаток заставил меня искать другой способ печати на принтере Canon Laser Shot LBP-1120 из 64-х разрядной Windows 10.
Представляю метод лишенный вышеуказанного недостатка.
Описываемый далее способ я отношу к третьему типу (по моей классификации), но используется другой набор программного обеспечения. Как уже говорилось – «Если быть точным, то мой способ достаточно универсален и позволяет запустить печать на любом старом принтере (не только Canon LBP 1120), не поддерживаемыми новыми операционными системами Windows». Эта универсальность получена благодаря применению программы PDFCreator! Любые файлы печатаются максимально быстро, без задержки. Спасибо создателям этой замечательной бесплатной программы!
Краткий обзор наших действий для достижения результата: Устанавливаем на гостевой Windows XP драйвер для принтера Canon Laser Shot LBP-1120, устанавливаем на гостевой Windows XP программу PDFCreator в серверном режиме с дополнительным 64-х разрядным драйвером, в результате создается виртуальный принтер PDFCreator, настраиваем PDFCreator, делаем его доступным по сети, устанавливаем этот принтер на хост-машине как сетевой принтер. Все готово, можно печатать!
Для простоты понимания приведу блок-схему обоих методов третьего типа (по моей классификации), сразу и наглядно видно преимущество моего способа в минимальном наборе используемого программного обеспечения и скорости печати «тяжелых» файлов.
Общеизвестный способ |
Способ описываемый в этой статье |
Итак, приступим к установке и настройке.
Устанавливаем PDFCreator в серверном режиме. Считаем, что у вас уже установлена виртуальная машина VirtualBox Oracle 6.0.10, VirtualBox Extension Pack и VBoxGuestAdditions_6.0.10.iso, установлена Windows XP (я имя ей присвоил-PRINT), установлен драйвер для принтера Canon Laser Shot LBP-1120, настроена сеть между виртуальной машиной и хостом. Рекомендую установить на виртуальной машине сетевую карту Intel PRO/1000 MT Desktop Adapter для гигабитной сети между гостевой Windows XP и хостом.
Скачиваем установочный файл PDFCreator версии 1.5.1 PDFCreator-1_5_1_setup.exe, это самая старшая версия найденная мной с поддержкой Windosw XP и готовым EXE файлом: https://sourceforge.net/projects/pdfcreator/files/PDFCreator/PDFCreator%201.5.1/
Установку производим на гостевой Windows XP, запускаем установочный файл, выбираем «Экспертные настройки»:
Выбираем язык установки:
Принимаем условия соглашения:
Выбираем «Серверная установка»:
Видим предупреждение:
Далее соглашаемся:
Устанавливаем дополнительный драйвер для 64-х разрядных систем:
Выбираем папку для установки:
Выбираем обязательно «выборочную установку», а то дополнительно установятся не нужные нам тул-бары, отказываемся от всех дополнительных компонентов, выбираем нужный язык:
Настраиваем под себя «Дополнительные задачи»:
Снимаем галочки, чтоб не устанавливать антивирус (что-то эта версия 1.5.1 заглючила с русским языком только в этом окне, до нее устанавливал версию 1.5.0, там все было превосходно):
Нажимаем кнопку «Установить»:
Установка завершена:
Для продолжения настройки создадим пакетный файл, я его назвал print_cleaning.bat с текстом из четырех строк:
rem удаление файлов печати из каталога
PUSHD C:Print_tmp
2>Nul RD /S/Q «C:Print_tmp»
POPD
Этот командный файл понадобится для удаления временных файлов, создаваемых при печати, которые мы будем складывать в папку c:Print_tmp на гостевой Windows XP. Логика работы такова: при печати PDFCreator формирует файл PDF, печатает его на принтере, по окончанию печати запускает файл print_cleaning.bat, который очищает папку C:Print_tmp.
Поместим файл print_cleaning.bat в папку:
C: Program FilesPDFCreatorScriptsRunProgramAfterSaving
Переходим к настройке программы PDFCreator:
Открываем «Настройки»:
Переходим последовательно по пунктам, здесь ничего не меняем:
Следующий пункт без изменений:
Пункт без изменений:
А вот здесь внесем изменения, выберем нужные «галочки» и выберем ранее созданную папку для сохранения:
Следующий важный пункт: открываем закладку «Действие после сохранения», выбираем из выпадающего списка доступный скрипт print_cleaning.bat (мы его ранее поместили в эту папку C: Program FilesPDFCreatorScriptsRunProgramAfterSaving), отмечаем нужные галочки:
Следующий важный пункт: выбираем установленный принтер для печати, ставим галочки и выбираем нужные пункты меню:
На этом настройка PDFCreator закончена.
Делаем принтер PDFCreator доступным по сети и принтером по умолчанию в гостевой системе Windows XP:
Перезагружаем компьютеры, для большей верности, проверяем видимость сетевого принтера из хост-компьютера, устанавливаем 64-разрядный драйвер на сетевой принтер PDFCreator, вдруг если по сети не видно Windows XP, возможный вариант – «Windows 10 при попытке открыть по сети компьютер с ОС Windows XP, скорее всего выдадут ошибку “Windows не может получить доступ, с кодом ошибки 0x80070035”. При этом обе машины друг друга пингуют без проблем. Windows XP работает на протоколе SMBv1, который в Windows 10 отключен по умолчанию из соображений безопасности. Клиентскую часть SMBv1 можно включить в Windows 10 набрав в поиске меню Пуск “Панель управления”, далее Программы -> В разделе “Программы и компоненты” выбрать пункт Включение или отключение компонентов Windows. В открывшемся дереве выбрать “Поддержка общего доступа к файлам SMB 1.0/CIFS”, далее “Клиент SMB 1.0/CIFS”»:
Если Все прошло как надо, система готова к печати:
Ну и в качестве «вишенки на торте» применяем программу VBoxHeadlessTray https://www.toptensoftware.com/vboxheadlesstray/, для установки на хост машине Windows.
Она позволит спрятать запущенную работающую виртуальную машину в один значок на «Панели задач», и при перезагрузке текущая настройка сохранится. Нам не придется заботиться о виртуальной машине при следующем включении компьютера, она будет всегда включена и мгновенно отправлять на печать ваши задания. При установке необходимо указать с какой именно виртуальной машиной нужно работать:
И в результате выглядеть это будет так:
На этом всё, только один недостаток у меня вылез и я его не смог решить — это появление окна при загрузке компьютера с сообщением:
Понятно, что VBoxHeadlessTray не может почему-то найти Log файл, но закрыв это окно все продолжает работать хорошо.
Предыстория
Для очередного проекта возникла необходимость написать простенький софтверный драйвер под Windows, но так как опыта в написании драйверов у меня примерно столько же, сколько и в балете, я начал исследовать данную тему. В таких делах я предпочитаю начинать с основ, ибо если кидаться сразу на сложные вещи, то можно упустить многие базовые понятия и приёмы, что в дальнейшем только усложнит жизнь.
После 20 минут поисков по сети я наткнулся на Github Павла Иосифовича (zodiacon — Overview). Личность легендарная в своих кругах, достаточно посмотреть на его репозиторий, публикации и выступления на именитых конференциях. Помимо этого, Павел является автором/соавтором нескольких книг: «Windows Internals» (книга, имеющаяся у меня на полке, которая принесла немало пользы), и «Windows Kernel Programming» 2019 года выпуска (бегло пролистав 11 Глав или 390 страниц, я понял – это то, что нужно!).
Кстати, книгу вы можете купить прямо на сайте Павла
Ссылка скрыта от гостей
Книгу я приобрёл в бумажной версии, чтобы хоть и немного, но поддержать автора. Безупречное качество, несмотря на то, что она издается в мягком переплете. Хорошие плотные листы формата А4 и качественная краска. (книга без проблем пережила вылитую на нее кружку горячего кофе).
Пока я сидел на балконе и читал четвёртую главу книги, в голову пришла мысль: а почему бы не сделать ряд статей на тему «Программирования драйвера под Windows», так сказать, совместить полезное, с еще более полезным.
И вот я здесь, пишу предысторию.
Как я вижу этот цикл статей и что от него ожидать:
Это будут статьи, которые будут базироваться на вышеупомянутой книге, своеобразный вольный и сокращенный перевод, с дополнениями и примечаниями.
Базовые понятия о внутреннем устройстве Windows (Windows Internals)
Для того, чтобы начать разрабатывать Драйвер под Windows, то есть работать на уровне с ядром ОС, необходимо базовое понимание того, как эта ОС утроена. Так как я хочу сосредоточиться на написании драйвера, а не на теории об операционных системах, подробно описывать понятия я не буду, чтобы не растягивать статью, вместо этого прикреплю ссылки для самостоятельного изучения.
Следовательно, нам стоит ознакомиться с такими базовыми понятиями как:
Ссылка скрыта от гостей
Процесс – это объект, который управляет запущенной инстанцией программы.
Ссылка скрыта от гостей
Технология, позволяющая создавать закрытые пространства памяти для процессов. В своем роде — это песочница.
Ссылка скрыта от гостей
Это сущность, которая содержится внутри процесса и использует для работы ресурсы, выделенные процессом — такие, как виртуальная память. По сути, как раз таки потоки и запускают код.
Ссылка скрыта от гостей
В своем роде это прокладка, которая позволяет программе отправлять запросы в Ядро операционной системы, для выполнения нужных ей операций.
Ссылка скрыта от гостей
Это сложно описать словами коротко, проще один раз увидеть картинку.
В упрощённом виде это выглядит так:
Ссылка скрыта от гостей
Дескрипторы и объекты необходимы для регулирования доступа к системным ресурсам.
Объект — это структура данных, представляющая системный ресурс, например файл, поток или графическое изображение.
Дескриптор – это некая абстракция, которая позволяет скрыть реальный адрес памяти от Программы в пользовательском режиме.
Для более глубокого понимания Операционных систем могу посоветовать следующие материалы:
Книги:
- Таненбаум, Бос: Современные операционные системы
- Windows Internals 7th edition (Part 1)
Видео:
Настройка рабочего пространства
Для разработки драйвера, как и любого другого софта необходима подходящая среда.
Так как мы работаем в операционной системе Windows, её средствами мы и будем пользоваться.
Что нам понадобится:
1. Visual Studio 2017 и старше.
(Community Version хватает с головой) Также во вкладке „Individual components” необходимо установить
Код:
MSVC v142 - VS 2019 C++ ARM build tools (Latest)
MSVC v142 - VS 2019 C++ ARM Spectre-mitigated libs (Latest)
MSVC v142 - VS 2019 C++ ARM64 build tools (Latest)
MSVC v142 - VS 2019 C++ ARM64 Spectre-mitigated libs (Latest)
MSVC v142 - VS 2019 C++ ARM64EC build tools (Latest - experimental)
MSVC v142 - VS 2019 C++ ARM64EC Spectre-mitigated libs (Latest - experimental)
MSVC v142 - VS 2019 C++ x64/x86 build tools (Latest)
MSVC v142 - VS 2019 C++ x64/x86 Spectre-mitigated libs (Latest)
и далее по списку.
2. Windows 10/11 SDK (последней версии)
Ссылка скрыта от гостей
Тут все просто. Качаем iso файл, монтируем и запускаем установщик.
3. Windows 10/11 Driver Kit (WDK)
Ссылка скрыта от гостей
В конце установки вам будет предложено установить расширение для Visual Studio. Обязательно установите его!
После закрытия окна установки WDK появится установщик Расширения VisualStudio
4. Sysinternals Suite
Ссылка скрыта от гостей
Скачайте и распакуйте в удобное для вас место. Это набор полезных утилит, которые пригодятся для исследования Windows, дебага драйвера и прочего.
5. Виртуальная Машина с Windows для тестов.
Выбор ПО для виртуализации на ваше усмотрение. Я буду использовать «VMware Workstation 16 pro».
Написанные драйверы лучше тестировать именно в виртуальной машине, так как Ядро — ошибок не прощает, и вы будете часто улетать в синий экран смерти.
После того, как все было установлено, пора запускать Visual Studio и начинать писать драйвер.
Создание проекта
Запускаем Visual Studio и создаем новый проект. Создадим пустой проект „Empty WDM Driver“
Называем его как душе угодно.
И вот он, наш свеженький чистенький проект для нашего первого драйвера.
Теперь необходимо создать cpp файл, в котором мы будем писать сам драйвер.
Вот и все. Настройку системы и среды мы закончили.
Первый драйвер
Сначала импортируем ntddk.h
эта одна из базовых библиотек для работы с ядром. Больше информации
Ссылка скрыта от гостей
. Как и у любой программы, у драйвера должна быть точка входа DriverEntry
, как функция Main
в обычной программе. Готовый прототип этой функции выглядит так
C++:
#include <ntddk.h>
NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING RegistryPath) {
/*
In_ это часть SAL(Source Code Ananotation Language) Аннотации не видимы для компилятора,
но содержат метаданные которые, улучшают анализ и чтение кода.
*/
return STATUS_SUCCESS;
}
Если мы попробуем собрать наш проект, то получим следующие ошибки и предупреждения.
В данном случае пункт 1 является следствием пунктов 2 и 3. Дело в том, что по дефолту в Visual Studio некоторые “предупреждения” расцениваются как ошибки.
Чтобы решить эту проблему есть 2 пути.
- Отключить эту фичу в Visual Studio, что делать не рекомендуется. Так как сообщения об ошибках могут быть полезны и сэкономят вам время и нервы в дальнейшем.
- Более правильный и классический метод это использовать макросы в c++. Как видно из сообщения с кодом C4100 объекты RegistryPath и DriverObject не упомянуты в теле функции. Подробнее
Ссылка скрыта от гостей
.
Для того, чтобы избавиться от предупреждений, и заставить наш код работать, стоит поместить объекты в макрос UNREFERENCED_PARAMETER(ObjectName)
C++:
include <ntddk.h>
NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING RegistryPath) {
UNREFERENCED_PARAMETER(DriverObject);
UNREFERENCED_PARAMETER(RegistryPath);
return STATUS_SUCCESS;
}
Теперь, если пересобрать проект, то мы увидим, что ошибка С220 и предупреждение C4100 пропали, но к ним на смену пришли LNK2019 и LNK1120. Однако это уже не ошибки компиляции — это ошибки линкера. А кто говорил что будет легко?
О том, что такое линкер можно почитать
Ссылка скрыта от гостей
.
Дело в том, что наша функция не представлена в стандартном линкере С++ и вообще она девушка капризная и хочет Си-линкер. Удовлетворим желание дамы и дадим ей то, чего она хочет.
Делается это просто. Перед функцией надо добавить extern "C"
так наш линкер будет понимать, что эта функция должна линковаться С-линкером.
Собираем проект заново и вуаля — Драйвер собрался.
Что на данный момент умеет наш драйвер? Сейчас это по сути пустышка, которая после загрузки, в случае успеха, вернет нам сообщения об удачном запуске. Давайте заставим его нас поприветствовать и проверим его работоспособность. Выводить сообщения мы будем при помощи функции KdPrint(());
да именно в двойных кавычках.
Итоговый код драйвера будет выглядеть так:
C++:
#include <ntddk.h>
//Указываем линкеру, что DriverEntry должна линковаться С-линкером
extern "C"
NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING RegistryPath)
{
//Убираем варнинг C4100 и связанную с ним ошибку C220
UNREFERENCED_PARAMETER(DriverObject);
UNREFERENCED_PARAMETER(RegistryPath);
//Выводим сообщение
KdPrint(("Hi Codeby, this is our first driver! Yuhu!n"));
return STATUS_SUCCESS;
}
Собираем или пересобираем драйвер.
Важно! Сборка драйвера должна происходить в режиме Debug!!!
После чего в папке нашего проекта мы сможем найти результаты нашего труда. Вы только посмотрите на него, какой маленький и хорошенький.
Но что делать дальше? Как проверить его работоспособность?
Для этого нам и понадобится наша виртуальная машина с Windows, но перед запуском на ней драйвера, нам придется проделать пару манипуляций. Дело в том, что в Windows есть встроенная защита, и если драйвер не подписан «нужной» подписью ака сертификатом, то драйвер просто не загрузится.
Дальнейшие действия нужно проделать в Windows на виртуальной машине.
Чтобы отключить эту проверку подписи, а точенее перевести Windows в тестовый режим, запустите cmd.exe от имени администратора и введите следующую команду bcdedit /set testsigning on
.
Перезагрузите виртуальную машину.
Если все прошло удачно, в правом нижнем углу вы увидите следующую надпись (2 нижнее строчки могут отличиться в зависимости от версии Windows)
Возвращаемся в папку с драйвером и копируем его в виртуальную машину. Теперь нам надо создать службу для запуска драйвер. Открываем консоль от имени администратора и вводим следующую команду:
sc create Name type= kernel binPaht= PATH_TO_DRIVER
в моем случае это выглядит так:
Также проверить успешность создания можно через реестр.
В той же консоли мы можем попробовать запустить нашу службу.
sc start CodebyDriver
Отлично, драйвер запустился и мы даже не улетели в синьку, а это всегда приятно. Теперь давайте проверим, выводится ли сообщение от драйвера.
Для этого нам необходимо провести подготовительные работы.
Создадим новый ключ в реестре и назовем его Debug Print Filter
.
В качестве значения задаем DWORD
с именем DEFAULT
и определяем данные для значения как 8
.
Перезагружаем виртуальную машину.
После перезапуска запускаем DebugView данный инструмент находится в архиве Sysinternals, который мы ранее скачали. Ее можно смело скопировать в виртуальную машину.
Запускаем DebugView от имени Администратора и ставим галочку “Capture Kerner”
Capture Win32 и Capture Global Win32 можно снять, если летит много сообщений.
Затем запускаем консоль от имени администратора и запускаем службу загрузки драйвера.
Все отработало отлично, и мы видим приветствие от нашего драйвера!
На этой приятной ноте первая статья из цикла заканчивается. В дальнейших статьях мы добавим функционала нашему драйверу, научим его выгружаться и получать данные.
Спасибо за чтение!
P.S: Я сам только начал изучать тему работы с драйверами. Так что если у вас есть предложения или правки по технической части статьи, прошу отписать в комментарии, чтобы я мог внести изменения в статью.
P.P.S: Как вы могли заметить, писать мы будем преимущественно на С++, посему могу посоветовать отличный канал с уроками по С++ — The Cherno.
Содержание
- Настройка печати Canon lbp 1120 под Windows 10 x64
- Необходимые файлы
- Основные использованные источники
- Примечание
- Подключение старого принтера к Windows 10 при помощи Google Cloud Print
- Windows (Amanda Somerville album)
- Track listing
- Personnel
- References
- External links
- Vinyl Confessions
- Background
- 2015 Windows 10 400
- Установка Старого Принтера Canon Lbp 810 В Windows 10 Professional
- Установка старого принтера Canon LBP 810 в Windows 10 Professional
- Сергей
- Kirill Nn
- Sergey Filippov
- Денис Ничипоренко
- Руслан Ганеев
- Timur Yakimenko
- БРЮСС Эль
- роберт валитов
- Evgeny Isakov
- SergioCCodUA
- Влад С
- Максим Езиков
- Серхиус Монтейрас
- El Staso
- Vika Grief
- Владимир Крюков
- Елена Трубкина
Настройка печати Canon lbp 1120 под Windows 10 x64
Внимание. Инструкция подходит для связки LBP-810 + Win7x64, а так же для сетевой установки.
Для сетевой установки потребуется скачать всего два архива: redmon (п.3) и Ghostscript (п.2). Читать в этом случае можно начинать с шестой страницы с третьего абзаца “Далее нужно распаковать Redire. ”.
На IE и Опере инструкция может отображаться и работать некорректно. Поэтому можнок как вариант сохранить файл как сжатая веб-страница через меню гугл-докс.
Необходимые файлы
Опционально для персонального использования принтера
Основные использованные источники
Примечание
По некоторым рекомендациям для печати на LBP-1120 можно использовать HP Universal PostScript Printer Driver. Ну. скажем так.
Если эксперименты уже были, то лишние драйвера и пакеты драйверов в Win7x64 можно удалить.
Переходим к водн. следующим процедурам
Сначала необходимо установить VirtualBox и Extension Pack
Затем WinXP в VirtualBox.
Если непонятно что и как можно почитать oszone или гугл в помощь.
В настройках машины VBox я устновил захват порта принтера (думаю что другие модификации 1120 вряд ли были):
В результате на хост-системе у меня получилось
Далее копируется в виртуалку драйвер принтера под XP, Ghostscript и RedMon (пункты 1, 3, 4 в “Необхомые файлы”)
Далее нужно распаковать Redirection Port Monitor в
и запустить setup.exe оттуда же для установки Redirect Port.
Далее установить Ghostscript в каталог. При инстале можно просто убрать “Program Files”
Принтер я переименовывал, чтоб покороче было. Поэтому название принтера проверить в свойствах принтера LBP-1120 и его-то и вписать после %printer%.
Настрока порта (пути при необходимости поправить):
минус в строке аргументов ставить обязательно
Драйвера загрузились из центра обновлений Microsoft. Принтер заработал сразу.
Примечание. На работе ставил сетевым LBP-810. Драйвера из центра обновлений почему-то закачались только со втторого раза. Думаю что это не проблема 810-го.
Дополнительно я установил VBoxHeadlessTray (почитать можно на oszone), поскольку постоянная печать мне ну нужна.
Inokentiy87Junior MemberОтветов: 1/1
Откуда: Украина
Инфо • Ответить1 год назад / 01 августа 2018 11:27Michail Michailoff
На Windows 10 почему то так драйвера не устанавливаются, пишет что нет драйверов. Пришлось устанавливать как локальный на порту LPT а потом менять порт на сетевой.
Опишите пожалуйста как Вы меняете порт на сетевой. Заранее спасибо!
Добавление от 01.08.2018 13:40:
Делал все как написал Michail Michailoff но стопорился на последнем шаге с установкой на хост системе драйверов на HP LaserJet 4100 Series PS
Решил вопрос с windows 10 x64 у себя таким образом:
-установил на виртуалке с windows 7 x64 принтер HP LaserJet 4100 Series PS
-скопировал драйвера на принтер с папки «c:WindowsSystem32DriverStoreFileRep ository» (чтобы найти нужные драйвера из всех отсортировал их по дате)
-поместил драйвера на ПК с windows 10 и при утсановке принтера, когда предлагает выбрать драйвер на ПК, выбрал папку с драйверами с windows 7Michail MichailoffMemberОтветов: 4/25
Откуда: Россия, Стерлитамак
Инфо • Ответить1 год назад / 05 августа 2018 09:14Inokentiy87:
Опишите пожалуйста как Вы меняете порт на сетевой. Заранее спасибо!Ого, столько мудрить, знаете толк в извращениях
Драйвер для 64-бит стоит от HP LJ 4100 PS но название принтера я сделал Canon, так привычнее.
Заметил одну особенность Windows 10 LTSB. Не знаю есть ли она на обычной десятке, так как ее не использую. После каких нибудь обновлений системы у меня пропадают драйвера на сканер Epson Perfection 3490 Photo и при запущенной в Virtualbox Windows XP драйвера на usb устроства относящиеся к Virtualbox. Соответственно принтера и сканер не работают. В Диспетчере устройств делаем обновить драйвера и указываем на каталоги для Virtualbox «Program Files», для сканера «Program Files (x86)» и драйвера восстанавливаются. Почему они теряются и как это изменить пока не нашел. Может кто то знает как это решить?
Источник
Подключение старого принтера к Windows 10 при помощи Google Cloud Print
Есть в нашей семье старый лазерный принтер «Canon LBP-1120», который когда-то был отправлен на «пенсию» в гараж. Рабочий принтер с состоянием «почти новый» в силу того, что им мало пользовались. Вместо него юзаем наипростейший струйный МФУ «Canon MG2400». Он печатает в цвете, сканирует, копирует и самое главное без проблем заправляется. Конечно проигрывает в скорости печати, но для домашних нужд вполне себе удовлетворяет.
И вот появилась задача распечатать много и быстро, причем в ч/б. Струйный МФУ в этом деле естественно не помощник. Сходил в гараж за нашим «героем» и подключил к его своему ноутбуку, на котором уже очень и очень давно обитает «Windows 10». И конечно же наш «герой» не определился системой, драйверов нет, определился только USB интерфейс. И то хорошо.
Полез на сайт «Canon» за драйвером, а там – «К сожалению, ваше устройство больше не поддерживается в выбранной операционной системе. Просмотрите наш текущий ассортимент доступных устройств». В общем то я не удивился, принтер старый, а корпорациям надо зарабатывать на новых устройствах. Зачем поддерживать старое устройство? И такая ситуация почти со всеми старыми принтерами.
К слову сказать, если по работе такие принтеры попадаются, то вердикт устанавливает сразу – «На списание!». А тут ситуация как-бы не рабочая, да и карантин тоже имеет место быть. К тому же, покупать новый принтер, чтобы распечатать один раз полтыщи страниц – не резон.
Ищем альтернативные способы подключения.
1. Попробовать найти в Интернете альтернативный драйвер. Альтернативного драйвера на мой принтер нет, я не нашел, может плохо искал). Многие ссылки с якобы «подходящим» драйвером ведут к откровенно подозрительным сайтам, поэтому не советую. Были советы использовать универсальный драйвер «HP». Не помогло.
2. Установить на виртуальной машине 32-битную «Windows 7», установить на него принтер, расшарить его и подключиться к ней из «Windows 10». Вроде здравая мысль. НО НЕ РАБОТАЕТ! Для «Windows 10» всё равно нужны драйвера принтера, которые уже не поддерживаются.
3. Установить на виртуальной машине 32-битную «Windows 7», установить на него принтер и установить на нем какой-нибудь виртуальный принтер, роутер принтеров или принт-сервер, который бы перенаправлял задание печати на наш принтер. Тоже вроде здравая идея. Часть программ условно-бесплатные, часть платные – они нам не подходят. А те что бесплатные вроде как работают, но в среде опять же «Windows 7» или возможно ниже. Задания печати из «Windows 10» просто игнорируют. Задание в «Диспетчере печати» появляется, но на печать не идет. Разбираться глубже не стал и отмел этот вариант. Возможно я ленивый и у меня кривые руки)
4. 100% рабочий вариант без танцев с бубном! Великий и могучий «Google»! А точнее «Google Cloud Print». Способ пришел как говорится – «Он сам пришел!».
Просто надо установить на гостевую ОС «Windows 7» браузер «Google Chrome», благо он еще оказывается поддерживается на 32-битных «Windows 7».
Далее надо авторизоваться в «Chrome» на гостевой ОС под своим Google-аккаунтом и открыть страницу https://www.google.com/cloudprint
На странице облачного принтера надо кликнуть на ссылку «Добавить обычный принтер» и следуя инструкции добавить наш старый принтер в облако.
Затем надо установить на наш родной «Windows 10» драйвер «облачного принтера Google» по ссылке https://tools.google.com/dlpage/cloudprintdriver
Всё как обычно – скачать, установить и всё! В списке принтеров у нас появляется «Виртуальный принтер Google».
И да, надо быть авторизованным под одним и тем же аккаунтом на родной и гостевой ОС в «Chrome».
Всё как обычно, для печати выбираем принтер «Виртуальный принтер Google» и нажимаем на «Печать». Нас перенаправит на страницу нашего виртуального принтера. Там выбираем принтер, который добавили до этого в нашей гостевой ОС и опять нажимаем на «Печать». Ждем… Моя первая страница распечаталась через секунды, эдак за 50, уже было подумал, что ничего не получилось. Но потом печать шла уже быстрее, через секунды 20-30))).
Но! Печатает! Работает! Бесплатно!
Можно было бы написать короче) Или наоборот поподробней?
Это не подробная инструкция как сделать, а просто описание способа «как можно сделать». Ведь в ИТ-кухне все изменчиво. Сегодня так, а завтра уже не так!
Как говорил гуру кулинарной кухни Илья Лазерсон – «Только принципы!». А принципы практически не изменяются.
Источник
Windows (Amanda Somerville album)
Track listing
All songs written and composed by Amanda Somerville, except where indicated.
Personnel
References
External links
This article is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License, which means that you can copy and modify it as long as the entire work (including additions) remains under this license.
Vinyl Confessions
Vinyl Confessions is the eighth studio album by American rock band Kansas, released in 1982 (see 1982 in music). It includes «Play the Game Tonight», which broke the Top 20 and is Kansas’s third highest-charting single, surpassed only by «Carry on Wayward Son» and «Dust in the Wind». The album was reissued in remastered format on CD in 2011.
Background
Vinyl Confessions was a major turning point for the band. After the conversion of both guitarist/keyboard player Kerry Livgren and bass player Dave Hope to Christianity, and the focus that Livgren placed on his religion in the band’s lyrics, lead singer Steve Walsh did not agree with the new direction of the band and left to form his own band, Streets. Walsh had also contributed much as a songwriter, so the band was forced to find a new lead singer who not only had a vocal style that fit the band’s music, but also could contribute material for the upcoming album. After a long audition process, the choice came down to three strong candidates: Warren Ham, Michael Gleason and John Elefante. The band eventually settled on Elefante.
This article is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License, which means that you can copy and modify it as long as the entire work (including additions) remains under this license.
2015 Windows 10 400
The 2015 Windows 10 400 was a NASCAR Sprint Cup Series race held on August 2, 2015 at Pocono Raceway in Long Pond, Pennsylvania. Contested over 160 laps on the 2.5 mile (4 km) triangular superspeedway, it was the 21st race of the 2015 NASCAR Sprint Cup Series season. Matt Kenseth won the race, his second of the season. Brad Keselowski finished second. Jeff Gordon finished third. Dale Earnhardt, Jr. and Greg Biffle rounded out the top five.
Kyle Busch won the pole for the race, led 19 laps, was leading the race before running out of fuel on the final lap and finished 21st. Joey Logano led a race high of 97 laps before running out of fuel with three laps to go and finished 20th. The race had 18 lead changes among 13 different drivers, eight caution flag periods for 32 laps and one red flag period that lasted for 14 minutes and 32 seconds.
This was the 33rd career victory for Matt Kenseth, second of the season, first at Pocono Raceway and tenth at the track for Joe Gibbs Racing. Kenseth left Pocono trailing Kevin Harvick by 118–points in the points standings. Despite being the winning manufacturer, Toyota left Pocono trailing Chevrolet by 75–points in the manufacturer standings. But they pulled to within one–point of Ford for second in the standings.
This article is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License, which means that you can copy and modify it as long as the entire work (including additions) remains under this license.
Источник
Установка Старого Принтера Canon Lbp 810 В Windows 10 Professional
Длительность: 11 мин и 26 сек
Установка Драйверов Для Устаревших Устройств Windows 7
IT-Skills I Запишись в ИТ качалку
Как Проверить Картридж Без Компа На Принтере Canon Lbp 810 800 Печать Теста Матроски
Как Подключить Любой Старый Принтер К Windows 10
Как Настроить Принтер Если На Него Нет Драйверов Под Вашу Операционную Систему
Выживание На Windows Xp В 2019 Году Пытаемся Выйти В Интернет Устанавливаем Программы
Как Настроить Общие Папки В Virtualbox Подробная Инструкция
Восстановление Canon Lbp 1120 Canon 810 Hp1100 Сборка Разборка Замена Термоплёнки И Д Р
Samsung Ml 1210 Второй Шанс Восстановление Заправка Установка На Windows 10 X64
Установка Драйвера Принтера Canon 1120 810 На Windows 10 X32
Hp Laserjet 1000 Под Windows 7 X64 Через Virtualbox
Застревает Бумага В Принтере Canon Lbp 810 1120 При Печати
Печать На Старый Сетевой Принтер В Windows 7 X64 Не Имея 64 Битных Драйверов Canon Lbp 1120 810
Как Подключить И Настроить Принтер
Не Могу Установить Драйвера Canon Lbp 810
Как Промыть Засохший Картридж Для Струйного Принтера
Инструкция Как Разобрать И Собрать Canon Lbp 800 810
Virtualbox Установка И Настройка Для Новичков Создание Виртуальной Машины
Настройка Ssd Под Вашу Систему
Виртуальная Машина Win Xp В 2 Клика
Как Установить Windows Xp На Virtualbox
Kiss I Wass Made For Lovin You Cover
Ган 13 Мама И Сын Армия
Вторник Хороший Без Мата
Mortal Kombat Theme Electro Trance Remix Addyharmo Extended Mix
Мы Покатились Вниз Те100Стерон
Чигар Чигар Гуфта Садоят Кунам
Gulben Ergenın Yenı Sarkısı
Маша И Медведь Game Over
Free Sqwore X Rizza X Lxner Hyperpop Type Beat Слёзы
Золотые Косы Цыганская Песня
Конаныхинцы Не Унимаются Снова Принимаюсь За Грязные Манипуляции
Shorts Кто Я Для Него Что Думает Сейчас
Uppermoons Reacts To Nezuko And Tanjiro Kamado Gcrv Kny
Berburu Dinosaurus Jumbo Raksasa T Rex Brachiosauru Stegosaurus Triceratops Spinosaurus Dinosaur
Best Protein Laddoo 12 Ingredients Laddu For Extreme Energy Glowing Skin Very Beautiful Hair
Snow Fall In Sialkot Zala Bari Sialkot Pakistan Shorts Sone Fari
Beautiful Barbie Doll Collection Barbie Doll Baby Doll Barbie Disney Frozen Shorts
Новая Потрясающая Игруха Топ Графон Real Draving School
Установка Старого Принтера Canon Lbp 810 В Windows 10 Professional
Beautiful Doll Collection Barbie Girl Barbie Doll Baby Doll Barbie Amazon Disney Frozen Shorts
Barbie Girl Barbie Doll My Beautiful Doll Collection Amazon Barbie Disney Shorts
Barbie Doll Barbie Girl Amazon Toys Barbie Disney Frozen Shorts
Billie Eilish Idontwannabeyouanymore Lirik Terjemahan
Реакция Жителей Конохи На Тик Ток Моё Ау 3 Часть
In The Ring Amanza Walton Desir I Have No Apologies Nandlall
Создала Свой Бренд Пастилы Сняла Рекламный Ролик Пастила Хороша
Источник
Установка старого принтера Canon LBP 810 в Windows 10 Professional
Просмотров: 38 795
Сергей
бред. еслииб настроил печать по сети, тогда да. а так каждый файл кидать в XP чтоб распечатать и весь софт ставить в xp офис, пдф просмотрщик и т.д.
доделывай метод короче
Kirill Nn
У меня даже Винду в этом приложении не получсется создать. Выдает командную строку: FATAL: no bootable medium found! System halted.
Sergey Filippov
Денис Ничипоренко
Помогите подключить к Windows 7 lpb 800
Руслан Ганеев
много моментов упущенно! основных приходится додумывать самому как что делать
Timur Yakimenko
Cкажите, а ни видну 7 тоде нужно подобным образом Canon LBP 810 приспосабливать? Или есть более легкий путь? Спасибо
БРЮСС Эль
роберт валитов
Evgeny Isakov
а тоже самое с LPT портом можно сделать? принтер Canon LBP 800
SergioCCodUA
Влад С
самого интересного не показал. Как печатать из 10 на єтот принтер.
Т.е. в win10 запустили офис. создали документ, и печатаем.
Максим Езиков
Автору спасибо! Canon LBP-810 теперь работает на 10-й винде
Серхиус Монтейрас
2 ой системой установил win 10 32bit уже 3 года пользуюсь полет нормальный
El Staso
чёт я не понял как,открыть(установить) образ Windows XP в Oracle.
Vika Grief
Владимир Крюков
Есть решение на просторах сети. Тоже с виртуалкой. Но можно на печать отправлять прям из десятки. Там применяется перенаправление и ghost script. Если кому реально надо, ссылку дам. Но можно и так нагуглить.
Елена Трубкина
Установила Oracle VM VirtualBox, в нем Винду ХР 32 б, запускаю, и выдает какую-то ошибку на темном фоне. Как быть. ХР не запускается
Источник
Драйвер для Canon LBP 1120
Для установки драйвера Canon LBP 1120 Вы можете использовать ссылки, которые есть ниже. Если Вы не нашли там свою систему или разрядность Windows не подходит (компания Canon сделала драйвера не для всех версий Windows, так как модель принтера старая), тогда есть несколько вариантов решить этот вопрос. Про решение установки в Windows 7 x64, Windows 8 x64, Windows 10 x64 смотрите ниже.
Windows Vista / 7
Варианты разрядности: x32
Размер драйвера: 2 MB
Нажмите для скачивания: Canon LBP 1120
Windows XP
Варианты разрядности: x32
Размер драйвера: 1 MB
Нажмите для скачивания: Canon LBP 1120
Как установить драйвер в Canon LBP 1120
Для начала посмотрите какая у Вас система, если Вы её знаете — отлично и двигаемся дальше, а если нет, то читайте нашу статью, про то как узнать разрядность и версию Windows. Если версия драйверов подходит для вашего Windows, то рекомендую прочитать статью — как устанавливаются драйвера. Так как установка Canon LBP 1120 происходит в ручную. Мы можете визуально посмотреть, как сделать ручной способ установки:
В том случае, если на вашем компьютере установлена система с разрядностью x64, то Вам надо использовать вариант установки драйвера и использования принтера через другую систему, которую можно установить в различные бесплатные программы. Таких программ много, но одни из самых популярных: XP Mode и VirtualBox. Как это всё организовать спросите Вы? Вам надо установить одну из программ на свой компьютер, далее в эту программу установить Windows XP или Windows 7 x32. После чего Вы сможете работать со своим принтером через виртуальный Windows, который может работать с этим принтером.
Печать через VirtualBox:
Как печатать в XP Mode:
Источник
Печатаем на любом старом принтере (например, Canon Laser Shot LBP 1120) из 64-разрядной операционной системы Windows через VirtualBox с установленной в ней 32-разрядной Windows: новый способ
Привет, друзья! Я расскажу об одном из множества существующих способов заставить печатать старый принтер Canon Laser Shot LBP 1120 из любой 64-х разрядной операционной системы Windows, хотя официального драйвера для работы в 64-х разрядных системах семейства Windows не существует.
Если быть точным, то мой способ достаточно универсален и позволяет запустить печать на любом старом принтере (не только Canon LBP 1120), не поддерживаемыми новыми операционными системами Windows.
Как обычно, рулит «теория заговора». Разработка драйвера находится в компетенции производителя, так как необходимо знать, как работает принтер. Основная проблема использования старых моделей принтеров состоит в том, что производители, по мнению сообщества Internet, для увеличения продаж новых моделей принтеров перестают разрабатывать драйверы для старых принтеров с поддержкой новых операционных систем Windows, особенно 64-х разрядных. На многие старые принтеры, которые проявили себя надежными и экономичными устройствами для домашнего использования, производителями разработаны драйверы только для 32-х разрядных версий Windows. Если производитель не считает нужным разработать драйвер для своего устройства—это политика производителя, мы повлиять на это не сможем. Поэтому крутимся ужом и находим альтернативу.
Для примера несколько вариантов запуска принтера на который отсутствуют драйверы под современные системы Windows:
Те, кто используют до сих пор 64-х разрядные Windows 7 (Ultimate, Professional и Enterprise) и процессор поддерживает аппаратную виртуализацию—устанавливают XP Mode, устанавливают в нем драйвер для Windows XP и печатают, используя XP Mode, что может позволить использовать старый принтер еще долгое время.
Другие делают принт-сервер на отдельном совместимом компьютере, на базе Raspberry Pi или другом подобном устройстве и печатают по локальной сети.
Третий способ для тех, кто использует только один компьютер и если им нужно печатать на принтерах не поддерживаемыми новыми операционными системами Windows, например из 64-х разрядной Windows, ставят VirtualBox (бесплатная виртуальная машина от Oracle), в ней устанавливают 32-х разрядную версию Windows, например Windows XP как не сильно требовательную к ресурсам, ставят набор драйверов и программ, немного настроек и всё готово, можно печатать.
VirtualBox Oracle 6.0.10, VirtualBox Extension Pack и VBoxGuestAdditions_6.0.10.iso http://download.virtualbox.org/virtualbox/6.0.10/, для установки на Host Windows.
Драйвер принтера HP LaserJet 4100 Series PS (HP Universal Print Driver for Windows PostScript (64-bit)) https://www.support.hp.com/ua-ru/drivers/selfservice/hp-laserjet-4100-printer-series/83436, для установки на Host Windows.
Дистрибутив Windows XP Professional with Service Pack 3
Эмулятор PostScript принтера GPL Ghostscript Windows 32 https://code.google.com/archive/p/ghostscript/downloads, для установки на гостевой Windows XP.
RedMon — Redirection Port Monitor http://www.ghostgum.com.au/software/redmon.htm, для установки на гостевой Windows XP
Все заработало, принтер печатает, но открылся один недостаток: при печати файлов в формате PDF очень долго готовится файл к печати, одна страница заполненная рисунками высокого разрешения преобразовывается в файл для печати размером около 100 Мб, что занимает много времени, порядка 10 минут. Явный недостаток. Устал ждать пока закончится печать. Именно этот недостаток заставил меня искать другой способ печати на принтере Canon Laser Shot LBP-1120 из 64-х разрядной Windows 10.
Представляю метод лишенный вышеуказанного недостатка.
Описываемый далее способ я отношу к третьему типу (по моей классификации), но используется другой набор программного обеспечения. Как уже говорилось – «Если быть точным, то мой способ достаточно универсален и позволяет запустить печать на любом старом принтере (не только Canon LBP 1120), не поддерживаемыми новыми операционными системами Windows». Эта универсальность получена благодаря применению программы PDFCreator! Любые файлы печатаются максимально быстро, без задержки. Спасибо создателям этой замечательной бесплатной программы!
Краткий обзор наших действий для достижения результата: Устанавливаем на гостевой Windows XP драйвер для принтера Canon Laser Shot LBP-1120, устанавливаем на гостевой Windows XP программу PDFCreator в серверном режиме с дополнительным 64-х разрядным драйвером, в результате создается виртуальный принтер PDFCreator, настраиваем PDFCreator, делаем его доступным по сети, устанавливаем этот принтер на хост-машине как сетевой принтер. Все готово, можно печатать!
Для простоты понимания приведу блок-схему обоих методов третьего типа (по моей классификации), сразу и наглядно видно преимущество моего способа в минимальном наборе используемого программного обеспечения и скорости печати «тяжелых» файлов.
Общеизвестный способ
Способ описываемый в этой статье
Итак, приступим к установке и настройке.
Устанавливаем PDFCreator в серверном режиме. Считаем, что у вас уже установлена виртуальная машина VirtualBox Oracle 6.0.10, VirtualBox Extension Pack и VBoxGuestAdditions_6.0.10.iso, установлена Windows XP (я имя ей присвоил-PRINT), установлен драйвер для принтера Canon Laser Shot LBP-1120, настроена сеть между виртуальной машиной и хостом. Рекомендую установить на виртуальной машине сетевую карту Intel PRO/1000 MT Desktop Adapter для гигабитной сети между гостевой Windows XP и хостом.
Скачиваем установочный файл PDFCreator версии 1.5.1 PDFCreator-1_5_1_setup.exe, это самая старшая версия найденная мной с поддержкой Windosw XP и готовым EXE файлом: https://sourceforge.net/projects/pdfcreator/files/PDFCreator/PDFCreator%201.5.1/
Установку производим на гостевой Windows XP, запускаем установочный файл, выбираем «Экспертные настройки»:
Выбираем язык установки:
Принимаем условия соглашения:
Выбираем «Серверная установка»:
Устанавливаем дополнительный драйвер для 64-х разрядных систем:
Выбираем папку для установки:
Выбираем обязательно «выборочную установку», а то дополнительно установятся не нужные нам тул-бары, отказываемся от всех дополнительных компонентов, выбираем нужный язык:
Настраиваем под себя «Дополнительные задачи»:
Снимаем галочки, чтоб не устанавливать антивирус (что-то эта версия 1.5.1 заглючила с русским языком только в этом окне, до нее устанавливал версию 1.5.0, там все было превосходно):
Нажимаем кнопку «Установить»:
Для продолжения настройки создадим пакетный файл, я его назвал print_cleaning.bat с текстом из четырех строк:
rem удаление файлов печати из каталога
2>Nul RD /S/Q «C:Print_tmp»
Этот командный файл понадобится для удаления временных файлов, создаваемых при печати, которые мы будем складывать в папку c:Print_tmp на гостевой Windows XP. Логика работы такова: при печати PDFCreator формирует файл PDF, печатает его на принтере, по окончанию печати запускает файл print_cleaning.bat, который очищает папку C:Print_tmp.
Поместим файл print_cleaning.bat в папку:
C: Program FilesPDFCreatorScriptsRunProgramAfterSaving
Переходим к настройке программы PDFCreator:
Переходим последовательно по пунктам, здесь ничего не меняем:
Следующий пункт без изменений:
Пункт без изменений:
А вот здесь внесем изменения, выберем нужные «галочки» и выберем ранее созданную папку для сохранения:
Следующий важный пункт: открываем закладку «Действие после сохранения», выбираем из выпадающего списка доступный скрипт print_cleaning.bat (мы его ранее поместили в эту папку C: Program FilesPDFCreatorScriptsRunProgramAfterSaving), отмечаем нужные галочки:
Следующий важный пункт: выбираем установленный принтер для печати, ставим галочки и выбираем нужные пункты меню:
На этом настройка PDFCreator закончена.
Делаем принтер PDFCreator доступным по сети и принтером по умолчанию в гостевой системе Windows XP:
Перезагружаем компьютеры, для большей верности, проверяем видимость сетевого принтера из хост-компьютера, устанавливаем 64-разрядный драйвер на сетевой принтер PDFCreator, вдруг если по сети не видно Windows XP, возможный вариант – «Windows 10 при попытке открыть по сети компьютер с ОС Windows XP, скорее всего выдадут ошибку “Windows не может получить доступ, с кодом ошибки 0x80070035”. При этом обе машины друг друга пингуют без проблем. Windows XP работает на протоколе SMBv1, который в Windows 10 отключен по умолчанию из соображений безопасности. Клиентскую часть SMBv1 можно включить в Windows 10 набрав в поиске меню Пуск “Панель управления”, далее Программы -> В разделе “Программы и компоненты” выбрать пункт Включение или отключение компонентов Windows. В открывшемся дереве выбрать “Поддержка общего доступа к файлам SMB 1.0/CIFS”, далее “Клиент SMB 1.0/CIFS”»:
Если Все прошло как надо, система готова к печати:
Ну и в качестве «вишенки на торте» применяем программу VBoxHeadlessTray https://www.toptensoftware.com/vboxheadlesstray/, для установки на хост машине Windows.
Она позволит спрятать запущенную работающую виртуальную машину в один значок на «Панели задач», и при перезагрузке текущая настройка сохранится. Нам не придется заботиться о виртуальной машине при следующем включении компьютера, она будет всегда включена и мгновенно отправлять на печать ваши задания. При установке необходимо указать с какой именно виртуальной машиной нужно работать:
И в результате выглядеть это будет так:
На этом всё, только один недостаток у меня вылез и я его не смог решить — это появление окна при загрузке компьютера с сообщением:
Понятно, что VBoxHeadlessTray не может почему-то найти Log файл, но закрыв это окно все продолжает работать хорошо.
Источник
Официальных драйверов нет, но есть пару способов обхитрить систему Windows x64.
Способ первый: Canon Laser Shot LBP1120 под windows 7, 64 бита.
Скачивая, Вы соглашаетесь с лицензией Canon.
Корпорация Canon не разработала драйвер для принтера Laser Shot LBP 1120 для Windows 7 x64 (как и для Windows 10 x64). Есть ПО для более старых версий ОС на русском.
Затем нужно скачать драйвер на принтер Canon Laser Shot LBP 1120 для Windows 7 или XP (х32) и запустить его для распаковки (будет создана папка с таким же названием).
Подключаем принтер к компьютеру и включаем его, если не определился в виртуальной машине — подключаем это USB-устройство. (Возможно, оно будет отображаться как неизвестное.
Скорее всего новое устройство попросит драйвер. Указываем на распакованную папку и Laser Shot LBP 1120 должен установиться. Пробуем печатать.
Если получилось отпишитесь, пожалуйста, в комментариях. Спасибо.
Печатайте с удовольствием.
- 0″ ng-click=»catSuggester.reacceptAll()» >Cancel
Внимание. Инструкция подходит для связки LBP-810 + Win7x64, а так же для сетевой установки.
Для сетевой установки потребуется скачать всего два архива: redmon (п.3) и Ghostscript (п.2). Читать в этом случае можно начинать с шестой страницы с третьего абзаца “Далее нужно распаковать Redire…”.
На IE и Опере инструкция может отображаться и работать некорректно. Поэтому можнок как вариант сохранить файл как сжатая веб-страница через меню гугл-докс.
Необходимые файлы
- Драйвер принтера Canon Laser Shot LBP-1120www.canon-europe.com
- VirtualBOX. Использовал 4.2.12
- VirtualBox for Windows hosts
- VirtualBox Oracle VM VirtualBox Extension Packwww.virtualbox.orgС VM Ware у меня фокус не удался — USB-порт не захватывался, принтер система не видела, да и предпочитаю по возможности использовать фришный софт.
- GPL Ghostscript Windows 32. Использовал GPL Ghostscript 9.07 Windows 32 bit binary installer
- RedMon — Redirection Port Monitor. Использовал redmon19.zip
Опционально для персонального использования принтера
Примечание
По некоторым рекомендациям для печати на LBP-1120 можно использовать HP Universal PostScript Printer Driver. Ну… скажем так…
Если эксперименты уже были, то лишние драйвера и пакеты драйверов в Win7x64 можно удалить.
- Сначала как устройство из Панель управленияОборудование и звукУстройства и принтеры
Если все сделано — то предварит… ( тьфу ну и ассоциации возникают после всех проведенных экспериментов) … подготовительные работы окончены.
Переходим к водн… следующим процедурам
Сначала необходимо установить VirtualBox и Extension Pack
Затем WinXP в VirtualBox.
Если непонятно что и как можно почитать oszone или гугл в помощь.
В настройках машины VBox я устновил захват порта принтера (думаю что другие модификации 1120 вряд ли были):
В результате на хост-системе у меня получилось
Плюс настроил сеть под себя — у меня роутер для доступа в и-нет. Другие варианты у меня или не сработали, или мне не очень то надо было 🙂
В устройствах VBox нужно установить гостевые дополнения в установленную XP — чтобы потому туда нормально копировать файлы и пользоваться общим буфером обмена. После установки дополнений нужно установить там же в устройствах VBox двунаправленные буфер обмена и драг-н-дроп. Если необходимо — то в ходе этих манипуляций нужно будет перезагрузить гостевую систему.
Далее копируется в виртуалку драйвер принтера под XP, Ghostscript и RedMon (пункты 1, 3, 4 в “Необхомые файлы”)
Установка принтера — стандартная. Можно проверить печать — принтер должен обязательно печатать из гостевой системы. Если не печатает — то что-то было сделано неправильно и все последующие манипуляции в принципе бесполезны. У меня заработал с первого раза без танцев с бубном.
Далее нужно распаковать Redirection Port Monitor в
C:GSredmon19
и запустить setup.exe оттуда же для установки Redirect Port.
Далее установить Ghostscript в каталог. При инстале можно просто убрать “Program Files”
C:GSgs9.07
Следующий этап — создать файл mswinpr.rsp в каталоге C:GS с текстом:
-sDEVICE=mswinpr2
-dNOPAUSE
-dSAFER
-sPAPERSIZE=a4
-sOutputFile=»%printer%CanonLBP1120″
Принтер я переименовывал, чтоб покороче было. Поэтому название принтера проверить в свойствах принтера LBP-1120 и его-то и вписать после %printer%.
Если в первой строке пути Ghostscript другие — поправить тоже. Кстати фонтов у меня нету. Но принтер работает.
Ну финишная прямая — установка принтера: локальный, галку с автоматического определения — снять. Следующее — “Создать новый порт” — Redirect Port. Появится окошко с названием порта: “RPT1:” Менять ничего не нужно. В ходе экспериментов может быть “RPTn:”, где n — целое число. Выбор драйвера принтера — HP LaserJet 4100 Series PS. Он встроен в WinXP, и вполне себе потом закачивается на хост-машине под Win7x64 из и-нета. Имя принтера и общего ресурса можно не менять, описание не заполнять, пробную страницу пока распечатывать бесполезно.
После создания этого виртуального принтера — последний штрих на гостевой системе — редактирование его свойств в закладке порты:
Настрока порта (пути при необходимости поправить):
C:GSgs9.07bingswin32c.exe
@»C:gsmswinpr.rsp» —
минус в строке аргументов ставить обязательно
Подтвердить изменения.
Принтер расшарен, драйвера установлены, порт настроен. Можно попробовать отпечать пробную страницу на виртуальном принтере — по идее redmon должен перенаправить пробную страницу на реальный принтер 1120. Кстати нужно проверять Canon — чтобы он не был в автономном режиме в гостевой системе.
Если станица отпечаталась — осталось установить сетевой принтер HP LaserJet 4100 Series PS в хост-системе на сетевой принтер HPLaserJ, который преварительно расшарен на виртуальной системе.
Драйвера загрузились из центра обновлений Microsoft. Принтер заработал сразу.
Примечание. На работе ставил сетевым LBP-810. Драйвера из центра обновлений почему-то закачались только со втторого раза. Думаю что это не проблема 810-го.
Дополнительно я установил VBoxHeadlessTray (почитать можно на oszone), поскольку постоянная печать мне ну нужна.
Inokentiy87Junior MemberОтветов: 1/1Откуда: УкраинаИнфо • Ответить1 год назад / 01 августа 2018 11:27Michail MichailoffНа Windows 10 почему то так драйвера не устанавливаются, пишет что нет драйверов. Пришлось устанавливать как локальный на порту LPT а потом менять порт на сетевой.
Опишите пожалуйста как Вы меняете порт на сетевой. Заранее спасибо!
Добавление от 01.08.2018 13:40:
Делал все как написал Michail Michailoff но стопорился на последнем шаге с установкой на хост системе драйверов на HP LaserJet 4100 Series PS
Решил вопрос с windows 10 x64 у себя таким образом:-установил на виртуалке с windows 7 x64 принтер HP LaserJet 4100 Series PS-скопировал драйвера на принтер с папки «c:WindowsSystem32DriverStoreFileRepository» (чтобы найти нужные драйвера из всех отсортировал их по дате)-поместил драйвера на ПК с windows 10 и при утсановке принтера, когда предлагает выбрать драйвер на ПК, выбрал папку с драйверами с windows 7Michail MichailoffMemberОтветов: 4/25Откуда: Россия, СтерлитамакИнфо • Ответить1 год назад / 05 августа 2018 09:14Inokentiy87:Опишите пожалуйста как Вы меняете порт на сетевой. Заранее спасибо!Ого, столько мудрить, знаете толк в извращениях
Вот так потом все это выглядит:http://linkme.ufanet.ru/images/bcf5f8df4c8a78daff75e8c653c282e1.png
Заметил одну особенность Windows 10 LTSB. Не знаю есть ли она на обычной десятке, так как ее не использую. После каких нибудь обновлений системы у меня пропадают драйвера на сканер Epson Perfection 3490 Photo и при запущенной в Virtualbox Windows XP драйвера на usb устроства относящиеся к Virtualbox. Соответственно принтера и сканер не работают. В Диспетчере устройств делаем обновить драйвера и указываем на каталоги для Virtualbox «Program Files», для сканера «Program Files (x86)» и драйвера восстанавливаются. Почему они теряются и как это изменить пока не нашел. Может кто то знает как это решить?