I’m not asking for support. I’m posting this here for people to find when they use a search engine to try to solve the common problem of being someone who only uses Linux, but also needs to work with Shimano’s etube software for Di2 bike gears, and Garmin Connect for Garmin sport tracker devices (watches and bike computers).
I’ve been 100% on Linux for about 2 years or more now, and during all that time I just gave up on using Garmin Connect or the Shimano Etube software. I don’t like dual booting, and there is no Linux version of the software for these devices, and no open source replacements. It’s a closed shop.
I was able to get my runs off my garmin watch by just using a basic usb connection and dragging and dropping, but I could never update the watch firmware, and during all that time I haven’t needed to alter the setup of my Shimano Di2 gears or do any firmware updates, which was useful as I could not have done it.
But knowing I could never update firmware on either device was a problem for the future.
I had tried running windows in virtualbox but could never get the usb connections to work. I’m sure there’s a way, but I could never get the garmin devices, or my shimano Di2 connector (SM PCE02 - Shimano Di2 Internal Battery Charger | Sigma Sports) to be recognised.
Just a few nights ago I stumbled on a video talking about QEMU Virt Manager. I installed it, messed about with it until I got it right, and everything works. I can update firmware on my Garmin watch - I’ve just done it. I can update the firmware on my Di2 gears - I’ve just updated two of the components that had an update available.
Once you get windows installed, install garmin connect or the etube software. Then plug in the device you want to connect. Then in the qemu virt manager settings for your virtual machine add a usb device. You need to find the button “add hardware”, then look for usb device, and once you click that you can choose the device you plugged in from a list. Once you do that windows will recognise it.
If you are in the same position I was in here is the video that got my started. It just discusses how to install it. However, note that many of the terminal commands won’t work on Manjaro. You need systemctl instead. For example:
sudo systemctl restart libvirtd
Hope this helps someone at some point in the future.