BastilleResearch / mousejack

MouseJack device discovery and research tools
GNU General Public License v3.0
1.29k stars 254 forks source link

Flashing Firmware #11

Closed atechdad closed 8 years ago

atechdad commented 8 years ago

Once the firmware is flashed, windows can no longer recognize the device. This is a problem because the device can no longer be passed to a VM. The event log flags this issue with the code 43 which may indicate issues with the descriptors.

Is this something that can be easily resolved?

The device is recognized by a standalone linux box.

marcnewlin commented 8 years ago

@atechdad

To clarify, are you attempting to use the dongle from a Windows guest VM in a Linux host, or a Linux guest VM in a Windows host?

Which versions of Windows/Linux are in use, and which VM software?

atechdad commented 8 years ago

The issue seems to be that the Windows host can't resolve the device descriptors. The host reports "A request for the USB device descriptor failed". It appears that the host disables the device and so the virtualization software can't see it to pass it to the guest.

I am attempting to use the dongle from a windows host in a Linux guest using VMware's workstation 11. I have tested from Windows 7 to Windows 10.

marcnewlin commented 8 years ago

Thank you for the details. I see the same thing when I pass a dongle through to a Windows 10 VM from a Linux host.

The USB code in the firmware is a bare bones implementation, so it is very possible that Windows expects a device descriptor feature which is not currently implemented in the firmware.

For the moment, your best bet will be using a native Linux box, but this has also been successfully tested in a Linux VM guest within an OSX host.

atechdad commented 8 years ago

Thank you, I'll keep doing that.

I tried troubleshooting the descriptor issue by comparing the usb and usb_desc src with the crazyradio sources, but I really have no experience with USB development so I have not yet been successful.

Thanks again!

marcnewlin commented 8 years ago

Fixed in https://github.com/RFStorm/mousejack/commit/96c7fd9b65f7ac0d1122e26f614a74d39dedc7a0. There was a bug in how the device and configuration descriptors were returned when using a Windows machine.