Has anybody tried to reverse engineer garmin's bluetooth protocols? I often want to buy one of their smartwatches but the idea of having to install proprietary software on my phone kind of puts me off. I'd love to write my own software but I don't have any experience doing bluetooth RE.
I've actually done extensive work with reverse engineering garmin's bluetooth protocol for setting the time on my vivofit 3 watch without making an account!
It's mostly shambled together stuff but I have a wireshark plugin that works pretty good for the few pieces it supports
Yeah, they are complicated. Like, seven different protocols for different things. But it is workable. My WIP fork of Gadgetbridge (partially) supporting Garmin Vívomove HR is at https://github.com/mormegil-cz/Gadgetbridge/tree/garmin-wip
I use a vivoactive 3: it has combination usb/charging port[1] that's completely waterproof and designed to be used while swimming. I believe most garmin watches share the same port design.
try the garmin swim 2. I gave one to a coworker to try and he was really frustrated that he couldn't break it. it just kept on going, counting his strokes and all. He tried several different wearables (cheap to expensive) and he said, nothing could come close to the swim 2
I tried and had some success about 5 years ago on a Fenix 2. Protocol got encrypted afterwards but looks to be still similar (I got the Fenix 3 to "work" at some point). In any case, not an easy task by any means.
The sync protocol mostly just sends all the files to the Garmin server so there is not a lot of logic locally. I no longer have any interest in the topic but if I were to restart, I'd focus on the "Explore" protocol which seems to allow upload/download of waypoints/tracks which is all that I wanted from the device in the first place.
as someone who is waiting on their pinephone order right now, a major factor for me is supporting the existence of not-google not-apple. i want other options and even though they are not great yet, if enough of us support that niche it will become better. i hope enough people buying into it now will hasten viable daily driver phones running linux proper.
I think your mobile experience and capabilities is drastically different than 99.999% of cell phone users, I could probably put another 9 in there and still be right.
And since someone from Garmin is definitely reading this: Dear Garmin: we really want you to use open protocols so we don't have to install garbage software on our phones. I have an old "don't care" iphone that I use for software that I absolutely must install just to use a device. This is inconvenient and means I can only use certain functionality for that device at home. More often, I just pass on devices that need custom mobile software in order to work.
Open your protocols and you'll get lots of nerdy cheerleaders for your devices.
I can barely keep my Vivoactive 4 to maintain a Bluetooth connection with my iPhone. So frustrating, because one of the most useful tools, find my phone, is rarely available due to a broken Bluetooth connection. !!!