Bug 3765

Summary: В WINE не создаются устройства, соответствующие корневым USB-хабам
Product: WINE@Etersoft Reporter: Александр Морозов <amorozov>
Component: Оборудование ; ДрайвераAssignee: Александр Морозов <amorozov>
Status: CLOSED FIXED QA Contact:
Severity: minor    
Priority: P4 CC: kondratyuk
Version: 1.0.10   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 2581    

Description Александр Морозов 2009-04-01 19:24:42 MSD
Если CM_Get_Parent и CM_Get_Device_ID возвращают то же, что и в Windows, то флэш-версия Консультант+ пытается открыть устройство, соответствующее USB-хабу:
fixme:setupapi:CM_Get_Parent 0x33e4e4 0x0012d7c8 0x00000000 stub
trace:setupapi:CM_Get_Device_IDW 111111->0x111111, 0x33e7d0, 260 0
trace:setupapi:CM_Get_Device_IDW Returning L"USB\\VID_058F&PID_6387\\TQ42Y8VA"
fixme:setupapi:CM_Get_Parent 0x33e4e4 0x00111111 0x00000000 stub
trace:setupapi:CM_Get_Device_IDA 222222->(nil), 0x33e5c0, 260 0
trace:setupapi:CM_Get_Device_IDA Returning "USB\\ROOT_HUB20\\4&172B99F8&0"
trace:setupapi:SetupDiDestroyDeviceInfoList 0x12cbe8
fixme:ntdll:NtCreateFile opening L"\\??\\USB#ROOT_HUB20#4&172B99F8&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}"
Comment 1 Александр Морозов 2009-04-02 19:47:31 MSD
Реализовал создание устройств для корневых USB-хабов. Надо ещё реализовать обработку ряда IOCTL для этих устройств:
220408 IOCTL_USB_GET_NODE_INFORMATION
22040c IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
220410 IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION
220420 IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME
Comment 2 Александр Морозов 2009-05-22 20:05:25 MSD
Реализовал обработку IOCTL_USB_GET_NODE_INFORMATION. Реализация возвращает не реальные свойства хаба, а некоторые заданные в коде значения. Например, всегда возвращается bNumberOfPorts, равное 8.
Comment 3 Александр Морозов 2009-05-27 19:37:33 MSD
Реализовал обработку IOCTL_USB_GET_NODE_CONNECTION_INFORMATION.
Comment 4 Александр Морозов 2009-06-22 19:50:12 MSD
Реализован обработчик IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME. Реализация IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION для работы Консультант+ не обязательна.