Pull to refresh

Comments 64

У китайских noname переходников, что я находил, всегда была какая-то проблема. Бага находилась не сразу, но через неделю переходник отправлялся в мусорку. Прямо всех подробностей проблем не помню, но часто встречалась бага с удержанием кнопки. При удержании кнопки сканкод переставал отправляться через 2-5 секунд. Это и в игры не поиграть, и с комбинацией клавиш получал проблемы.
Заказал однажды ATEN переходник и закрыл вопрос с этой угадайкой.

Подскажите, пожалуйста, точную модель.

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

Так вы говорите про Aten - я про него и спрашиваю.
Это Aten UC100KMA или другой?

будет смешно там очень может быть такая же платка. aten они хотя типа промышленные, но мой дорогущий kvm от них - глючнее китайских и прошивкой не лечиться

Имею Aten CS782DP дома, а на работу искали аналогичный, но по безналу. Через посредников перебрали китайские варианты и они все (в сравнении) даже не блико к Aten. Одно только переключение по 5-6 секунд чего стоит, уже не говорю про проблемы с 4к.

уж не такой ли у меня - надо поглядятеть.

вот этот который почти стабильный с портом при этом ps/2, лот уже апгредили до 4К https://aliexpress.ru/item/32828268130.html

который брал под 4К под леблом Unnlink уже отсутвует в продаже, тодже как бы ниче работал а потом стал глючить

проблемка и aten и этих в том что начинались глюки при каких то определенных комбинациях компов разных

В моем CS782DP прошивка постоянно обновляется и поддержка хорошая, посмотрите обновления у вашего.

уже посмотрел и прошил давно без толку

А, тогда да, он.

Да, тоже встретил проблему при удержании кнопки с ноунейм переходником. Что-то с консоли настроить ещё подойдёт, а играть комфортно не получится.

"Пишите в комментариях, пользовались ли вы таким переходником и как он вам?"

Мы ещё свои мыши для COM-порта не до дыр протёрли, лет 5 ещё побегают, так что эти ваши новомодные PS/2 пока подождут)

Альтернативное:

Пишите в комментариях, пользовались ли вы таким переходником и как он вам?

Мы такие переходники сами пачками на МК делали.

Мы ещё свои мыши для COM-порта не до дыр протёрли, лет 5 ещё побегают, так что эти ваши новомодные PS/2 пока подождут)

И, кстати, СОМ в PS/2 тоже.

У меня к 486 мышь usb (razer вроде) подключена через цепочку usb->ps/2->com. И более-менее работает. Беспроводного логитека таким образом не получилось подключить, на первом же этапе ломается.

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

моя первая беспроводная оптическая мышь работала на обычной поверхности но плоховато но до сих пор рабочая вроде

Оптические мыши, которые смогли работать без специально обученного коврика, были революцией в мышестроении. А мыши с ковриками были достаточно редки из-за цены и общего неудобства. Но у меня есть такая, правда из условно новых запасов, а не из девяностых сохранившаяся.

Поставил родителям на ноутбук и мышь и клавиатуру PS/2 через такой вот переходник. Лет пять назад. Ничего, пока работает всё нормально. Правда, они (родители) не особо требовательные и я тоже ничего не тестировал. Работает и работает...

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

Есть проблема с kvm-переключателями. При перезагрузке клавиатура не определяется вовремя и невозможно зайти в биос (после загрузки системы всё обычно работает, но тоже не всегда). Кстати похожая проблема в комбинации с kvm-переключателями была и со всякими переходниками dp-dvi,hdmi-dvi и т.п.

Microsoft Natural MultiMedia Keyboard 2003 года выпуска
Microsoft Natural MultiMedia Keyboard 2003 года выпуска

Это моя клавиатура, конкретно ей больше 18 лет. Из особенностей, PS/2 порты на новых материках(где они ещё есть) работают странно (например, при холодном пуске они не определяют клавиатуру), приходится пользоваться переходниками, а с ними как повезёт, то нормально целый день отработают, то баг с западанием шифта после получаса работы. Всё пытаюсь найти нормальный.

