Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 4301 - Надо реализовать обработку подключения/отключения USB-устройств   Make a simular bug
Summary: Надо реализовать обработку подключения/отключения USB-устройств
Status: CLOSED INVALID
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Оборудование ; Драйвера (show other bugs)
Version: 2.0
Hardware: PC Linux
: P4 minor
Target Milestone: ---
Deadline: 2012-12-03
Assignee: Роман Дадьков
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 775
  Show dependency treegraph
 
In work:
Reported: 2009-09-16 13:27 MSD by Александр Морозов
Modified: 2024-04-15 20:21 MSK (History)
3 users (show)

See Also:
Заявки RT: 11139
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Александр Морозов 2009-09-16 13:27:42 MSD
Сейчас наличие USB-устройств определяется только при запуске первой программы под WINE. Если устройство подключается, когда WINE уже работает, то драйвер для него не загружается. При отключении устройства WINE никак не извещает об этом драйвер устройства.
Comment 1 Александр Морозов 2010-12-27 21:03:55 MSK
При подключении/отключении usb-устройств вызываются функции new_device и removed_device в mountmgr.sys. Оттуда можно вызывать функции из usbhub.c для получения нового списка устройств. Думаю, это будет легче реализовать, если совместить mountmgr.sys и usbhub.sys в одном драйвере.
Comment 2 Александр Морозов 2010-12-29 00:24:04 MSK
Начал переносить parport.sys и usbhub.sys в mountmgr.sys.
Comment 3 Александр Морозов 2011-02-04 21:45:19 MSK
> Начал переносить parport.sys и usbhub.sys в mountmgr.sys.
Перенёс.
Comment 4 Александр Морозов 2011-02-07 21:54:35 MSK
Начал работать над загрузкой драйверов для ключа, вставленного после запуска wine.
Comment 5 Александр Морозов 2011-02-08 18:05:03 MSK
Сделал, чтобы при установке переменной окружения WINEAUTOMOUNT в "no" не отключалась полностью инициализация hal, так как он нужен будет для получения событий о подключении USB-устройств.
Comment 6 Александр Морозов 2011-02-08 18:08:13 MSK
В комментарии выше имеется ввиду, что при WINEAUTOMOUNT=no продолжат загружаться драйверы ключей. Создание ссылок на устройство и точку монтирования USB-флэшки будет отключаться.
Comment 7 Александр Морозов 2011-02-08 22:03:25 MSK
> Начал работать над загрузкой драйверов для ключа, вставленного после запуска
> wine.
Доделал. Теперь надо реализовать обработку удаления устройства. На данный момент однажды вытащенное устройство перестаёт работать.
Comment 8 Александр Морозов 2011-02-09 22:27:21 MSK
Занимался реализацией обработки удаления USB-устройства.
Comment 9 Александр Морозов 2011-02-10 22:20:46 MSK
Занимался реализацией обработки удаления USB-устройства.
Comment 10 Глеб Кордюков 2011-02-15 16:23:40 MSK
Срок выполнения - до конца февраля
Comment 11 Александр Морозов 2011-02-28 22:34:35 MSK
Реализовал посылку драйверу IRP и его выгрузку при удалении USB-устройства. Реализовал IoDetachDevice, улучшил реализацию IoAttachDeviceToDeviceStack. Сделал, чтобы в register_usbstor_device удалялся старый симлинк при создании нового.
Comment 12 Александр Морозов 2011-03-01 22:28:14 MSK
Внёс изменения в register_usbstor_device, чтобы в device ID пробелы заменялись на '_', как в Windows.
Comment 13 Александр Морозов 2011-03-02 22:28:01 MSK
Перенёс имеющиеся патчи на 1.0.12.

Заметил регресс в работе LicenceTest с USB-ключом Катран. Проблема оказалась связана с обработкой PnP-запросов от устройств из HKLM\System\CurrentControlSet\Enum\Root. В обработчике производился поиск по списку USB-устройств (проверка, что устройство не удалено), а root-устройства в этом списке отсутствовали, и возвращалась ошибка. Завёл специальный список для root-устройств.
Comment 14 Александр Морозов 2011-03-03 22:11:27 MSK
Есть проблемы с USB-ключами HASP и Guardant (проверял на 1.0.12).

Для ключа HASP динамически загружаются два драйвера: aksusb.sys и akshasp.sys. Второй не выгружается при отключении ключа. После повторного подключения ключа и запуска hasp_demo.exe падает winedevice, и все драйверы перестают работать.

Guardant при повторном подключении перестаёт быть виден.
Comment 15 Александр Морозов 2011-03-03 22:14:08 MSK
Отправил то, что сделано на данный момент, в рассылку.
Comment 16 Александр Морозов 2012-05-04 22:08:09 MSK
Надо добавить возможность получения событий о подключении/отключении USB-устройств с помощью libudev.
Comment 17 Александр Морозов 2012-05-12 21:23:27 MSK
> Надо добавить возможность получения событий о подключении/отключении
> USB-устройств с помощью libudev.
Сделал.
Comment 18 Vitaly Lipatov 2014-09-11 18:50:11 MSK
Откладываем задачи, к которым не обращались более 100 дней.
Comment 19 Олег Шевченко 2024-04-15 20:21:06 MSK
В последний раз был привязан к релизу W@E 2.0
Аннулирую.