sportablet
  • home
  • the app
  • answers
  • contacts
  • blog
Got a smartphone or a small-screen tablet? check out the Uploader for Garmin!

Patch Release for ANT+ Radio Service(1)

7/22/2014

8 Comments

 
As explained in my previous post, the latest version of the Dynastream ANT+ Radio Service is breaking my apps. Curiously enough, it seems like it's only breaking the apps when used in combination with the Dynastream ANT+ USB Service. I've suggested a simple procedure to work around the problem, but it does not work for everyone, and generally speaking is not 100% reliable: all my devices worked when I applied the procedure, but some stopped working again a couple of days later.

Now, for reasons that I'll explain below (if you're interested) patching this error is complicated. Still, I've released a new version of my apps (Sportablet 7.0, Uploader for Garmin 6.1) which contains what seems to be a robust and consistent fix, at least in all the cases I've tested. However, since the app is working as it is for quite a few of you, at this stage the fix is initially disabled and you have to enable it manually. It's likely that the next version of the apps will activate this as a default, also depending on your feedback.

To enable the patch, open the options, scroll down to ANT+ and then to the last option, which should read "Force Claim Interface". Turn that on. That's it. The purpose of this option is to force the dynastream driver to proceed with the initialization as before. It has no effect on the data transfer, because that part was not impacted. However, remember: if you have reinstalled the app, messed around with the options, etc, you have to bring the options back to what was working for you (file chunk size, delay ack, etc).

Recommendations: I've said this in my previous post, but it's worth saying it again:
- I would suggest that you disable automatic updates for the TWO dynastream services, unless you have strong reasons not to.
- Follow Sportablet on facebook or twitter. If you don't, please, next time you have a problem check the blog first.


Let me know if this patch works for you, thanks.

Details for the technically minded: Dynastream (which is a property of Garmin, by the way) provides developers with a so-called SDK to interface with their services. I was one of the early adopters of their SDK, and over time I've not only written a lot of code around it to support all the ANT+ Garmin devices, but also to work around various problems and issues. I now have a few thousand lines of code built around their SDK. Now, when they released the new service, they also released a new SDK, which is completely incompatible with the one I used. The classes I used are no longer there, the hierarchy is completely different, methods are gone. As usual, it's not just that I have to adapt my code. It's also that I've tuned the existing code over a couple of years, and if I move it to the new SDK, most of that tuning is gone. Also, a couple of things I'm doing to speed up the transfer (which Garmin is also doing on Windows) does not seem to be possible anymore with the new SDK. That said, the old SDK is still working, sort of. Most of the functions work, probably because the underlying functions in the service are still the same. However, the new driver won't start up correctly, and if you force (like it was necessary with their very first version) a reset or an enable/disable cycle, you get an interface error. So, it's a bit of a mess. Still, the patch I've come up with seems quite robust (I'll know more once you guys start using it). The future is a bit less certain. I currently lack the time to rewrite the entire ANT+ code using their new SDK, test it on a number of devices (android + garmin), tune it, etc. The apps are nowhere near the profitability required to allocate this kind of effort. It's also pretty obvious that Dynastream is moving in a direction where apps have less and less control, which is exactly the opposite of what I need. We'll see. Meanwhile, as I said, it would be better to turn of automatic update of their services.

8 Comments
Dave Goulson link
7/22/2014 12:45:03

Works like a charm! Thanks Carlo!

Reply
andrew rich link
7/22/2014 17:24:45

Thanks for keeping this working, Carlo. I love being able to sync my 610 to my phone after a workout instead of having to find the ANT stick, wake my laptop, etc.

Reply
Mark Webb
7/23/2014 01:48:17

Works fine for me. Connecting has not been too good for a while but the current update failed until I enabled the option listed. Now it works like a charm again on my Nexus 5 and Garmin 91-XT.
Thanks!

Reply
Nick
7/23/2014 06:23:10

Thanks for the fix. It works fine now, after not working, despite the workarounds, for a few weeks.
I appreciate your efforts to keep this fantastic app running.

Reply
Andrea
7/23/2014 14:54:55

Still not working with my Nexus 5 and garmin forerunner 310xt. The app doesn't manage to end the download.

Reply
carlo pescio
7/23/2014 15:06:30

well that has nothing to do with this patch. As I've explained:

"The purpose of this option is to force the dynastream driver to proceed with the initialization as before. It has no effect on the data transfer, because that part was not impacted."

So the patch is only about establishing a link. For everything else, like common timeout issues, you have to follow the instructions here:

http://www.sportablet.com/blog/connect-your-tablet-smartphone-to-a-garmin-forerunner-310xt-610-910xt-60-or-70

down the end, in the tweaking sections.

Reply
Rich Downing
7/23/2014 18:40:19

Yep, works great! Thanks much, Carlo.

Reply
Nico
12/4/2014 02:29:28

Works for me too! Garmin Forerunner 610 with Samsung Galaxy Tab 10.1. Earlier suggestions like reinstalling the ANT+ Radio Service were time-consuming and after some time didn't do the trick any more. But this simple "Force Claim Interface" tickbox (simple for the user) was exactly what I needed. Sometimes upload takes a little longer and still seems to get stuck at "Rest ANT+", but it always continues after some time.

Reply



Leave a Reply.

    About me

    I'm a decent runner, ex mountain biker, and a good swimmer. I created Sportablet to squeeze a little more fun out of my Forerunner.

    In my everyday life,  I design software-intensive systems at different scales, using a number of paradigms, languages and technologies. ​

    Archives

    May 2021
    January 2021
    November 2019
    September 2019
    March 2019
    May 2018
    September 2017
    May 2017
    March 2017
    February 2017
    September 2016
    July 2016
    March 2016
    May 2015
    March 2015
    February 2015
    November 2014
    September 2014
    August 2014
    July 2014
    April 2014
    March 2014
    February 2014
    November 2013
    September 2013
    August 2013
    July 2013
    June 2013
    May 2013
    April 2013
    March 2013
    February 2013
    January 2013
    December 2012
    November 2012
    September 2012
    August 2012
    July 2012
    June 2012
    May 2012
    April 2012
    March 2012

    Categories

    All
    Announce
    Beta
    New Features
    Supported Devices

    RSS Feed

Powered by Create your own unique website with customizable templates.