Официальный форум СВД Встраиваемые Системы
29 Март, 2024, 13:15:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: io-usb и eBOX625-842-FL  (Прочитано 732 раз)
LH
Ветеран

Сообщений: 345


« : 05 Июль, 2018, 07:58:38 »

У безвентиляроного контроллера eBOX625-842-FL http://www.axiomtek.com/Download/Spec/en-US/ebox625-841-fl_ebox625-842-fl.pdf
замечена такая особенность.

(1) Если подключить USB - клавиатуру и USB-мышь, то при включении и входе BIOS в разделе расширенных USB-наcтроек
отражаются 1 клавиатура, 1 мышь и 3 HUB.

(2) Если подключить USB - клавиатуру, USB-мышь и USB-контроллер сенсорного экрана IRM Touch (мультитач),
то при включении и входе BIOS в разделе расширенных USB-наcтроек
отражаются 2 клавиатуры, 2 мыши, 1-но устройство point  и 3 HUB.

При подключении устройств по варианту (1) ОС QNX4 (с использованием io-usb, devu-kbd, devu-mouse и Dev.ansi драйвера с подключением
к нему /dev/usbkbd0 ) работает исправно как в текстовом, так и в графическом режиме Photon.

При подключении устройств по варианту (2) ОС QNX4 работает не стабильно, чаще в текстовом режиме ввод с клавиатуры заблокирован,
иногда io-usb "вылетает" по SIGSEG - ошибке.

Проверялись варианты ENABLE, DISABLE , AUTO режима USB  в настроке BIOS.

В ОС QNX6 оба варианта подключения работают исправно...

Каким образом наладить работу в ОС QNX4 при варианте (2) подключения USB-устройств?

спасибо!

« Последнее редактирование: 05 Июль, 2018, 09:02:09 от LH » Записан
LH
Ветеран

Сообщений: 345


« Ответ #1 : 09 Июль, 2018, 06:40:11 »

В документе www.qnx.com/download/download/11954/usb_ddk.pdf описана структура

Цитировать
typedef struct usbd funcs {
uint32 nentries;
void (*insertion)(struct usbd connection *, usbd device instance t *instance);
void (*removal)(struct usbd connection *, usbd device instance t *instance);
void (*event)(struct usbd connection *, usbd device instance t *instance,
uint16 type);
} usbd funcs t;
The callback functions are contained here.
insertion Called when a device that matches defined filter is
detected.
removal Called when a device is removed.

В ней задаются функуии, вызываемые USB-стеком QNX4 при физическом подключении и отключении устройства в разъем USB.

Еще одна особенность описанного выше USB-контроллера сенсорного экрана в том, что функции отключения

removal()

и , затем, подключения

insertion()

этого контроллера циклически вызываются стеком USB QNX4 непрерывно с периодом примерно 1 секунда.

Пож. поясните: какие физические условия в линии связи USB могут приводить к подобному эффекту?

 
« Последнее редактирование: 10 Июль, 2018, 06:12:54 от LH » Записан
LH
Ветеран

Сообщений: 345


« Ответ #2 : 12 Июль, 2018, 08:27:50 »

Могу добавить, что описанная особенность с removal() и insertion() происходит на любом ПК и контроллере, к которому подключен по USB сенсорный экран IRM Multitach.

Выход пока таков, что после запуска драйвера  cенсорного экрана

#devu-irm -x 0x23c9

и образования устройства /dev/irm0

нужно успеть запустить

#Input egalax fd -d/dev/irm0

до первого срабатывания вызова removal() (примерно 0.5...1с)

Если же опоздать, то Input "не подхватывает" /dev/irm0...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2020 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 13 Июнь, 2022, 20:39:25