LINUX.ORG.RU
ФорумTalks

Продолжение эпопеи с USB-стеком в ReactOS

 ,


1

2

Нам все же удалось разбить лёд, мы все же нашли несколько тестеров во время прошлого этапа (В ReactOS готовится радикальное улучшение стека-USB, но нужна ваша помощь) и готовы двигаться дальше.

Разработчик Вадим Галянт залил в облако экспериментальный образ ReactOS с обновленными компонентами USB-стека.


https://drive.google.com/file/d/0B0uL4J-umfUBLXgwd25ZVnE1dzA/view

Особенности образа:

0. Это LiveCD, запускается с носителя без установки.
1. Для тестов реального железа надо заменить все три драйвера usb(u|o|e)hci на виндовые (XP SP3 или 2003 SP2).
2. Поддерживает загрузку с флешки.
3. Есть важный нюанс — флешки во время работы извлекать нельзя ВООБЩЕ — это равносильно отключению жесткого IDE-диска на горячую. Последствия будут фатальны для данных на флешке и запущенной системы. По идее, и добавлять на горячую флешку не стоит тоже.
4. Для чистоты тестов, желательно полностью отключать все имеющиеся звуковые карты на испытываемом компьютере.

Перед тем как экспериментировать с загрузкой с флешки, желательно сначала загрузиться с CD-ROM и убедиться, что все USB устройства видятся и работают нормально. И уже затем тестировать загрузку с USB.

Если вы готовы протестировать именно загрузку с флешки, то используйте 1 пункт этой (https://winehq.org.ru/ROS_BootFlash) инструкции и программу Rufus.

HDD, кард-ридеры, приводы, принтеры, сканеры, модемы используют BULK передачи. Поэтому если флешки работают, то и остальные устройства из этого списка должны работать. Правда в ReactOS пока нет поддержки для всех типов устройств на более высоком уровне.
Мышки, клавиатуры, джойстики используют INTERRUPT передачи.
Мультимедиа устройства используют ISOCHRONOUS передачи (в этом образе пока нет поддержки совсем!).

Любые вопросы желательно адресовать непосредственно Вадиму (https://vk.com/wall-1086956_33687) и ему же присылайте отчеты о результатах тестирования образа.

★★★★

Последнее исправление: Jedi-to-be (всего исправлений: 1)

просто работает

3. Есть важный нюанс — флешки во время работы извлекать нельзя ВООБЩЕ — это равносильно отключению жесткого IDE-диска на горячую. Последствия будут фатальны для данных на флешке и запущенной системы. По идее, и добавлять на горячую флешку не стоит тоже.

извлекаю cd-rom из ноутбука «на горячую». он по IDE подключен.

последствий никаких. чяднт? наверно в реактоси дело, а не в протоколах и шинах.

n_play
()

полностью отключать все имеющиеся звуковые карты

Верной дорогой идёте, товарищи!

Myau ★★★★
()
Ответ на: просто работает от n_play

последствий никаких. чяднт?

Чем ты хвастаешься?

1. Сидиром - ридонли девайс
2. Система запущена не с него.
3. Электрически и механически разъем в ноутбуке приспособлен для внезапных извлечений.

Во всех остальных случаях возможны последствия.


В случае с ReactOS - это эксперементальный образ, и проблема является «известной» для этого образа. Использовать его в продакшене никто не предлагает.

Jedi-to-be ★★★★
() автор топика
Ответ на: комментарий от Myau

Верной дорогой идёте, товарищи!

Еще один юморист.
Образ предназначен для теста одного единственного компонента, который прикручен скотчем. Естественно, нужно минимизировать проблемы от других источников, чтобы собрать информацию только по компоненту.

Jedi-to-be ★★★★
() автор топика
Ответ на: комментарий от ozzee

А что с поддержкой приложений Vista/7?

Сейчас ее нет вообще. Топик совершенно не про это.

Jedi-to-be ★★★★
() автор топика
Ответ на: комментарий от Ygor

DirectX еще не в ближайших планах?

Какие планы?
DirectX-приложения уже работают. Если чего-то не хватает - ставьте поверх оригинальный DirectX. Если и теперь не работает - шлите баг-репорты.

Jedi-to-be ★★★★
() автор топика
Ответ на: просто работает от n_play

извлекаю cd-rom из ноутбука «на горячую». он по IDE подключен.

Справедливости ради надо сказать, когда ты нажимаешь кнопку на сидироме, и венда и линукс прекращают работать с сидиромом и отдают тебе диск. Такая фишка не прокатывает на системах без автомонтирования. Диск отдаётся только после размонтирования.

Ygor ★★★★★
()

Продолжение эпопеи с USB-стеком

Сначала подумал, что вы все-таки наняли Сару Шарп вместо голянта, но нет, какая скукота...

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

Вадима никто не нанимал, это чистой воды волонтерство.

Jedi-to-be ★★★★
() автор топика

А расскажи о целях проекта, пожалуйста. Вот вы пишите систему, совместимую с вендой. Сейчас она совместима на уровне вайна, из которого большая часть кода, то есть примерно никак. Вендовые драйвера не работают, и не заработают в обозримом будущем, причём ХР уже давно похоронена, актуальны 7-10.
Погрузимся на минуту в манямирок. Драйвера от актуальной венды и даже программы заработали. Всё равно, в чём смысл? Венда будет работать лучше, она и так идёт в комплекте со всеми компами, а дома можно и пиратку. Начнёте составлять конкуренцию - вас задавят патентами.

Короче, какое-то очень сомнительное занятие. Я не хейтер, если вы делаете это как хобби, для лулзом, или приобретая опыт - оно понятно, флаг вам в руки. Или вы серьёзно думаете что реактось будет где-то использоваться?

Inshallah
()
Ответ на: комментарий от Inshallah

Если есть, развивается и используется даже FreeDOS, то что говорить о клоне XP. Область применения для него огромна, только бы он работал получше, с чем пока проблемы.

curufinwe ★★★★★
()
Ответ на: комментарий от curufinwe

и используется даже FreeDOS

Как заглушка вместо ОС на дешёвых компах? Ну да.

что говорить о клоне XP

Немалая часть программ уже выбросила поддержку ХР.

Inshallah
()
Ответ на: комментарий от Jedi-to-be

2. Система запущена не с него.
3. Электрически и механически разъем в ноутбуке приспособлен для внезапных извлечений.

так и единственный hdd тоже вынимаю и запихиваю обратно.

при этом важно включить музычку с диска. есть порядка 5-8с, чтобы успеть засунуть диск обратно. как только музыка прекратилась - надо сразу запихивать.

иначе система «развалится».

в твоей ос такое прокатывает?

n_play
()
Ответ на: комментарий от Ygor

диск вынимал вручную вместе с приводом, ибо cd-da был покоцаный и стал «попрыгивать» музычкой. проще было выдернуть диск самому и запихать назад, чем дожидаться, пока система отдаст его по всем таймаутам.

но, гномовский плеер такое пережил. после засовывания всего хозяйства назад, обновился плейлист и продолжил играть. ничего особенного не произошло.

n_play
()
Ответ на: комментарий от n_play

Во-первых, твой вопрос оффтопик к теме треда.
Во-вторых, причем тут по сути ОС? Я лично видел, как такой гений как ты, IDE-диск на моих глазах спалиk во время горячих перевтыканий. И сама ОС крешнулась.

Jedi-to-be ★★★★
() автор топика
Последнее исправление: Jedi-to-be (всего исправлений: 1)
Ответ на: комментарий от Jedi-to-be

кому ты втираешь

Я лично видел, как такой гений как ты, IDE-диск на моих глазах спалиk во время горячих перевтыканий.

нет пути. если отверткой по голой плате не елозить и не разряжать статику из пальцев в микросхемки, то само по себе втыкание ничем не грозит.

не знать что такое шина и разьем питания...

алсо, что такое шина и разьем питания, можешь поизучать на примере денди. когда втыкаешь картридж с игрой наживую, надо только ресет нажать потом, чтоб дать пинка процессору. (а в случае ОС ничего не нужно делать - она сама переинциализурет устройство)

n_play
()

это равносильно отключению жесткого IDE-диска на горячую.

но ведь usb mass storage он на scsi коммандах

dimon555 ★★★★★
()
Ответ на: кому ты втираешь от n_play

О чём в принципе спор-то? Выкатили, как сказано, экспериментальную сборку только для тестирования работы usb-стека.

anonymous_incognito ★★★★★
()
Ответ на: комментарий от Inshallah

Как заглушка вместо ОС на дешёвых компах? Ну да.

таки есть и юзается софт, которому нужен ДОС

kott ★★★★★
()
Ответ на: комментарий от Inshallah

вы серьёзно думаете что реактось будет где-то использоваться?

Вангую. Прошло 10 лет, ReactOS набрала критическую массу и перевалила за 10 % на десктопе. Linux продолжает набирать второй процент.

Venediktov
()

1. Для тестов реального железа надо заменить все три драйвера usb(u|o|e)hci на виндовые (XP SP3 или 2003 SP2).

Без этого нельзя? Свои дрова вы так и не осилили? В чём тогда тест? Ясное дело, виндовые дрова будут работать

tiinn ★★★★★
()
Ответ на: комментарий от ozzee

ozzee> А что с поддержкой приложений Vista/7?

Да, но пока нет же! Это неофициальный слоган ReactOS.

Quasar ★★★★★
()
Ответ на: комментарий от Inshallah

Inshallah> Сейчас она совместима на уровне вайна, из которого большая часть кода

У WINE совместимость намного лучше, чем у ReactOS.

Quasar ★★★★★
()
Ответ на: комментарий от curufinwe

curufinwe> Если есть, развивается и используется даже FreeDOS

Не надо сравнивать FreeDOS с XP. DOS используется в промышленном оборудовании, в том числе и как RTOS. На Windows XP так не завязывались.

Quasar ★★★★★
()
Последнее исправление: Quasar (всего исправлений: 1)
Ответ на: комментарий от Quasar

DOS используется в промышленном оборудовании, в том числе и как RTOS

используется. Но не как РТОС, а как констатация уровня интеллекта пейсателей ПО для этого самого оборудования. ДОС - не ОСРВ ни в каком приближении.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от Quasar

На Windows XP так не завязывались.

ну, не ХР, а Windows Embedded, которая по сути и есть ХР. И это не всё. Есть РТ среды, эмулирующие часть вендового api, достаточное для запуска ПО. В то время когда васяны с перегретым чсв с пламенем изо рта на коленке трясущимися руками лабали энтерпрайз, мир незаметно так ушёл настолько далеко, что у мужчин даже и фантазии не хватает представить такую фантастику. ДОС, мля. Пипец.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

ДОС - не ОСРВ ни в каком приближении.

Это почему же? Таймер там обладает наивысшим приоритетом. РВ-приложение под ДОС написать вполне возможно. Другое дело, что ДОС - это не ОС, а пускалка .com и .exe файлов с минимумом обвязки по умолчанию.

tiinn ★★★★★
()
Ответ на: комментарий от Jedi-to-be

одного единственного компонента, который прикручен скотчем

Самая надёжная часть системы, остальное склеено соплями.

cipher ★★★★★
()
Ответ на: комментарий от tiinn

Таймер там обладает наивысшим приоритетом

Это не у ДОС, это IBM PC так построена. Я видел машины, где у таймера не высший приоритет. Но понимаешь в чём дело, товарищ. Во-первых, ну, какбэ это. Этот таймер какбэ не для прикладного ПО. Его, конечно, можно переписать на себя, но причём тут тогда DOS ? Тебе же тогда придётся всё самому делать, время считать, драйверами рулить, всё это. Либо вызывать ДОС, но тогда ты не можешь гарантировать реальное время. «Система реального времени (СРВ) — это система, которая должна реагировать на события во ВНЕШНЕЙ по отношению к системе среде или воздействовать на среду в рамках требуемых временных ограничений.». А когда твоя ДОС уходит в работу с диском, например, то останавливается курсор мыши. Эта же проблема есть в Линуксах, но он и не претендует. Ладно, но как быть с механизманми выделения памяти, синхровнизации и передачи сообщений, переключения между задачами, к которым какбэ предъявляются требования. Я уж молчу о том, что где DOS, там и BIOS, а BIOS сейчас - это жесть нах, некоторые сейчас тормозят шо пипец, особенно эти все фокусы с USB. Как с этим всем быть ? Это ничего, что BIOS легко может вожрать до 100 миллисекунд времени просто вот на себя.

Другое дело, что ДОС - это не ОС, а пускалка .com и .exe файлов с минимумом обвязки по умолчанию.

Вот. Да. Но нужна ли для этого ДОС ? Почему нельзя эту минимальную обвязку написать самому ? Это не титанический труд, я видел как минимум 3 рабочих и работающих реализации, одна из них написана ещё в те времена, когда ДОС стоила бабок. Некоторые маскируют ДОС, стараются её не показывать. Понимаешь в чём дело. Если ты реализовал собственную систему реального времени, работу с диском, памятью, задачами, то неужели тебе сложно написать тупой загрузчик. Это же час работы, товарищ. Зачем тебе .exe и .com вообще ? Объясни. А объяснение на самом деле есть. Оно состоит в том, что но ведь на деле, это не так. На деле, пи-й п@ск@ль, кетайские драйверы, которые Х.З. как работают, realtek 8139 и int13h, вот что на деле.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от lenin386

Почему нельзя эту минимальную обвязку написать самому ? Это не титанический труд, я видел как минимум 3 рабочих и работающих реализации, одна из них написана ещё в те времена, когда ДОС стоила бабок. Некоторые маскируют ДОС, стараются её не показывать. Понимаешь в чём дело. Если ты реализовал собственную систему реального времени, работу с диском, памятью, задачами, то неужели тебе сложно написать тупой загрузчик. Это же час работы, товарищ. Зачем тебе .exe и .com вообще ?

Сэкономить час работы, почему нет? В остальном согласен.

tiinn ★★★★★
()

тест USB стека и при этом драйвера USB заменить на виндовые? смысл какой в этом?

xmikex ★★★★
()
Ответ на: комментарий от Inshallah

Немалая часть программ уже выбросила поддержку ХР.

Так это же наоборот, для программ у которых никогда не будет поддержки ничего выше ХП. Всякий научный софт, разработанный в 90-е например и чья контора давно уже умерла вместе с исходниками. Туда же всякое говно узкоспециализированное на дельфях написанное, которому нет аналогов. По идее вот в такой нише оно очень даже нужно, как эмулятор доса для запуска дос игрушек\софта.

Loki13 ★★★★★
()
Ответ на: комментарий от Inshallah

вы серьёзно думаете что реактось будет где-то использоваться?

Не просто думаем, а абсолютно в этом уверены, хоть и занимаемся как хобби в основном.

https://habrahabr.ru/company/parallels/blog/319824/

Jedi-to-be ★★★★
() автор топика
Ответ на: комментарий от xmikex

тест USB стека и при этом драйвера USB заменить на виндовые? смысл какой в этом?

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

Jedi-to-be ★★★★
() автор топика
Последнее исправление: Jedi-to-be (всего исправлений: 1)
Ответ на: комментарий от Jedi-to-be

Сейчас тестируется драйвер usbport.sys - наш «собственный».

Затестил на реальном железе сборочку с уже подложенными виндовыми дровами. Наконец-то исправили ошибку, когда загрузка с подключенными USB клавой и мышью приводит к зависанию системы. Т.е. PNP менеджер заработал как надо. Но флешки по-прежнему не видятся системой, да и хрен бы с ними.

tiinn ★★★★★
()
Ответ на: комментарий от lenin386

lenin386> ДОС - не ОСРВ ни в каком приближении.

DOS позволяет делать приложения, которые могут так работать.

Quasar ★★★★★
()
Ответ на: комментарий от lenin386

lenin386> Этот таймер какбэ не для прикладного ПО. Его, конечно, можно переписать на себя, но причём тут тогда DOS ?

При том, что DOS даёт возможность не париться с загрузкой системы и установкой требуемой среды.

lenin386> Вот. Да. Но нужна ли для этого ДОС ?

Речь про legacy. Если говорить про ненужность DOS, тогда надо говорить вообще про ненужность всего x86 в embedded.

lenin386> Почему нельзя эту минимальную обвязку написать самому ?

А зачем надо, когда DOS есть?

lenin386> Если ты реализовал собственную систему реального времени, работу с диском, памятью, задачами, то неужели тебе сложно написать тупой загрузчик.

И всю среду, ага.

Quasar ★★★★★
()
Ответ на: комментарий от Loki13

О чём я уже говорил. Но они за 20 лет ничего подобного не сделали.

Quasar ★★★★★
()
Ответ на: комментарий от Quasar

DOS позволяет делать приложения, которые могут так работать.

Windows тоже позволяет это делать. Ах, да. Турбо паскаль с турбо вижыном под неё не работает. Как же можно такое запамятовать. Без этого никакъ, да.

тогда надо говорить вообще про ненужность всего x86 в embedded

Ахаха. Но другого нет, товарищ. Ты будешь смеяться, но PPC давно сдох, PIC убог, FPGA - не то. Такие дела.

А зачем надо, когда DOS есть?

И Windows есть, и Линукс. И РеактОС. Зачем тащить не свой код, на который у тебя не понятные права, и чуть что производитель этого либо пойдёт в отказ, либо поставит на бабки. В любом случае, это время, нервы, деньги, и в конце концов всё он равно ничего не сделает, и лечить чужие глюки тебе бесплатно и через костыли. Когда ты контролируешь весь код, это же правильно, не ? Импортозамещение, всё такое. Ваша логика понятна - свалить собственную криворукость на «глючную венду» - всегда пожалуйста. Но если приходится реально отвечать за работу, то я тебя уверяю, описанной мной метод намного проще эффективнее, туча проблем уходит.

И всю среду, ага.

Ты будешь смеяться. Я ещё раз говорю, это не титанический труд. *Очень* развитая среда делается за ~полгода 3-5 человеками. А дальше, на этом клепаются изделия в промышленных масштабах. Я видел несколько реализаций даже с возможностью удалённой отладки. Многие к этому приходят. У меня и своя среда есть.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 5)
Ответ на: комментарий от xmikex

но по сути у вас нет рабочего usb стека.

Есть, но недоделанное.
И почему это мы не должны тестировать то, что можем?

Jedi-to-be ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.