У меня была такая. Удобная, но не пережила написания на ней кандидатской диссертации, учебника, статей и кучи кода. Шифты стало заедать. :-(

Капелька WD-40 раз в пять лет решает проблему

Во-первых, как-то стремно лить WD-40 на пластик. Для пластика другие смазки есть, но я заморачиваться не стал, ибо пункт два. А пункт два — появилось подрастающее поколение, которое тянуло руки куда надо и куда не надо. Поэтому купил беспроводной лоджитековский комплект с клавиатурой примерно такой же формы, и убирал его на высокую полку. Этот комплект, кстати, до сих пор жив и работает, он из тех времен, когда «Лоджитек» был еще торт.

очень интересный материал, но все таки эти шутковины - аварийная замена. у меня гемберд (внутри вроде микросхема под каплей) давно давно лежит в качестве запаски (как и комп с офф. поддержкой вин98 и родными ps/2). его неплохо бы термоклеем залить целиком так как кабель тонкий и явно настроен на перетираение

Мало кто знает, но USB-мышь не может использовать канал выше, чем USB 1.0. Это прописано в спецификации USB. Для того, чтобы мышка использовала канал USB 2.0 (High-Speed) необходимо установить специальный драйвер (от производителя мыши).

это где такое написано?

Vendor ID : 0x046D (Logitech Inc.)
Product ID : 0xC52F
USB Version : 2.0 -> but Device is Full-Speed only
Port maximum Speed : High-Speed
Device maximum Speed : Full-Speed
Device Connection Speed : Full-Speed

Как в виндовс, так и в линуксах не просит никакого драйвера. В телевизоре тоже норм.

Device maximum Speed : Full-Speed

Device Connection Speed : Full-Speed

Это прописано в HID-протоколе. Он умеет работать только с двумя режимами:

  • Low Speed – 6 Кбит/с, 125 Гц.

  • Full Speed – 512 Кбит/с, 1000 Гц.

На большее он не способен. Но т.к. USB 2.0 унаследовал эти два режима и добавил к ним новый:

  • High-Speed – 480 Мбит/с, 8000 Гц.

То принято считать, что режим «Full Speed» принадлежит USB 2.0.
У вас подключено устройство, которое работает в режиме Full Speed.

Пользуюсь, чаще всего для клавиатур. Для мышей пореже. В основном на стендах и в серверных стойках, где квм только ps/2, а сервера новые уже с usb идут.

Пробовал пользоваться, в итоге мышка работала отврато, причем это была самая обычная гениусовская нетскрол+

Решение было просто замена мыши на USB.

Есть ли обратные переходники задёшево? Периодически нужно подключить обычные USB-клавиатуру и мышь в компьютеры с PS/2.

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

Для мышей хуже, только пробовать.

Как-тодавно - разломал зелёный переходник USB -> PS/2. Там было тупо 4 провода. Может есть обратная совместимость?

Есть мыши, поддерживающие оба протокола и выбирающие правильный при подключении. К ним переходник обычно в комплекте шел как оаз такой, на 4 провода.

А те, что могут работать только по одному протоколу через такой переходник не заработают.

Что интересно, доже многие современные USB мыши сохраняют совместимость с PS/2 и могут работать через такой простой переходник.

Зеленый — это лоджитековский? Их мыши умели по одним проводам работать и как PS/2, и как USB, надо было только физически воткнуть в нужную «дырку», для чего такой примитивный переходник и сделали. Мыши других производителей таким свойством вроде как не обладали.

Есть ли обратные переходники задёшево? Периодически нужно подключить обычные USB-клавиатуру и мышь в компьютеры с PS/2.

Поддержка «USB + PS/2» должна быть прописана в характеристиках самого устройства.
Например, на OZON в продаже есть и клавиатуры, и мыши, в которых указано:

  • Интерфейс подключения: USB, PS/2.

Цена от 500 руб.

В комплекте идет стандартный переходник:

Если поддержка двух интерфейсов «USB + PS/2» в устройстве не заявлена, то этот переходник работать не будет.

некрофилы....

мой изврат оригинальнее...

все демо стенды с NVR и DVR леплю с тачпадами от древних ноутов или трекболами от хз чего(на алике такого много). Пользоваться намного удобнее чем airmouse и китайские реги замечально этот hid понимают, в отличие от контроллеров тачскринов.

А это точно безопасно?

У меня такой-же переходник, как в обзоре и я тоже столкнулся с мышиной проблемой. Мышь древняя с шариком кажется Genius, на некоторых компах работала нормально, а на других дёргалась. В принципе мне было принципиально только клавиатуру подключить Multimedia Microsoft (эргономичная, изогнутая), так что мыш с шариком в стол, а пользуюсь обычной usb. Шариковую сохранил только потому, что в одной из контор, где я работал оптические мыши дохли примерно за 2 недели то двигаться переставали, то кнопки ломались...

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

При этом скрин от старого доброго WireShark`а. Да, я понимаю, что вроде как файл формировался через USBPcap, а затем открывался типа дамп в Wireshark`e.... но давайте будем честны, USBPcap ставится модулем в Wireshark и захват не обязательно делать с консоли и потом скармиливать в Wireshark. Путь намного короче: открываем Wireshark снимаем дамп и видим сразу его расшифровку. И дааа....если уж используете какое-то ПО, то хотя бы напишите, что это Wireshark, а не просто "Получаем файл с трафиком".

USBPcap ставится модулем в Wireshark

Я, конечно, давно не переустанавливал Акулу, но насколько я помню, то там при установке если установить галку напротив "Установить USBPCap" то вызывается отдельная инсталяция этого самого USBPcap. И если он в системе уже есть, то можно не устанавливать, подхватится уже установленный (но при установке может сказать, что версия старая и давайте обновим). А в остальном согласен - захватывать можно прямо в Акуле.

давайте будем честны, USBPcap ставится модулем в Wireshark.

Я установил Wireshark версию «Portable».
USBPcap там не было. Может я что-то сделал не так.
USBPcap я ставил отдельно.

если уж используете какое-то ПО, то хотя бы напишите, что это Wireshark.

В описании программы USBPcap уже указано, что файл с трафиком можно открыть в программе Wireshark.
Поэтому для меня самый короткий путь – это установить USBPcap и следовать инструкции.

Самая классная фишка PS/2 - запуск компа с клавиатуры. Ни через один переходник добиться этого с USB-клавиатуры не вышло. Может кто-то сталкивался и решил такую проблему?

Для работы этого функционала следует разрешить пробуждение компьютера от USB в разделе ACPI/Питание BIOS. Но будьте готовы к тому, что ваш компьютер будет будить не только кнопка клавиатуры, а, например, камера или ещё какое устройство.

А, забыл добавить: при этом надо убедиться, что USB порт, куда вставлена клавиатура через переходник, запитана от дежурного +5VSB. У некоторых материнских плат некоторые (а иногда - все) гнёзда постоянно сидят на нём, у некоторых материнских плат у каждой пары гнёзд (даже у хидера на передние разъёмы) переключается джамперами. Следует смотреть в мануале на материнку. Иначе по понятной причине тоже ничего работать не будет. Примеры под спойлером.

Hidden text

Кстати, не следует увлекаться с переключением USB гнёзд на дежурку, по причине ограниченности мощности последнего. Более того, при старении БП он первый уходит в разнос, от чего многие устройства перестают работать в USB гнёздах ну или если что-то жрущее вроде HDD подключить. Переключайте только те, что реально нужны. Но напоминаю: есть странные материнки, где гнёзда на дежурке и переключить нельзя. У меня была такая материнка на G31.

Большое спасибо за развернутый ответ!

Есть такой переходник, прямо как на КДПВ. Подключаю через него клавиатуру от старого брендового ПК Compaq, которая по ощущениям очень нравится.

Там ещё есть нюанс, что дополнительные клавиши, программируемые через софт Compaq, при подключении клавы через переходник, не работают.

У меня такой переходник, noname, работает стабильно, с клавиатурой. Мышь ps/2 не подключал, да и нету у меня ее. Схема подключения более сложная, тк переходник втыкается в USB 3 хаб на мониторе, а он, в свою очередь, в компьютер.

У меня уже десятилетиями безпроблемно работает такой переходник с воткнутой в него оригинальной Model M 1984-го года.

Все мои мышки на usb ls работают на 1000 hz. То есть отвечают с новой позицией на каждый запрос от хоста. Возможно ограничение у Вас именно в ОС

Многие путают частоту опроса шины физическим контроллером (пакет SOF) и частоту поллинга системой драйвера. То, что указано в статье относится к SOF. При этом ОС может поллить драйвер с любой частотой, физический интерфейс от этого быстрее не станет. Почему так сильно отличаются частоты опроса шины? Ну, оно зависит от битрейта же. Ниже битрейт - медленнее опрос, чтобы между ними влезло определённое количество информации.

Что касается ваших мышек, если они действительно выдают обновление каждый SOF на FS так может быть они просто FS устройства? Это, вроде, не возбраняется для HID класса, а многие игровые именно такие и есть, даже если они без дополнительных кнопок.

bInterval в HID UsbEndPointDescriptor ( ответ устройства на на запрос ) и для LS и FS это интервал опроса устройства в миллисекундах. Почти у всех LS мышек и клавиатур он 10mS . Хост может опрашивать реже или чаще , но не факт, что ему ответят. Физических ограничений для 1mS интервала опроса LS interrupt HID endpoint нет. LS interrupt может читать с устройства 1000 пакетов по 8 байт в секунду. 125 Hz - это рекомендация микрософта, которой следуют многие производители.

Я проверял: Поговорим с мышами? Или Soft USB HOST на Esp32

Возможно, я ошибаюсь, но HID-протокол строго регламентирован, и HID-мышь – это простейшее устройство HID-протокола.

HID-мышь работает только в одну сторону. Она передает данные на хост. Она не умеет получать данные от хоста. Все переданные ей пакеты – игнорируются.

Опрашивать мышку на какой-либо частоте вы не можете. Только мышка решает, на какой частоте скидывать вам пакеты на хост.

Если в вашей мышки установлен микроконтроллер

  • USB 1.0 Full Speed – 1000 Гц.

То мышка может скидывать пакеты на хост с частотой 1000 Гц.

Для переключения на другие частоты вам потребуется либо драйвер от производителя:

Либо вот такой переключатель (на корпусе мышки):

Возможно, в вашей мышки установлен микроконтроллер, который никак не настраивается. Тогда, да, он может быть зафиксирован на частоту:
125, 250, 500, 1000 Гц.

Для того, чтобы определить частоту работы вашей мышки (реальную, а не теоретическую) достаточно всего лишь открыть вот эту ссылку.

USB устройство вообще ничего не может инициировать(кроме сброса шины). Оно только отвечает на запросы хоста. Хост передает запрос на "IN" - device отвечает данными или отказом в передаче. Кроме того все девайсы принимают сигналы и настройки c EP0

Есть ещё один уровень, про который я не сказал: частота опроса самого сенсора контроллером в мышке. Вероятно, те примеры выше относятся именно к нему. Это не джойпад, кнопки которого можно опрашивать как тебе угодно часто, тут есть сенсор смещения и у него есть время готовности данных. Таким образом, даже если переназначить заявленную в дескрипторе частоту опроса на уровне протокола HID и физики USB, то сенсор разогнать может не получиться. Просто на ваши учащённые запросы контроллер будет дублировать последние считанные с сенсора данные, продолжая опрашивать сам сенсор с установленной производителем частотой.

Так и есть. Но это не ограничение протокола USB LS , а реализация конкретного контроллера. И кстати 10mS bInterval это тупо копипаста с примера на дескриптор из:

Device Class Definition
for Human Interface
Devices (HID)
Firmware Specification—5/27/01
Version 1.11

Видимо , что 8 mS рекомендовано MS изза очень старых USB хабов , чтобы на забить шину несколькими устройствами.

Эксперимент.

Я запустил программу USBPcap, но никак не взаимодействовал с HID-устройствами.
Я не шевелил мышкой, не нажимал никаких кнопок, ничего не делал. И вот что я получил:

Перед вами весь USB-трафик, который прошел за 63 секунды, между моим переходником и компьютером.

При подключении переходник установил интервал опроса 8 мс.

  • bInterval: 8

Код назначенных устройств:

  • 2.1.0 – Составное USB-устройство

  • 2.1.1 – HID-клавиатура

  • 2.1.2 – HID-мышь.

Трафик пустой.

Единственное, что есть в трафике, это на 63-й секунде я нажал кнопку «q» на клавиатуре, чтобы закрыть программу USBPcap.
Это нажатие было зафиксировано. Больше ничего.

Вопрос к вам, почему трафик пустой? Где вот эти самые опросы, как вы говорите, которые хост посылает на мышку и клавиатуру каждые 1 мс? Их нет в трафике.

Эксперимент №2.

Я запустил программу USBPcap:

  • На 7-ой секунде я нажал на кнопку мышки.

  • На 44-й секунде я немного пошевелил мышкой.

  • На 179-й секунде я нажал кнопку «q».

Я вижу, что как только HID-устройство перестает скидывать данные на хост, то хост о нём тут же забывает.
Я не вижу никаких опросов со стороны хоста.

За 180 секунд их здесь должно быть 20 тысяч опросов со стороны хоста. Их нет.

Ваш анализатор их игнорирует именно потому что их будет много

Посмотрите осциллографом например.

  • IN and OUT tokens contain a seven-bit device number and four-bit function number (for multifunction devices) and command the device to transmit DATAx packets, or receive the following DATAx packets, respectively.

    • IN token expects a response from a device. The response may be a NAK or STALL response or a DATAx frame. In the latter case, the host issues an ACK handshake if appropriate.

    • OUT token is followed immediately by a DATAx frame. The device responds with ACK, NAK, NYET, or STALL, as appropriate.

  • SETUP operates much like an OUT token, but is used for initial device setup. It is followed by an eight-byte DATA0 frame with a standardized format.

Выделено мной

Это отсюда , почитайте, там много интересного :)

