Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пт апр 28, 2017 7:35 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 52 сообщения ]  На страницу 1 2 3 4 След.
Автор Сообщение
СообщениеДобавлено: Чт июл 21, 2011 11:33 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3925
Народ, а можете потестить работу в паре со звуком ? Я столкнулся с тем, что два активных обработчика PCI IRQ на разных линиях вешают систему. По отдельности всё работает как надо. Выглядит примерно так:

ставится обработчик для устройства А на irq5
обрабатывается прерывание на irq5
ставится обработчик для устройства В на irq10
запрос прерывания по линии 10
???
FAIL.


Тема выделена из Тестируем USB OHCI controller


Вернуться к началу
 Заголовок сообщения: Re: Тестируем USB OHCI controller
СообщениеДобавлено: Чт июл 21, 2011 12:21 pm 
Т.е. запустить на проигрывание плеер и начать активно использовать USB устройства?


Вернуться к началу
   
 Заголовок сообщения: Re: Тестируем USB OHCI controller
СообщениеДобавлено: Чт июл 21, 2011 12:28 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
Serge писал(а):
ставится обработчик для устройства А на irq5
обрабатывается прерывание на irq5
ставится обработчик для устройства В на irq10
запрос прерывания по линии 10
???
FAIL.

[Вопрос снят - как-то сразу не въехал о чем речь :oops: ]


Вернуться к началу
 Заголовок сообщения: Re: Тестируем USB OHCI controller
СообщениеДобавлено: Чт июл 21, 2011 12:45 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Проверил на edubook,плейер +мышь,вроде проблем не замечаю.


Вернуться к началу
 Заголовок сообщения: Re: Тестируем USB OHCI controller
СообщениеДобавлено: Чт июл 21, 2011 12:49 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3925
Пример не совсем точный.
Подозреваю что всё виснет если линии подключены к одному контроллеру master или slave.


Вернуться к началу
 Заголовок сообщения: Re: Тестируем USB OHCI controller
СообщениеДобавлено: Чт июл 21, 2011 1:08 pm 
Ну, так предложи правильную методику тестирования, а то гадания на кофейной гуще.


Вернуться к началу
   
 Заголовок сообщения: Re: Тестируем USB OHCI controller
СообщениеДобавлено: Чт июл 21, 2011 1:15 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3925
Какая методика ? Надо статистику собрать виснет - не виснет, какие линии используются.


Вернуться к началу
 Заголовок сообщения: Re: Тестируем USB OHCI controller
СообщениеДобавлено: Чт июл 21, 2011 1:31 pm 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
Serge писал(а):
Какая методика ? Надо статистику собрать виснет - не виснет, какие линии используются.
В смысле, скажи как проверить, чтобы
Serge писал(а):
линии подключены к одному контроллеру master или slave.


Вернуться к началу
 Заголовок сообщения: Re: Тестируем USB OHCI controller
СообщениеДобавлено: Чт июл 21, 2011 2:11 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3925
yogev_ezra

Не важно, это только предположение.

Предлагаемый метод научного тыка:
Взять таблицу PCIDEV с dev_id контроллеров и номерами irq.
Подключить как можно больше usв мышек и клавиатур, так чтобы на каждой линии было по устройству. Если два контроллера делят одну линию достаточно занять только один. Какие линии заняты можно посмотреть в диспетчере устройств.
Загрузить Колибри и посмотреть как всё это работает.


Вернуться к началу
 Заголовок сообщения: Re: Тестируем USB OHCI controller
СообщениеДобавлено: Чт июл 21, 2011 3:52 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3925
Сделал тесты со своим драйвером

Код:
контроллер устройство   IRQ
24D5     нет              5
24D2     мышь Genius      5
2dD4     клавиатура       4
24D7     мышь LS1         11
AC97     звук             3

