USB

Обсуждаем ReactOS по-русски

Moderators: fog, fireball

vgal
Posts: 88
Joined: Mon Jan 26, 2015 7:38 am

Re: USB

Post by vgal »

Можно протестировать драйверы, скачав здесь:
viewtopic.php?f=9&t=14555&p=119081#p118803

Моей целью была - загрузка Reactos с USB флэшки. Только возможность загрузки. :!:
Start
Posts: 169
Joined: Sun May 16, 2010 5:59 pm

Re: USB

Post by Start »

livecd_69997_usb_test00.iso - скачать не получилось, (интернет у меня такой (Mozilla Firefox обывается связь) (Free Download Manager не качает)).
Попробовал сделать по другому:
Скачал livecd-69674-dbg.iso, переписал имеющиеся файлы в этом образе на файлы из reactos_69997_usb_test00_sys.7z
Для записи на флешку использовал rufus-2.5
Загрузка начинается и останавливается на строке swenym.sys - это в ноутбуке.
В VMware Player 3.1.4. загрузка идёт немного дальше (на две строки) проходит vbe.sys и останавливается на hidusb.sys.
Проверил не изменённый образ VMware Player 3.1.4 - загрузился до рабочего стола, посмотрел свойства... -69674, объём флешки соответствует, на диске С метка REACTOS. В ноутбуке загружается так-же как и изменённый образ - только до строки swenym.sys.
vgal
Posts: 88
Joined: Mon Jan 26, 2015 7:38 am

Re: USB

Post by vgal »

Может и сервер не отдаёт - хостинг бесплатный :)
Я поэтому в разных вариантах и сделал. К тому же не все смогут патч применить или собрать RoS.

У меня пока на ноутбуке тоже не грузится (в его БИОСе нечего отключать). Скорее всего или другие USB устройства влияют или с контроллером нет дружбы. Можно попробовать отключать в БИОСе устройства (если это возможно).

Нетбук Asus EEE PC 900 - грузит (оч. медленно), но со всеми отключенными устройствами в БИОС. Тачпад работает при этом.
Еще три компа грузят с мамками на ICH5, ICH8 и ICH9 чипсетах (не ноутбуки), правда запинаются об USB карт-ридер.
Больше не на чем пробовать ...

Сейчас пытаюсь подружить карт-ридеры. Изначально USB - драйверы не рассчитаны на работу в первой фазе загрузки ОС.
И любая ошибка приводит к завершению работы (не происходит корректной обработки ошибок).
vgal
Posts: 88
Joined: Mon Jan 26, 2015 7:38 am

Re: USB

Post by vgal »

Драйверы (для тестовой загрузки с флешки), для USB 2.0:
viewtopic.php?f=9&t=14555&p=119378#p119378
newillusion
Posts: 11
Joined: Thu Dec 03, 2015 3:39 am

Re: USB

Post by newillusion »

Это уже реальный 2.0? Не какая-нибудь работа в режиме совместимости с 1.1?
vgal
Posts: 88
Joined: Mon Jan 26, 2015 7:38 am

Re: USB

Post by vgal »

Это работа именно с контроллером EHCI (USB 2.0). Мало того, в данном варианте теста, драйверы USB 1.1 отключены. Т.е. устройства USB 1.1 не будут обнаруживаться. На данном этапе важно научить драйвер правильно распознавать сам контроллер. А также важна корректная передача управления от BIOS к драйверу (кажется именно из-за этого проблема). Причем на всех чипсетах и со всеми БИОСами.

Следующая большая проблема - взаимодействие 2.0 и 1.1. То есть, если одновременно подключено два и более устройств с разными скоростями. Перед этим нужно обязательно научиться определять серийные номера флешек, потому что серийный номер участвует в определении устройств.
CircularTriangle06
Posts: 32
Joined: Sat May 23, 2015 5:54 pm

Re: USB

Post by CircularTriangle06 »

Ноутбук ASUS M51Vr - загрузка вместе с USB CD-ROM/дисками/хабами с этими драйверами нормальная. USB-устройства распознаются. r70316, bootcd.
При отсоединении устройств, или горячем добавлении, возникает BSOD.
vgal
Posts: 88
Joined: Mon Jan 26, 2015 7:38 am

Re: USB

Post by vgal »

Спасибо!
Надеюсь ноутбуки и матплаты Асус не доставят проблем.

Насчет подключения и извлечения...
Пока не пробовал, но извлекать точно не стоит пока. Дело в том, что Реактос определяет флешки как жесткий диск. Создаёт корзину, кэширует запись.
Вроде обошли эту ситуацию патчем в 70321 ревизии.

Да, ещё один момент... если загрузка пошла, то желательно закончить работу в Реактос корректно (т.е. Пуск->Выключение...). Иначе может повредится реестр на флешке.
DarkHobbit
Posts: 50
Joined: Thu Dec 23, 2004 6:38 pm
Location: Russia
Contact:

