Официальный форум СВД Встраиваемые Системы
05 Сентября, 2010, 19:55:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: USB стек для QNX 4.25  (Прочитано 357 раз)
Павел Козлов
Модератор
Пользователь

Сообщений: 37



WWW
« : 27 Мая, 2010, 18:34:16 »

Обновление USB стека для QNX 4.25

16.06.2010: Доступна новая версия USB стека для QNX 4.25. Данная версия (2.00D) содержит, преимущественно, исправления обнаруженных ошибок.
Из наиболее интересного:
- исправлена проблема зависания системы при разделении прерываний USB устройств, c контроллерами жестких дисков, сетевыми и графическими картами.
- исправлена ошибка в работе с USB хабами, из-за которой устройства за хабами не определялись.
- для загрузки с USB устройств добавлена урезанная версия io-usb (io-usb-ehci), которая включает в себя поддержку только EHCI.

10.02.2010: Обновлен USB стек для QNX 4.25. Новая версия (2.00B) является портом из QNX 6.4.1. В данной версии расширена поддержка чипсетов EHCI, UHCI, OHCI.
USB стек доступен как бета версия. Планируется его включение на диск обновления 2010. Принимаются замечания и пожелания по работе.


Последняя версия архива с исполняемыми модулями:

QNX425-USB-20100616.tar.gz - версия 2.00D

Контрольная сумма:
cksum QNX425-USB-20100616.tar.gz
1529912720 270295 QNX425-USB-20100616.tar.gz
« Последнее редактирование: 16 Июня, 2010, 16:32:14 от Олег Большаков » Записан

Александр Варварик
Администратор
Ветеран

Сообщений: 886



WWW
« Ответ #1 : 27 Мая, 2010, 22:28:28 »

Добавлю, что идут работы по включению USB стека в состав КПДА.00002-01
Записан

Al
Пользователь

Сообщений: 64


« Ответ #2 : 28 Мая, 2010, 16:34:05 »

Добавлю, что идут работы по включению USB стека в состав КПДА.00002-01
Очень и очень хорошо! Останется только SDK дождаться для полного счастья Smiley
Записан

Александр Варварик
Администратор
Ветеран

Сообщений: 886



WWW
« Ответ #3 : 28 Мая, 2010, 19:21:47 »

Думаю, что с SDK проблем быть не должно.

Записан

Павел Козлов
Модератор
Пользователь

Сообщений: 37



WWW
« Ответ #4 : 16 Июня, 2010, 16:22:03 »

Доступна новая версия USB стека для QNX 4.25. Более подробное описание и ссылка для скачивания обновления приведены в первом сообщении.
« Последнее редактирование: 16 Июня, 2010, 16:40:12 от Павел Козлов » Записан

LH
Пользователь

Сообщений: 44


« Ответ #5 : 30 Июля, 2010, 16:57:40 »

Выполняем печать текста и графики на USB-принтер HP LJ 3000 в ОС QNX4.

Принтер подключен к USB 1.1 порту на интегрированной плате Advantech PCI-6179 VE.
Программно печать поддерживается с помощью lpsrvr, в конфигурации которого настроено
использование фильтра Pp.ps, вывод из фильта направляется на /dev/usbpar0. Используется
"старая" версия usb-драйверов 2005 года.
io-usb &
devu-prn &

Так же на этом контроллере используются встроенная и дополнительная сетевые платы с драйвером
Net.rtl для дублированной cети. Векторы прерывания ( 5 и 9 ) сетевых плат совпадают с векторами
прерывания ( 5 и 9 ) USB-контроллеров ( ehci и uhci ).

К сож. печать выполняется достаточно медленно и со сбоями. В случае сбоя принтер сигнализирует
что "Данные получены", но печать не производится. Для устранения сбоя приходится перезапускать
lpsrvr.

Для ускорения печати на плату Advantech PCI-6179 VE установили PCI-карточку USB2.0 HOST Adaptor и
перешли на обновленные драйверы из пакета QNX425-USB-20100707.tar.gz

В принципе новые драйверы заработали и печать ускорилась. Но от применения USB2.0 и новых драйверов
пришлось отказаться, т.к. существенно снизилась скорость обмена данными через сеть.
Загрузка ОС выросла в 2 раза, ресурсов на холостой процесс idle практически не осталось.

В ходе экспериментов выяснились следующие подробности:

1. Попыталсь оставить только 1 сетевой интерфейс и io-usb запустили только с поддержкой ehci
(io-usb -d ehci ) таким образом, чтобы они заняли разные вектора прерываний.
Результат: производительность сети осталась пониженной по сравнению с использованием "старых" драйверов.

2. Попытались запустить только 1 сетевой интерфейс и "новый" драйвер io-usb с поддержкой uhci
 ( т.е. на интегрированны в процессорную плату USB 1.1 ).
Результат: производительность сети осталась пониженной по сравнению с использованием "старых" драйверов.

В итоге пришлось извлечь PCI-карточку USB2.0 HOST Adaptor и вернуться к "старым" драйверам USB 2005 года.

Осталось не понятно: почему при использовании "новых" USB-драйверов существенно снизилась скорость
передачи по сети как для USB2.0, так и для USB1.1 адаптеров?

Может ли быть причина в том, что контроллеры USB генерируют частые прерывания, и "новый" драйвер затрачивает
на их обработку достаточно большое время?




Записан
Павел Козлов
Модератор
Пользователь

Сообщений: 37



WWW
« Ответ #6 : 04 Августа, 2010, 13:15:42 »

При работе с usb принтером не должно генерироваться большое количество прерываний (если они правильно обрабатываются). Менеджер io-usb в обработчике прирываний смотрит лишь стастусы и сбрасывает линию, а вся остальная обработка происходит с приоритетом процесса. Можно попробовать уменьшить проиритет io-usb, но он и так по умолчанию 15.
А когда начинает проявляться влияние работы io-usb на сеть? Сразу после запуска io-usb, после подключения usb принтера, во время печати? Оказывает ли подобное влияние работа с другими usb устройствами? Если не сложно, вышлите выводы sin, sin ti до и после понижения производительности сети.
Мы планируем провести очередное тестирование usb стека в конце августа, обязательно попробуем воспроизвести описанную Вами проблему.
Записан

LH
Пользователь

Сообщений: 44


« Ответ #7 : 04 Августа, 2010, 18:36:17 »

Я заметил, что использовал архив QNX425-USB-20100707.tar.gz, хотя сейчас у вас доступен
предпоследний QNX425-USB-20100616.tar.gz.

C io-usb из QNX425-USB-20100707.tar.gz наблюдал такую картину:
несколько раз
...
#io-usb
#usb
#slay io-usb
...
После 3-4 повторений ядро вываливалось в dump.

По вашему вопросу: влияние io-usb на производительность сети наблюдалось сразу после запуска io-usb, без начала печати.
Если сделать slay io-usb - производительность восстанавливалась...

К сож. PCI-плату с USB2.0 из контроллера уже извлекли. В ближ. время приведу отчеты sin по этому контроллеру...

Пытался воспроизвести проблему в лабораторных условиях на связке 2-х ПК в QNX-сети. На одном запускал io-usb и организовывал интенсивный обмен по сети
с другим ПК.

Если io-usb запускать на ПК с Pentium-III, то видно, что вместе с ресурсами для Net заметно растет потребление ресурсов io-usb.

Если io-usb запускать на ПК с Pentium-IV, то заметного потребления ресурсов io-usb не наблюдается...

Приведу отчеты sin для случая тестов, буду использовать драйверы из действующего архива QNX425-USB-20100616.tar.gz.
Записан
LH
Пользователь

Сообщений: 44


« Ответ #8 : 05 Августа, 2010, 18:14:11 »

Прикладываю отчеты sin, sin ti без io-usb ( sin_no) и с io-isb ( sin_io_usb) для ПК с процессорами P3, P4. Во всех случаях в/вывод через io-usb не производился, нагружалась сеть. Доли загрузки системы можно увидеть: cat core
Записан
Павел Козлов
Модератор
Пользователь

Сообщений: 37



WWW
« Ответ #9 : 06 Августа, 2010, 11:49:09 »

Спасибо за предоставленные отчеты. Мы учтем эту информацию при тестировании.

Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

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

Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС Rambler's Top100

В последний раз google посещал эту страницу 12 Июля, 2010, 15:26:43