Подтвержу ваши слова практикой. У меня есть вот такой аппаратный USB сниффер: https://electronix.ru/forum/topic/169431-posovetuyte-po-apparatnomu-usb-sniferu/#comment-1866918

Я включил в него мышу с беспроводным донглом, вот что я получил:

Донгл подключился на FS, установил bInterval: 2, и притих. NAKи сыпятся каждый SOF шины, если двигать то пакеты летят чаще (но не каждый запрос получает ACK):

Если интересно посмотреть самому детально, то лог можно взять тут: https://cloud.mail.ru/public/q2nn/xqNm6Y4aS А программу тут: https://www.usbpacketviewer.com/downloads/usbpv.zip Она не требует установки и наличия сниффера для просмотра логов. В ней есть основные декодеры, парсеры на GITе: https://github.com/UsbPacketViewer

PS Насколько я понял про работу физики USB, то тут хост всегда рулит и он прав, устройство не может само начать транзакции, поэтому SOF шины по сути это аппаратный поллинг статуса, в котором есть флаги, если ответ будет ACK. Во флагах - текущие запросы прерывания и/или наличие данных в IN эндпоинтах. И когда хост их примет, то он начнёт опрос всех IN эндпоинтов, которые требуют внимания. OUT эндпоинты обслуживаются хостом когда надо ему, устройство может лишь ответить принял он его или не готов принимать (для повторения позже).

