Не работает переходник usb lpt
За время существования этого сайта мне довольно часто задают один и тот же вопрос, который можно описать примерно следующим образом:
«У меня в компьютере (ноутбуке) нет LPT порта. Купил себе переходник USB-LPT. Установил. Ваши примеры не работают. Почему?»
В итоге решил описать этот вопрос подробнее и написать статью. Да, действительно, сейчас стационарных PC с LPT портом нужно поискать (т.е. далеко не каждая «мать» сейчас идет в комплекте с LPT портом). Про ноутбуки вообще говорить не приходится. Современные модели LPT порт вообще не применяют. Только очень дорогие и специализированные машины, типа DELL, могут «похвастаться» наличием этого порта.
Также, сейчас в продаже можно свободно приобрести вот такие устройства, называемые LPT-USB переходниками.
Инстркуция гласит что этот прибор полностью совместим с различными принтерами, сканерами и т.д. Подключаем переходник к USB порту, устанавливаем драйвера. Смотрим диспетчер устройств. Скорее всего в ветке «Порты LPT/COM» ни чего не появилось (хотя бывают исключения). Скорее всего повится либо новая ветка со странным устройством с именем, например, LPT1USB либо в разделе USB устройств появится странная запись о «USB устройстве поддержки LPT принтеров». Пробуем запустить какой-нибудь пример из статей выше. И ни тут то было — ни чего не работает. Пробуем адрес порта LPT1 — ни чего не работает. Пробуем адресс порта LPT2. К сожалению, такая модернизация адреса в запросах тоже ни к чему не приводит — светодиоды как не загорались так и не загораются.
Чтобы разобраться в чем тут дело давайте вернемся на время к обычному «родному железному» LPT порту — LPT1, который из материнской платы «торчит». Зайдем в диспетчер устройств, заглянем в свойства нашего порта. Там мы увидим вот такую картину. Отлично видно, что система прописала базовый адрес ввода-вывода 0x378 и запрос на прерывание номер 7. Все правильно.
Теперь погрузимся на уровень программирования. В примерах статей выше мы минуя систему защиты ввода-вывода легальными и нелегальными способами напрямую общались с реально существующим регистром ввода-вывода, которому присвоен адрес 0x378. Тут все понятно. Незабудем также о том, что Windows рекомендует работать с LPT портом используя вызовы API функций — OpenFile(), WriteFile(), ReadFile(). Приложения, которые используют LPT порт для обмена информацией по парралельному интерфейсу с внешними устройствами (принтер, например) так и делает. У него нет задачи установить на каком-либо бите регистра Data лигическую еденицу. Ему (приложению) нужно просто отправить пакет данных, а кто там будет какие линиии при этом «дергать» и считывать его не сильно интересует. Эти операции проводит системный драйвер LPT порта. Он подгружается в память при загрузке ОС. Когда мы вызываем функцию OpenFile(«LPT1», . ) мы по сути дела обращаемся к драйверу порта, который имеет символическое имя LPT1. Драйвер делает кучу всякой работы — запрещает доступ к порту другим процессам, настраивает параметры протокола передачи данных, собственно реализует эту передачу, но в конечном итоге все это сводится к прямому управлению отдельными битами LPT порта на уровне ядра ОС.
А теперь попробуем поработать с нашим переходником USB-LPT. Начнем как не покажется странным, с API вызовов. Запускаем OpenFile(«LPT1USB», . ) (смотря как этот переходник диспетчере устройств назовется, если вообще назовется). Что при этом происходит? Дело в том, что теперь мы будем работать не с драйвером LPT порта ОС а с драйвером этого переходника! Вот в чем фокус то! Он принимает пакет данных от нашего пользовательского приложения и в нужном формате через систмный драйвер USB отсылает этот пакет на USB контроллер, «ноги» которого торчат из внешней LPT розетки на проводе (ну это так, «грубое объяснение»). Видете, здесь нет ни какого намека на обращение к регистрам по адресам 0x378(0x278), т.к. их просто нет!
Поэтому, когда Вы патаетесь запускать примеры данного раздела и обращаться напрямую по адресам 0x378 (если этот «псевдо порт» назвался LPT1USB или что-то в этом духе), 0x278 (LPT2_. ) и т.д. ни чего не происходит. Их просто нет! А вот программа котороая работает через API вызовы ни чего не заметит — вся низкоуровневая работа делается драйвером, а каким драйвером и куда пойдут пакеты данных (в реальный порт ввода-вывода или в USB хост-контроллер) — приложению неважно! Попробуйте открыть свойства «псевдопорта» в диспетчере устройств. Нет вкладки с ресурсами? Есть, но там каие-то неадекватные значения или вкладка деактивировнна? В том то и дело.
ИТОГО: С вероятностью 99% купленный Вами переходник USB-LPT не сможет обеспечить Вам работу на низком уровне с пинами этого порта.
Почему 99%? Потомоу что есть самодельниые USB-LPT переходники, которые определяются Windows как полноценный порт LPT1 и ему присваивается вполне обыденный адрес 0x378. Обращения на прямую к пинам порта проходят успешно! Однако это очень нестандартная конструкция (в первую очередь драйвер, который занимается перехватом обращений по базовому адресау порта LPT1). Все это не очень надежно (обновление ОС — и конструкция теряет работоспосбность) и для использования рекомендовано быть может только с натяжкой.
И что тагда делать?
Как ни покажется странным — решение ЕСТЬ. Вы всегда сможете добавить настоящий LPT порт в свой настольный компьютер или ноутбук. Во-первых, забудте сразу о переходниках с интерфейсом USB. Для решения этой задачи необходимо приробрести PCI-LPT переходник для настольного PC (необходимо наличие свободного PCI слота) или PCMCIA-LPT переходник для ноутбука (см. фото ниже).
В случае использования этих устройств ни каких проблем нет. Определяются они как настоящие «родные» LPT порты. Соответствующая запись будет добавлена в диспетчер устройств во вклдаку «LPT/COM порты». Прямое обращение к пинам порта будет работать.
Источник
Как подключить старый принтер LPT к USB
Проблема не нова, но постоянно появляются пользователи, с ней не справляющиеся. При обновлении парка ПК дома или на фирме или при переходе на ноутбук у пользователя возникает проблема: как же подключить старый принтер? На новой технике LPT портов нет, одни USB. Почитали мы форумы на эту тему и от души повеселились. Каких только вариантов не предлагают, а оно у них не работает. На самом деле всё просто донельзя. Давайте рассмотрим варианты, которые предлагались, — и в конце воспользуемся нашим.
А началось всё с того, что буквально вчера достался мне бесплатно старый добрый лазерный HP 6L . И причём абсолютно случайно. Иду я домой, а он бедный стоит одиноко возле жбана и дожидается, когда его мусорник вывезет. И причём в идеальном состоянии дожидается, как оказалось, даже картридж полный. Жалко мне стало беднягу. Машинка-то хорошая, хоть и медленная. Дай думаю своему малому для школы подцеплю, для рефератов подойдёт. А ведь сколько таких аппаратов, которые по выносливости способны пережить ещё не одно поколение современных принтеров, без дела пылится и выкидывается пользователями и фирмами с тупыми админами только потому, что они считают невозможным их подключение к современному ПК или ноутбуку и сами принтеры медленными? И зря. На старых принтерах картриджи не чипованные, и их можно перезаправлять и восстанавливать сколько хочешь — в отличии от современных. Да и тонера влазит больше (хватает на дольше).
Но это только начало истории. Малому своему обновил аппарат недавно и специально под современные игры, так что как Вы понимаете оборудование — самое современное и операционка Windows 7 на борту. Конечно же, никаких портов LPT и в помине нет. Хотя знаем как цеплять, решили почитать, что народ на форумах делать пробует и какими методами пользуется. И вот тут, полазив по нескольким десятков форумов, долго катались со смеху. Ни на одном самое простое и дешёвое подключение не озвучено. Чего только народ не предлагает бедным мученикам со старой техникой. И поставить дома старый дешёвый компьютер с LPT портом в качестве сервера (в русских квартирах как раз много места и подходящий дизайн для старого ненужного ПК) . И, купить принтсервер коробку (1200 руб самая дешёвая и не факт, что состыкуется дешёвая). И всунуть контроллер LPT в ПК (сам контроллер 350 руб + кабель). Контроллеры такого типа, мягко говоря, не всегда стыкуются даже не с самым современным ПК, к тому же в ноут его не вставишь. И разыскивают спец драйвера для переходников под Windows Vista и 7 (которых не существует даже на официальных сайтах производителя). И списываются со спецами из HP, которые разводят руками и не знают как состыковать по кабелю технику своего же производства.
На самом деле старые модели известных брэндов прекрасно стыкуются с современными ПК на Vista и 7 по самому обычному кабелю-переходнику LPT-USB (300 руб примерно). Драйвера старых известных брэндов уже встроены в современные операционные системы и они опознаются и устанавливаются автоматически даже на 64 битные версии, как только Вы подключите оборудование. И конечно оно у Вас печатать не будет, если Вы полезете на форумы и поначитаетесь всякой мути. Нужно произвести всего лишь одну маленькую настройку в свойствах принтера (подходит для большинства старых брэндов). Если ВЫ подцепили кабель и оборудование определилось, то всё у Вас получится. Единственное, если Вы взяли левый кабель, то и определяться будет нечему. Несмотря на высокую цену картриджей для старых моделей принтеров, они многократно окупят себя за счёт перезаправки по сравнению с современными и, скорее всего, переживут новый купленный принтер. А теперь о деле.
Заходим «Пуск», пункт «Настройка», пункт «Принтеры». В появившемся окне находим значок Вашего установившегося принтера. Становимся на него курсором мыши и жмём правую клавишу мыши. В появившемся меню щёлкаем по пункту «Свойства». В появившемся окне «Свойства принтера» переходим на закладку «Дополнительно». Находим кнопку «Обработчик печати» и жмём. В появившемся окне «Обработчик заданий печати» в поле «Тип данных по умолчанию» выбираем вариант «TEXT”. Жмём везде «ОК» и «Применить» и наслаждаемся печатью.
Имейте ввиду, что Вам может быть отказано в изменении параметров, если Вы насовали заданий в принтер. Сначала нужно очистить очередь печати. Для этого щёлкаем перед началом операций по значку принтера и в появившемся окне щелкаем меню «Принтер», пункт «Очистить очередь печати» и ждём, пока все задания удалятся. Для ускорения очистки памяти можно выключить питание принтера и перезагрузить комп перед продолжением настройки.
Источник
cnc-club.ru
Статьи, обзоры, цены на станки и комплектующие.
CNC 3040, не работает USB > LPT переходник.
Re: CNC 3040 Z-DQ
Сообщение ЧПУ-шник » 03 дек 2017, 18:19
Re: CNC 3040 Z-DQ
Сообщение ЧПУ-шник » 03 дек 2017, 22:06
В общем все эти переходники полная чушь, это не родные не железные LPT. Тот что бы в комплекте похож на настоящий LPT но у меня нет к нему драйвера. Посмотрим что скажет китаец. В общем походу придётся на абдурину переходить и GRBLControl. Кончно Mach3 навороченная программа но нужна ли она такая навороченая? Есть ли в ней смысл?
Куплен был вот этот станок (ссылки форум выпиливает). По прибытию я разочаровался. Есть пластик в станке. Это плохо. Жёсткости нет вообще, пластилиновый. У меня наш советский токаный станок есть TH-01 так вот это станок всем станкам китайским пластилиновым станок.
Ладно видел в ютубе что алюминий режут, значит за много проходов и с малой подачей будет резать долго но будет.
Ещё в нём нет концевиков, придётся добавлять. В комплект (явно перепутали, я и не заказывал) вложили токарный патрон с шаговиком и заднюю бабку. То есть можно фрезеровать кругляки тоже за одно. Но этот мотор подключать тоже некуда.
Я пока не приложу ума как с этим всем поступить. Хочу всё запустить и начать что то делать но вот застопорился на подключении. Даже если я найду комп с настоящим ЛПТ тоя не смогу токарный патрон всё равно подключить. Просто некуда. На плате нет лишних разъёмов. Что скажите? Вероятно надо покупать другие мозги всё равно.
Прошёл час. )))
Заказал STB4100 плату. Драйвера оставлю родные, просто подпаяюсь к выводам. Покрошу дорожки, и выкину некоторые микросхемы. Даташит нашел на драйвер, у меня Toshiba драйвера стоят TB6560AHQ Только нужен 4-й драйвер для токарной приставки. Спаяю сам.
Ну вот и решено. Жду теперь USB плату и продолжу.
Источник
shnurovik
shnurovik
Сегодня стационарных PC с LPT портом практически не существует. В современных моделях ноутбуков LPT порты вообще не ставят (за исключением, разве что, дорогих и специализированных машин), зато в продаже имеются недорогие устройства, именуемые LPT-USB переходниками.
Инструкция гласит, что этот прибор полностью совместим с различными принтерами, сканерами и т.д. Подключаем переходник к USB порту, устанавливаем драйвера, смотрим диспетчер устройств: скорее всего в ветке «Порты LPT/COM» ничего не появится (хотя бывают исключения). Зато возникнет либо новая ветка со странным устройством с именем, например, LPT1USB, либо в разделе USB устройств появится странная запись о «USB устройстве поддержки LPT принтеров». Пробуем запустить какой-нибудь пример: ничего не работает. Пробуем адрес порта LPT1: ничего не работает. Пробуем адрес порта LPT2: к сожалению, такая модернизация адреса в запросах тоже ни к чему не приводит – светодиоды как не загорались так и не загораются.
Чтобы разобраться в чем тут дело, давайте вернемся на время к обычному «родному железному» LPT порту – LPT1, который торчит из материнской платы. Зайдем в диспетчер устройств, заглянем в свойства нашего порта: система прописала базовый адрес ввода-вывода 0×378 и запрос на прерывание номер 7. Все правильно.
Теперь погрузимся на уровень программирования. Windows рекомендует работать с LPT портом, используя вызовы API функций: OpenFile(), WriteFile(), ReadFile(). Приложения, которые используют LPT порт для обмена информацией по паралельному интерфейсу с внешними устройствами (принтер, например), так и делают. У них нет задачи установить на каком-либо бите регистра Data логическую единицу, им нужно просто отправить пакет данных, а кто там будет какие линии при этом дергать и считывать, их не сильно интересует – эти операции проводит системный драйвер LPT порта. Он подгружается в память при загрузке ОС. Когда мы вызываем функцию OpenFile(«LPT1″, ….) мы по сути дела обращаемся к драйверу порта, который имеет символическое имя LPT1. Драйвер делает кучу всякой работы – запрещает доступ к порту другим процессам, настраивает параметры протокола передачи данных, реализует эту передачу, но все это сводится к прямому управлению отдельными битами LPT порта на уровне ядра ОС.
А теперь попробуем поработать с нашим переходником USB-LPT. Начнем с API вызовов. Запускаем OpenFile(«LPT1USB», …) (смотря как этот переходник будет называться в диспетчере устройств, если вообще будет). Что при этом происходит? Дело в том, что теперь мы будем работать не с драйвером LPT порта ОС а с драйвером этого переходника! Он принимает пакет данных от нашего пользовательского приложения и в нужном формате через системный драйвер USB отсылает этот пакет на USB контроллер, «ноги» которого, грубо говоря, торчат из внешней LPT розетки на проводе. То есть нет никакого обращения к регистрам по адресам 0×378(0×278), т.к. их просто нет!
Поэтому, когда вы пытаетесь запускать примеры данного раздела и обращаться напрямую по адресам 0×378 (если этот «псевдопорт» назвался LPT1USB или что-то в этом духе), 0×278 (LPT2_…) и т.д., ничего не происходит т.к. их просто нет! А вот программа, которая работает через API вызовы, ничего не заметит – вся низкоуровневая работа делается драйвером, а каким драйвером и куда пойдут пакеты данных (в реальный порт ввода-вывода или в USB хост-контроллер) – приложению не важно! Попробуйте открыть свойства «псевдопорта» в диспетчере устройств – что, нет вкладки с ресурсами? Или есть, но там какие-то бредовые значения или вкладка деактивирована? То-то и оно.
ИТОГО: С вероятностью 99% купленный вами переходник USB-LPT не сможет обеспечить Вам работу на низком уровне с пинами этого порта.
Почему 99%? Потому что есть самодельные USB-LPT переходники, которые определяются Windows как полноценный порт LPT1, и ему присваивается вполне обыденный адрес 0×378. Обращения напрямую к пинам порта проходят успешно! Однако это очень нестандартная конструкция (в первую очередь, драйвер, который занимается перехватом обращений по базовому адресу порта LPT1). Все это не надежно и не рекомендуется к использованию.
И что тогда делать?
Решение ЕСТЬ! Вы всегда сможете добавить настоящий LPT порт в свой настольный компьютер или ноутбук. Во-первых, забудьте сразу о переходниках с интерфейсом USB. Для решения этой задачи необходимо приобрести PCI-LPT переходник для настольного PC (необходимо наличие свободного PCI слота) или PCMCIA-LPT переходник для ноутбука (см. фото ниже).
При использовании этих устройств никаких проблем нет. Они определяются как настоящие, «родные» LPT порты. Соответствующая запись будет добавлена в диспетчер устройств во вкладку «LPT/COM порты».
Originally published at Блог проекта «Шнуровик». You can comment here or there.
Источник