阅读:1836回复:10
★★★☆☆☆(20分)☆☆☆★★★ 为甚末D12驱动与Intel USB2.0 Enhanced Host Controller冲突?怎末解决啊?
为甚末D12驱动与
Intel PCI To USB2.0 Enhanced Host Controller(win2000) Intel USB2.0 Enhanced Host Controller(win2003、xp) 冲突?怎末解决啊? :( :( :( :( |
|
最新喜欢:![]()
|
沙发#
发布于:2003-11-01 08:02
help help help ...........................
|
|
|
板凳#
发布于:2003-10-29 11:10
当关闭Intel PCI To USB Enhanced Host Controller就没问题了。
谁知道如何解决呢? driver studio: 调试发现运行到NTSTATUS Test98Device::OnStartDevice(KIrp I) 中的: acStatus = m_Lower.ActivateConfiguration(1); 时,返回失败。 进入后发现调用:GetDeviceDescriptor(&desc);失败! 再进入后调用:UsbBuildGetDescriptorRequest(&u,..........);失败! ddk编程时应该是这里: NTSTATUS D12_StartDevice( IN PDEVICE_OBJECT DeviceObject ) /*++ Routine Description: Initializes a given instance of the device on the USB. All we do here is get the device descriptor and store it Arguments: DeviceObject - pointer to the device object for this instance of a 82930 Return Value: NT status code --*/ { PDEVICE_EXTENSION deviceExtension; NTSTATUS ntStatus; PUSB_DEVICE_DESCRIPTOR deviceDescriptor = NULL; PURB urb; ULONG siz; D12_KdPrint ((\"D12TEST.SYS: enter D12_StartDevice\\n\")); deviceExtension = DeviceObject->DeviceExtension; //获取设备扩展对象 D12_ResetIrpQueue(DeviceObject); urb = ExAllocatePool(NonPagedPool, sizeof(struct _URB_CONTROL_DESCRIPTOR_REQUEST)); if (urb) { siz = sizeof(USB_DEVICE_DESCRIPTOR); deviceDescriptor = ExAllocatePool(NonPagedPool, siz); if (deviceDescriptor) { UsbBuildGetDescriptorRequest(urb, (USHORT) sizeof (struct _URB_CONTROL_DESCRIPTOR_REQUEST), USB_DEVICE_DESCRIPTOR_TYPE, 0, 0, deviceDescriptor, NULL, siz, NULL); ntStatus = D12_CallUSBD(DeviceObject, urb); if (NT_SUCCESS(ntStatus)) { D12_KdPrint ((\"D12TEST.SYS: Device Descriptor = %x, len %x\\n\", deviceDescriptor, urb->UrbControlDescriptorRequest.TransferBufferLength)); D12_KdPrint ((\"D12TEST.SYS: D12 Device Descriptor:\\n\")); D12_KdPrint ((\"D12TEST.SYS: -------------------------\\n\")); D12_KdPrint ((\"D12TEST.SYS: bLength %d\\n\", deviceDescriptor->bLength)); D12_KdPrint ((\"D12TEST.SYS: bDescriptorType 0x%x\\n\", deviceDescriptor->bDescriptorType)); D12_KdPrint ((\"D12TEST.SYS: bcdUSB 0x%x\\n\", deviceDescriptor->bcdUSB)); D12_KdPrint ((\"D12TEST.SYS: bDeviceClass 0x%x\\n\", deviceDescriptor->bDeviceClass)); D12_KdPrint ((\"D12TEST.SYS: bDeviceSubClass 0x%x\\n\", deviceDescriptor->bDeviceSubClass)); D12_KdPrint ((\"D12TEST.SYS: bDeviceProtocol 0x%x\\n\", deviceDescriptor->bDeviceProtocol)); D12_KdPrint ((\"D12TEST.SYS: bMaxPacketSize0 0x%x\\n\", deviceDescriptor->bMaxPacketSize0)); D12_KdPrint ((\"D12TEST.SYS: idVendor 0x%x\\n\", deviceDescriptor->idVendor)); D12_KdPrint ((\"D12TEST.SYS: idProduct 0x%x\\n\", deviceDescriptor->idProduct)); D12_KdPrint ((\"D12TEST.SYS: bcdDevice 0x%x\\n\", deviceDescriptor->bcdDevice)); D12_KdPrint ((\"D12TEST.SYS: iManufacturer 0x%x\\n\", deviceDescriptor->iManufacturer)); D12_KdPrint ((\"D12TEST.SYS: iProduct 0x%x\\n\", deviceDescriptor->iProduct)); D12_KdPrint ((\"D12TEST.SYS: iSerialNumber 0x%x\\n\", deviceDescriptor->iSerialNumber)); D12_KdPrint ((\"D12TEST.SYS: bNumConfigurations 0x%x\\n\", deviceDescriptor->bNumConfigurations)); } } else { // if we got here we failed to allocate deviceDescriptor ntStatus = STATUS_INSUFFICIENT_RESOURCES; } if (NT_SUCCESS(ntStatus)) { deviceExtension->DeviceDescriptor = deviceDescriptor; } else if (deviceDescriptor) { ExFreePool(deviceDescriptor); } ExFreePool(urb); } else { // if we got here we failed to allocate the urb ntStatus = STATUS_INSUFFICIENT_RESOURCES; } if (NT_SUCCESS(ntStatus)) { ntStatus = D12_ConfigureDevice(DeviceObject); } if (NT_SUCCESS(ntStatus)) { ntStatus = D12_BuildPipeList(DeviceObject); } D12_KdPrint ((\"D12TEST.SYS: exit D12_StartDevice (%x)\\n\", ntStatus)); return ntStatus; } |
|
|
地板#
发布于:2003-10-29 10:55
help help ......
|
|
|
地下室#
发布于:2003-10-27 08:10
UP UP 。。。。
|
|
|
5楼#
发布于:2003-10-24 08:23
再顶顶,看有没有说得更详细一点的。。。
|
|
|
6楼#
发布于:2003-10-23 16:04
本相快一点解决usb驱动,但如果真是驱动编写有问题,那只好一步步从wdm基础开始啃了,时间太长了,晕。。。。
|
|
|
7楼#
发布于:2003-10-23 15:59
估计还是你的D12驱动和主板的USB2.0驱动冲突!
|
|
8楼#
发布于:2003-10-23 15:41
inf文件和驱动我都没改,使用随开发板提供的
|
|
|
9楼#
发布于:2003-10-23 15:33
禁用Intel USB2.0 Enhanced Host Controller后,D12驱动可以装上,运行正常。
开启Intel USB2.0 Enhanced Host Controller后,原来运行正常的D12驱动就不能运行了,前面加了个“!”。 是INF文件不对?还是驱动有问题?或是D12硬件本身不支持? 有没有甚末解决办法?(最好不用“禁用”的方法) 谢谢! |
|
|
10楼#
发布于:2003-10-23 15:10
应该是D12的驱动做的有问题,他的INF中有win 2000和winxp的驱动索引项嘛?在驱动程序中有相应的驱动嘛?
|
|