Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Win10 system random crash while communicating with multiple HID devices on RaspberryPI #294

Open
luepipo opened this issue Jan 14, 2022 · 3 comments

Comments

@luepipo
Copy link

luepipo commented Jan 14, 2022

Client: Win10
Server: RPi

We tried to connect multiple HID devices from RPI to Win10 via USBIP v0.3.1.
We encountered several times win10 system crash (no BSOD found, but system reboot) while we left the devices running themselves.

After capturing the minidump and trying to analyzing this by WinDBG, we got below result.
randomReset.txt

I already checked recent commits but still had no idea about this problem.

Here are from the Windbg dump

`FAULTING_SOURCE_LINE:  D:\usbip-win\driver\vhci\vhci_dev.c

FAULTING_SOURCE_FILE:  D:\usbip-win\driver\vhci\vhci_dev.c

FAULTING_SOURCE_LINE_NUMBER:  35

FAULTING_SOURCE_CODE:  
    31: 	if (status != STATUS_BUFFER_TOO_SMALL) {
    32: 		DBGE(DBG_GENERAL, "failed to get device property size: %s\n", dbg_ntstatus(status));
    33: 		return NULL;
    34: 	}
    35: 	value = ExAllocatePoolWithTag(PagedPool, buflen, USBIP_VHCI_POOL_TAG);
    36: 	if (value == NULL) {
    37: 		DBGE(DBG_GENERAL, "failed to get device property: out of memory\n");
    38: 		return NULL;
    39: 	}
    40: 	status = IoGetDeviceProperty(pdo, prop, buflen, value, &buflen);
`

Thanks,

@luepipo
Copy link
Author

luepipo commented Feb 7, 2022 via email

@mikevador02
Copy link

Hello,

Thanks for this solution working fine but client crash randomly
I use it with usb device on another windows 10 64 pc (server pc) on wired gigabit LAN.

I have the same random crash on client windows 10 64 (sometime after 5 minutes sometimes after 30 minutes).

I have compiled the project with VS 2019 x64 on the client computer.

my windbg file is

AULTING_SOURCE_LINE: C:\usbip-win-master\driver\vhci\vhci_read.c

FAULTING_SOURCE_FILE: C:\usbip-win-master\driver\vhci\vhci_read.c

FAULTING_SOURCE_LINE_NUMBER: 809

FAULTING_SOURCE_CODE:
805: DBGI(DBG_READ, "store_urbr_partial: Enter: urbr: %s\n", dbg_urbr(urbr));
806:
807: irpstack = IoGetCurrentIrpStackLocation(urbr->irp);
808: urb = irpstack->Parameters.Others.Argument1;

809: code_func = urb->UrbHeader.Function;
810:
811: switch (code_func) {
812: case URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
813: status = store_urb_bulk_partial(urbr->vpdo, irp, urb);
814: break;

SYMBOL_NAME: usbip_vhci!store_urbr_partial+58

MODULE_NAME: usbip_vhci

IMAGE_NAME: usbip_vhci.sys

Thanks in advance for help.

@vadimgrn
Copy link

Try this, please https://github.com/vadimgrn/usbip-win2/releases

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants