Page 23 of 46
Re: Тестируем поддержку USB
Posted: Tue Feb 26, 2013 3:04 am
by Asper
Проверил на
ThinkPad R51 и
EliteBook 8730w.
3 флешки (в том числе
Apacer 4Gb, та что не видна существующим транком), а также одна мышь работают замечательно. Вторая мышь не завелась.
P.S. Поддержка
EHCI/OHCI/UHCI это круто, поздравляю!
Re: Тестируем поддержку USB
Posted: Tue Feb 26, 2013 12:39 pm
by CleverMouse
Я обновила
http://ftp.kolibrios.org/users/CleverMo ... kernel.mnt и
http://ftp.kolibrios.org/users/CleverMo ... el_dbg.mnt , скорость стала существенно более вменяемой, хотя посекторное чтение максимальной скорости достичь всё же не позволяет.
Asper, проверь новое ядро.
Re: Тестируем поддержку USB
Posted: Tue Feb 26, 2013 9:38 pm
by dunkaist
SD-карта доступна только при горячем подключении. mouse1 (см. логи) не работает.
Ура, теперь я могу сохранять логи на флэшку! Спасибо большое!
Re: Тестируем поддержку USB
Posted: Wed Feb 27, 2013 5:39 pm
by CleverMouse
Я нашла одну из причин, по которым могла поломаться работа с UHCI. dunkaist и Asper, проверьте новое ядро по той же ссылке.
Re: Тестируем поддержку USB
Posted: Wed Feb 27, 2013 8:27 pm
by dunkaist
Не заметил изменений: sd-карта работает только при горячем подключении, mouse1 не работает.
Re: Тестируем поддержку USB
Posted: Wed Feb 27, 2013 8:40 pm
by CleverMouse
Re: Тестируем поддержку USB
Posted: Wed Feb 27, 2013 8:59 pm
by dunkaist
Мышка заработала, с sd-картой без изменений.
Re: Тестируем поддержку USB
Posted: Wed Feb 27, 2013 9:31 pm
by CleverMouse
Это уже легко, я обновила ядро по той же ссылке.
Re: Тестируем поддержку USB
Posted: Wed Feb 27, 2013 10:25 pm
by dunkaist
Теперь заработало! Но осталась проблема с перезагрузкой, если убить kiv через cpu при открытии большого файла. Между прибитием и перезагрузкой (попыткой следующего чтения) usb отваливается: мышь перестаёт управлять курсором (хотя тачпад работает), нет реакции на втыкание флэшки.
Re: Тестируем поддержку USB
Posted: Thu Feb 28, 2013 8:22 pm
by CleverMouse
В ядре не существует механизмов, позволяющих коду предотвратить смерть потока в самый неподходящий момент или хотя бы узнать о смерти потока. Поток, запросивший чтение с диска, внезапно исчезает, не успевая ничего предпринять, поток, обрабатывающий USB, этого не ожидает. Не лечится.
Re: Тестируем поддержку USB
Posted: Fri Mar 01, 2013 1:18 am
by CleverMouse
Насчёт "не лечится" я погорячилась, в r3296 я добавила механизм, позволяющий откладывать завершение потока при попытке прибить его извне, и обернула всю работу системной функции 70 как область с отложенным завершением. Очевидное следствие - если поток запросил гигабайт одним системным вызовом, то до того, как весь этот гигабайт будет прочитан/записан, прибить поток нельзя уже никак. Что, впрочем, несомненно лучше варианта, когда он уносит с собой в лучшем случае возможность доступа к файловой системе, в худшем - систему целиком вместе с частично изменёнными служебными данными на диске.
Уточнение 1: r3296 не касается кривых программ, передающих некорректные буферы, из-за которых происходит падение в ядре. Падения внутри потока по-прежнему приводят к прибиванию потока, просто откладывать их бесполезно.
Уточнение 2: если приказ о завершении пришёл во время работы функции 70, он не пропадёт: при выходе из функции 70 код обнаружит, что такой приказ был, и сделает себе харакири.
Обновлённое ядро я уже залила на ftp.
Re: Тестируем поддержку USB
Posted: Fri Mar 01, 2013 6:58 pm
by XVilka
Рекомендую еще обратить внимание на добавление пустого пакета EHCI в конце асинхронной передачи, и возможности её включения/отключения. Также, не все устройства передают столько данных, сколько было запрошено. Это не ошибка, а особенность работы этих устройств.
Re: Тестируем поддержку USB
Posted: Fri Mar 01, 2013 11:17 pm
by Asper
Проверил с последним ядром все работает просто отлично. Не работавшая мышь заработала, флешки стали читаться и записываться быстрее.
Две USB мыши нормально работают если использовать одновременно, 3 флешки тоже можно использовать одновременно. Большое спасибо за замечательно проделанную работу.
Re: Тестируем поддержку USB
Posted: Sat Mar 02, 2013 1:16 am
by CleverMouse
Мда, битые файлы логов особенно хорошо смотрятся на фоне фразы "все работает просто отлично".
Там была ошибка в обработке длинных буферов, которая не влияла на чтение - поскольку чтение посекторное - но при записи иногда била данные - поскольку запись объединяет подряд идущие сектора вплоть до 16. Я обновила ядро на ftp, всем стоит перекачать его.
Re: Тестируем поддержку USB
Posted: Sat Mar 02, 2013 9:36 am
by Serge
Отличная работа !!!
Проверил на старом i865.
Клавиатура и мышь работают, определилась флешка Kingston DT 101 G2 16GB. Запустил с неё упакованный FPlay, загрузился довольно быстро.
На H67 все устройства подключены к RMH, без драйвера не работают.