On Linux, this is quite simple:
echo -en "\x03\x09GoToDload" > /dev/hidraw0
After this, the USB device should have disappeared and replaced by a different one.
On Windows, a separate tool is needed to issue this command. The testapi GUI from signal7/HIDAPI can do this job.
I attached testgui.exe so you don't have to build it yourself
Unfortunately, the data sent can't be formatted as text. Here is hex encoded string that goes into the "Output Report" field:
0x3 0x9 0x47 0x6f 0x54 0x6f 0x44 0x6c 0x6f 0x61 0x64
length is 11
After clicking "Send Output Report", the program reports an error, because the device has now switched to DFU mode. ...
Download the .apk for the LG VR Manager, for example here: https://apkpure.com/lg-360-vr-manager/com.lge.vrman Unpack the file (it's actually a .zip), and navigate to assets/LGR100AT-00-V10d-310-XX-MAY-02-2016+0.dfu This is the firmware file.
Then you need to manually remove the first 285 bytes with the DFU file header:
dfu-suffix -D "LGR100AT-00-V10d-310-XX-MAY-02-2016+0.dfu"
dd if=LGR100AT-00-V10d-310-XX-MAY-02-2016+0.dfu of=myfw bs=1 skip=285
dfu-suffix -a myfw # Add suffix again to make dfu-util happy
This tool should be available on most Linux distros. For Windows, they offer binary releases here: http://dfu-util.sourceforge.net/releases/
dfu-util -l
lists the available DFU device. The VR's USB ID is 1004:6374
Windows-only: Before dfu-util can access the device, you need to install a matching driver. Fortunately, Zadig automates this us. Just download the tool, and select the LGE Download Firmware Update, and install the WinUSB driver.