LH
Ветеран
Сообщений: 345
|
|
« : 15 Август, 2017, 09:45:46 » |
|
Ранее в теме http://forum.kpda.ru/index.php/topic,501.0.htmlбыл фрагмент: ... В дополнение с проблемами с сенсорными экранами Egalax столкнулись с сенсорным экраном инфракрасным производства IRM Touch VID 0x23c9, DID 0x5666 http://www.irmtouch.com/en/products.asp?ClassID=28Имеется ли опыт поддержки сенсорных экранов этого типа в QNX? ... Проблему в QNX4 удалось решить с помощью переделки текста драйвера mouse.c из пакета qnx4_usbsdk20/src/drivers/class/mouse для USB HID мышки в текст драйвера сенсорного экрана под протокол данного контроллера. Пож. подскажите: как решить такую же проблему, но уже в QNX6? Спасибо.
|
|
|
Записан
|
|
|
|
Андрей Сеньков
Администратор
Ветеран
Сообщений: 339
|
|
« Ответ #1 : 18 Август, 2017, 12:49:06 » |
|
Добрый день!
Для анализа ситуации нужны дополнительные данные, в том числе: версия QNX6, как производились настройки штатных драйверов, как проявляется неработоспособность и т.п. Думаю, целесообразнее взаимодействовать по этому вопросу через e-mail нашей техподдержки.
|
|
|
Записан
|
|
|
|
Олег Большаков
|
|
« Ответ #2 : 28 Август, 2017, 15:53:22 » |
|
В результате переписки проблему решили. Думаю, что решение может быть интересно другим пользователям, поэтому продублирую информацию в этой теме. Текущая версия devi-hid поддерживает опцию -m для протокола touch. Опция позволяет задать разрешение матрицы сенсорного экрана, что и требовалось сделать для IRM Touch, например: /usr/photon/bin/devi-hid kbd mouse touch -m 32767
|
|
« Последнее редактирование: 28 Август, 2017, 22:53:45 от Олег Большаков »
|
Записан
|
|
|
|
LH
Ветеран
Сообщений: 345
|
|
« Ответ #3 : 25 Январь, 2018, 15:09:37 » |
|
Версия devi-hid от 25.08.2017 успешно поддержала контроллер сенсорного экрана IRM Touch VID=0x23c9, DID=0x5666, но с новым контроллером того же производителя VID=0x23c9, DID=0x5668 возникла проблема: при прикосновении маркер мышки правильно позиционируется в точку прикосновения, но после этого исчезает (прыгает в правый нижний угол).
Имеется ли более "свежая" версия devi-hid?
Попытка выяснить протокол обмена нового контроллера сенсорного экрана по USB, используя самодельный драйвер в QNX4, не удалась. Из QNX4 команда usb периодически не показывает новый контроллер сенсорного экрана в списке USB-устройств. И драйвер "не подхватывает" контроллер в папку /dev.
В то же время из QNX6 команда usb стабильно показывает новый контроллер сенсорного экрана в списке USB-устройств.
QNX4 и QNX6 запускаются на одном и том же ПК. В чем может быть дело?
Каким образом получать цепочки байт от контроллера сенсорного экрана из USB-порта в QNX6, м.б. имеется отладочная версия дарайвера devi-hid или спец. утилита?
Спасибо.
|
|
« Последнее редактирование: 26 Январь, 2018, 05:06:36 от LH »
|
Записан
|
|
|
|
LH
Ветеран
Сообщений: 345
|
|
« Ответ #4 : 26 Январь, 2018, 09:42:08 » |
|
Пытаемся выяснить протокол обмена нового сенсорного экрана с помощью USB-сниффера.
Похоже , что мы имеем дело с 8-ми байтным протоколом обмена: 1-й - 0x03 2-й - 0x01 - нажатие, 0x00 - отпускание 3-й 4-й - координаты по x 5-й 6-й - координаты по y 7-й 0x00 8-й 0x00
Если devi-hid ждет 5 байт, то можно понять периодическое правильное и затем - не правильное срабатывание.
Существует ли devi-hid на 8-ми байтный протокол обмена с сенсорным экраном?
Можно ли для devi-hid указать ключами длину пакета в байтах (8 байт) и номер байта со 2-го по 6-й как несущие информацию в привычном 5-байтном формате?
спасибо.
|
|
« Последнее редактирование: 26 Январь, 2018, 13:01:41 от LH »
|
Записан
|
|
|
|
Олег Большаков
|
|
« Ответ #5 : 26 Январь, 2018, 20:52:03 » |
|
Можно ли для devi-hid указать ключами длину пакета в байтах (8 байт) и номер байта со 2-го по 6-й как несущие информацию в привычном 5-байтном формате? Текущая версия devi-hid не имеет подобных ключей. Более «свежей» версии нет. Мы можем рассмотреть возможность поддержки 8-ми байтового протокола. В этом случае нам понадобится спецификация на оборудование. Поскольку Вы также обращались к нам по электронной почте, то предлагаю продолжить переписку там.
|
|
|
Записан
|
|
|
|
LH
Ветеран
Сообщений: 345
|
|
« Ответ #6 : 27 Февраль, 2018, 14:01:28 » |
|
При загрузке образа QNX запускается менеджер ввода io-hid -d usb /dev/io-usb/io-usb
При этом все USB-устройства (клавиатура, мышь, сенсорный экран) попадают под обслуживание devh-usb.so.
Из-за этого попытка дополнительного запуска #mount -T io-hid /lib/dll/devh-egalax.so завершается неудачей с ошибкой EBUSY.
Как можно перезапустить io-hid , чтобы при запуске devh-usb.so запретить захват устройства с определенным vid и did?
Попытка сделать в rc.local ... slay io-hid io-hid -d usb igndev=0x**** ...
приводит к блокировке устройств ввода (клавиатура, мышь) после загрузки ОС.
Спасибо.
|
|
|
Записан
|
|
|
|
Олег Большаков
|
|
« Ответ #7 : 27 Февраль, 2018, 16:09:02 » |
|
Вероятно, требуется также перезапустить devi-hid после перезапуска io-hid.
Насколько я понимаю данная ситуация возникает при использовании загрузочного образа основанного на diskboot. В описанной ситуации поступить можно разными способами. На мой взгляд, наиболее правильно было бы подготовить специализированный образ без diskboot. Также можно подготовить образ с diskboot, но без io-usb, если USB не требуется на этапе загрузки, тогда diskboot не будет подключать драйвер devh-usb.so к io-hid, и это можно будет сделать позднее при помощи mount.
|
|
|
Записан
|
|
|
|
|