Re: [usbip-devel] soft device enumeration using windows USBIP driver
Status: Alpha
Brought to you by:
hirofuchi
From: Xiaofan C. <xia...@gm...> - 2013-03-15 01:28:36
|
On Fri, Mar 15, 2013 at 9:06 AM, B.Vinai Kumar <vin...@gm...> wrote: > Hello, > > Sorry for my incomplete last mail, It was sent accidentally. > > I have downloaded the USBIP windows sources from SVN trunk and > extended the USBIP windows application "usbip.exe" to enumerate it as > a soft device using the USBIP bus enumerator driver(no modifications > in bus driver). > The following soft device enumeration is successful by giving the > proper descriptors and after handling the class specific control > requests. > 1) HID "soft" device > 2) USB Audio "soft" device That is nice. Maybe you want to detail what you have changed in the Windows application. Microsoft used to have the Device Simulation Framework (up to WDK 7.1) to get "soft" device but dropped DSF in the latest Windows 8 WDK. > When I make it composite device, I'm seeing the crash on(Blue screen) > windows 7 PC. > > Windows Minidump is pointing to this line of code, > > file: busenum.c > function: proc_select_config() No so sure what is the problem, but just take note most of the Windows driver only deals with one USB configuration. And make sure your config descriptor is correct. You can try to post your descriptor for the USB Composite Device to see if there are something wrong with it or not. > on One PC it is pointing to this line of code > > ---> if(NULL==pdodata->dev_config){ > KdPrint(("Warning, select config when have no get config\n")); > return STATUS_INVALID_DEVICE_REQUEST; > } > > and on other PC the crash dump is pointing to different line > > ------> if(!RtlEqualMemory(pdodata->dev_config, > req->ConfigurationDescriptor, > sizeof(*req->ConfigurationDescriptor))){ > KdPrint(("Warning, not the same config desc\n")); > return STATUS_INVALID_DEVICE_REQUEST; > } > > and the error thrown on Blue screen is > "Page Fault on non Paged Area" > > Please help me in debugging this issue? I'm familiar to Linux drivers > but Windows development is new to me. > The standard way to debug Windows driver is to use a two-pc setup with IEEE1394 cable. I have not done that myself though since I am not a software developer. http://msdn.microsoft.com/en-us/library/windows/hardware/ff556866(v=vs.85).aspx There are other ways, like this. http://briolidz.wordpress.com/2012/03/28/windows-driver-debugging-with-windbg-and-vmware/ -- Xiaofan |