Linux sideloading not working

Former Member
Former Member

Im trying to set up my environment on a Debian based system.

So far I've gotten through the https://developer.garmin.com/connect-iq/programmers-guide/getting-started with some additional jumps to make the simulator work. But it works.

However, I can not side load an application on my Vivoactive 4. The only error I'm getting in eclipse is:

<...PATH to garmin/apps...> (Operation not supported)

Garmin Vivoactive 4 Connect IQ: 3.1.7

Does anybody has an idea how to solve this?

  • Isn’t sideload just a direct file copy onto a watch plugged in like a USB? If you can see and copy files from the watch, you just write the .prg back into the same place. 

    Is the error that your OS simply crashes on file write? (If so, I’d call customer support.)

    Or are you trying to compile directly onto your watch? (In which case... don’t.)

  • Former Member
    Former Member over 5 years ago in reply to 9635560

    The plugin of Connect IQ on Eclipse is having the feature: 'Build for Device Wizzard'. This should put the app on the watch. The compilation does not happen on your end device.

    I followed your suggestion of just copying the .prg device, it does work. Thanks. But I do feel handicapped. Maybe I'm used to the luxury of oa Android. Where you can debug while running your app on device. Eclipse should have a similar functionality. Though this for sure is not working now. This makes developing quite a bit harder and a slower process.

    Quite annoyed by it tbh. xD Not sure how to start proper debuggen an app now, might try to write log files instead. Which becomes a nuisance.

    But thanks, indeed eventually getting the app on wasn't too much of a trouble. Even if the watch didn't quite got mounted it was possible to copy in .prg files into the APP directory. Guess that is all there is too it. Nothing fancy.

  • The plugin of Connect IQ on Eclipse is having the feature: 'Build for Device Wizzard'. This should put the app on the watch. The compilation does not happen on your end device.

    One thing, the va4 is a music device, so not mass store - but MTP.

    Even on windows, you can't build directly to the device.  I build it c;\garmin\apps and the copy the prg from there to the device.  With mac, it's even trickier, in that you need something like ATP to even access the watch.

    With linux, it depends on how it sees an MTP device, but building to the main file system first and then copying to the device is likely..

  • Former Member
    Former Member over 5 years ago in reply to jim_m_58

    So the trouble would not be there having a different model?

    At the MacBook, which I gave a shot for about a morning, I didn't got it working too. Tried using ATP indeed, also simple-mtpfs but the device remained 'unknown' in simple-mtpfs, and ATP couldn't recognize it either.

  • As I said, even on windows I build to the local hard drive, and then copy it to the device.  It makes "Build for device wizard" a two step process, as you want to use the wizard so things are built using the proper jungles, etc, and MTP devices aren't visible in the wizard unless you map the MTP device to a drive letter.

  • Former Member
    Former Member over 5 years ago in reply to jim_m_58

    Yes got that. But do all Garmin models have this 'issue'. Since you mentioned specifically: "the va4 is a music device...".

  • Music devices (va4, f5+ series, f6 series 245m, 645m. va3m) use MTP (they are seen as media devices), while things like the f5 series, 245 (non music) and 645 (non music) just show as a USB device like a flash drive.

  • Greetings from the future. The issue is the filesystem API used to do the MTP copy, and it's not unique to Garmins. Instead of cp, use "gio copy". You'll need to use a funny syntax for the destination MTP device as well (and annoyingly, this changes on every unplug, so there's some greppage required). I'm not at my PC but if you Google for MTP gio copy, you'll find the command you need.