Вот что пишут в ограничениях на USBcap https://desowin.org/usbpcap/capture_limitations.html:

On this page the limitations of USBPcap are presented and some terms are
clarified. Prior knowledge of USB specification is higly recommended.

...

Interrupt transfers

Interrupt transactions that weren’t NAK’ed are made up of three packets: IN or OUT, DATA and ACK. USBPcap packet related to interrupt transfer contains data from DATA packet.

То есть, если положение не обновилось то девайс отвечает NAK , и USBcap это просто не отображает.

Спасибо вам!
Да, вы правы. Всё так и есть!

Разобрался в документации:

  1. Все HID-устройства взаимодействуют с хостом через точки прерывания (interrupt endpoint).

  2. HID-устройства не всегда передают данные. Большую часть времени они молчат. Но когда они начинают передачу данных, то им необходимо самое быстрое время отклика от хоста. Добиться этого можно только через механизм прерывания (interrupt endpoint).

  3. Параметр bInterval – определяет интервал между точками прерывания.

  4. Значение bInterval кодируется в миллисекундах (мс), в течение которого хост обязательно должен запросить новый отчет у устройства.

  5. Хост постоянно опрашивает USB HID-устройства.

  6. HID-протокол реализован таким образом, что хост сканирует каждую точку прерывания (interrupt endpoint) в поисках дескриптора «interrupt IN». Этот дескриптор указывает на то, что устройство отправило на хост новые данные.

  7. Если новых данных нет, то устройство в праве ничего не отправлять хосту, а вернуть ему NAK.

