whad-team / butterfly

WHAD-enabled firmware for nRF52840 dongle, allowing to sniff and inject packets from multiple wireless protocols (e.g. BLE, Zigbee, Enhanced ShockBurst, Mosart, ANT, ...)
MIT License
10 stars 1 forks source link

Device reset on PCA10059 with VMware host to guest passthrough #4

Open jduck opened 7 months ago

jduck commented 7 months ago

The butterfly firmware locks up and the device resets when attempting to talk to it with whad-client. The device shows up fine in the kernel log.

@jslawek threw out some ideas about disabling various spectre mitigations and trying different USB modes in VMware. I tried switching from USB2 to USB3 in the VM config, but found there was no change in behavior. Disabling mitigations was not attempted.

Another path to figuring this out involves using JTAG, SWD, or UART to view debugging information when it occurs. This was also not attempted so far.

I'm filing this issue, but I'm going try and push forward by avoiding the problem (stop using VMware).

jduck commented 7 months ago

To quote @jslawek

I find using USB in VM rather unstable, especially once you try to transfer with a little bit faster rate. There are a few tricks that sometimes help - like try switching USB 2.0<->3.0 or disabling side-channel mitigations (ulm.disableMitigations = true). But the trick that works best for me is using an older kernel for the guest (for example 4.15). I did not investigate further why it works, some of the prime suspects are spectre/meltdown mitigations. Now that I think about it it may be worth confirming this theory with mitigations=off boot params on current kernel.