Официальный форум СВД Встраиваемые Системы
20 Апрель, 2024, 18:12:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

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

Сообщений: 96



WWW
« : 27 Май, 2010, 17:34:16 »

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

01.03.2013: USB стек 2.00L (экспериментальная версия):
- исправлена ошибка синхронизации, внесенная в версию 2.00L, которая могла приводить к падению менеджера io-usb по SIGSEGV, при определенной последовательности запуска менеджера io-usb и USB - драйверов.

14.01.2013: USB стек 2.00L (экспериментальная версия):
- изменения в обработке прерываний.
- приоритет менеджера io-usb повышен до 23;
- исправлена ошибка, которая могла приводить хост контроллер в состояние Halted, если во время копирования с/на USB-флеш или иного интенсивного обмена с USB устройством вызывалась утилита usb.
- исправлена проблема синхронизации, которая могла вызывать Input/output error, если во время копирования с/на USB-флеш производилось подключение какого-либо другого USB-устройства.
- добавлена опция -а драйверу devu-mouse; данная опция была введена для решения проблемы некорректной работы PS/2 мышей при подключении через USB to PS/2 адаптер.
- при уровне подробности вывода 6 и выше менеджер io-usb направляет отладочную информацию на консоль.

14.02.2012: USB стек 2.00K:
- исправлена ошибка с освобождением глобальных сегментов памяти при завершении Fsys.umass. Данная ошибка могла приводить к исчерпанию  данного ресурса примерно на 10-15 перезапуск Fsys.umass;
- исправлена проблема зависания системы при работе с некоторыми OHCI контроллерами из-за некорректного отключения SMM;
- изменения в обработке прерываний.

24.05.2011: Доступна версия USB стека 2.00F. Данная версия содержит следующие изменения:
- исправлена ошибка, которая могла приводить к падению ядра при запуске/перезапуске менеджера io-usb;
- исправлена ошибка освобождения глобальных сегментов памяти, которая могла приводить к исчерпанию данного системного ресурса;
- изменена функция инициализации корневого хаба в стеке EHCI;
- исправлено падение io-usb-ehci при запуске с опцией -d;
- исправлена ошибка обработки дескрипторов USB принтеров драйвером devu-prn;

07.07.2010: Доступна версия версия USB стека (2.00E). Содержит исправление ошибки в работе с USB floppy приводами из-за которой стек USB не корректно обрабатывал запросы к устройству и не позволял работать с некоторыми USB floppy-дисководами.

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-20130301.tar.gz - версия 2.00L (экспериментальная), сборка от 2013-03-01

Контрольная сумма:
cksum QNX425-USB-20130301.tar.gz
3430510871 270534 QNX425-USB-20130301.tar.gz


QNX425-USB-20120214.tar.gz - версия 2.00K, сборка от 2012-02-14

Контрольная сумма:
cksum QNX425-USB-20120214.tar.gz
4042368701 270401 QNX425-USB-20120214.tar.gz


« Последнее редактирование: 01 Март, 2013, 14:13:08 от Павел Козлов » Записан

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

Сообщений: 1353



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

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

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

Сообщений: 89


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

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

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

Сообщений: 1353



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

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

Записан

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

Сообщений: 96



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

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

LH
Ветеран

Сообщений: 345


« Ответ #5 : 30 Июль, 2010, 15: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 генерируют частые прерывания, и "новый" драйвер затрачивает
на их обработку достаточно большое время?




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

Сообщений: 96



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

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

LH
Ветеран

Сообщений: 345


« Ответ #7 : 04 Август, 2010, 17: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
Ветеран

Сообщений: 345


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

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

Сообщений: 96



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

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

Записан

Андрей Ивлев
Опытный пользователь

Сообщений: 138



« Ответ #10 : 14 Ноябрь, 2010, 10:50:52 »

Столкнуля с проблемой подключения mouse. Пробовал использовать 2 разные мышки (usb). В sysinit прописал io-usb -v & и devu-mouse & в добавил input.1:
     msoft fd -d/dev/usbmouse0
при запуске photon мышка работает около 1-2 сек. и отключается. С чем может быть связана данная проблема?
Записан
Павел Козлов
Пользователь

Сообщений: 96



WWW
« Ответ #11 : 15 Ноябрь, 2010, 12:41:59 »

Вышлите, пожалуста, вывод утилит sin ver, sin ir, usb -v, show_pci -v.
Возможно, подобное поведение связано с разделением одной линии прерывания USB контроллером и сетю (или другим устройством).
Если есть возможность, разнесите прерывания, чтобы исключить разделения линии прерываний.
Если выйти из Photon'a и запустить его заново или перезапустить Input мышь оживает?
Записан

Андрей Ивлев
Опытный пользователь

Сообщений: 138



« Ответ #12 : 16 Ноябрь, 2010, 18:07:21 »

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

P.S. Систему запускал в alt режиме.

« Последнее редактирование: 16 Ноябрь, 2010, 18:08:53 от qnx_user » Записан
Павел Козлов
Пользователь

Сообщений: 96



WWW
« Ответ #13 : 19 Ноябрь, 2010, 14:41:13 »

Спасибо за предоставленную информацию. Я попробую воспроизвести Вашу ситуацию. У меня нечто подобное проявлялось при разделении прерываний между сетью и USB контроллером, но без "ужасов" с зависанием системы. Обычный перезапуск Photon или Input помогал. Эту проблему мы планировали исправить в следующей версии. Если удастся воспроизвести описанную Вами ситуацию попробуем исправить и ее.
Записан

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

Сообщений: 96



WWW
« Ответ #14 : 19 Ноябрь, 2010, 15:30:56 »

На данный момент, могу лишь посоветовать попробовать разнести прерывания IDE и USB, если в BIOS есть такая возможность, может быть есть возможность отключить SATA контроллер который висит на одном прерывании с USB, и использовать только PATA.
Довольно странно, что у Вас почти все устройства используют 11 линию прерываний.
Записан

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

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

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

В последний раз google посещал эту страницу 25 Март, 2024, 21:43:48