Summary: | Надо реализовать обработку подключения/отключения USB-устройств | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Александр Морозов <amorozov> |
Component: | Оборудование ; Драйвера | Assignee: | Роман Дадьков <romand> |
Status: | CLOSED INVALID | QA Contact: | |
Severity: | minor | ||
Priority: | P4 | CC: | kondratyuk, lav, olezha |
Version: | 2.0 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: | |||
Заявки RT: | 11139 | Связано с: | 4327,6508 |
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 775 | ||
Deadline: | 2012-12-03 |
Description
Александр Морозов
2009-09-16 13:27:42 MSD
При подключении/отключении usb-устройств вызываются функции new_device и removed_device в mountmgr.sys. Оттуда можно вызывать функции из usbhub.c для получения нового списка устройств. Думаю, это будет легче реализовать, если совместить mountmgr.sys и usbhub.sys в одном драйвере. Начал переносить parport.sys и usbhub.sys в mountmgr.sys. > Начал переносить parport.sys и usbhub.sys в mountmgr.sys.
Перенёс.
Начал работать над загрузкой драйверов для ключа, вставленного после запуска wine. Сделал, чтобы при установке переменной окружения WINEAUTOMOUNT в "no" не отключалась полностью инициализация hal, так как он нужен будет для получения событий о подключении USB-устройств. В комментарии выше имеется ввиду, что при WINEAUTOMOUNT=no продолжат загружаться драйверы ключей. Создание ссылок на устройство и точку монтирования USB-флэшки будет отключаться. > Начал работать над загрузкой драйверов для ключа, вставленного после запуска
> wine.
Доделал. Теперь надо реализовать обработку удаления устройства. На данный момент однажды вытащенное устройство перестаёт работать.
Занимался реализацией обработки удаления USB-устройства. Занимался реализацией обработки удаления USB-устройства. Срок выполнения - до конца февраля Реализовал посылку драйверу IRP и его выгрузку при удалении USB-устройства. Реализовал IoDetachDevice, улучшил реализацию IoAttachDeviceToDeviceStack. Сделал, чтобы в register_usbstor_device удалялся старый симлинк при создании нового. Внёс изменения в register_usbstor_device, чтобы в device ID пробелы заменялись на '_', как в Windows. Перенёс имеющиеся патчи на 1.0.12. Заметил регресс в работе LicenceTest с USB-ключом Катран. Проблема оказалась связана с обработкой PnP-запросов от устройств из HKLM\System\CurrentControlSet\Enum\Root. В обработчике производился поиск по списку USB-устройств (проверка, что устройство не удалено), а root-устройства в этом списке отсутствовали, и возвращалась ошибка. Завёл специальный список для root-устройств. Есть проблемы с USB-ключами HASP и Guardant (проверял на 1.0.12). Для ключа HASP динамически загружаются два драйвера: aksusb.sys и akshasp.sys. Второй не выгружается при отключении ключа. После повторного подключения ключа и запуска hasp_demo.exe падает winedevice, и все драйверы перестают работать. Guardant при повторном подключении перестаёт быть виден. Отправил то, что сделано на данный момент, в рассылку. Надо добавить возможность получения событий о подключении/отключении USB-устройств с помощью libudev. > Надо добавить возможность получения событий о подключении/отключении
> USB-устройств с помощью libudev.
Сделал.
Откладываем задачи, к которым не обращались более 100 дней. В последний раз был привязан к релизу W@E 2.0 Аннулирую. |