На интуитивном уровне мой первый комментарий был отчасти правильный. :))

Если упростить всю техническую часть, то действительно мы видим, что USB-мышка большую часть времени молчит и игнорирует все запросы от хоста.

Да, конечно, хост опрашивает её стабильно 125 раз в секунду (125, 250, 500, 1000 Гц).
Но ей этот опрос – безразличен. Она возвращает пустые пакеты NAK.

А когда у неё есть, что сказать, она отправляет пакеты «interrupt IN».

В общем, USBPcap меня подвел. Простите меня. Там (в первом комментарии) я чушь написал.
Спасибо, что поправили. :)

К счастью не пользовался, у меня в ПК есть два разъёма PS/2, туда как раз вставил новую Клаву от Kraftway, и свежую мышку от A4Tech OP-35D. Работает прекрасно, нужно было лишь отключить в Биос эмуляцию 60/64 порта, и в регистре Windows изменить значение Start в i8042port на 1 вместо 3

Sdima1357:

Все мои мышки на usb ls (Low Speed) работают на 1000 Hz. То есть отвечают с новой позицией на каждый запрос от хоста. Возможно, ограничение у Вас именно в ОС.

Переустановил ОС. Windows 10 Professional (x64). Лицензия.
Подключил USB-мышку Smartbuy 214-K.
USBPcap показывает:

  • bInterval: 8

Подключил мышку ARDOR Gaming Edge PRO.
USBPcap показывает:

  • bInterval: 1

Итак:

  1. Офисная мышка – 125 Гц.

  2. Переходник – 125 Гц.

  3. Игровая мышка – 1000 Гц.

С операционной системой всё в порядке.

Sign up to leave a comment.

Articles