Re: USB

Post by DarkHobbit »

vgal wrote: ...
Мне действительно нужна инфа по хост-контроллеру EHCI - в частности как он должен инициализироваться и работать с контроллерами - компаньонами.
В принципе в спецификации это есть, но во-первых на английском, а во-вторых всегда есть невидимые ньюансы (+ производители что-то добавляют или меняют). Чтобы это как миниум "переварить" нужно время.

Кое-что уже нашлось:
http://wiki.kolibrios.org/wiki/USB/ru - где заголовок "Практическая реализация" (заточено под KolibriOS, общее для всех, надо EHCI)
http://habrahabr.ru/company/kolibrios/blog/183184/ - где заголовок "EHCI и компаньоны" (заточено под KolibriOS, общее описание)
...
А не было мысли подсмотреть, как это в линуксовом ядре реализовано? Я подозреваю, что там это обкатано гораздо лучше, чем в KolibriOS, при всём уважении к авторам последней.
vgal
Posts: 88
Joined: Mon Jan 26, 2015 7:38 am

Re: USB

Post by vgal »

Ещё есть FreeBSD. ;)

С проблемой инициализации в общем и целом понятно. Именно статья на Хабре "Поддержка USB в KolibriOS: что внутри? Часть 3: код поддержки хост-контроллеров" подробно описывает суть этого явления. Причем на русском. Большое спасибо автору. Когда знаешь "Что делать", то это уже пол-дела. Остается только писать код и отлаживать его.

Остаётся нерешенной другая проблема - взаимодействие EHCI и компаньонов. То есть когда при загрузке подключено медленное USB 1.1 устройство, мышка например, то создаётся два одинаковых объекта (вслед за этим синий экран). Сначала один объект создает драйвер UHCI (или OHCI), затем стартует EHCI, после инициализации которого компаньоны отключаются. EHCI заново сканирует все порты и если находит медленное устройство, то отдает это устройство компаньону. Тот создаёт новый объект. А прежний при этом никуда ни делся...

Кстати в KolibriOS этой проблемы нет, потому что все USB контроллеры инициируются за три прохода PCI-шины в нужном порядке. И этим решаются сразу 2 этих проблемы. Как сделать подобное в Reactos, не знаю. Архитектура у всех ОС разная. В Reactos перечислением всех устройств на PCI-шине занимается PnP менеджер. И изменить порядок перечисления "официально", кажется нельзя. Наверное придется бороться с болезнью (вместо "прививки" от нее).
CircularTriangle06
Posts: 32
Joined: Sat May 23, 2015 5:54 pm

Re: USB

Post by CircularTriangle06 »

Логи VirtualBox (5.0.10, r70406, драйверы из патча test02, ядро не патчено, драйверы "включены"): https://yadi.sk/d/xvjcQQQsmQCru
ASUS M51Vr (драйверы патча, ядро не патчено, драйверы "включены"): BSOD https://yadi.sk/d/PsdPetEumQCvu
ASUS M51Vr (драйверы патча, ядро не патчено, драйверы "отключены" (debug - диск USB вставлен, debugnf - не вставлен)): https://yadi.sk/d/uQJYJZJAmQCxB
vgal
Posts: 88
Joined: Mon Jan 26, 2015 7:38 am

Re: USB

Post by vgal »

Спасибо!

До последнего оттягивал знакомство с пятым VB. Я использую Portable VirtualBox4.2.16-32. Это была последняя версия, которую я, в своё время, смог скомпилировать из исходников. И на ней я и остановился. Вот теперь придётся пятую качать, потому что:

Code: Select all

 (../drivers/usb/usbehci/hardware.cpp:969) Failed to enable async schedule UsbSts 4000
В 4.12 такого не встречал.

Вот такой вопрос: "Тачпад работает или нет"?
CircularTriangle06
Posts: 32
Joined: Sat May 23, 2015 5:54 pm

Re: USB

Post by CircularTriangle06 »

PS/2-тачпад работает, но никакие USB-HID устройства не реагируют.
https://yadi.sk/i/7gc9JMhHmREq5
vgal
Posts: 88
Joined: Mon Jan 26, 2015 7:38 am

Re: USB

Post by vgal »

Пробуйте отсюда: viewtopic.php?f=9&t=14555&p=119577#p119577
Надо заменить ВСЕ файлы.
CircularTriangle06
Posts: 32
Joined: Sat May 23, 2015 5:54 pm

Re: USB

Post by CircularTriangle06 »

vgal wrote:Надо заменить ВСЕ файлы.
Все файлы не могу. Полученный образ не загружается, вероятно, из-за нарушения структуры при манипуляции с образом, или конфликта версий файлов.
edit: с драйверами test03/test04 загрузка не удается.
Post Reply

Who is online

Users browsing this forum: Yandex [Bot] and 12 guests