Условия для теста идеальные. Четыре контроллера занимают три линии и не делят их с другими устройствами.
Загружаю драйвер, все работает, курсор ползает клавиатура печатает.
Запускаю mp3 плеер, двигаю мышь 24D2_irq5, система останавливается. Реально встаёт на паузу, даже звук останавливается. Клавиатура никак не влияет на состояние системы. Двигаю мышь 24D7_irq11 система продолжает работу. WTF ???
Предполагаю что глухо виснет master (может теряется EOI ?) если одновременно есть два активных сигнала irq3 и irq5. С работающим звуком на это больше шансов. Сигнал irq11 на ведомом имеет самый высокий приоритет и каким-то образом разблокирует систему.


Вернуться к началу
СообщениеДобавлено: Пт июл 22, 2011 5:35 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3925
Так и не смог понять в чём дело. Поэтому запустил APIC, за что большое спасибо Илье Михайлову, забил номера irq в дрова и всё заработало. В ближайшее время сделаю бранч kolibri-acpi пригодным для продвинутого пользователя, а пока смотрю видео с выводом через блиттер, чего и вам желаю.


Вернуться к началу
СообщениеДобавлено: Пт июл 22, 2011 6:10 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1591
Интересно, что IRQ0, приходящее 100 раз в секунду, звуку, судя по отзывам, не мешает. Когда пользователь что-то набирает на PS/2 клавиатуре с IRQ1 при работающем звуке, вообще довольно вероятно появление трёх запросов одновременно, но на зависание при этом вроде никто не жаловался. Если это проявляется только с видео, может, это какие-то тонкие эффекты с обработчиком прерывания от видео?

_________________
Сделаем мир лучше!


Вернуться к началу
СообщениеДобавлено: Пт июл 22, 2011 8:07 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3925
CleverMouse

IRQ0 и 1 прерывания ISA. А проблема с PCI. На 8259 они заводятся через роутер который преобразует сигнал PCI из "активный низкий" в "активный высокий", а два регистра ELCR (порты 0x4D0-0x4D1) кодируют тип сигнала - по уровню(PCI) или по фронту (ISA). Может это персональный баг чипсета, я не знаю, но видео здесь точно не причем, потому что я столкнулся с этой проблемой ещё зимой когда делал usb клавиатуру. Звук не работал вместе с UHCI если один из обработчиков стоял на Irq7. Тогда я посчитал что эта проблема как-то связана со spurious interrupt на 8259 и обошёлся тем, что перераспределил прерывания. (Я провёл кучу тестов, заменил наш код для 8259 на "железобетонный" линуксовый код. Маскировал все линии на входе в обработчик и восстанавливал необходимые на выходе. Всё без толку). Звуковой драйвер я тоже проверял, специально отключив вызов Infinity из обработчика. Сам обработчик там простейший места для таких тонких ошибок нет.

Сейчас в режиме APIC звук и видео работают без изменения драйверов (я только записал свои фиксированные номера Irq). Вызов обработчиков в ядре тоже не менялся, кроме завершающего EOI. Получается то, что не работает через PIC, работает на ура через APIC c минимальной модификацией кода.
Завтра добавлю свои uhci, подключу PS/2, нагружу usb контроллеры и проведу acid test. Посмотрю что получится.


Вернуться к началу
СообщениеДобавлено: Пн июл 25, 2011 1:26 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1591
Если тот же Linux загрузить, добавив noapic noacpi к загрузочным опциям ядра, тоже будет виснуть при активном использовании?


Вернуться к началу
СообщениеДобавлено: Пн июл 25, 2011 2:54 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3925
CleverMouse

Спасибо за совет. Проверил
noapic noacpi - чёрный экран. Система зависла намертво.
noacpi - аналогично.
noapic - система загрузилась, но работала с тормозами. Звук проигрывался со щелчками. Посмотрел лог ядра
irq 3: nobody cared (try booting with the irqpoll option) это звук
irq 5: nobody cared (try booting with the irqpoll option) это usb
Ядро замаскировало линии и перевело обработку прерываний этих устройств в режим опроса. Отсюда рывки и щелчки звука. Так что это явно "железный баг".


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 52 сообщения ]  На страницу 1 2 3 4 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB